单片机输入输出接口及系统扩展设计.ppt
《单片机输入输出接口及系统扩展设计.ppt》由会员分享,可在线阅读,更多相关《单片机输入输出接口及系统扩展设计.ppt(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章第六章第六章 单片机输入输出单片机输入输出单片机输入输出单片机输入输出接口及系统扩展设计接口及系统扩展设计接口及系统扩展设计接口及系统扩展设计预备知识预备知识预备知识预备知识1/24/20231单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程MCS-51MCS-51的的的的I/OI/O接口形式主要分两类:接口形式主要分两类:接口形式主要分两类:接口形式主要分两类:l l通过并行端口(通过并行端口(通过并行端口(通过并行端口(P0P3P0P3)直接完成输入输出)直接完成输入输出)直接完成输入输出)直接完成输入输出单片机并行接口内部结构可
2、参阅第二章单片机并行接口内部结构可参阅第二章单片机并行接口内部结构可参阅第二章单片机并行接口内部结构可参阅第二章单片机通过执行指令单片机通过执行指令单片机通过执行指令单片机通过执行指令MOV MOV A,PxA,Px完成端口输入完成端口输入完成端口输入完成端口输入单片机通过执行指令单片机通过执行指令单片机通过执行指令单片机通过执行指令MOV MOV Px,APx,A完成端口输出完成端口输出完成端口输出完成端口输出l l通过系统总线扩展完成输入输出通过系统总线扩展完成输入输出通过系统总线扩展完成输入输出通过系统总线扩展完成输入输出单片机总线扩展操作时序可参阅第二章单片机总线扩展操作时序可参阅第二
3、章单片机总线扩展操作时序可参阅第二章单片机总线扩展操作时序可参阅第二章单片机通过执行指令单片机通过执行指令单片机通过执行指令单片机通过执行指令MOVX A,DPTRMOVX A,DPTR完成总线输入完成总线输入完成总线输入完成总线输入单片机通过执行指令单片机通过执行指令单片机通过执行指令单片机通过执行指令MOVX DPTR,AMOVX DPTR,A完成总线输出完成总线输出完成总线输出完成总线输出1/24/20232第六章第六章第六章第六章 单片机输入输出单片机输入输出单片机输入输出单片机输入输出接口及系统扩展设计接口及系统扩展设计接口及系统扩展设计接口及系统扩展设计6.1 6.1 键盘及其接口
4、设计键盘及其接口设计键盘及其接口设计键盘及其接口设计1/24/20233单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.1.1 6.1.1 键盘的基本工作原理键盘的基本工作原理键盘的基本工作原理键盘的基本工作原理l l按键一般通过机械触点实现通断按键一般通过机械触点实现通断按键一般通过机械触点实现通断按键一般通过机械触点实现通断l l单片机通过单片机通过单片机通过单片机通过I/OI/O端口输入触点状态判断按键的状态端口输入触点状态判断按键的状态端口输入触点状态判断按键的状态端口输入触点状态判断按键的状态l l按键按下及弹起时会有抖动现象按键按
5、下及弹起时会有抖动现象按键按下及弹起时会有抖动现象按键按下及弹起时会有抖动现象1/24/20234单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.1.1 6.1.1 键盘的基本工作原理键盘的基本工作原理键盘的基本工作原理键盘的基本工作原理l l对抖动现象的处理方法:对抖动现象的处理方法:对抖动现象的处理方法:对抖动现象的处理方法:使用如图所示的消抖电路(成本高,体积大)使用如图所示的消抖电路(成本高,体积大)使用如图所示的消抖电路(成本高,体积大)使用如图所示的消抖电路(成本高,体积大)使用软件消抖(电路简化,软件复杂度提高)使用软件消抖(电
6、路简化,软件复杂度提高)使用软件消抖(电路简化,软件复杂度提高)使用软件消抖(电路简化,软件复杂度提高)使用专用集成电路使用专用集成电路使用专用集成电路使用专用集成电路1/24/20235单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.1.2 独立式键盘接口的设计独立式键盘接口的设计l独立式键盘中每个按键都单独连接到单片机的一独立式键盘中每个按键都单独连接到单片机的一个端口引脚上,由程序分别处理个端口引脚上,由程序分别处理l多个独立式按键组合在一起就构成了独立式键盘多个独立式按键组合在一起就构成了独立式键盘1/24/20236单片机原理与接口
7、技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.1.2 独立式键盘接口的设计独立式键盘接口的设计l也可如下图所示,采用中断的方式响应按键事件也可如下图所示,采用中断的方式响应按键事件1/24/20237单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.1.2 独立式键盘接口的设计独立式键盘接口的设计l两种工作方式的程序设计请参阅教材两种工作方式的程序设计请参阅教材1/24/20238单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.1.3 行列式键盘接口设计行
8、列式键盘接口设计l由横跨行线和列线的开关矩阵组成的键盘由横跨行线和列线的开关矩阵组成的键盘l行列式键盘可有效节约端口引脚的使用行列式键盘可有效节约端口引脚的使用和行线连接的单和行线连接的单片机端口,作为片机端口,作为输出输出和列线连接的单和列线连接的单片机端口,作为片机端口,作为输入输入1/24/20239单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.1.3 行列式键盘接口设计行列式键盘接口设计行列式键盘按键识别原理行列式键盘按键识别原理l当行线作为输出,列线作为输入时:当行线作为输出,列线作为输入时:定时控制某根行线输出低电平,且不断循环
9、;定时控制某根行线输出低电平,且不断循环;读入所有列线,如果结果不为全读入所有列线,如果结果不为全1,则有按键按下;,则有按键按下;找到读入为找到读入为0的列,结合目前输出低电平的行,即可判的列,结合目前输出低电平的行,即可判断出具体的按键位置。断出具体的按键位置。1/24/202310单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.1.3 行列式键盘接口设计行列式键盘接口设计P1.2输出低电平输出低电平如果此时如果此时K12按下,则按下,则接通了接通了P1.2和和P1.7P1.7读到低电平读到低电平因此,判断出因此,判断出是是P1.2和和P
10、1.7交叉点的按键交叉点的按键按下按下1/24/202311单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.1.3 行列式键盘接口设计行列式键盘接口设计按键抖动的问题按键抖动的问题l可采用如下方法解决按键抖动问题:可采用如下方法解决按键抖动问题:(1)方法方法1扫描到按键按下后,等待扫描到按键按下后,等待20ms,再次读入按键状态进,再次读入按键状态进行确认。这种方法很方便,但是等待过程太浪费行确认。这种方法很方便,但是等待过程太浪费CPU时时间。间。(2)方法方法2采用定时间隔扫描和异或法判断按键,将间隔值设置成采用定时间隔扫描和异或法判断
11、按键,将间隔值设置成大于抖动时间的值,例如大于抖动时间的值,例如20ms甚至更大,这样即使某甚至更大,这样即使某次扫描正好处于抖动阶段,也不会对结果产生影响(但次扫描正好处于抖动阶段,也不会对结果产生影响(但会使判断结果延时一次扫描间隔输出)。会使判断结果延时一次扫描间隔输出)。1/24/202312单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.1.3 行列式键盘接口设计行列式键盘接口设计行列式键盘程序设计方法行列式键盘程序设计方法l方法方法1:循环扫描:循环扫描通过行输出通过行输出0,列读入进行,列读入进行按键判断按键判断具体判断按键的行
12、具体判断按键的行/列列处理其他事务处理其他事务等待按键释放后再保存键等待按键释放后再保存键值,可避免重复处理值,可避免重复处理1/24/202313单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.1.3 行列式键盘接口设计行列式键盘接口设计行列式键盘程序设计方法行列式键盘程序设计方法l方法方法2:定时中断扫描:定时中断扫描定时中断服务程序,每隔定时中断服务程序,每隔固定时间间隔执行一次固定时间间隔执行一次扫描到有键按下,但未去扫描到有键按下,但未去抖动,则先去抖动抖动,则先去抖动已去抖动,但未处理按键,已去抖动,但未处理按键,则处理按键则处理
13、按键按键已处理,但未按键已处理,但未释放,则不再处理释放,则不再处理按键一旦释放,则按键一旦释放,则清所有标志,开始清所有标志,开始下一个判断过程下一个判断过程1/24/202314第六章第六章第六章第六章 单片机输入输出单片机输入输出单片机输入输出单片机输入输出接口及系统扩展设计接口及系统扩展设计接口及系统扩展设计接口及系统扩展设计6.2 LED6.2 LED显示器及其接口设计显示器及其接口设计显示器及其接口设计显示器及其接口设计1/24/202315单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.1 数码管显示器的结构和原理数码管显示
14、器的结构和原理1、单个、单个LED的驱动的驱动l通过单片机端口引脚灌电流方式驱动通过单片机端口引脚灌电流方式驱动端口引脚输出低电平,则端口引脚输出低电平,则LED点亮点亮限流电阻,避免流过限流电阻,避免流过LED电流过大电流过大1/24/202316单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.1 数码管显示器的结构和原理数码管显示器的结构和原理1、单个、单个LED的驱动的驱动l通过单片机端口驱动三极管的方式驱动通过单片机端口驱动三极管的方式驱动端口引脚输出低电平,则端口引脚输出低电平,则Q1导通,导通,LED点亮点亮限流电阻,避免流过
15、限流电阻,避免流过LED电流过大电流过大1/24/202317单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.1 数码管显示器的结构和原理数码管显示器的结构和原理1、单个、单个LED的驱动的驱动l通过单片机端口驱动专用集成电路的方式驱动通过单片机端口驱动专用集成电路的方式驱动端口引脚输出高电平,则端口引脚输出高电平,则LED点亮点亮限流电阻,避免流过限流电阻,避免流过LED电流过大电流过大1/24/202318单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.1 数码管显示器的结构和原
16、理数码管显示器的结构和原理2、单个数码管的驱动、单个数码管的驱动l将多个将多个LED封装在一起,即可构成笔划式数码管封装在一起,即可构成笔划式数码管l根据内部电路连接方式,数码管可分为共阳型和根据内部电路连接方式,数码管可分为共阳型和共阴型两种共阴型两种l下图为最常见的下图为最常见的8段数码管的结构:段数码管的结构:1/24/202319单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.1 数码管显示器的结构和原理数码管显示器的结构和原理2、单个数码管的驱动、单个数码管的驱动l单片机驱动数码管中不同的笔划点亮,即可构成单片机驱动数码管中不同
17、的笔划点亮,即可构成不同的字型;不同的字型;l单片机驱动共阳型数码管的典型电路如下:单片机驱动共阳型数码管的典型电路如下:为什么每段一个限流电阻而为什么每段一个限流电阻而不是整个数码管共用一个限不是整个数码管共用一个限流电阻流电阻?1/24/202320单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.1 数码管显示器的结构和原理数码管显示器的结构和原理2、单个数码管的驱动、单个数码管的驱动l构成不同字型的驱动编码称为数码管的字型码构成不同字型的驱动编码称为数码管的字型码l对于共阳型的数码管,单片机端口输出对于共阳型的数码管,单片机端口输出
18、0相应笔划相应笔划点亮,根据点亮,根据0F不同字型数码管点亮的段,以及不同字型数码管点亮的段,以及单片机端口引脚和数码管各段的连接顺序,相应单片机端口引脚和数码管各段的连接顺序,相应的字形码如下页表所示:的字形码如下页表所示:1/24/202321单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.1 数码管显示器的结构和原理数码管显示器的结构和原理字符字符P17P16P15P14P13P12P11P10编码编码abcdefgdp0000000110 x031100111110 x9F2001001010 x253000011010 x0D4
19、100110010 x995010010010 x496010000010 x417000111110 x1F8000000010 x019000010010 x09A000001010 x05b110000010 xC1C111001010 xE5d100001010 x85e011000010 x61F011100010 x711/24/202322单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.2 数码管的静态驱动和动态驱动数码管的静态驱动和动态驱动1、数码管的静态驱动、数码管的静态驱动l所谓静态显示,就是数码管的各笔划段都由具有所
20、谓静态显示,就是数码管的各笔划段都由具有锁存能力的锁存能力的I/O端口引脚驱动,端口引脚驱动,CPU将段码写入锁将段码写入锁存器后,每个数码管都由锁存器的输出信号持续存器后,每个数码管都由锁存器的输出信号持续驱动。直到下一次驱动。直到下一次CPU更新锁存器存储的段码之更新锁存器存储的段码之前,数码管的显示不会改变前,数码管的显示不会改变;l当需要用静态显示的方法驱动多个数码管时,就当需要用静态显示的方法驱动多个数码管时,就需要使用多个具有锁存能力的需要使用多个具有锁存能力的I/O端口,每个端口端口,每个端口驱动一个数码管的显示。驱动一个数码管的显示。1/24/202323单片机原理与接口技术教
21、程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.2 数码管的静态驱动和动态驱动数码管的静态驱动和动态驱动1、数码管的静态驱动、数码管的静态驱动l多个共阳型数码管的静态驱动电路多个共阳型数码管的静态驱动电路单片机端口的总输入电流单片机端口的总输入电流有限制,因此当数码管数有限制,因此当数码管数目较多时,必须通过驱动目较多时,必须通过驱动电路驱动数码管电路驱动数码管1/24/202324单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.2 数码管的静态驱动和动态驱动数码管的静态驱动和动态驱动2、数码管的动态驱动
22、、数码管的动态驱动l所谓动态显示驱动,就是通过软件,间隔固定时所谓动态显示驱动,就是通过软件,间隔固定时间对每一位数码管轮流驱动,使其交替点亮;间对每一位数码管轮流驱动,使其交替点亮;l动态显示驱动利用了人眼的动态显示驱动利用了人眼的“视觉暂留视觉暂留”现象,现象,只要数码管点亮的间隔小于人眼的视觉暂留时间只要数码管点亮的间隔小于人眼的视觉暂留时间(约约40ms),人们就会认为数码管是一直点亮的;,人们就会认为数码管是一直点亮的;l由于每次驱动只点亮一个数码管,因此驱动电路由于每次驱动只点亮一个数码管,因此驱动电路可大大简化可大大简化所有笔划驱动可以同名复接在一起。所有笔划驱动可以同名复接在一
23、起。为了控制数码管轮流点亮,应增加位显示驱动控为了控制数码管轮流点亮,应增加位显示驱动控制线。具体电路如下页图所示:制线。具体电路如下页图所示:1/24/202325单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.2 数码管的静态驱动和动态驱动数码管的静态驱动和动态驱动2、数码管的动态驱动、数码管的动态驱动l多个共阴型数码管动态显示驱动电路多个共阴型数码管动态显示驱动电路所有数码管的所有数码管的A、B、H分别同名复接在一起分别同名复接在一起P3.4P3.7轮流输出高,轮流输出高,分别点亮分别点亮14号数码管。号数码管。每次点亮某个数码管前
24、,每次点亮某个数码管前,应先通过应先通过P1端口输出该位端口输出该位置数码管的字形码置数码管的字形码1/24/202326单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.2 数码管的静态驱动和动态驱动数码管的静态驱动和动态驱动3、数码管动态显示驱动和按键扫描相结合、数码管动态显示驱动和按键扫描相结合l在进行数码管显示驱动时,位驱动线每次只有一在进行数码管显示驱动时,位驱动线每次只有一根输出低电平,每隔固定时间(如根输出低电平,每隔固定时间(如10ms)移位一)移位一次,正好和行列式键盘扫描的逻辑相符;次,正好和行列式键盘扫描的逻辑相符;l
25、将位驱动线复用为行列式键盘中的输出线,另外将位驱动线复用为行列式键盘中的输出线,另外再设置和这些输出线相交叉的输入线,即可构成再设置和这些输出线相交叉的输入线,即可构成一个行列式键盘,电路如下图所示:一个行列式键盘,电路如下图所示:1/24/202327单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程单片机原理与接口技术教程6.2.2 数码管的静态驱动和动态驱动数码管的静态驱动和动态驱动3、数码管动态显示驱动和按键扫描相结合、数码管动态显示驱动和按键扫描相结合驱动数码管显示时,这驱动数码管显示时,这4根根列驱动线轮流变低列驱动线轮流变低只要只要CPU读入读入P3.0P3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 输入输出 接口 系统 扩展 设计
限制150内