找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 14708|回复: 3
打印 上一主题 下一主题
收起左侧

单片机最小系统_按键控制数码管显示

[复制链接]
跳转到指定楼层
楼主
ID:76686 发表于 2015-4-11 19:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    单片机最小系统_按键控制数码管显示,这个项目,主要学习单片机的键盘工作原理与显示方面的知识,电子小制作的好课题。键盘电路作为单片机的输入部分,数码显示电路作为单片机的输出部分,由键盘电路通过单片机控制数码管显示电路的八路键控数码管电路。按下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
      D2:DJNZ R6,D2
      DJNZ R7,D1
      RET
      END
    电子制作的好课题单片机最小系统_按键控制数码管显示,这个项目,主要学习单片机的键盘工作原理与显示方面的知识。



最后推荐一个很好的单片机教程:http://www.51hei.com/bbs/mcu-xuexi-1.html
     另外下面是一些我收集整理的关于单片机最小系统的资料:

手把手制作单片机最小系统http://www.51hei.com/bbs/dpj-33306-1.html
初学者零基础学习单片机的方法:http://www.51hei.com/bbs/dpj-33307-1.html
单片机点亮发光二极管的试验http://www.51hei.com/bbs/dpj-33308-1.html
STC89C52RC单片机最小系统http://www.51hei.com/bbs/dpj-33267-1.html
一款适合用来学习的单片机最小系统制作图http://www.51hei.com/bbs/dpj-33273-1.html
单片机最小系统_按键控制数码管显示http://www.51hei.com/bbs/dpj-33271-1.html
单片机最小系统图纸http://www.51hei.com/bbs/dpj-33274-1.html
收集的单片机最小系统实物照片http://www.51hei.com/bbs/dpj-33290-1.html
用STC89C52RC单片机焊接的单片机最小系统http://www.51hei.com/bbs/dpj-33304-1.html
新手学焊的单片机最小系统:http://www.51hei.com/bbs/dpj-33249-1.html

评分

参与人数 1黑币 +8 收起 理由
aifengdian + 8 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:197229 发表于 2021-4-9 04:21 | 只看该作者
程序注释的如此详尽,对菜鸟的咱家是太宝贵了。楼主:厚道啊
回复

使用道具 举报

板凳
ID:891876 发表于 2021-4-12 18:26 | 只看该作者
初学者不明白ACC清0,按键按下也为0,怎样读的呢?
回复

使用道具 举报

地板
ID:891876 发表于 2021-4-12 18:28 | 只看该作者
ACC清0,按键按下也为0,怎样读的呢?我是初学者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表