Tình hình là mạch em làm xong . Mạch em điều khiển đóng ngắt role theo thời gian thực để đóng ngắt các đèn 24v. Nhưng khi chạy thì role đóng ngắt ko đúng thời gian mình đặt . các bác xem code em có gì sai với . em dùng thạch anh 12MHZ.
#include <REGX51.H>
/***********************BO TIEN XU LI***********************/
#include <REGX51.H>//DINH KEM FILE THU VIEN
#define bat 0 //Dinh nghia gia tri bat den led
#define tat 1 //Dinh nghia gia tri tat den led
/*************Khai bao bien nga tu 1****************************/
sbit x11 = P0^0;// Khai bao bien x11 kieu bit chan p0_0
sbit v11 = P0^1; //Khai bao bien v11 kieu bit chan p0_1
sbit d11 = P0^2;// Khai bao bien d11 kieu bit chan p0_2
sbit x12 = P0^3; //Khai bao bien x12 kieu bit chan p0_3
sbit v12 = P0^4; //Khai bao bien v12 kieu bit chan p0_4
sbit d12 = P0^5; //Khai bao bien d12 kieu bit chan p0_5
/*-------------------Ham tre------------------------------------------------------*/
void tre(long time)
{
long n;//Khai bao bien cuc bo
for(n=0;n<time;n++)//lap time lan
{
;//khong thuc hien gi ca
}
}
/************************************************** *************/
/***************HAM CHINH********************************/
void main(void)
{while(1)
{
x11 = bat,d12=bat;
tre(20000);tre(20000);
x11=tat,d12=tat,v11=bat,v12=bat ;
tre(20000);tre(20000);tre(3000);tre(3000);
v11=tat,v12=tat,d11=bat,x12=bat;
tre(3000);tre(3000);tre(17000);tre(17000);
d11=tat,x12=tat;
tre(17000);tre(17000);
}
}
#include <REGX51.H>
/***********************BO TIEN XU LI***********************/
#include <REGX51.H>//DINH KEM FILE THU VIEN
#define bat 0 //Dinh nghia gia tri bat den led
#define tat 1 //Dinh nghia gia tri tat den led
/*************Khai bao bien nga tu 1****************************/
sbit x11 = P0^0;// Khai bao bien x11 kieu bit chan p0_0
sbit v11 = P0^1; //Khai bao bien v11 kieu bit chan p0_1
sbit d11 = P0^2;// Khai bao bien d11 kieu bit chan p0_2
sbit x12 = P0^3; //Khai bao bien x12 kieu bit chan p0_3
sbit v12 = P0^4; //Khai bao bien v12 kieu bit chan p0_4
sbit d12 = P0^5; //Khai bao bien d12 kieu bit chan p0_5
/*-------------------Ham tre------------------------------------------------------*/
void tre(long time)
{
long n;//Khai bao bien cuc bo
for(n=0;n<time;n++)//lap time lan
{
;//khong thuc hien gi ca
}
}
/************************************************** *************/
/***************HAM CHINH********************************/
void main(void)
{while(1)
{
x11 = bat,d12=bat;
tre(20000);tre(20000);
x11=tat,d12=tat,v11=bat,v12=bat ;
tre(20000);tre(20000);tre(3000);tre(3000);
v11=tat,v12=tat,d11=bat,x12=bat;
tre(3000);tre(3000);tre(17000);tre(17000);
d11=tat,x12=tat;
tre(17000);tre(17000);
}
}
Comment