智能仪器设计4,5_第1页
智能仪器设计4,5_第2页
智能仪器设计4,5_第3页
智能仪器设计4,5_第4页
智能仪器设计4,5_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、3.串行输出串行输出A/D A/D 转换器转换器, MAX1241, MAX1241l 低功耗、低电压;l 12位逐次逼近型;l 8引脚;l 串行输出,整个过程受控于三线串行接口。简介:简介:引脚配置:引脚配置:PDIP Plastic Dual in-line package*/wiki/File:Three_IC_circuit_chips.JPGSmall-outline integrated circuit (SOIC) * /wiki/Small-outline_integrated_circui

2、t内部结构和管脚定义:内部结构和管脚定义:1VDD 电源输入 2 Vin 模拟电压输入 3 /SHDN 节电方式控制端 4 REF 参考电压 VREF输入端5 GND 模拟、数字地 6 DOUT 串行数据输出7 /CS 芯片选通 8 SCLK 串行输出驱动时钟输入工作时序:工作时序:1)转换开始:每次转换由)转换开始:每次转换由/CS 下降沿触发,此时下降沿触发,此时SCLK 必须为低;必须为低;2) A/D转换:内部转换:内部S/H为保持状态(高电平),为保持状态(高电平),DOUT为低,为低,SCLK为低;为低;3) 转换结束:转换结束:DOUT由低变高,内部由低变高,内部S/H为捕捉状态

3、(低电平);为捕捉状态(低电平);4)读数:)读数:SCLK下降沿触发一位数据输出,下降沿触发一位数据输出, DOUT保持到下一个保持到下一个SCLK下降沿。下降沿。MAX1241操作原理:操作原理:第三章第三章 智能仪器的外设及控制技术智能仪器的外设及控制技术3.1 键盘与接口键盘与接口3.2 LEDLED显示与接口显示与接口3.3 键盘键盘/ /显示器接口设计显示器接口设计3.4 LCDLCD显示及接口显示及接口3.5 CRTCRT显示及控制显示及控制3.6 触摸屏触摸屏3.7 打印记录技术打印记录技术l 重点:重点:1. 1. 键盘接口电路和键盘扫描程序键盘接口电路和键盘扫描程序2. 2

4、. 键盘键盘/ /显示器接口设计显示器接口设计3.1 3.1 键盘与接口键盘与接口1. 1. 键盘概述键盘概述键盘键盘键盘接口涉及问题键盘接口涉及问题(1)识键:确定是否有键按下。)识键:确定是否有键按下。(2)译键:识别按键并确定键值。)译键:识别按键并确定键值。(3)键值分析:根据键值找出相应处理程)键值分析:根据键值找出相应处理程序的入口并执行。序的入口并执行。 一组按键集合,最常见输入设备。一组按键集合,最常见输入设备。 断开、闭合两种状态。断开、闭合两种状态。 检测到按键按下或松开时,延时再判断按键状态,检测到按键按下或松开时,延时再判断按键状态,确认是否有键按下。确认是否有键按下。

5、键盘输入需解决问题键盘输入需解决问题软件(延时消抖)软件(延时消抖)(1) 去抖:按键在闭合和断开时,触点会存在抖动现象。去抖:按键在闭合和断开时,触点会存在抖动现象。 硬件去抖硬件去抖(2)单次键入与连击(a)按键单击处理(b)按键连击处理(3)串键处理 只处理一个键,任何其他按下又松开的键不产生键只处理一个键,任何其他按下又松开的键不产生键值。通常第一个被按下或最后一个松开的键产生键码。值。通常第一个被按下或最后一个松开的键产生键码。两键同时按下两键同时按下两个键同时按下时产生保护作用。两个键同时按下时产生保护作用。方法一方法一最后仍被按下的键是有效的正确按键。最后仍被按下的键是有效的正确

6、按键。方法二方法二当第一个按键未松开时,第二个键不当第一个按键未松开时,第二个键不产生键值。产生键值。NN键同时按下键同时按下 不理会所有被按下的键,直至只剩下一个键按下不理会所有被按下的键,直至只剩下一个键按下时为止。时为止。NN键锁定键锁定2. 2. 键盘工作原理与接口电路键盘工作原理与接口电路 通常采用软件的方法,逐行通常采用软件的方法,逐行逐列检查键盘状态,当发现逐列检查键盘状态,当发现有键按下时,用计算或查表有键按下时,用计算或查表的方式获得该键的键值的方式获得该键的键值 内部设有键盘编码器,被按下键的内部设有键盘编码器,被按下键的键值由编码器直接给出,同时具有键值由编码器直接给出,

