Kính thưa các đại cao thủ !
Em đang làm bài tập lớn về cách tạo xung vuông dùng 8253
Em đã viết code nhưng không chạy , không bít sai sót từ đâu !
Kính mong các bác đã và đang tìm hiểu về Timer lập trình được 8253 vào đây chỉ giúp ạ
Đây là code của em dùng để tạo xung vuông xuất ra chân OUT của Timer 1 !
Có chỗ nào sai sót cân sửa chữa mong các bạn chi ra giúp mình :
Còn đây là file ISIS (Em dùng Proteus 7.6 )
Em đang làm bài tập lớn về cách tạo xung vuông dùng 8253
Em đã viết code nhưng không chạy , không bít sai sót từ đâu !
Kính mong các bác đã và đang tìm hiểu về Timer lập trình được 8253 vào đây chỉ giúp ạ
Đây là code của em dùng để tạo xung vuông xuất ra chân OUT của Timer 1 !
Có chỗ nào sai sót cân sửa chữa mong các bạn chi ra giúp mình :
Code:
#include<reg52.h> #include<stdio.h> sbit _GATE=P2^0; sbit _A0=P2^3; sbit _A1=P2^4; sbit _WR=P3^6; sbit _RD=P3^7; unsigned int a; void delay() { unsigned int i; for(i=0;i<=1000;i++); } void ghi_CWR(unsigned int manh2) { _A0=1; _A1=1; _RD=1; _WR=0; // A0=A1=1 , WR =0 >> Cho phep ghi vao tu dien khien P1=manh2; } void ghi_T1(unsigned int manh1) { _A0=1; _A1=0; _RD=1; _WR=0; // A0=1, A1=0 , WR = 0 >> Cho phep nap gia tri vao Timer 1 _GATE=1; P1=manh1%256; // Truyen Byte Thap truoc delay(); P1=manh1/256; // Truyen byte cao sau delay(); } void main() { ghi_CWR(119); // Gia su Timer 1 , Mode 3 , dem thap phan , truyen byte thap truoc byte cao sau delay(); ghi_T1(200); // Nap gia tri ban dau cho Timer 1 la 200 (Byte thap 200 , byte cao 0 ) delay(); _GATE=0; _GATE=1; while(1); }
Comment