找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1991|回复: 7
打印 上一主题 下一主题
收起左侧

求助!单片机中断计数的问题

[复制链接]
跳转到指定楼层
楼主
10黑币
利用两个按键模拟传感器计数为a和b,当a大于b是亮一个灯,a等于b时亮另一个灯。
道理我懂,但是为什么程序写出来后仿真却不计数呢?请各位大神帮忙看一下应该怎么改

  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit out1=P1^0;
  5. sbit out2=P1^1;
  6. uint a=0,b=0;
  7. void delay(uchar c)
  8. {
  9. uchar i;
  10. while(c--)for(i=0;i<120;i++);
  11. }
  12. void t0isr() interrupt 1
  13. {
  14. a++;
  15. }
  16. void t1isr() interrupt 3
  17. {
  18. b++;
  19. }
  20. main()
  21. {
  22. TMOD=0x66;
  23. ET0=1;
  24. ET1=1;
  25. TR1=1;
  26. TR0=1;
  27. EA=1;
  28. OUT=1;
  29. while(1)
  30. {
  31. if(a>b)out1=0;
  32. if(a==b)
  33. {
  34. delay(200);
  35. out2=0;
  36. }
  37. }}
复制代码


最佳答案

查看完整内容

#include #define uchar unsigned char #define uint unsigned int sbit out1=P1^0; sbit out2=P1^1; uint a=0,b=0; void delay(uchar c) { uchar i; while(c--)for(i=0;ib)out1=0; if(a==b) { delay(200); out2=0; } }}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:105206 发表于 2017-8-30 11:46 | 只看该作者
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit out1=P1^0;
sbit out2=P1^1;
uint a=0,b=0;
void delay(uchar c)
{
uchar i;
while(c--)for(i=0;i<120;i++);
}
void int0() interrupt 0
{
a++;
}
void int1() interrupt 2
{
b++;
}
main()
{

EX0=1;
EX1=1;
IT1=1;
IT0=1;
EA=1;

while(1)
{
if(a>b)out1=0;
if(a==b)
{
delay(200);
out2=0;
}
}}
回复

使用道具 举报

板凳
ID:230059 发表于 2017-8-30 14:40 | 只看该作者
我也没测试过呀具体不太懂
回复

使用道具 举报

地板
ID:105206 发表于 2017-8-30 16:11 | 只看该作者
上面我改了外部中断的语句:
EX0=1;
EX1=1;
IT1=1;
IT0=1;
回复

使用道具 举报

5#
ID:7485 发表于 2017-8-30 16:16 | 只看该作者
定时器工作模式设置不对。“TMOD=0x66”,计数器也没有设置初值,即便你的程序其他地方没问题,你按按键也要按65536次才能产生中断,a或b才会加1。
大概你是想每按一次按键“a”或“b”增加“1”,你可以不用中断,如:a=TL0 和b=TL1 。

程序还有许多问题,你自己实践中提高吧。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:111634 发表于 2017-8-30 16:23 | 只看该作者
应先学些基础理论,才能事半功倍。
回复

使用道具 举报

7#
ID:229731 发表于 2017-8-30 16:45 | 只看该作者
太感谢了
回复

使用道具 举报

8#
ID:230146 发表于 2017-8-30 22:11 | 只看该作者
看看3333
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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