版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6.1 MCS51单筹码介面和应用节目、6.1键、键盘及相应的介面6.2显示器和显示器介面6.3 A/D转换器接口6.4 D/A转换器接口6.5行程交换机、晶闸管、继电器和单片机接口、6.1键、键盘及其接口、6.1.1键输入过程和软件结构6 . 1 . 1例如,由4行、4列线组成的16个键的键盘可以使用8位I/O通信端口线的高、低4位通信端口线的二进制组合来表示16个键的编码,如图6.4(a)所示。每个密钥的相应密钥值为88H、84H、82H、81H、48H、44H、42H、41H、28H、24H、22H、21H、18H、14H、12H、11h牙齿键码软件比较简单直观,但是离散性大,分配分布式
2、程序的入口地址很不方便。(2)按顺序排列键码。图6.4(b)中所示。在牙齿方法中,根据I/o善意状态适当地处理关键值的形成。键码可以形成如下:键码=第一行键列号,图6.4矩阵式键盘编码和键值,(a)二进制组合码,(B)顺序码,3键盘监视方法对于电脑应用系统,键盘扫描只是CPU任务的一部分,键盘处理仅在按下键时才有意义。有关是否按下了键的信息输入方法有中断和查询方法。6.1.3独立键1独立键介面结构,图6.5独立键的介面电路图表,(A)中断方法,(b)查询方法,2独立键的软件结构下是查询式键盘程序。K0K7是功能节目入口地址号,地址间距必须能容纳JMP命令字节,PROM0PROM7是每个密钥的功
3、能程序。将I/O设置为P1端口。开始:mov a,# 0ffhMOV P1,a;将P1端口设置为输入状态MOV A,P1;键状态输入JNB ACC.0,k0;检测是否按了0号键,是否按了JNB ACC.1,K1。1号键是否被按下,按下,JNB ACC.2,K2;检测是否按了2号键,是否按了JNB ACC.3,K3。检测是否按了3号键,是否按了JNB ACC.4,K4。检测是否按了4号键,是否按了JNB ACC.5,K5。检测是否按了5号键,是否按了JNB ACC.6,K6。检测是否按了6号键,是否按了JNB ACC.7,K7。确保按了7号键,然后按jmpstart键。不按键返回,k0:ajm
4、pprom 0k 1:ajm pprom 1k 7:aji mpprom 7,入口地址表,6.1.4矩阵式键盘矩阵式键盘也称为矩阵键盘。使用I/o通信端口线组织行和列结构,并在行和列的交点处设置关键点。例如,44行结构可以配置16个键的键盘。因此,大量的密钥可以节省I/O通信端口线。单列式键盘的介面列式键盘有多种介面方法。例如,单筹码微计算机的I/O端口具有直接接口。利用扩展的并行I/O介面使用串行端口扩展并行I/O通信端口介面可编程键盘、显示器介面筹码8279执行介面等。其中利用扩展的并行I/O介面方法提高灵活性,通常用于单筹码微电脑应用系统。图6.6 8155扩展I/O端口的矩阵式键盘,2
5、键盘工作方式键设置在行和列善意交点处,行和列线分别连接到键开关的两端。行船通过向上阻力连接5 V,被夹具处于高平状态。键盘分两个阶段工作。第一步是检测CPU是否首先按了键盘上的键。第二步是重新认识按了什么键。检测是否按了键盘上的键。可以使用查询工作方式、定期扫描工作方式和中断工作方式。1)查询操作方式键盘上的按键按下在列线上传递到全扫描语,通过读取行状态来判断。方法为PA通信端口输出00H。也就是说,将所有列行设置为低电平,然后将行行展平状态读取到累加器A。键总是将行级别拉至行级别,因此行输入状态不是全部为1牙齿。在列线上按下了键盘上的哪个键,然后逐列地对行输入状态进行检查,称为逐列扫描。为此
6、,请从PA0开始,依次输出0,将相应的列行设置为低电平,然后从PC端口读取行状态。如果全部为1,则按下的键不在牙齿列中。如果不是全部为1牙齿,则按下的键必须位于牙齿列中,且位于与0传记平行线相交的交点处的键。为了获取键码,在逐列扫描时,可以使用计数器记录当前扫描列的列号,然后将列号添加到行值为零的行的第一个键码中进行计算。键盘扫描子程序如下:密钥1: a呼叫ks1调用以确定是否存在按子程序jnz lk1的键。按下键时,(A) 0旋转摇晃延迟ajmpkey 1;如果没有按键就按下,则返回lk1: a call tm12s。12毫秒延迟子程序call ks1曹征;确保按下了键,如果有,请按jnz
7、lk2键。按键(A) 0列扫描ajmp键1。不按真键返回到LK2: MOVR2,# 0fEH。初始列扫描单词(0列)发送到R2 MOV R4,# 00H。初始列(零列)号将发送到R4,LK4: Movdptr,# 7f01h。DPTR指8155PA通信端口MOV A,R2。热扫描发送到8155PA通信端口MOVX DPTR,a Inc dptr。DPTR 8155PC通信端口INC DPTR MOVX A,DPTR;从8155 PC端口读取线路状态JB ACC.0,lone。在没有确认键的情况下按第0行,第1行MOV A,# 00h第0行按键,行前缀# 00ha ajmp lkp切换键码LON
8、E:JB ACC.1,ltwo不使用键按第1行,并查看第2行MOV A,# 08h。第1行具有键击,行前缀# 08ha ajmp lkp转码,LTWO:JB ACC.2,lthr第2行按下无键确认第3行MOV A,# 10h第2行按键,行前缀# 10ha ajmp lkp切换键码LTHR:JB ACC.3,next检查第3行,不按键,检查下一列,MOV A,# 18H。第3行按键,行前缀# 18ha lkp: add a,R4;查找键代码,键代码=行第一个键代码列号push ACC键码堆栈保护lk3:call ks1;等待键释放jnz lk3。密钥未释放,等待pop ACC。释放密钥,密钥代码
9、a ret密钥扫描结束,退出状态(A)=密钥代码,下一步:incr4准备下一列扫描,列号1 MOV A,R2;获取列号并将其发送给累加器A JNB ACC.7,kend。确定是否扫描8列。检查完成后返回rl a。将扫描单词向左移动一位,结果是下一列,MOV R2,A。用R2 ajmp lk4扫描单词;移动到下一列扫描kend: ajmpkey 1 ks1: mov dptr,# 7f01hDPTR是8155PA通信端口MOV A,# 00h全扫描单词A MOVX DPTR,A;全扫描单词发送到8155PA通信端口,Inc dptr。DPTR 8155PC通信端口INC DPTR MOVX A,
10、DPTR;读取PC通信端口线路状态CPL a;这将改变表示有按ANL A,# 0FH键的高电平的逻辑。(阿尔伯特爱因斯坦,美国电视电视剧,成功)仅保持屏蔽高度4位,低4位线路值ret出口状态:(A)0点tm12ms毫秒:movr7,已按# 18h键。延迟12毫秒子节目TM: MOVR6,# 0f FH TM6: DJNZR6,TM6 DJNZ R7,TM RET,2)定时扫描工作原理,定时10毫秒,KM:抖动删除标志KP:密钥处理标志。3)中断工作方式电脑应用系统操作时不需要经常键击。但是,无论查询的工作方式还是定时扫描的工作方式,CPU往往处于空扫描状态。为了提高CPU的效率,可以采用中断工
11、作方式。牙齿操作的工作方式是,当按键盘上的键时,向CPU发送中断请求信号,CPU响应中断,然后中断服务程序扫描键盘并运行按键功能程序。中断请求信号的介面电路可以参考图6.5(a)。中断服务程序需要完成密钥识别、消除抖动、排除多次执行的键功能操作等功能,并可以参考查询工作方式键盘程序。6.2显示器和显示器介面、6.2.1 LED显示器结构和原理、图6.9第7段是块针和结构图表、表6.1 7段LED段选择代码、6.2.2 LED显示器和显示器方法、图6.10 N位LED显示器静态显示电路、1LL每段线(ag、DP)牙齿图显示了4位静态LED显示器电路。监视器的每个位可以独立显示,并且只要该位的段选
12、择线保持段选择代码平坦,就可以保留相应的显示字符。每个位由8位输出端口控制段选择代码,因此可以同时显示不同的字符。n位静态显示器需要N8条I/O通信端口线,更多的I/O通信端口线。因此,如果有很多位数,则经常使用动态显示。2LED动态显示器、图6.11 8位LED动态显示器电路、6.2.3 LED显示器介面、1硬件解码显示器介面、图6.12 MC14495内部逻辑和针脚图、图6.13显示MC14495的多位LED静态显示器接口、2软件解码显示接口、8155 MOV DPTR指向DPTR牙齿8155控制寄存器通信端口MOVX DPTR、A MOV R0、# 78H。R0动态显示初始化以指向牙齿缓
13、冲区地址MOV R3,# 7FH。第一个选择单词发送R3 MOV A,R3。LD0:MOV DPTR,# 7f01hDPTR牙齿PA通信端口MOVX DPTR,a;选择低显示器(最右侧)Inc dptr。指向DPTR牙齿PB通信端口、MOV A、r0。读取显示计数ADD A,# 0dh段选择代码表开头的偏移曹征MOVC A,a PC查寻表包含节段选取代码MOVX DPTR,a;段选择代码从PB端口输出a call dl1。指向1 ms延迟子程序Inc r0调用缓冲区中的下一个单元MOV A,R3。位选择代码发送累加器A JNB ACC.0,LD1。确定是否显示8位,然后返回RR a。不显示,将
14、选择器改为下一个选择器MOV R3,A。修改的位发送R3 ajmp ld0。循环实现按顺序显示。LD1: RET DSEG: DB 3FH,06H,5BH;4FH、66H、6DH、7dh段代码表DB 07H、7FH、6FH、77H、7CH、39H、5EH、79h dl1: movr7、# 02h延迟子程序dl: movr6、# 0ffhdl0: djnz R6、DL6 DJNZ R7、DL RET、6.2.4键盘、显示器组合接口、1键盘、显示器组合接口电路;图6.15在8155并行图中设置了32个键。如果使用大量PC通信端口线,则最多可以添加88=64个密钥。可以根据需要进行设置。LED显示器
15、使用共同的阴极。段选择代码由8155 PB端口提供,位选择代码由PA端口提供。键盘上的热输出由PA端口提供,与显示器上的位输出通用,行输入由PC0PC3提供。键盘和显示器共享PA端口,因此I/O端口明显比单个连接器节约。图6.15 8155扩展I/O端口的键盘、显示器组合介面、2软件设计LED采用动态显示器、软件解码、键盘采用逐列扫描查询工作方式。由于键盘和显示器由介面电路组成,软件可以将键盘查询和动态显示相结合,用显示器子程序替换键盘抖动的延迟子程序。程序如下:KD1: mova,# 03h初始化8155 pa;PB端口是默认输出;PC端口是输入MOV DPTR;# 7f00 h movx DPTR;a;key 1:a call ks1 jnz lk1 a call display;调用显示器子节目实现延迟,以防止抖动导致密钥确认AJMP密钥1。延迟后检测键盘lk1:a call display;调用两次显示器实现延迟,以防止抖动导致A call display A call ks1 jnz l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 对待学习的正确态度议论文5篇
- 趣味小知识教学课件
- 老师眼中的我写人记叙文8篇
- 趣味化学知识讲座
- 物料供应按时保障保证承诺书5篇范文
- 办公室环境安全评估预案
- 家庭装修装饰技巧手册
- 2026年律师事务所以身代位合同协议
- 电动车配件销售合同协议2026年税务处理
- 2025年保管员专业知识面试题库及答案
- 2025全国注册监理工程师继续教育考试题库及参考答案
- “无废医院”建设指引
- 篮球比赛应急预案及措施
- 2025-2030卫星互联网星座组网进度与地面终端兼容性报告
- 医院功能科年终总结
- 医院科室整改前后对比
- 2024年QC课题(提升办案现场执法效率)专卖监督管理科
- 青光眼病人的健康宣教
- 海外机械设备管理制度
- 弘扬教育家精神:新时代教师的使命与担当
- 向银行申请减免利息还本金申请书样板
评论
0/150
提交评论