好久都没有写51了,陵闹原谅里面的一些小错误,你自己再动动脑就行尺派罩了!希羡侍望能帮到你,以后互相交流
#include<reg52.h>
void init()
{
TMOD=0x01
TH0=(65536-50000)/256
TL0=(65536-50000)%256
EA=1
ET0=1
TR0=1
}
void main()
{
Init()
while(1)
{
if(aa==20)//当延时一秒时,进入程序
{
P1^1=1 //自己随便接个灯,灯亮
aa=0 //清0
TR0=1 //重新打开定时器
}
}
}
void timer0() interrupt 1//这是中断程序,延时50毫秒,
{
TH0=(65536-50000)/256
TL0=(65536-50000)%256
aa++
}
通常在中断子程序中是不调用延时子程森穗序的,这样会增加中断处理时间,如果有其它毕汪低级中断了,就会延误响应中断了。所以,中断子程序中不要写调用延时子程序,中断子程序也不要写得过长,处理过多的任务,要尽快处理后及时返回,如果中断一次有很多任务需要执行完全,可以在中断子程序中设置一个标志位,在主程序中查这个标志位,当标志为1时,就在主程序中完成这些任务,这样就不会影响其它中断源的中断,也不会使中断手春仔产生混乱。但不知,你这提问是想帮你写程序昵,还是帮你分析中断程序的写法。
1、首先编写一段简单的代码,如下图所示,编辑一段简单的输出语句。
2、依次点击菜单栏内的编译→组建→执行,确保这段成率可以正确执行。
3、从运行结果来看程序正塌陵确,没有问题,然晌衫州后找到exe可执行程序看宴蔽其是否有闪退现象。
4、将C语言代码保存后打开代码所在的文件夹,该文件夹内有一个名为【Debug】的文件夹,exe可执行程序就在此文件夹内。
5、打开【Debug】文件夹内的exe可执行程序,未出现闪退,可清晰查看到程序运行结果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)