阵列式键盘实训C语言,新人求教 阵列式键盘
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
ORG 0000H
LJMP START
ORG 00100H
DBUF EQU 30H
TEMP EQU 40H
DIN BIT P3.0
CLK BIT P3.1
START: MOV A,#16H
MAIN: ACALL DISP
MOV 30H, A
ACALL KEY1
AJMP MAIN
KEY1: MOV P1,#0F0H;对输入应锁存写
1
MOV A,P1
CJNE A,#0F0H, K11 有键按下
K10: AJMP KEY1 无键按下
K11: ACALL DELAY 延时去抖动
MOV P1,#0F0H
MOV A,P1 再读取键盘状况
CJNE A,#0F0H, K12 确有键按下
SJMP K10 误动作
K12: MOV B,A 存列值
MOV P1,#0FEH 检测第一列
MOV A,P1
CJNE A,#0FEH,K13
MOV P1,#0FDH 检测第二列
MOV A,P1
CJNE A,#0FDH,K13
MOV P1,#0FBH 检测第三列
MOV A,P1
CJNE A,#0FBH,K13
MOV P1,#0F7H 检测第四列 MOV A,P1
CJNE A,#0F7H, K13
AJMP K10 多键同时按下
K13: ANL A,#0FH 得行值
ORL A,B 得按下的行列值
MOV B,A 暂存键值
MOV R1,#16 16
个键
MOV R2,#0 键码初值
MOV DPTR,#K1TAB 键码表首址
K14: MOV A,R2
MOVC A,@A+DPTR 从键值表取键值
CJNE A,B, K16 与按下键的键比较
MOV P1,#0F0H
K15: MOV A,P1
CJNE A,#0F0H, K15
ACALL DELAY 延时去抖动
MOV A,R2 得键码
RET
K16: INC R2
DJNZ R1,K14
AJMP K10
K1TAB: DB 0EEH,0EDH,0EBH,0E7H
DB 0DEH,0DDH,0DBH,0D7H
DB 0BEH,0BDH,0BBH,0B7H
DB 07EH,07DH,07BH,077H
DISP: MOV DBUF,#0CH
MOV DBUF+1,#5
MOV DBUF+2,#1
MOV DBUF+3,#16
MOV DBUF+4,A
MOV R0,#DBUF
MOV R1,#TEMP
MOV R2,#8
DP10:MOV DPTR,#SEGTAB
MOV A,@R0
MOVC A,@A+DPTR
MOV @R1,A
INC R0
INC R1
DJNZ R2,DP10
MOV R0,#TEMP
MOV R1,#5
DP12:MOV R2,#8
MOV A,@R0
DP13:RLC A
MOV DIN,C
CLR CLK
SETB CLK
DJNZ R2,DP13
INC R0
DJNZ R1,DP12
RET
SEGTAB:DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,07H,7FH,6FH,77H,7CH
DB 58H,5EH,79H,71H,00H,40H
DELAY: MOV R4,#02H
AA1: MOV R5,#0F8H
AA: NOP
NOP
DJNZ R5,AA
DJNZ R4,AA1
RET
END
汇编找到了
阵列式键盘实训C语言,新人求教 阵列式键盘相关推荐
- 阵列式键盘实训C语言,阵列式键盘实验详解.doc
阵列式键盘实验详解 实验二 阵列式键盘实验 一.实验目的 1.掌握键盘和显示器的接口方法和编程方法 2.掌握阵列式键盘的硬件组成和软件编程方法 二.实验说明 本实验提供了一个4X4小建盘,向P0口的低 ...
- 单片机应用技能实训(c语言) 李志京,基于应用型人才培养的单片机原理及应用教学改革探讨...
摘要:本文根据单片机原理及应用课程的特点,从课程教学内容优化.课堂教学改革.实验教学改革等方面进行研究和尝试,目的在于提高学生分析问题和解决问题的能力,增强学生的创新能力和综合素质,并指出了如何改善现 ...
- 软件测试技术与项目实训pdf,软件测试技术任务驱动式教程pdf
软件测试技术任务驱动式教程 内容简介 <软件测试技术任务驱动式教程>分四个篇章介绍了软件测试的基本知识.方法.工具及流程.软件测试的基本理论阐述了软件测试的概念.模型和分类,软件质量管理与 ...
- c语言设计指导实训,C语言程序设计实训指导
与<c语言程序设计(第2版)>配套,给出所有习题及参考答案.按知识点,精选12个典型实训,给出实训目的与要求.实训内容及实训参考程序.附有自测(考试)样卷及参考答案,供读者自测.提供Tur ...
- 计算机基础案例式教程实训指导,计算机应用基础案例式实训教程
摘要: <普通高等教育"十二五"规划教材计算机应用基础案例式实训教程>采用"组织结构分层,案例任务驱动,实验实训结合"的方式编写,集讲述.实训.实验 ...
- vr沉浸式仿真实训展厅中控系统提高课堂纪律
为解决实训教学过程中"看不到.进不去.成本高.危险大"的问题,VR智能中控系统为职业教育及高等教育老师提供一个数字化.沉浸式.集中管控的实训教学工具. VR智能中控系统通过对VR教 ...
- 葡萄酒指标实训 Python语言
本文所需数据下载地址-->点这里下载 众所周知,葡萄酒的价格是与其品质相关的,本实训根据表中提供的数据对包葡萄酒品质数进行了分析与处理. 变量名 含义 fixed acidity 固定酸度 vo ...
- 最老程序员创业开发实训5---Swift语言极速入门
本来,我是特别反对拿着一本书,从头看到尾,认认真真地记住每个细节,以这种方式来学习一门编程语言的.相反,我特别崇尚写了Hello World之后,直接进入编程练习,在编程中学习各种语言细节,当你基本能 ...
- 英语字典c语言实训,c语言字典(国外英文资料).doc
c语言字典(国外英文资料) c语言字典(国外英文资料) The main menu The main menu is on top of the Turbo C 2.0 main screen, di ...
- 实训C++语言设计——Date日期系统实现
平台:VC++ 2005 测试通过! .vcproj 这是使用应用程序向导生成的 VC++ 项目的主项目文件. 它包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台 ...
最新文章
- 动动手,用TensorFlow API训练出自己的目标检测模型
- Zabbix监控web项目
- 指令和伪指令和宏指令区别
- opencvsharp打开相机并视频显示
- iOS学习笔记之typedef
- 白话debounce和throttle
- Java核心篇之泛型--day5
- 【Java】灵活使用自定义注解和反射
- 码农即将被淘汰?未来10年,这样的程序员才值钱!
- wpf项目无法使用针式打印机_针式打印机的常见故障和解决方法2
- centos6+nagios3.3.1+nrpe2.12
- Visual Studio DSL 入门 13---结合T4生成代码
- Codeforces-GYM101873 G Water Testing 皮克定理
- 百余篇SCI文章的一字经验----短
- 计算机组成原理6-20,计算机组成原理课后题6.20PPT课件
- matlab绘制函数傅里叶,MATLAB中如何实现矩形函数的傅里叶变换
- Ubuntu18.04安装Pangolin0.6
- RDF(Resource Description Framework)
- 第6章 高级数据查询
- 2022年驾驶员考试推土机司机考试模拟试题卷及答案
热门文章
- OA项目之我的审批(查询会议签字)
- 计算机打印服务总是自动关闭,打印机服务怎么使用 打印机服务自动关闭怎么解决...
- 演化博弈论简介(转)
- AUTOCAD——快速提取说明文字
- Charles使用外部代理服务器
- 字词拼音查询易语言代码
- c语言外部中断服务程序设计,手把手教你学单片机的C语言程序设计十二中断服务函数.pdf...
- multisim中pwl_Multisim 14电路设计与仿真
- 暑假第一战——java+mysql 个人信息管理系统
- 《Head First设计模式》第二版中译本内文彩页欣赏