注意:访问本站需要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