废话不多说,直接上代码:
ORG 0000H
LJMP MAIN

MAIN:
MOV P0,#0FFH ;初始化P0、P1
MOV P1,#0FFH

KEYDOWN: ;延时,消除按键抖动
MOV P1,#0F0H
LCALL DELAY
MOV A,P1
CJNE A,#0F0H,KEYSCAN
LJMP KEYDOWN

KEYSCAN: ;判断按键所在列
MOV A,P1
CJNE A,#70H,N1
MOV R4,#00H
LJMP NEXT

N1: CJNE A,#0B0H,N2
MOV R4,#04H
LJMP NEXT
N2: CJNE A,#0D0H,N3
MOV R4,#08H
LJMP NEXT
N3: CJNE A,#0E0H,NEXT
MOV R4,#0CH
LJMP NEXT
NEXT: ;判断按键所在行
MOV P1,#00FH
MOV A,P1
CJNE A,#07H,N4
MOV R3,#03H
LJMP NEXT

N4: CJNE A,#0BH,N5
MOV R3,#02H
LJMP NEXT
N5: CJNE A,#0DH,N6
MOV R3,#01H
LJMP NEXT
N6: CJNE A,#0EH,DISPLAY
MOV R3,#00H
LJMP DISPLAY

DISPLAY: ;确定按键值并输出
MOV A,R4
ADD A,R3
MOV DPTR,#LEDTAB
MOVC A,@A+DPTR
MOV P0,A
LJMP KEYDOWN

DELAY: ;延时函数
MOV R6,#25
D2: MOV R7,#100
DJNZ R7,$
DJNZ R6,D2
RET
LEDTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH

END
下面是proteus仿真图


连线按照各自的情况来吧…

汇编语言 使用按键控制51单片机的数码管显示0~F相关推荐

  1. 单片机入门——数码管显示0~f

    Proteus电路仿真图: 此处选用cc共阴极数码管代码实现与共阳极数码管有所区别 代码实现: 数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个.如下图: 这些段分别由字母a,b,c,d ...

  2. 51单片机七段数码管显示时钟无按键控制—①—74HC595版

    参考链接: 51单片机七段数码管显示时钟加按键控制-③-74HC595版 51单片机七段数码管显示时钟加按键控制-②-74HC595版 文章目录 一.实验内容: 二.实验分析: 三.仿真图: 四.源代 ...

  3. 51单片机八位数码管1到F动态滚动显示仿真及程序

    51单片机八位数码管1到F动态滚动显示仿真及程序 动态滚动显示仿真及程序 #include<reg51.h> #define uchar unsigned char #define uin ...

  4. 51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真

    51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真 本实验通过51单片机读取DS18B20温度传感器的温度,然后通过数码管显示,并通过串口,将读取到的温度数据发送出去. 本案例需要使 ...

  5. 51单片机实现数码管显示小数

    51单片机实现数码管显示小数 要求 1 Proteus 面向编程的模型搭建 2 代码实现 2.1. 实现数码管刷新 2.2 对小数进行分解的函数 3 测试用例 4 仿真结果 要求 要求1:根据整数部分 ...

  6. 数码管显示“0~F”的共阳共阴数码管编码表

    嵌入式设备中数码管显示"0~F"的方式是:定义了一个数组,里面含有16个元素,分别代表0~F,这样可以方便以后的调用. 共阳极数码管编码表: unsigned char table ...

  7. 【蓝桥杯-单片机学习笔记(六)】矩阵键盘控制数码管显示0~F

    一.要求 在CT107D单片机训练平台上,首先将J5处的跳线帽接到1~2引脚,使按键S4~S19组成4*4的矩阵键盘.在扫描按键的过程中,发现有按键触发信号后,待按键松开后,数码管显示相应的数字.按键 ...

  8. 基于51单片机的数码管显示方案

    这一次给大家带来的项目是课堂作业级别的51单片机数码管显示,本次的项目着重于讲解原理,让大家明白单片机的io对于外界设备的控制是如何进行的. 共阳极和共阴极数码管的差异 (1)驱动方法的差异.一个数码 ...

  9. 51单片机 静态数码管显示

    本章博客讲述使用51单片机编写程序静态数码管显示 1.新建工程,选择芯片型号,这里注意--为了防止出现在插入头文件reg时出现某些引脚不定义的情况 可尝试切换为AT89C52型号的芯片,插入头文件即为 ...

最新文章

  1. lamda表达式python_Python--13 lambda表达式
  2. node2vec python_node2vec应用记录
  3. Velocity语法使用总结
  4. 学Java需要什么技巧呢?分享这4个
  5. Wi-Fi模块的设置方法汇总
  6. pstools套件在渗透中的应用详解
  7. [转载] 在网页中拖放和停靠div的例子
  8. 深信服上网管理设备基本操作
  9. sci translate好用吗_228个学科分类对应12000+本SCI和SSCI期刊,总有你要的那款!
  10. uva 1610——Party Games
  11. vs visual studio 2015安装后的几个问题
  12. 全世界20座最有创意的桥,7座在中国,5座在荷兰!
  13. PowerDesigner反向数据库时sqlstate=37000或SQLSTATE=42S02错误
  14. SAP的十年豪赌:不成HANA 便成仁
  15. 孙鑫VC学习笔记:第十五讲 (三) 增加互斥条件实现线程同步
  16. 【BZOJ】3289: Mato的文件管理(莫队算法+树状数组)
  17. android读取剪切板的方法,Android10中获取剪切板内容
  18. 开启代理后,微软商城、Skype、OneNote等无法正常使用
  19. Java线程何时放弃CPU时间片
  20. javascript封装滑块

热门文章

  1. 图灵、冯诺依曼谁更牛?
  2. Python元组和字典的使用、使用字典的注意事项、字典查找数据、字典的增删改、字典的合并 update方法、字典的遍历
  3. 基于双目视觉的非标机械臂的空间定位流程(未完待续)
  4. String 类方法及调用案例
  5. 什么是系统集成(SI)?
  6. RRC协议学习—系统信息(SI)
  7. 官方老爹之痛:为什么苹果能收到推送,而安卓不行?
  8. 阿里云基础认证(ACA - Alibaba Cloud Certification Associate)
  9. 特效行者app手机版制作飞天特效视频的教程
  10. 现在,您可以在YouTube上播放免费的,广告支持的电影