7、同时具有防抖和解决连击的功能,具有速度防抖和解决连击的功能,具有速度快的特点。快的特点。 独立式键盘、非编独立式键盘、非编码矩阵式键盘码矩阵式键盘编码式键盘编码式键盘1) 1) 独立式键盘独立式键盘(b)通过扩展口连接一个按键占用一条接口线,各按键电路独立。一个按键占用一条接口线,各按键电路独立。结构简单,识别容易,占较多口线。结构简单,识别容易,占较多口线。(a) 直接连接结构特点结构特点系统首先判断有无按系统首先判断有无按键按下,有键按下,键按下,有键按下,则延时则延时10ms消除抖动,消除抖动,再查询按键状态并执再查询按键状态并执行相应的操作,然后行相应的操作,然后等待按键释放。等待按键

8、释放。程序扫描方式程序扫描方式KEY:MOVA, P2ORLA, #0F0HCPLAJZFHACALLDLY10MOVA, P2JBACC.0, KS1ACALLDLY10LCALLKF0WAIT0:JNBP2.0, WAIT0AJMP FHKS1:JBACC.1, KS2(类同,略)类同,略) FH:RET 利用定时器产生定时利用定时器产生定时(10ms)中断,)中断,CPU响响应中断对键盘进行扫描,应中断对键盘进行扫描,并在有键闭合时转入该键并在有键闭合时转入该键的功能处理程序。的功能处理程序。 定时扫描中设置了两定时扫描中设置了两个标志:去抖动标志个标志:去抖动标志KMKM和和处理标志处

9、理标志KPKP。 定时扫描方式定时扫描方式 键扫描时若无键按下,则将键扫描时若无键按下,则将KMKM、KPKP置置0 0,返回。,返回。 当有键按下时,先检查当有键按下时,先检查KMKM标志,若标志,若KM=0KM=0,表示尚,表示尚未做去抖处理,将未做去抖处理,将KMKM置置1 1,返回。,返回。 中断返回后要经中断返回后要经10ms10ms才能再次中断,利用此延时才能再次中断,利用此延时实现软件去抖。实现软件去抖。 若若KM=1KM=1,说明已经去抖处理,则接着检查,说明已经去抖处理,则接着检查KPKP标志。标志。若若KP=0KP=0,说明还没有进行该键的处理,因此进行键,说明还没有进行该

10、键的处理,因此进行键功能处理,判断闭合键键值,转入键功能处理程序,功能处理,判断闭合键键值,转入键功能处理程序,并将并将KPKP置置1 1后返回。若后返回。若KP=1KP=1,说明已做过键功能处理,说明已做过键功能处理,为避免重复处理,直接返回。为避免重复处理,直接返回。 前两种方式下,前两种方式下,CPU可能空扫描或不能及时响可能空扫描或不能及时响应键输入。应键输入。 中断扫描方式中断扫描方式 有键按下时,产生中断有键按下时,产生中断信号给信号给CPU,CPU响应中断,响应中断,执行中断扫描并进行按键处执行中断扫描并进行按键处理。理。2) 2) 非编码矩阵式键盘非编码矩阵式键盘结构特点结构特

11、点 排列成排列成4 4* *4 4矩阵式结构矩阵式结构 每条列线接上拉电阻每条列线接上拉电阻 无键按下时,行线与列线无键按下时,行线与列线不相连不相连 当某个键按下时,该按键当某个键按下时,该按键所在的行、列相连所在的行、列相连扫描法扫描法4 4* *8 8矩阵键盘接口电路矩阵键盘接口电路扫描法处理步骤扫描法处理步骤识键识键 消抖消抖 从从PC口依次使键盘的一根行线为口依次使键盘的一根行线为0(该行线(该行线所在行即为行号),输出不同的扫描字,然后所在行即为行号),输出不同的扫描字,然后读取读取PA值,若值,若PA口全为口全为1,则无键闭合,否则,则无键闭合,否则,为为0的口线,其所在的列线,

