找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1882|回复: 4
收起左侧

单片机执行中断程序并下载到开发板后,第一个led灯没有任何反应,求解

[复制链接]
ID:639234 发表于 2019-11-10 17:31 | 显示全部楼层 |阅读模式
#include <reg52.h>
sbit led1=P1^0;
unsigned int num;
void main()   
{

TMOD = 0x01;
TH0 = (65536 - 45872)/256;
TL0 = (65536 - 45872)%256;
EA = 1;
ET0 = 1;
TR0 = 1;
led1=0;
while (1);
}
void T0_overtime() interrupt 1
{
TH0 = (65536-45872)/256;
TL0 = (65536-45872)%256;
num++;
if(num==20)
{
  num=0;
  led1=~led1;
}
}

回复

使用道具 举报

ID:94031 发表于 2019-11-11 09:51 | 显示全部楼层
这个得一步步查,先看能进中断否,再看led两端有电压变化没,说不定led焊反或坏。
回复

使用道具 举报

ID:639532 发表于 2019-11-11 10:34 | 显示全部楼层
1,检查中断号是否对得上,2检查灯有没有坏
回复

使用道具 举报

ID:245004 发表于 2019-11-11 22:38 | 显示全部楼层
另一个回帖说过了,led1 = !led1;
bit位取反要用“!"而不是"~".
回复

使用道具 举报

ID:235200 发表于 2019-11-12 00:30 | 显示全部楼层
中断号是对的,也可以用led1 = !led1;语句,问题应该是出现在电路上,应该检查发光二极是否接在P10,程序也能下载到CPU,时钟电路应该没问题,可能影响的复位电路和连线没有接对,或者连线本身不通
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表