单片机最小系统

发表于:2017-7-28 20:55:32 4024
电子电路
技术类别: 嵌入式_单片机
关键字: 单片机最小系统

登录后可查看大图

您需要 登录 才可以下载或查看,没有账号?立即注册

x
    单片机最小系统_按键控制数码管显示,这个项目,主要学习单片机的键盘工作原理与显示方面的知识,电子小制作的好课题。
    键盘电路作为单片机的输入部分,数码显示电路作为单片机的输出部分,由键盘电路通过单片机控制数码管显示电路的八路键控数码管电路。
    按下S0到S7号按键时,数码管显示立刻显示数字0到7。电子制作的好课题下面是单片机最小系统_按键控制数码管显示原理图,实作时,按原理图焊好电路,单片机中写入程序。
         ORG 0000H ;                 随后的指令代码从0000H单元开始存放。
         LJMP START ;                转到标号START处
         ORG 0030H ;                 随后的指令代码从0030H单元开始存放。
START:MOV P0,#00H ;                 关闭数码管,不显示任何内容。
SAOMIAO:MOV P2,#0FFH ;      对P2口所有位写1,也就是处于读状态,确保读数正确。
         CLR A ;                     对累加器A清零。
         MOV A,P2 ;                  第一次读取P2口的数据,并送入累加器A中。
         CPL A ;                     对A按位取反,如果没有键按下, A为00H,如果有键按下,相应的位为1。
JZ SAOMIAO ;如果A=00H,     说明没有键按下,跳到标号SAOMIAO处继续扫描。如果A不等于00H,说明有键按下,应该调用10MS的延时去抖子程序。
         LCALL DELAY10MS ;           调用10MS的延时去抖子程序。
         MOV A,P2 ;                  第二次读取P2口的数据,并送入累加器A中。
         CPL A ;                     对A按位取反,如果没有键按下, A为00H,如果有键按下,相应的位为1。
         JZ SAOMIAO ;                如果A=00H,说明没有键按下,跳到标号SAOMIAO处继续扫描。如果A不等于00H,说明确实有键按下,顺序执行下面的程序,判断是哪个键按下了。
         JB ACC.0,SZ0 ;             如果S0键按下,则ACC.0=1,转去执行显示数字0,否则顺序执行。
         JB ACC.1,SZ1 ;             如果S1键按下,则ACC.1=1,转去执行显示数字1,否则顺序执行。
         JB ACC.2,SZ 2 ;            如果S2键按下,则ACC.2=1,转去执行显示数字2,否则顺序执行。
         JB ACC.3,SZ 3 ;            如果S3键按下,则ACC.3=1,转去执行显示数字3,否则顺序执行。
         JB ACC.4,SZ 4 ;            如果S4键按下,则ACC.4=1,转去执行显示数字4,否则顺序执行。
         JB ACC.5,SZ 5 ;            如果S5键按下,则ACC.5=1,转去执行显示数字5,否则顺序执行。
         JB ACC.6,SZ 6 ;            如果S6键按下,则ACC.6=1,转去执行显示数字6,否则顺序执行。
         JB ACC.7,SZ 7 ;            如果S7键按下,则ACC.7=1,转去执行显示数字7,否则顺序执行。
         LJMP SAOMIAO;               跳转到SAOMIAO处继续扫描。
     SZ0:MOV P0,#3FH ;              显示数字0。
         LJMP SAOMIAO;               跳转到SAOMIAO处继续扫描按键。
     SZ1:MOV P0,#06H ;              显示数字1。
         LJMP SAOMIAO;               跳转到SAOMIAO处继续扫描按键。
     SZ2:MOV P0,#5BH ;              显示数字2。
         LJMP SAOMIAO;               跳转到SAOMIAO处继续扫描按键。
     SZ3:MOV P0,#4FH ;              显示数字3。
         LJMP SAOMIAO;               跳转到SAOMIAO处继续扫描按键。
     SZ4:MOV P0,#66H ;              显示数字4。
         LJMP SAOMIAO;               跳转到SAOMIAO处继续扫描按键。
     SZ5:MOV P0,#6DH ;              显示数字5。
         LJMP SAOMIAO;               跳转到SAOMIAO处继续扫描按键。
     SZ6:MOV P0,#7DH ;              显示数字6。
         LJMP SAOMIAO;               跳转到SAOMIAO处继续扫描按键。
     SZ7:MOV P0,#07H ;              显示数字7。
         LJMP SAOMIAO;               跳转到SAOMIAO处继续扫描按键。
DELAY10MS:MOV R7,#20 ;              从本行开始,到RET结束,为10MS延时去抖子程序。
      D1:MOV R6,#250
      D2JNZ R6,D2
      DJNZ R7,D1
      RET
      END
    电子制作的好课题单片机最小系统_按键控制数码管显示,这个项目,主要学习单片机的键盘工作原理与显示方面的知识。
以下程序自动插入未在内容中添加的图片或附件
QQ图片20170728205757.png
C51单片机最小系统.png
收藏
送赞
分享

发表回复

评论列表(11)

垃圾猪 数字斗士 2017-9-30 19:55:43
牛逼,汇编,
2017-9-30 19:55:43 回复
光速飞行 楼主     数字大神 2017-9-30 22:47:28

我懂汇编,但上面这些不是我写的,只是贴来用一下。
2017-9-30 22:47:28 回复
官修 数字探长 2017-10-2 05:30:33
膜拜大神,,
2017-10-2 05:30:33 回复
光速飞行 楼主     数字大神 2017-10-2 12:55:33

大神不敢,只是多玩一些时间罢了
2017-10-2 12:55:33 回复
daoke 数字奇才 2018-10-26 16:22:02
真厉害,汇编啊
2018-10-26 16:22:02 回复
光速飞行 楼主     数字大神 2018-10-26 16:30:25
daoke 发表于 2018-10-26 16:22
真厉害,汇编啊

汇编,年青时就懂的了。
2018-10-26 16:30:25 回复
喜欢就好 数字精灵 2020-10-2 22:23:34
进来学习,谢谢分享
2020-10-2 22:23:34 回复
ltp 数字小子 2023-2-7 10:06:02
好玩,学习了。
2023-2-7 10:06:02 回复
佳维 数字精灵 2023-2-23 16:28:46
膜拜!能玩单片机的很厉害
2023-2-23 16:28:46 回复
atz123 数字王者 2023-2-23 21:22:55
汇编确实是牛。
2023-2-23 21:22:55 回复
光速飞行 楼主     数字大神 2023-2-23 23:12:38
atz123 发表于 2023-2-23 21:22
汇编确实是牛。

汇编学习时间要长,反正就是要时间。
2023-2-23 23:12:38 回复