12、即为列号。的口线,其所在的列线,即为列号。译键译键 PC输出输出00H,读,读PA状态。若状态。若PA口全为口全为1,则无键闭合;若有口线为则无键闭合;若有口线为0,则有键闭合。,则有键闭合。 有键闭合时,软件延时有键闭合时,软件延时1020ms,重新识键,重新识键,有键闭合时,执行下一步,否则退出。有键闭合时,执行下一步,否则退出。等待释放等待释放为了保证键闭合一次,为了保证键闭合一次,CPU仅做一次处理,在程序中需要等到仅做一次处理,在程序中需要等到待闭合键释放后再执行相应的键处理程序。待闭合键释放后再执行相应的键处理程序。例:用例:用8155作单片机键盘接口。电路如下:作单片机键盘接口。

13、电路如下:(1)以)以8155作作8 4键盘接口。键盘接口。A口为输出,接键盘口为输出,接键盘列线。列线。C口为输入,接键盘行线。口为输入,接键盘行线。按图:按图:A口地址为:口地址为:7FF9H; C口地址为:口地址为:7FFBH; C/S命令寄存器地址为:命令寄存器地址为:7FF8H。(2)8155命令字为:命令字为:01HMOV DPTR, #7FF8HMOV A, #01HMOVX DPTR, A(3)键盘扫描子程序及框图如下:)键盘扫描子程序及框图如下:KEYl:ACALL KSl ;调用判断有无键按下子程序;调用判断有无键按下子程序 JNZ LKl ;有键按下时;有键按下时, 转消

14、抖延时转消抖延时 AJMP KEYl ;无键按下返回;无键按下返回LKl: ACALL T12ms ;调;调12ms延时子程序延时子程序 ACALL KSl ;查有无键按下;查有无键按下, 若有则为键真实按下若有则为键真实按下 JNZ LK2 ;键按下;键按下(A)0转逐行扫描转逐行扫描 AJMP KEYl ;不是键按下返回;不是键按下返回 LK2:MOV R2, #0FEH ;首列扫描字入;首列扫描字入R2 MOV R4, #00H ;首列号入;首列号入R4LK4: MOV DPTR, #7FF9H;列扫描字送至;列扫描字送至8155PA口口 MOV A, R2 MOVX DPTR, A I

15、NC DPTR ;指向;指向8155PC口口 INC DPTR MOVX A, DPTR ;8155PC口读入行状态口读入行状态JB ACC.0, LONE ;第;第0行无键按下行无键按下, 转查第转查第1行行 MOV A, #00H ;第;第0行有键按下行有键按下, 该行首键号该行首键号#00H07H AJMP LKP ;转求键号;转求键号LONE:JB ACC.1, LTWO ;第;第1行无键按下行无键按下, 转查第转查第2行行 MOV A, #08H ;第;第1行有键按下行有键按下, 该行首键号该行首键号#08H0FH0FHAJMP LKP LTWO:JB ACC.2, LTHR ;第;

16、第2行无键按下行无键按下, 转查第转查第3行行 MOV A, #l0H ;第;第2行有键按下行有键按下, 该行首键号该行首键号#10H17H AJMP LKP LTHR: JB ACC.3, NEXT ;第;第3行无键按下行无键按下, 该查下一列该查下一列 MOV A, #18H ;第第3行行有键有键按下按下, 该行首键号该行首键号#18H1FH LKP: ADD A, R4 ;求键号:行首键号;求键号:行首键号+列号列号 PUSH ACC ;键号进栈保护;键号进栈保护 LK3:ACALL KSl ;等待键释放;等待键释放 JNZ LK3 ;未释放;未释放, 等待等待 POP ACC ;键释放

17、;键释放, 键号为键号为A RET ;键扫描结束;键扫描结束, 出口状态出口状态(A)=键号键号NEXT: INC R4 ;列号加;列号加1 MOV A, R2 ;判断;判断8列扫描完没有列扫描完没有? JNB ACC.7, KND ;8列扫描完返回列扫描完返回 RL A ;扫描字左移一位;扫描字左移一位,转变为下一列扫描字转变为下一列扫描字 MOV R2, A ;扫描字入;扫描字入R2 AJMP LK4 ;转下一列扫描;转下一列扫描KND: AJMP KEYlT12ms:MOV R7, #18H ;延迟;延迟12ms子程序子程序TM: MOV R6, #0FFHTM6: DJNZ R6, T

