第八个试验:小键盘控制的数字显示----51单片机汇编语言试验教程
2006-11-27 17:02
330 查看
本试验示例了键盘监测程序,他的执行结果为;通电后, 如果按小键盘p3.2那么数码管显示0, 如果按小键盘p3.3那么数码管显示1, 如果按小键盘p3.4那么数码管显示2, 如果按小键盘p3.5那么数码管显示3, 该程序在本站XP开发套件上调试通过: 在这个程序里我们主要用到了 判位变量转移指令 JB bit,rel JNB bit,rel 第一条指令是如果指定的bit位中的值是1,则转移,否则顺序执行。同样,我们可以这样理解这条指令:JB bit,标号 |
org 0000h ljmp start org 30h start: mov sp,#5fh mov p1,#0ffh CLR P2.6 ;选中p2.6右边的数码管 SETB P2.7 mov p3,#0ffh mov p0,#0ffh ;初始化;键盘口以及数码管口全部置高清零 l1: jnb p3.2,l2 ;如果p3.2等于低(键按下)那么执行l2 jnb p3.3,l3 ;如果p3.3等于低(键按下)那么执行l3 jnb p3.4,l4 ;如果p3.4等于低(键按下)那么执行l4 jnb p3.5,l5 ;如果p3.5等于低(键按下)那么执行l5 ljmp l1 l2:mov p0,#28H;显示数字0 ljmp l1 l3:mov p0,#7EH;显示数字1 ljmp l1 l4:mov p0,#0A2H;显示数字2 ljmp l1 l5:mov p0,#62H;显示数字3 ljmp l1 end 程序说明: 怎么做到的呢?一开始,将0FFH送入P3口,这样,P3的所有引线都处于高电平,然后执行L1,如果P3.2是高电平(键没有按下),则顺序执行JNB P3.3,L3语句,同样,如果P3.3是高电平(键没有按下),则顺序执行jnb p3.4,l4语句。这样就不停地检测P3.2、P3.3,p3.4,p3.5。 如果有一次P3.2上的按键按下去了,则转移到L2,l2:mov p0,#28H;显示数字0.然后又转去L1,再次循环, 如果有一次P3.3上的按键按下去了,则转移到l3:mov p0,#7EH;显示数字1.然后又转去L1,再次循环, |
相关文章推荐
- 第七个试验:流水灯数字显示综合练习----51单片机汇编语言试验教程
- 第四个试验:小喇叭发出救护车的声音----51单片机汇编语言试验教程
- 第01课 了解单片机的原理控制一个LED灯的亮和灭-----51单片机C语言试验教程
- 用鼠标键盘来控制你的Android手机——同屏显示简单教程
- 第一个试验:点亮一个发光管-----51单片机汇编语言试验教程
- 第二个试验:用单片机点亮一个闪烁的发光管-----51单片机汇编语言试验教程
- 第三个试验:认识单片机发音程序-----51单片机汇编语言试验教程
- 第五个试验:跟我学作单片机运算加减乘除法----51单片机汇编语言试验教程
- 第六个试验:认识数码管扫描程序----51单片机汇编语言试验教程
- 并行口实现数字0~9、A~F、L、U、P、n总共19个键盘,将按键的结果用7段数码管(例如:7SEG-MPX-CA-BLUE)显示(可选——按键控制移位)出来
- 键盘输入字母显示数字的问题 ——FN键的特殊应用
- 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
- JS 技巧----键盘控制事件教程
- 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
- 使用C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示
- 4x8c液晶加不同键盘按键控制不同输出显示
- C51的一些常用资料-----51单片机C语言试验教程
- java:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
- C#-—控制数字的个数和只能显示数字的程序
- Git进行版本控制添加文件时,中文文件名乱码显示数字问题