- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及应用 北京化工大学 信息科学与技术学院 主讲教师:林伟国 E-mail: linwg@mail.buct.edu,cn 单片机典型外围接口技术 1)每个键独立地接入一根数据输入线。 2) 平时所有的数据输入线都连接成高电平; 3) 当任何一个按键压下时,与之相连的数据输入线被拉成低电平。 4) 要判断是否有键按下,只要位处理指令即可。独立连接式键盘优缺点: 结构简单、使用方便,但随着键数的增多,所占用的IO口线也增加适用场合: 在使用键数不多的单片机系统中,适合使用独立式键盘 矩阵式键盘:组成一个矩阵式键盘输入电路,其必不可少的部分有:1)键盘开关矩阵2)输出(行线)锁存器3)输入(列线)缓冲器 2、矩阵式键盘的工作过程 1)CPU先使行线O0线为低,其余行线为高,即0行为“0”状态,其余行均为“1”状态; 2)CPU读入输入缓冲器的状态,以确定哪条列线为“0”状态。若I0为“0”状态,则键“0”压下;若I1为“0”状态,则键“1”压下; I2为“0”状态,则键“2”压下; (3)若输入缓冲器的状态全部为“1”状态,则CPU继续使行线0为低,其余行线为高。再读入输入缓冲器的状态,以确定哪条列线为“0”状态,从而判断是哪个键按下。 (4)当判断出哪个键压下之后,程序转入相应的键处理程序。 这样的工作过程称为键扫描,其框图如下: 键扫描方式: 程控扫描方式:CPU的控制一旦进入监控程序,将反复不断地扫描键盘,等待输入命令和数据。 定时扫描方式:在初始化程序中对定时器/计数器进行编程,使之产生10ms的定时中断,CPU响应定时中断,执行中断服务程序,对键盘扫描一遍,检查键盘的状态,实现对键盘的定时扫描。当两遍扫描键位上都有键按下,CPU才作键处理。 中断扫描方式:当键位上有键压下时,产生中断请求,CPU响应中断,执行中断服务程序,判断键位上压下的键的键号,作相应处理。 7.1.2键盘的接口电路 1.直接使用I/O的键盘电路 由于80C51的I/O口具有输出锁存和输入缓冲的功能,因而用它们组成键盘电路时,可以省掉输出锁存器和输入缓冲器。 图中为一个4×4的键位与80C51的接口电路。键位的列线(输入线)连到P1口的低4位,行线(输出线)连到P1口的高4位,而4根列线通过“与”门相连后,连接到INT0端。 初始状态时,P1.7-P1.4全部为0(输出为0)。没有键按下时,INT0为高电平;当键位上有任一键压下时,INT0端变为低,向CPU发出中断请求。若CPU开放外部中断0,则响应中断,执行中断服务程序扫描键盘。 在行输出电路中,每行都串联一个二极管,是为了防止多键按下时,使输出口短路。 2.利用I/O口和译码器的接口 利用译码器74HC138,通过P1.0、P1.1和P1.3三根口线获得8根行线,从而节省了I/O口线。 3.利用串行口的键盘电路 利用80C51的串行口工作方式0下时,将74HC164的输出作为行线,P1.0为列线的8×8键盘。 7.2显示电路 7.2.1 LED显示器的工作原理: 1.发光二极管的控制 发光二极管一般为砷化镓半导体二极管,电路如图所示: 图中,Ri为限流电阻,阻值为100Ω-300Ω之间。 发光的条件:U2=UTTL低;U1=UTTL高 不发光条件:U1=UTTL低或U2=UTTL高 2.显示块的控制 显示块有若干发光二极管组合而成。一般的“8”字形显示块由“a,b,c,d,e,f,g,h”8个发光二极管组成,如图所示 每个发光二极管称为一个字段。“8”字形显示块有共阳极和共阴极两种结构形式。以共阴极显示块为例,说明对显示块的控制方法: 假定8段数码管的控制方法如图所示,其中D0-D7分别接a-h;对于共阳极发光二极管,应该是共阴极的显示码的反。 7.2.2显示电路的分类与接口 显示电路分为静态显示和动态显示两类 静态显示电路 ① 通过80C51的P0口的显示接口, 由一个8位锁存口和一个显示块组成,如图所示为共阳极显示块, 显示时将数据通过P0口送出,但这种电路需用电源的容量大。 图中,74HC247为译码电路,它将输入的4根数据线译为8根输出线,输出为BCD码0-9。74HC247的驱动能力很强,每根输出线的灌电流可达20mA,驱动共阳极显示块是没有问题的。 ③利用串行总线控制的显示接口 见图7-10,利用芯片SAA1064控制显示块,SAA1064是具有I2C总线、从接收器的4位代小数点的七段显示驱动芯片,通过多路开关对两个2位显示器进行切换显示,通过I2C总线接收数据。 动态显示电路 对于动态显示电路一般是利用CPU控制电路来控制显示块的导通和截止。显示电路由下列三部分组成
文档评论(0)