| 注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! • 打开购物车 • 查看留言 • 付款方式 • 联系我们 |
![]() |
| 首页 | 电子入门 | 学单片机 | 免费资源 | 下载中心 | 商品列表 | 象棋在线 | 在线绘图 | 加盟五一 | 加入收藏 | 设为首页 |
| 全部内容 | 本站公告 | 购物咨询 | 付款确认 | 购物反馈 | 网站建议 | 贵宾交流 | 商品评论 | 文章评论 | 发新留言 |
| 标题: | 〖kao〗单片机咨询(1)………… 付款确认 | ||
| 发送时间: | 2006/5/5 17:29:00 | 更新时间: | 2006/5/6 9:50:00 |
| 留言内容: |
我买了198的单片机,编程遇到问题!!如下程序为何外部按键中断不能调用??
org 0000 ljmp start ;(1)为什么这里要放一条跳转指令呢,我们在后面解释把 org 0013h ljmp ext1 ;(2)同上 org 0030h start: clr p0.7 ;主程序开始 mov r7,#0ffh setb ea ;cpu开放中断 setb ex1 ;允许外部中断1申请中断 setb it1 ;(3)设置外部中断1触发方式为跳变触发,原因在后面详细解释 lcall play1 ;调用初始状态显示子程序 ajmp start ;等待按键发出中断申请 ext1: clr ea ;进入中断,先关闭中断 lcall key_reader ;调用键识别子程序 pass: setb ea ;返回主程序之前先开中断 reti ;(4)中断返回指令, key_reader: mov a,p0 ;读入P0口的状态 anl a,#0fh ;屏蔽高四位 cjne a,#0dh,pass;如果a的内容不是00001101(表示不是k0按下),就退出中断 lcall del10ms ;否则,表示k0按下,调用10ms延时去抖 mov a,p1 ;再次读入p1口的内容 anl a,#0fh ;屏蔽高四位 cjne a,#0dh,pass ;如果a的内容不是00001101,就是抖动,退出中断 lcall play2 ;否则,确定按键按下,转数码显示程序 ret play1: mov a,#0DDH ;让最右面的数码管显示0的子程序 mov p1,a mov p3,#010h ; ret play2: inc r7 ;查表求段码,然后送到P0口的子程序,大家很熟了 mov a,r7 mov dptr,#tab movc a,@a+dptr mov p1,a cjne a,#005H,next;如果没有显示到最后一个数字0,就继续查表显示 mov r7,#0ffh ;否则,重新从表头开始显示 next: ret del10ms: mov r3,#0ffh ;10ms延时子程序 del1: mov r4,#0ffh del2: djnz r4,del2 djnz r3,del1 ret tab: db 0DDH,046H,054H,09CH,034H ;存放段码 db 024H,05DH,004H,01CH,005H end 第1位zxq〖邹小琼〗说:[2006-5-6 9:50:00][59.40.71.100] 这个程序不是本站的程序,本站只是转载了这个程序,站长也看不很明白。 | ||
| 本站实事求是保留用户意见和问题!拒绝广告和灌水!但系统只显示最近2年或者最近2万次留言(约5000标题)!过期留言自动删除!重要内容请自行备份!不便之处请谅解! |
|
本站协议 |
版权信息 |
关于我们 |
本站地图 |
营业执照 |
发票说明 |
付款方式 |
联系方式
深圳市宝安区西乡五壹电子商行——粤ICP备16073394号-1;地址:深圳西乡河西四坊183号;邮编:518102 E-mail:51dz$163.com($改为@);Tel:(0755)27947428 工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机13537585389 |