微机原理第六章可编程接口芯片及其应用3.ppt
《微机原理第六章可编程接口芯片及其应用3.ppt》由会员分享,可在线阅读,更多相关《微机原理第六章可编程接口芯片及其应用3.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章 常用的接口常用的接口芯片及其应用芯片及其应用6.1 I/O接口概述接口概述6.2简单接口简单接口6.3总线控制器总线控制器8288及及总线总线裁决器裁决器82896.4可编程并行接口可编程并行接口82556.5可编程定时器可编程定时器6.6键盘显示接口键盘显示接口6.7中断控制接口中断控制接口6.8可编程串行接口可编程串行接口82516.9A/D及及D/A变换器接口变换器接口6.10 DMA控制器控制器82371沈阳航空工业学院6.6.1键盘及其接口键盘及其接口v键盘是微机系统的标准键盘是微机系统的标准输入设备输入设备v编码键盘编码键盘:按键时自动产生编码输出,:按键时自动产生编
2、码输出,比比 如如PC键盘在键盘在,按键与释放会自动向,按键与释放会自动向CPU 送出送出16位的编码。位的编码。v非编码键盘非编码键盘:按键时不会自动产生编码输:按键时不会自动产生编码输 出,需要出,需要CPU主动去检查识别,在构成较主动去检查识别,在构成较 为简单的嵌入式系统应用,以实现较为简为简单的嵌入式系统应用,以实现较为简 单的数据输入,其结构可分为:单的数据输入,其结构可分为:简单按键简单按键每个按键连接每个按键连接1根根I/O线线矩阵式键盘矩阵式键盘多根行及列多根行及列I/O线构成矩阵,线构成矩阵,按键跨接在交叉点上。按键跨接在交叉点上。2沈阳航空工业学院第1段:是否有键按下ke
3、y1:mov al,00mov dx,rowport;rowport为连接行线的端口地址为连接行线的端口地址out dx,al;使所有行线为低电平使所有行线为低电平 mov dx,colport;colport为连接列线的端口地址为连接列线的端口地址 in al,dx;读取列值读取列值cmp al,0ffh;判断列线是否读到全判断列线是否读到全1jz key1;是,无闭合键,循环等待是,无闭合键,循环等待call delay;否,延迟否,延迟20ms清除抖动清除抖动键盘扫描程序3沈阳航空工业学院第2段:识别按键(扫描)mov cx,8;扫描行数送扫描行数送CXmov ah,0feh;第一行扫描
4、初值送第一行扫描初值送AHkey2:mov al,ahmov dx,rowportout dx,al;输出行码(扫描码)输出行码(扫描码)mov dx,colportin al,dx;读到列码读到列码键盘扫描程序4沈阳航空工业学院第2段:识别按键(判断)cmp al,0ffh;判断列线是否全判断列线是否全1jnz key3;否,有按键,转下一步处理否,有按键,转下一步处理rol ah,1;是,无按键,扫描码移位是,无按键,扫描码移位loop key2;拟扫下一行拟扫下一行jmp key1;所所有有行行都都没没有有键键按按下下,返返回回粗粗扫扫key3:;此时,此时,al列码,列码,ah行码行码
5、键盘扫描程序5沈阳航空工业学院2.行列反转法识别矩阵式键盘行列反转法识别矩阵式键盘v第一步第一步,先将,先将行线行线设为输出、列线设为检测输入设为输出、列线设为检测输入vCPU通过输出端口将通过输出端口将行线行线(控制线)全部设置为(控制线)全部设置为 低电平,然后从输入端口读取低电平,然后从输入端口读取列线列线(检测线),(检测线),若若列码列码读到全读到全1说明无键按下,否则有键按下,说明无键按下,否则有键按下,转第二步。转第二步。v第二步第二步,将,将行线行线和和列线列线作用反转,即作用反转,即列线列线设为输设为输 出,出,行线行线设为检测输入。将前一步读到的设为检测输入。将前一步读到的
6、列码列码从从 列线列线端口输出,并读取端口输出,并读取行线行线的输入码(的输入码(行码行码)v当一个键被按下时,必然涉及一对特定的当一个键被按下时,必然涉及一对特定的行码行码和和 列码列码,以此组成按键特定的,以此组成按键特定的识别码识别码,通过查表环,通过查表环 节可获得按键键值。节可获得按键键值。条件:连接行线和列线的接口电路必须能动态地改条件:连接行线和列线的接口电路必须能动态地改变行线和列线的输入变行线和列线的输入/输出方式输出方式6沈阳航空工业学院第1段:是否有键按下 ;设置行线接输出端口,列线接输入端口设置行线接输出端口,列线接输入端口key2:mov al,00mov dx,ro
7、wportout dx,al;设置行线输出全设置行线输出全0mov dx,colportin al,dx;读取列码读取列码cmp al,0ffh;判是否全判是否全1jz key2;是,无键闭合,循环等待是,无键闭合,循环等待push ax;否,有闭合键,保存列码否,有闭合键,保存列码 push ax键盘扫描程序7沈阳航空工业学院第2段:识别按键(反转法);重新设置行线接输入口,列线接输出口重新设置行线接输入口,列线接输出口mov dx,colportpop axout dx,al;输出前面保存的列码输出前面保存的列码mov dx,rowportin al,dx;读取行码读取行码pop bx;将
8、行码、列码组合将行码、列码组合mov ah,bl;此时,此时,al行值,行值,ah列值列值键盘扫描程序8沈阳航空工业学院行列值表和键代码表 ;按键的识别码表按键的识别码表tabledw 0fefeh;键键0的识别码(的识别码(16位)位)dw 0fdfeh;键键1的识别码的识别码dw 0fbfeh;键键2的识别码的识别码;其他键的识别码其他键的识别码 ;按键键值表按键键值表chardb 0;键键0的键值的键值db 1;键键1的键值的键值db 2;键键2的键值的键值;其他键的键值其他键的键值键盘扫描程序9沈阳航空工业学院第3段:查找键代码mov si,offset table;识别码表首址识别码
9、表首址mov di,offset char;键值表表首址键值表表首址mov cx,64;CX键的总数键的总数key3:cmp ax,si;ax与表中识别码相比较与表中识别码相比较 jz key4;相同,说明找到,跳到相同,说明找到,跳到key4inc si;不同,继续比较不同,继续比较inc siinc diloop key3jmp key1;全部比较完,都不同,全部比较完,都不同,;说明是串键说明是串键键盘扫描程序10沈阳航空工业学院第4段:等待按键释放key4:mov al,di;获取键代码送获取键代码送AL ;判判断断按按键键是是否否释释放放,没没有有则等待则等待call delay ;
10、按按键键释释放放,延延时时消消除除抖抖动动 ;后续处理后续处理键盘扫描程序11沈阳航空工业学院3.按键抖动和串键问题按键抖动和串键问题v机械按键按键和释放时存在机械按键按键和释放时存在按键按键抖动抖动现象现象当键按下或释放时,因接触电阻的变化对数字当键按下或释放时,因接触电阻的变化对数字 电路来说会导致输入的不确定性。电路来说会导致输入的不确定性。抖动的持续时间通常不大于抖动的持续时间通常不大于10ms。可采用可采用硬件消抖电路硬件消抖电路或软件延时的方法来或软件延时的方法来去抖去抖。v串键指两个或多个键同时闭合串键指两个或多个键同时闭合出现串键时,读取的码值中必然出现一个以上出现串键时,读取
11、的码值中必然出现一个以上 的的0用户决定是否给予识别处理用户决定是否给予识别处理。12沈阳航空工业学院串键处理串键处理v认为是无效的按键认为是无效的按键不予识别不予识别v认为是有效的组合键认为是有效的组合键加以识别加以识别v只承认先识别出来的键只承认先识别出来的键连锁法:直到所有键都释放后,读入下一连锁法:直到所有键都释放后,读入下一个键个键巡回法:等被识别的键释放以后,就可以巡回法:等被识别的键释放以后,就可以 对其他闭合键作识别,而不必等待全部键对其他闭合键作识别,而不必等待全部键 释放释放13沈阳航空工业学院10.4 LED数码管及其接口数码管及其接口v发光二极管发光二极管LED是是最简
12、单的最简单的 显示设备显示设备v由由8段段LED组成的组成的LED数码数码管管vLED数码管广泛用于单板微数码管广泛用于单板微 型机、微型机控制系统及数型机、微型机控制系统及数 字化仪器中字化仪器中vLED数码管可以显示内存地数码管可以显示内存地 址和数据等址和数据等14沈阳航空工业学院LED数码管的结构数码管的结构共阳极共阳极共阳极共阳极+5Vabcdefgh共阴极共阴极abcdefgh共阴极共阴极15沈阳航空工业学院2.单个单个LED数码管的显示数码管的显示8255APA0PA1PA2PA3PA4PA5PA6PA7同同相相驱驱动动电电路路abcdefghcom+5V对一般数字电路而言,其灌
13、电流(输出低电平)的能力要大于拉电流对一般数字电路而言,其灌电流(输出低电平)的能力要大于拉电流(输出高电平)的能力(输出高电平)的能力共阳数码管共阳数码管送送0点亮点亮送送0点亮点亮16沈阳航空工业学院单个数码管的显示LEDtbdb 0c0h,0f9h,0a4h;共阳七段码表共阳七段码表db mov al,1;要显示的数码在表中的位置要显示的数码在表中的位置mov bx,offset LEDtb;bx指向七段码表指向七段码表xlat;通过换码取要显示的七段码通过换码取要显示的七段码;alds:bxalmov dx,portout dx,al;输出七段码输出七段码软件译码17沈阳航空工业学院3
14、.多个多个LED数码管的显示数码管的显示v以动态扫描显示以动态扫描显示8个数码管为例个数码管为例v硬件硬件使用使用两两个个8位的输出端口,其中:位的输出端口,其中:锁存输出七段码的端口,通过公用的段驱动锁存输出七段码的端口,通过公用的段驱动 电路来驱动多个数码管各段电路来驱动多个数码管各段锁存输出位选通码的端口,每次只点亮一个锁存输出位选通码的端口,每次只点亮一个 数码管数码管v软件软件用轮流点亮(扫描)的方法实现用轮流点亮(扫描)的方法实现 多位数码显示,扫描频率应控制在多位数码显示,扫描频率应控制在16次次/秒秒 以上,当扫描频率达以上,当扫描频率达50次次/秒时,显示将秒时,显示将无无
15、闪烁感。闪烁感。18沈阳航空工业学院段控制端口作用段控制端口作用v控制哪些控制哪些段段点亮,决定具体显示什么数码点亮,决定具体显示什么数码v段控制端口送出七段码到数码管段控制端段控制端口送出七段码到数码管段控制端v此端口为此端口为8个数码管的共用端口个数码管的共用端口段控制:段控制:Di0,相应段相应段点亮点亮D7D6D5D4D3D2D1D0hgfedcba通过位、段控制端口的共同作用才能确通过位、段控制端口的共同作用才能确定定哪个数码管哪个数码管显示显示什么数码什么数码19沈阳航空工业学院位控制端口作用位控制端口作用v位控制端口位控制端口控制点亮哪控制点亮哪位位数码管(其数码管(其 余数码管
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 第六 可编程 接口 芯片 及其 应用
限制150内