18、M6 DJNZ R7, TM RETKSl: MOV DPTR, #7FF9H MOV A, #00H ;全扫描字;全扫描字#00H MOVX DPTR, A ;全扫描字入;全扫描字入PA口口 INC DPTR ;指向;指向PC口口 INC DPTR MOVX A, DPTR ;读入;读入PC口行状态口行状态 CPL A ;变正逻辑;变正逻辑, 以高电平表示有键按下以高电平表示有键按下 ANL A, #0FH ;屏蔽后;屏蔽后4位位 RET ;出口状态:;出口状态:(A)0时有键按下时有键按下 线反转法线反转法4 4* *4 4矩阵键盘接口电路矩阵键盘接口电路向所有行线输出低电平向所有行线输出

19、低电平 行设为输出,且输出低电平行设为输出,且输出低电平; ;列设为输入,读入列线状列设为输入,读入列线状态。态。列设为输出,列设为输出,且输出低电平且输出低电平; ;行设为输入。读入行线状行设为输入。读入行线状态。态。 根据两次读数,合成一个代码,即特征码(特征码中隐根据两次读数,合成一个代码,即特征码(特征码中隐含着按键的位置),建立键码与特征码关系。含着按键的位置),建立键码与特征码关系。 识键识键译键译键输入各列线状态输入各列线状态列线状态全为高电平列线状态全为高电平,则无键按下;则无键按下; 列线状态中有低电平列线状态中有低电平,则有键按下。则有键按下。KEY:MOV P1, #0F

20、H;从从P1高高4位输出位输出0000MOV A, P1ANL A, #0FHMOV 20H, A;取取P1口低口低4位存入位存入20HMOV P1, #0F0H;从从P1低低4位输出位输出0000MOV A, P1ANL A, #0F0H;取取P1口高口高4位存入位存入AORL A, 20H;合成特征码合成特征码CJNE A, #0FFH, KEY1;无键按下则返回无键按下则返回RETKEY1:MOV 20H,A ;特征码送到特征码送到20HMOV DPTR,#KEYTABMOV R3,#0FFH;顺序码初始化顺序码初始化KEY2:INCR3MOV A,R3MOVCA,A+DPTRCJNE

21、A,20H,KEY3 ;未找到特征码未找到特征码,继续查找继续查找MOV A,R3;顺序码存入顺序码存入ARETKEY3:CJNE A,#0FFH,KEY2;特征码表没查完特征码表没查完,查下一个值查下一个值MOV A,#0FFH;无键按下处理无键按下处理,赋赋A值值RETKEYTAB: DB0EEH,0DEH,0BEH,07EH,0EDH,0DDH, DB0BDH,07DH, 0EBH,0DBH,0BBH,07BHDB 0E7H,0D7H,0B7H,077H, 0FFH ;空键特征码空键特征码3.3.键值分析程序键值分析程序任务任务单义键单义键多义键多义键对键盘的操作做出识别并调用相应的功对

22、键盘的操作做出识别并调用相应的功能程序模块完成预定的任务。能程序模块完成预定的任务。一键一义一键一义,CPU,CPU只需根据键码执行相应的只需根据键码执行相应的程序程序, ,主要适用于功能比较简单的仪器主要适用于功能比较简单的仪器系统系统. .一键具有两个或两个以上的含义一键具有两个或两个以上的含义, ,需做需做键语分析键语分析, ,按照规定的键语语法按照规定的键语语法, ,把由把由键序组合成的输入序列的含义译出后键序组合成的输入序列的含义译出后执行相应的键盘处理程序。执行相应的键盘处理程序。1 1)单义键的键值分析程序设计)单义键的键值分析程序设计简明直观简明直观,程序处理方便。程序处理方便。 单义键单义键根据当前按键的键值根据当前按键的键值,把控制程序转到相应处把控制程序转到相应处理程序的入口理程序的入口,而无须知道在此之前的按键情而无须知道在此之前的按键情况。况。优点优点单义键键值分析流程图单义键键值分析流程图CLRCSUBB A,#0AH;判断是数字键还是命令键判断是数字键还是命令键JCDIGIT;是数字键则转数字处理子程序是数字键则转数字处理子程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论