本帖最后由 黑夜彩虹 于 2013-10-17 15:09 编辑
程序要求用t0计数器,计满N个数后使发光二极管发光,我用PROTEUS仿真,简单的说下原理:一个按钮接一个与非门(CD4011)消抖从P3.4口输入,按钮按下5次后从P1.0口输出高电平使发光二极管亮,汇编程序正常工作,程序如下:
N EQU 5
START: CLR P1.0
MOV TMOD,#06H
CLR A
CLR C
SUBB A,#N ;
MOV TH0,A
MOV TL0,A
SETB TR0
LOOP: JBC TF0,ALARM
SJMP LOOP
ALARM: SETB P1.0;
END
我写的无fa zheng常的C程序如下
#include<reg51.h>
sbit LED=P1^0;
void main()
{
LED=0;
TMOD=0x06;
TH0=0xfb;
TL0=0xfb;
TR0=1;
// ET0=1;
while(TF0)
LED=1;
// EA=1;
}
/*void timer0()interrupt 1
{
LED=1;
}*/
我试过用中断法也不行,不知道错在哪里,求高人指点 |