急求单片机外部中断程序

我想用学习版上一个按键控制数码管显示,第一次按,数码管开始计数,第二次按,数码管停在那,第三次按接着往下计数,以此类推。我设想是奇数次按下,数码管计数,偶数次按下让它到外... 我想用学习版上一个按键控制数码管显示,第一次按,数码管开始计数,第二次按,数码管停在那,第三次按接着往下计数,以此类推。我设想是奇数次按下,数码管计数,偶数次按下让它到外部中断中。该怎么写程序呢?急求! 展开
 我来答
百学需先励志
推荐于2017-11-24 · TA获得超过125个赞
知道答主
回答量:33
采纳率:0%
帮助的人:26.2万
展开全部
bit sign=0;
void main()
{
EA =1; //开总中断
EX0=1; //允许外部中断0中断
IT0=0; //设置为电平触发方式
while(1)
{
if(sign==0) //sign=0;显示 sign=1;程序进不来不显示
{
//数码管显示
}
}
}
void WW() interrupt 0
{
sign=~sign;
}

我只是简写一下,大概就是这个意思:第一次按下数码管显示,再按一下数码管不显示

希望对你有所帮助!
追问
谢谢你高手,我现在用你的思路写了下,但现在是我按着不放的时候,数码管一直走,一松手就停了,再按接着走,一松手就停,我该怎样在修改呢?
追答
因为你没有对按键做松手检测
sbit P32=P3^2;
void WW() interrupt 0
{
sign=~sign;
while(!P32); // INIT0松手检测 现在做普通IO口使用
//(我是这么写的,不知道还有没有其它对 INIT0的松手检测)
Delay(100); // 延时 (我用100ms)
}
迪凯特科技(北京)有限公司_
2025-01-03 广告
单片机串口通信数据丢失的原因可能如下:1. 按键通过串口发送对应命令,第一次按按键串口发送的指令正确且能把数据正确的显示出来,在第二次按按键串口发送的指令出现丢失的状况,可能是因为串口通信的波特率设置不正确。2. 如果单片机和外部设备的波特... 点击进入详情页
本回答由迪凯特科技(北京)有限公司_提供
rockrider001
2011-02-25 · TA获得超过1567个赞
知道小有建树答主
回答量:1200
采纳率:100%
帮助的人:1184万
展开全部
这相不用中断程序,就是一个按键扫描就行了
更多追问追答
追问
按键扫描怎么用啊?举个小例子,写几句程序,高手。
追答
按键扫描程序太多了,方式也很多,像你这种最简单的方式是直接在主程序里循环扫描,连续读到几次连接IO口状态都是相同时,认为按键有效就行了。然后你再根据按键次数进行处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式