c语言键盘控制数码管显示,3*4矩阵键盘控制4位数码管显示的C程序
这个很简单
;********************************************************************************
;* 标题: 伟纳电子ME300B单片机开发系统演示程序 - 矩阵键盘数码管显示键值 *
;* 文件: WL031.asm *
;* 日期: 2005-3-20 *
;* 版本: 1.0 *
;* 作者: gguoqing *
;* 邮箱: gguoqing.com *
;* 网站: http://www.willar.com *
;********************************************************************************
;* 描述: *
;* 矩阵键盘数码管显示键值 *
;* *
;* 矩阵键盘定义: *
;* P1.0-P1.3为列线,P1.4-P1.7为行线 *
;* *
;* *
;********************************************************************************
;* 【版权】 Copyright(C)伟纳电子 www.willar.com All Rights Reserved *
;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! *
;********************************************************************************
RELAY EQU P1.3
BEEP EQU P3.7
;------------------------------------------------------
ORG 0000H
JMP MAIN
;------------------------------------------------------
MAIN: MOV SP,#60H
MOV 30H,#00H
LOOP1:
CALL KEY_IN
CALL KEY_PLAER
JMP LOOP1
;-----------------------------------------------------
KEY_IN: MOV P1,#0F0H ;置列线为0,行线为1
MOV A,P1
ANL A,#0F0H
MOV B,A
MOV P1,#0FH ;置列线为1,行线为0
MOV A,P1
ANL A,#0FH
ORL A,B ;高四位与低四位重新组合
CJNE A,#0FFH,KEY_IN1 ;0FFH为末按键
RET
KEY_IN1: MOV B,A
MOV DPTR,#KEYTABLE
MOV R3,#0FFH ;
KEY_IN2: INC R3
MOV A,R3
MOVC A,+DPTR
CJNE A,B,KEY_IN3
MOV A,R3 ;找到,取顺序码
MOV 30H,A
CALL BEEP_BL
RET
KEY_IN3: CJNE A,#0FFH,KEY_IN2 ;末完,继续查
RET ;0FFH为结束码
;----------------------------------------------
;蜂鸣器响一声子程序
;----------------------------------------------
BEEP_BL:
MOV R6,#100
BL1: CALL DEX1
CPL BEEP
DJNZ R6,BL1
MOV R5,#25
CALL DELAY
RET
DEX1: MOV R7,#180
DEX2: NOP
DJNZ R7,DEX2
RET
DELAY: ;延时R5×10MS
MOV R6,#50
DELAY1: MOV R7,#100
DJNZ R7, R6,DELAY1
DJNZ R5,DELAY
RET
;-----------------------------------------------------
KEYTABLE:
DB 0EEH,0EDH,0EBH,0E7H,0DEH ;0,1,2,3,4, 顺序码
DB 0DDH,0DBH,0D7H,0BEH,0BDH ;5,6,7,8,9,
DB 0BBH,0B7H,07EH,07DH,07BH ;A,B,C,D,E,
DB 077H,0FFH ;F 0FF为结束码
;-----------------------------------------------------
;键值显示子程序
;使用一个数码管显示
;-----------------------------------------------------
KEY_PLAER:
MOV A,30H
MOV DPTR,#TAB ;取段码表地址
MOVC A,+DPTR ;查显示数据对应段码
MOV P0,A ;段码放入P0口
CLR P2.7 ;第一个数码管亮
RET
;-----------------------------------------------------
TAB:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
DB 80H,90H,88h,83h,0c6h,0a1h,86h,8eh
;-----------------------------------------------------
END
c语言键盘控制数码管显示,3*4矩阵键盘控制4位数码管显示的C程序相关推荐
- 实验六 键盘扫描显示实验(矩阵键盘)
实验六 键盘扫描显示实验(矩阵键盘) 一.实验要求 在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在八位数码管上显示出来. 实验程序可分成 ...
- 51单片机 c语言 yl236,基于亚龙YL236单片机设备的矩阵键盘程序设计.doc
基于亚龙YL236单片机设备的矩阵键盘程序设计.doc 基于亚龙YL236单片机设备的矩阵键盘程序设计 摘 要矩阵键盘在单片机技能大赛题目中基本是必备模块,连接贯穿整个题目的设计完成.本文介绍了基于亚 ...
- c51单片机矩阵键盘1602计算器_基于51单片机矩阵键盘的简易计算器制作
1. 运算过程.符号公式实时显示在显示屏上(I2C 1602). 2. 自带三角函数.开根号.平方运算. 3. 计算得出的结果可设置保存并用以下一次计算. 4. 所有运算结果精确到至少小数点后两位. ...
- 8255控制四个双色灯C语言,汇编语言实现通过8255A和4个开关控制实现8个LED灯和8个7位数码管显示指定数字全亮、全灭、从左至右、从右至左跑马灯式点亮...
最后改进代码: .MODELTINY .STACK100 .DATA ledshow DB 11111110B ;数据段定义变量按"变量名 数据类型 数据";DB为字节型 seve ...
- c语言单片机4*4键盘程序,求51单片机矩阵4*4键盘程序,P0口接一个数码管,P3口接矩阵键盘,C语言的...
#include unsigned char keyval,keynum=0; unsigned char distab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0 ...
- 嵌入式linux内核开启键盘,- 基于嵌入式Linux内核的特殊矩阵键盘设计完整驱动控制模块方案...
首先设置输入设备的功能,input_set_capability(&sim_key,EV_KEY,KEY_A)函数完成键盘A键的输入使能,类似可完成B-X共24个按键的输入使能.然后设置键盘的 ...
- 51单片机按键扫描程序汇编程序(独立按键与矩阵按键)(使用定时器)(可移植的汇编程序)矩阵键盘控制两个led数码管(汇编语言)与UART通信总结(上)
一,按键控制数码管 1四按键控制程序(汇编) (您的关注点赞是作者创作的最大动力哦) //******************************************************* ...
- 基于8086简易电子琴系统仿真设计-基于8086红外自动门控制系统设计-基于单片机8x8矩阵键盘两机串口通信-基于单片机8层电梯控制系统仿真设计-基于单片机ADC0809和DAC0832模数和数模设计
1189基于8086简易电子琴系统仿真设计-设计资料 编写一实现电子琴的程序,并实现若干扩展功能. 基本功能:用键盘输入对应的七个音阶,通过实验箱的喇叭发出声音,并通过七段数码管显示输入音阶: 扩展功 ...
- 数字系统实验—第13周任务(3位数码管动态扫描显示实验含工程与优化)
数字系统实验--第13周任务 任务书 0.简介 1. 实验操作:1周 2. 完成并在线提交文档(100%) 日志(系统功能描述) 报告(目的 设计 实现 总结) 3. 三位数码管数据显示实验在线验收 ...
最新文章
- 优酷智能档在大型直播场景下的技术实践
- python中元组的使用_Python当中tuple元组的使用
- 关于微服务架构的思考
- 开复学生网--没有学习的动力怎么办
- BZOJ 1293 [SCOI2009]生日礼物
- JDBC连接本地sqlserver2005的方法
- 十年技术骨干面试被开出一万五薪资,直呼 “这是对我的侮辱”
- 基于zeromq的高性能分布式RPC框架Zerorpc 性能测试
- axios.post请求出错:Request header field content-type is not allowed by Access-Control-Allow-Headers in……
- AIR访问操作系统剪贴板粘贴操作延迟呈现解决办法
- 安装IBM Data Studio Client
- 导数乘法/除法法则的证明
- java 中Shallow Heap与Retained Heap的区别
- java计算机毕业设计基于安卓Android的禁毒宣传APP
- 腾讯视频会议真实内部实现分享
- 岳父岳母-寄快递的特殊方式
- git 不显示远端分支问题
- Spring Boot Admin2 @EnableAdminServer的加载
- php文件批量改名,php批量重命名_PHP教程
- HTML+CSS+JavaScript实现全国三级城市select选择
热门文章
- lldb 调试 linux下 .net Core 总结及开源扩展 yinuo
- 塑造Visual Studio的未来
- Storm 1.0.1发布 .NET 适配也已到来
- vs使用ado连接oracle,在VS环境下以ADO方式操作Oracle数据库
- 【Python可视化】Windows 10系统上Pyecharts安装教程
- Android开发之运行客户的Demo拿不到数据
- Android之React Native平台与Android本地模块之间的调用
- es mysql 同步插件_[es和数据库怎么同步]mysql与elasticsearch实时同步常用插件及优缺点对比(ES与关系型数据库同步)...
- 软件配置管理(二)配置管理角色与过程
- TensorFlow发布全新版本,又会带来哪些变革?