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