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; [I] // A0=A1=1 , WR =0 >> Cho phep ghi vao tu dien khien[/I]
P1=manh2;
}
void ghi_T1(unsigned int manh1)
{
_A0=1;
_A1=0;
_RD=1;
_WR=0; [I]// A0=1, A1=0 , WR = 0 >> Cho phep nap gia tri vao Timer 1 [/I]
_GATE=1;
P1=manh1%256; [I] // Truyen Byte Thap truoc[/I]
delay();
P1=manh1/256; [I]// Truyen byte cao sau [/I]
delay();
}
void main()
{
ghi_CWR(119); [I]// Gia su Timer 1 , Mode 3 , dem thap phan ,
truyen byte thap truoc byte cao sau [/I]
delay();
ghi_T1(200); [I] // Nap gia tri ban dau cho Timer 1 la 200 (Byte thap 200 , byte cao 0 )[/I]
delay();
_GATE=0;
_GATE=1;
while(1);
}

Comment