单片机技术及工程实践第5章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机技术及工程实践第5章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 技术 工程 实践 课件
- 资源描述:
-
1、第第5 5章章 外围接口技术外围接口技术5.1 5.1 键盘接口键盘接口键盘的机械弹性开关在闭合或断开时如图所示键盘的机械弹性开关在闭合或断开时如图所示有持续有持续 5 510ms 10ms 的的抖动抖动才能稳定才能稳定(即闭合即闭合-断开断开交替变化交替变化).).必须消除按键抖动产生的影响必须消除按键抖动产生的影响,以以免造成重复识别免造成重复识别.11.1.消除按键抖动的硬件方法消除按键抖动的硬件方法 RSRS触发器去抖动电路触发器去抖动电路:按键按键S S位于位于A A处未按下处未按下时时,与非门与非门1 1输出为输出为1 1;键按下时在键按下时在B B处接触又处接触又弹开弹开,只要不
2、回到只要不回到A A点点,双稳态触发器状态不双稳态触发器状态不会改变会改变,输出波形保持为输出波形保持为0 0不会出现抖动不会出现抖动.22.2.消除按键抖动的软件方法消除按键抖动的软件方法 软件方法简单有效软件方法简单有效.一旦检测到按键一旦检测到按键闭合闭合或或释释放放后后,执行执行101020ms20ms 的延时子程序的延时子程序,待待抖动抖动结结束后再执行相应的按键处理程序束后再执行相应的按键处理程序.5.1.1 5.1.1 独立式键盘接口独立式键盘接口 每键占用一每键占用一条口线条口线,低低电电平接入有效平接入有效.P0P0口要加上口要加上拉电阻拉电阻,按键按键不多场合用不多场合用.
3、35.1.2 5.1.2 拨码盘接口拨码盘接口拨码盘属于静态开关拨码盘属于静态开关,适合作一次性预置输入适合作一次性预置输入.1.BCD1.BCD码拨码盘码拨码盘*10 10线拨码盘线拨码盘A A端接地端接地,但但0 09 9端占用端占用I/OI/O口线多口线多.*BCD BCD码拨码盘输入是码拨码盘输入是0 09,9,A A为输入控制线为输入控制线,输输 出是出是4 4条条84218421制制BCDBCD码码,与与A A接通代表十进制数接通代表十进制数.4右图右图3 3片拨码盘组成片拨码盘组成3 3位十进制拨码盘组位十进制拨码盘组(可按可按所需位数扩拼所需位数扩拼),),每盘有每盘有0 09
4、 9共共1010个挡位个挡位,与输与输入的十进制数字对应入的十进制数字对应,5 5个接点位于拨盘后方个接点位于拨盘后方.52.2.单片机与单片单片机与单片BCDBCD码拨盘的接口码拨盘的接口 *4 4位位I/OI/O口与口与BCDBCD码盘连接码盘连接,有正有正/负逻辑之分负逻辑之分.*A A端接端接高高电平电平,4,4位输出端经下拉电阻接地位输出端经下拉电阻接地,与与 A A接通的端口变高电平接通的端口变高电平,输出输出原码原码(正逻辑正逻辑).).*A A端接端接地地,4,4位输出端经上拉电阻接高电平位输出端经上拉电阻接高电平,与与 A A接通的端口变低电平接通的端口变低电平,输出输出反码
5、反码(负逻辑负逻辑).).63.3.单片机与多片单片机与多片BCDBCD码拨盘的接口码拨盘的接口 用分时复用方式读用分时复用方式读BCDBCD码数据以节省码数据以节省I/OI/O口线口线.电路电路(一一)7*各片码盘中码位相同的输出端各片码盘中码位相同的输出端 (例如例如8)8)分别分别 接同一个接同一个与非门与非门(例如例如1)1)的输入端的输入端.*与非门输入端与非门输入端数目数目 (或由门电路芯片的逻辑或由门电路芯片的逻辑 组合来提供组合来提供)应等于码盘应等于码盘片数片数.*P1.0 P1.0P1.3 P1.3 口所接收到的信号分别对应于口所接收到的信号分别对应于 单片拨码盘的单片拨码
6、盘的84218421码位码位.*P1.4P1.4P1.7P1.7口分别控制各片口分别控制各片BCDBCD码拨码盘的码拨码盘的 A A端端(低电平有效低电平有效).).*图中拨码盘预置数的输出为图中拨码盘预置数的输出为BCDBCD反码反码,再反相再反相.(1 1)多片)多片BCDBCD码拨码盘的接口电路码拨码盘的接口电路(一一)8(2 2)多片)多片BCDBCD码拨码盘的接口电路码拨码盘的接口电路(二二)码盘的码盘的A1A1和和A2A2端连接端连接,A3A3和和A4A4端连接端连接,由由P3.0P3.0口口直接直接或或反相反相控制控制,可轮流可轮流选通选通两组拨码盘两组拨码盘.9*P3.0P3.
7、00 0时时,A1,A1和和A2A2端选通端选通(低电平低电平),),P1.0 P1.0P1.3P1.3口读入口读入A1A1盘的盘的4 4位位BCDBCD码码(属反码属反码),),P1.4 P1.4P1.7P1.7口读入口读入A2A2盘的盘的4 4位位BCDBCD码码(属反码属反码).).*P3.0P3.01 1时时,A3,A3和和A4A4端选通端选通(低电平低电平),),P1.0 P1.0P1.3P1.3口读入口读入A3A3盘的盘的4 4位位BCDBCD码码(属反码属反码),),P1.4 P1.4P1.7P1.7口读入口读入A4A4盘的盘的4 4位位BCDBCD码码(属反码属反码).).两个
8、电路的差异两个电路的差异 :电路电路(一一)用用8 8条条I/OI/O口线口线,2,2片片(双双4 4输入与非门输入与非门)和和1616个电阻个电阻.电路电路(一一)用用8 8条条I/OI/O口线口线,P3.0,P3.0口线口线,一个反相器一个反相器,16 16个二极管和个二极管和8 8个电阻个电阻.105.1.3 5.1.3 矩阵键盘扫描法矩阵键盘扫描法I/OI/O口组成键盘行线和列线口组成键盘行线和列线,适于按键较多场合适于按键较多场合.3 3行行4 4列为例列为例,列线经上拉列线经上拉电阻接电阻接+5V.+5V.键编号自定键编号自定.按键按下时按键按下时对应行线和对应行线和列线被列线被短
9、接短接.11扫描法识别按键流程:扫描法识别按键流程:1.1.查询有否键被按下查询有否键被按下(含去抖含去抖)全部行线送出全部行线送出0,0,读列线电平读列线电平.若有键按下若有键按下,读得的列线电读得的列线电 平必不全为平必不全为1.1.加入加入101020ms20ms延时去抖延时去抖,重新重新 判断判断,不全为不全为1 1确认有键按下确认有键按下.2.2.判断哪个键被按下判断哪个键被按下 P1.0P1.0P1.2P1.2口逐行送出口逐行送出0,0,读读 列线若全为列线若全为1,1,则键不在此行则键不在此行.若不全为若不全为1,1,按下的键必位于按下的键必位于 行线行线/列线为列线为0 0电平
10、电平的交点处的交点处.123.3.给按键赋值给按键赋值 (两种方式两种方式)(1)(1)直接赋值直接赋值:把行线和列线按二进制的组合赋值把行线和列线按二进制的组合赋值,组组 成的键值离散性大成的键值离散性大,采用穷举法逐个键值进行比较采用穷举法逐个键值进行比较.例如例如:“S8S8”和和“S9S9”的二进制组合键值分别如下的二进制组合键值分别如下.(2)(2)顺序赋值顺序赋值:按按“行线首键号列线编号行线首键号列线编号”的规则赋值的规则赋值,赋值结果与键号一致,便于散转指令的运用赋值结果与键号一致,便于散转指令的运用.行线首键号:行线首键号:8(P1.0),4(P1.1),0(P1.2)8(P
11、1.0),4(P1.1),0(P1.2)列线的编号:列线的编号:0(P1.3),1(P1.4),2(P1.5),3(P1.6)0(P1.3),1(P1.4),2(P1.5),3(P1.6)134.4.查询是否按键已释放查询是否按键已释放 (含延时去抖含延时去抖)赋予赋予“S8S8”键号的键值为键号的键值为:8 80 08 8;赋予赋予“S9S9”键号的键值为键号的键值为:8 81 19 9。提取键值后提取键值后,行线送出行线送出全全0 0(低电平低电平),),读入列线电平读入列线电平.若列线若列线全为全为1 1(高电平高电平),),表示按键已表示按键已释放释放,此时也需此时也需要加入要加入10
12、1020ms20ms延时去抖延时去抖,重新查询以确认按键已重新查询以确认按键已释放释放稳定稳定.否则继续否则继续查询查询直至按键释放稳定为止直至按键释放稳定为止.上述上述4 4个判断步骤个判断步骤,可组成完整的键盘扫描子程序供可组成完整的键盘扫描子程序供调用调用.如果按键数目较多如果按键数目较多,尤其对位于最后一行和最尤其对位于最后一行和最后一列的按键后一列的按键,需从头到尾多次数扫描才取得结果需从头到尾多次数扫描才取得结果.总结:总结:145.1.4 5.1.4 矩阵键盘反极法矩阵键盘反极法 (线反转法线反转法)不管按键所在行和列不管按键所在行和列,对键盘两次操作对键盘两次操作,就能获就能获
13、取键值取键值.图中连接的图中连接的P1P1口内部已有上拉电阻口内部已有上拉电阻.151.1.步骤步骤1 1a)a)图按键未按下图按键未按下,初始态时初始态时行线行线为为全全0 0而列线而列线为为全全1 1.读取列线的电平读取列线的电平,出现出现0 0的列属有键被的列属有键被按下按下.加入加入101020ms20ms延时去抖延时去抖,再读再读P1P1口判断口判断按键稳定按键稳定.例例:按下键按下键9 9,读读P1P1口为口为1110 10001110 1000.2.2.步骤步骤2 2b)b)图与步骤图与步骤1 1相反相反,列线列线送出送出全全0 0,读入行线电读入行线电平平,出现出现0 0的行线
14、属有键被按下的行线属有键被按下.加入延时去加入延时去抖抖101020ms20ms,再读再读P1P1口判断按键稳定口判断按键稳定.例:按例:按下键下键9 9,读读P1P1口为口为1000 01101000 0110.163.3.读数读数“或或”运算运算对步骤对步骤1 1和和2 2所得二进制数所得二进制数“或或”运算运算,得到键得到键值值.查键值功能表查键值功能表,执行相应操作执行相应操作.4.4.反极法的编程举例反极法的编程举例 (步骤步骤1 1和和2)2)KEY:MOV P1KEY:MOV P1,#0F8H#0F8H ;行线送出全行线送出全0 0 MOV A MOV A,P1 P1 ;读入列线
15、值读入列线值 ANL AANL A,#0F8H#0F8H ;比较原状态比较原状态17 CJNE A CJNE A,#0F8H#0F8H,KK1 KK1 ;判有否键按下判有否键按下 AJMP KEYAJMP KEYKK1:LCALL DLY KK1:LCALL DLY ;延时子程去抖延时子程去抖 MOV P1MOV P1,#0F8H#0F8H ;行线再送出全行线再送出全0 0 MOV A MOV A,P1 P1 ;再读入列线值再读入列线值 ANL AANL A,#0F8H#0F8H ;比较原状态比较原状态 CJNE ACJNE A,#0F8H#0F8H,KK2 KK2;键按下已稳定键按下已稳定
16、AJMP KEYAJMP KEYKK2:MOV R3KK2:MOV R3,A A ;记下行列口线值记下行列口线值 185.1.5 5.1.5 矩阵键盘位操作法矩阵键盘位操作法 (释放剩余口线释放剩余口线)3 34 4矩阵键盘扫描法和反极法都是按矩阵键盘扫描法和反极法都是按字节字节操作操作I/OI/O口口,P1,P1剩余剩余1 1条口线不能用条口线不能用,但缺但缺1 1条口线条口线可可能要另外采用芯片扩展能要另外采用芯片扩展I/OI/O口口,位操作法能位操作法能释放释放剩余的口线剩余的口线,充分利用有限的充分利用有限的I/OI/O口线口线.1.1.位操作法采用的位指令位操作法采用的位指令 (三条
17、三条)CLR bitCLR bit(位清零位清零),),SETB bit SETB bit(位置位置1),1),JNB bitJNB bit(位比较跳转位比较跳转)2.2.位操作法的基本步骤位操作法的基本步骤 仍遵循扫描法仍遵循扫描法4 4个步骤个步骤,用位指令代字节指令用位指令代字节指令.19具体操作方法具体操作方法:1)1)先把行输出线先把行输出线逐位清为逐位清为0 0.列输列输入线逐位电平入线逐位电平比比较较,有键按下的有键按下的列线变为列线变为低低电平电平,延时去抖延时去抖,重新重新检查以确认稳定检查以确认稳定.2)2)把行线把行线逐条逐条置置0(0(其余行线置其余行线置1),1),用
18、位比较指用位比较指令令逐列逐列扫描扫描,以确定被按下键的所在列以确定被按下键的所在列.(图图5-13)5-13)203)3)赋予键值赋予键值.4)4)把行输出线逐位清为把行输出线逐位清为0 0.列输入线逐位电平列输入线逐位电平比较比较,若列线全部变为若列线全部变为高电平高电平,则按键已则按键已释放释放,也需加入延时去抖也需加入延时去抖,重新检查以确认稳定重新检查以确认稳定.注注:全过程对全过程对P1.7P1.7无影响无影响,可独立用作可独立用作灯灯驱动驱动.3.3.矩阵键盘位操作法的编程举例矩阵键盘位操作法的编程举例 (书书P.115)P.115)图图5-135-13中中1212个键号个键号
19、“0 09 9,A A,B B”对应的键值对应的键值依次为:依次为:73H,6BH,5BH,3BH,75H,6DH73H,6BH,5BH,3BH,75H,6DH,5DH,3DH,76H,6EH,5EH,3EH5DH,3DH,76H,6EH,5EH,3EH.215.1.6 5.1.6 矩阵键盘接口的工作方式矩阵键盘接口的工作方式1.1.键盘查询方式键盘查询方式 把键盘扫描作为子程序调用把键盘扫描作为子程序调用,查询期间查询期间CPUCPU不不能执行其他操作能执行其他操作,且等待输入会占用且等待输入会占用CPUCPU时间时间.2.2.键盘中断方式键盘中断方式 在有键被按下时在有键被按下时,才向才向
20、CPUCPU申请中断申请中断,转向执行转向执行键盘扫描和键功能处理程序键盘扫描和键功能处理程序,但需增加按键的但需增加按键的中断触发电路中断触发电路(有如下两种接口方式有如下两种接口方式)a)a)与门触发中断的矩阵键盘接口与门触发中断的矩阵键盘接口 列线作与门的输入列线作与门的输入,与门输出作中断触发信号与门输出作中断触发信号.22*键盘初始化键盘初始化:行线全置行线全置0 0,列线全置列线全置1 1.*只要键按下只要键按下,行列线变行列线变0 0,与门输出与门输出低低,触发外中断触发外中断.*中断服务程序中调用中断服务程序中调用键盘扫描键盘扫描程序程序,执行任务执行任务.*中断返回前需中断返
21、回前需恢复恢复行线行线/列线的列线的初始初始状态状态(注注:与单片机复位时口线全为高电平与单片机复位时口线全为高电平不同不同)23b)b)公共触点触发中断的矩阵键盘接口公共触点触发中断的矩阵键盘接口 *用具第公共用具第公共 触点的键盘触点的键盘,键按下时键按下时三三 个个触点接通触点接通.*公共端接反公共端接反 相器输入端相器输入端,反相反相输出触输出触 发外部中断发外部中断.*初始化行列线初始化行列线置置1 1,无键按下时公共触点被无键按下时公共触点被R R拉拉 为为低低电平电平;键按下时键按下时R R接接高高电平电平,反相反相触发触发中断中断.24*中断服务程序中先中断服务程序中先关闭关闭
22、中断中断,调用调用键盘扫描键盘扫描 程序程序,执行任务执行任务.*中断返回前中断返回前,把行线列线把行线列线恢复恢复为初始的为初始的高高电电 平平(这与单片机复位状态这与单片机复位状态一致一致),),并开启中断并开启中断.总结:总结:这两种中断方式的键盘接口这两种中断方式的键盘接口,都能与第都能与第1 1章所章所述述CMOSCMOS型单片机的型单片机的待机待机(Idle)(Idle)功能相结合功能相结合,通通过键按下以触发中断过键按下以触发中断,唤醒唤醒待机状态待机状态.键盘的行键盘的行/列线数目可根据实际需要进行增减列线数目可根据实际需要进行增减,以满足不同按键数目的要求以满足不同按键数目的
23、要求.255.2 LED5.2 LED显示器接口显示器接口5.2.1 LED5.2.1 LED显示器结构显示器结构 (又称又称LEDLED数码管数码管)由由8 8个发光二极管构成个发光二极管构成7 7个字符段和个字符段和1 1个小数点个小数点.(1)(1)共阴极型共阴极型LEDLED显示器结构及外形显示器结构及外形 26(2)(2)共阳极型共阳极型LEDLED显示器结构及外形显示器结构及外形 注注:LEDLED管压降约管压降约1.2V,1.2V,限流限流10mA.10mA.段段(字型控字型控 制制)端需串入限流电阻端需串入限流电阻,外形顺钟向段号外形顺钟向段号 为为a ag,g,小数点小数点d
24、pdp在右下角在右下角.275.2.2 LED5.2.2 LED静态显示方式静态显示方式1.1.静态显示方式原理静态显示方式原理一位一位LEDLED独立显示一个数位独立显示一个数位,内容由锁存器内容由锁存器锁存锁存.字段字段控制由七段锁存控制由七段锁存/译码译码/驱动器担任驱动器担任,字位字位控制实现控制实现LEDLED的的通断通断.单片机提供字段字位信号单片机提供字段字位信号.2.2.静态显示方式的特点静态显示方式的特点*改变显示内容时单片机才送出新数据改变显示内容时单片机才送出新数据,CPU,CPU 工作量较少工作量较少,易控制易控制,亮度高亮度高,显示稳定显示稳定.*各数码管须配七段锁存
25、译码芯片各数码管须配七段锁存译码芯片,硬件增硬件增 加加,功耗相应增大功耗相应增大,且所需的且所需的I/OI/O口线较多口线较多.283.3.常用常用BCDBCD码硬件译码芯片码硬件译码芯片 (1)CD4511:(1)CD4511:常用常用BCDBCD码七段码七段锁存锁存/译码译码/驱动驱动器芯片器芯片,灯测试灯测试端端LTLT和熄灭端和熄灭端BIBI接高电平接高电平.*锁存端锁存端LELE0 0,译码输出字形码译码输出字形码a ag;g;LELE1 1,输入的输入的BCDBCD码被锁存码被锁存 (真值表真值表P.120P.120)*合法合法BCDBCD码码0 09 9.输入非法码输入非法码A
展开阅读全文