单片机原理及应用第9章常用外围设备接口电路课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机原理及应用第9章常用外围设备接口电路课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 常用 外围设备 接口 电路 课件
- 资源描述:
-
1、第第9 9章章 常用外围设备接口电路常用外围设备接口电路本章要点本章要点:LEDLED数码管及编码方式数码管及编码方式静态显示方式及其典型应用电路静态显示方式及其典型应用电路动态显示方式及其典型应用电路动态显示方式及其典型应用电路虚拟虚拟I I2 2C C总线串行显示电路总线串行显示电路键盘去抖动和连接、控制方式键盘去抖动和连接、控制方式独立式按键及其接口电路独立式按键及其接口电路矩阵式键盘及其接口电路矩阵式键盘及其接口电路并行并行A/D ADC0809A/D ADC0809及其接口电路及其接口电路串行串行A/D ADC0832A/D ADC0832及其接口电路及其接口电路I I2 2C C串
2、行串行A/DA/D典型应用电路典型应用电路DAC0832DAC0832及其接口电路及其接口电路I I2 2C C串行串行D/AD/A典型应用电路典型应用电路开关量驱动输出接口电路开关量驱动输出接口电路教 材 张志良主编 单片机原理与控制技术(第2版)机械工业出版社9-1 LED9-1 LED数码管显示接口数码管显示接口一、一、LEDLED数码管数码管LEDLED显示器的扩展显示器的扩展(结构结构)LEDLED数码管的数码管的结构结构:共阳与共阴共阳与共阴 单片机系统扩展单片机系统扩展LEDLED数码管时数码管时多用多用共阳共阳LEDLED:共阳数码管每个段笔画是用低电平共阳数码管每个段笔画是用
3、低电平(“0”)(“0”)点亮的点亮的,要求驱要求驱动功率很小;而共阴数码管段笔画是用高电平动功率很小;而共阴数码管段笔画是用高电平(“0”)(“0”)点亮点亮的,要求驱动功率较大。的,要求驱动功率较大。通常每个段笔画要串一个数百欧姆的通常每个段笔画要串一个数百欧姆的降压电阻降压电阻。公共公共阳阳极极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh h公共公共阴阴极极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高电平点亮高电平点亮低电平点亮低电平点
4、亮接高电平接高电平接地接地LEDLED数码管的软件译码数码管的软件译码八段八段LEDLED数码管数码管段代码编码表段代码编码表(连线不同可有多种表连线不同可有多种表):):公共阳极公共阳极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh h公共阴极公共阴极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高电平点亮高电平点亮低电平点亮低电平点亮接高电平接高电平接地接地字形字形0123456789黑黑共阳共阳0C00F90A40B09992820F8809
5、00FF共阴共阴3F065B4F666D7D077F6F00LEDLED数码管分类:数码管分类:按按其内部结构可分为其内部结构可分为共阴型共阴型和和共阳型共阳型;按按其外形尺寸有多种形式,使用较多的其外形尺寸有多种形式,使用较多的是是0.50.5和和0.80.8;按按显示颜色也有多种形式,主要有显示颜色也有多种形式,主要有红色红色和和绿色绿色;正向压降一般为正向压降一般为1.51.52V2V,额定电流为,额定电流为10mA10mA,最大电流为,最大电流为40mA40mA。静态显示静态显示时取时取10mA10mA为宜,为宜,动态扫描显示动态扫描显示,可加大脉冲电流,但,可加大脉冲电流,但一般不超
6、过一般不超过40mA40mA。按按亮度强弱可分为亮度强弱可分为超亮超亮、高亮高亮和和普亮普亮。二、二、LEDLED数码管编码方式数码管编码方式 表表9-1 9-1 共阴和共阳共阴和共阳LEDLED数码管几种八段编码表数码管几种八段编码表 显示显示数字数字共阴顺序小数点暗共阴顺序小数点暗 共阴逆序小数点暗共阴逆序小数点暗 共阳顺序共阳顺序小数点亮小数点亮 共阳顺序共阳顺序小数点暗小数点暗 DpDp g f e d c b a g f e d c b a 1616进制进制 a b c d e f g Dpa b c d e f g Dp1616进制进制0 00 0 1 1 1 1 1 10 0 1
7、 1 1 1 1 13FH3FH1 1 1 1 1 1 0 01 1 1 1 1 1 0 0FCHFCH40H40HC0HC0H1 10 0 0 0 0 1 1 00 0 0 0 0 1 1 006H06H0 1 1 0 0 0 0 00 1 1 0 0 0 0 060H60H79H79HF9HF9H2 20 1 0 1 1 0 1 10 1 0 1 1 0 1 15BH5BH1 1 0 1 1 0 1 01 1 0 1 1 0 1 0DAHDAH24H24HA4HA4H3 30 1 0 0 1 1 1 10 1 0 0 1 1 1 14FH4FH1 1 1 1 0 0 1 01 1 1 1
8、0 0 1 0F2HF2H30H30HB0HB0H4 40 1 1 0 0 1 1 00 1 1 0 0 1 1 066H66H0 1 1 0 0 1 1 00 1 1 0 0 1 1 066H66H19H19H99H99H5 50 1 1 0 1 1 0 10 1 1 0 1 1 0 16DH6DH1 0 1 1 0 1 1 01 0 1 1 0 1 1 0B6HB6H12H12H92H92H6 60 1 1 1 1 1 0 10 1 1 1 1 1 0 17DH7DH1 0 1 1 1 1 1 01 0 1 1 1 1 1 0BEHBEH02H02H82H82H7 70 0 0 0 0 1
9、 1 10 0 0 0 0 1 1 107H07H1 1 1 0 0 0 0 01 1 1 0 0 0 0 0E0HE0H78H78HF8HF8H8 80 1 1 1 1 1 1 10 1 1 1 1 1 1 17FH7FH1 1 1 1 1 1 1 01 1 1 1 1 1 1 0FEHFEH00H00H80H80H9 90 1 1 0 1 1 1 10 1 1 0 1 1 1 16FH6FH1 1 1 1 0 1 1 01 1 1 1 0 1 1 0F6HF6H10H10H90H90H【例【例9-19-1】已知显示数存在内】已知显示数存在内RAM 30HRAM 30H(高位)、(高位)、3
10、1H31H中,试将其转换为中,试将其转换为5 5位共阴字段码(顺序),位共阴字段码(顺序),存在以存在以30H30H(高位)为首址的内(高位)为首址的内RAMRAM中。中。从显示数中分离出显示的每一位数字从显示数中分离出显示的每一位数字 方法是将显示数除以十进制的权方法是将显示数除以十进制的权显示数显示数转换转换为显示字段码的为显示字段码的步骤步骤:将分离出的显示数字转换为显示字段将分离出的显示数字转换为显示字段码码 方法是查表方法是查表SPRT:MOV R0,#30H SPRT:MOV R0,#30H ;置万位置万位BCDBCD码间址码间址 MOV A,30H MOV A,30H ;置被除数
11、置被除数 MOV B,31H MOV B,31H ;MOV R6,#27H MOV R6,#27H ;置除数置除数10000=2710H10000=2710H MOV R5,#10H MOV R5,#10H ;LCALL SUM LCALL SUM ;除以除以10000,10000,万位商存万位商存30H,30H,余数存余数存A A、B B MOV R6,#03H MOV R6,#03H ;置除数置除数1000=03E8H1000=03E8H MOV R5,#0E8H ;MOV R5,#0E8H ;INC R0 INC R0 ;指向千位商间址指向千位商间址(31H)(31H)LCALL SUM
12、 LCALL SUM ;除以除以1000,1000,千位商存千位商存31H,31H,余数存余数存A A、B B MOV R6,#0 MOV R6,#0 ;置除数置除数100100 MOV R5,#100 MOV R5,#100 ;INC R0 INC R0 ;指向百位商间址指向百位商间址(32H)(32H)LCALL SUM LCALL SUM ;除以除以100,100,百位商存百位商存32H,32H,余数存余数存A(B=0)A(B=0)MOV B,#10 MOV B,#10 ;置除数置除数1010 DIV AB DIV AB ;除以除以1010 INC R0 INC R0 ;指向十位商间址指
13、向十位商间址(33H)(33H)MOV R0,A MOV R0,A ;十位商存十位商存33H33H XCH A,B XCH A,B ;读个位数读个位数 INC R0 INC R0 ;指向个位间址指向个位间址(34H)(34H)MOV R0,A MOV R0,A ;个位存个位存34H34H RET RET ;解:连续调用下列二个子程序即可。解:连续调用下列二个子程序即可。分离显示数字子程序分离显示数字子程序说明说明:SUMSUM是是1616位除以位除以1616位子程序位子程序:(A:(A、B)B)(R6(R6、R5)=R5)=商商R0,R0,余数余数(A(A、B)B)。(参阅例参阅例4-9)4-
14、9)转换显示字段码子程序转换显示字段码子程序CHAG:MOV DPTR,#TAB CHAG:MOV DPTR,#TAB ;置共阴字段码表首址置共阴字段码表首址 MOV R0,#30H MOV R0,#30H ;置显示数据区首址置显示数据区首址CGLP:MOV A,R0 CGLP:MOV A,R0 ;取显示数字取显示数字 MOVC A,A+DPTR MOVC A,A+DPTR ;读相应显示字段码读相应显示字段码 MOV R0,A MOV R0,A ;存显示字段码存显示字段码 INC R0 INC R0 ;指向下一显示数字指向下一显示数字 CJNE R0,#35H,CGLP CJNE R0,#35
15、H,CGLP ;判判5 5个显示数字转换完否个显示数字转换完否?未完继续未完继续 RET RET ;转换完毕转换完毕,结束结束TAB:DB 3FH,06H,5BH,4FH,66H TAB:DB 3FH,06H,5BH,4FH,66H;共阴字段码表共阴字段码表 DB 6DH,7DH,07H,7FH,6FH DB 6DH,7DH,07H,7FH,6FH;三、三、静态显示方式及其典型应用电路静态显示方式及其典型应用电路 动态显示方式动态显示方式,在某一瞬时显示一位,依次循环,在某一瞬时显示一位,依次循环扫描,轮流显示,由于人的视觉滞留效应,人们看扫描,轮流显示,由于人的视觉滞留效应,人们看到的是多位
16、同时稳定显示。到的是多位同时稳定显示。特点特点:占用:占用I/OI/O端线少,电路较简单,编程较复端线少,电路较简单,编程较复杂,杂,CPUCPU要定时扫描刷新显示。一般适用于显示位数要定时扫描刷新显示。一般适用于显示位数较多的场合。较多的场合。LEDLED数码管显示分类:静态显示方式和动态显示方式。数码管显示分类:静态显示方式和动态显示方式。静态显示方式静态显示方式,每一位字段码分别从,每一位字段码分别从I/OI/O控制口输控制口输出,保持不变直至出,保持不变直至CPUCPU刷新。刷新。特点特点:编程较简单,但占用:编程较简单,但占用I/OI/O口线多,一般适用口线多,一般适用于显示位数较少
17、的场合。于显示位数较少的场合。LEDLED显示器的扩展显示器的扩展(显示方式显示方式)LEDLED数码管的数码管的显示方式显示方式:静态与动态静态与动态动态显示特点动态显示特点:有闪烁有闪烁,用,用元器件少元器件少,占占I/OI/O线少线少,必须扫描必须扫描,花费花费CPUCPU时间时间,编程复杂。编程复杂。(有多个有多个LEDLED时尤为突出)时尤为突出)静态显示特点静态显示特点:无闪烁无闪烁,用,用元器件多元器件多,占占I/OI/O线多线多,无须扫描无须扫描,节省节省CPUCPU时间时间,编程简单。编程简单。静态显示静态显示:各数码管在显示过程中各数码管在显示过程中持续持续得到送显信号,与
18、各数码管接口得到送显信号,与各数码管接口的的I/OI/O口线口线是是专用专用的。的。动态显示动态显示:各数码管在显示过程中各数码管在显示过程中轮流轮流得到送显信号,与各数码管接口得到送显信号,与各数码管接口的的I/OI/O口线口线是是共用共用的。的。1 1、并行扩展静态显示电路并行扩展静态显示电路【例【例9-29-2】按图】按图9-39-3编制显示子程序,显示数(编制显示子程序,显示数(255255)存在)存在内内RAM 30HRAM 30H中。中。解:解:DIR1:MOV A,30H DIR1:MOV A,30H ;读显示数读显示数 MOV B,#100 MOV B,#100 ;置除数置除数
19、 DIV AB DIV AB ;产生百位显示数字产生百位显示数字 MOVC A,A+DPTR MOVC A,A+DPTR ;读百位显示符读百位显示符 MOV DPTR,#0DFFFH MOV DPTR,#0DFFFH ;置置74377(74377(百位百位)地址地址 MOVX DPTR,A MOVX DPTR,A ;输出百位显示符输出百位显示符 MOV A,B MOV A,B ;读余数读余数 MOV B,#10 MOV B,#10 ;置除数置除数 DIV AB DIV AB ;产生十位显示数字产生十位显示数字 MOV DPTR,#TAB MOV DPTR,#TAB ;置共阳字段码表首址置共阳字
20、段码表首址 MOVC A,A+DPTR MOVC A,A+DPTR ;读十位显示符读十位显示符 MOV DPTR,#0BFFFH MOV DPTR,#0BFFFH ;置置74377(74377(十位十位)地址地址 MOVX DPTR,A MOVX DPTR,A ;输出十位显示符输出十位显示符 MOV A,B MOV A,B ;读个位显示数字读个位显示数字 MOV DPTR,#TAB MOV DPTR,#TAB ;置共阳字段码表首址置共阳字段码表首址 MOVC A,A+DPTR MOVC A,A+DPTR ;读个位显示符读个位显示符 MOV DPTR,#7FFFH MOV DPTR,#7FFFH
21、 ;置置74377(74377(个位个位)地址地址 MOVX DPTR,A MOVX DPTR,A ;输出个位显示符输出个位显示符 RET RET ;TAB:DB 0C0H,0F9H,0A4H,0B0H,99HTAB:DB 0C0H,0F9H,0A4H,0B0H,99H;共阳字段码表共阳字段码表 DB 92H,82H,0F8H,80H,90H;DB 92H,82H,0F8H,80H,90H;2、串行串行扩展静态显示电路扩展静态显示电路 DIR2:MOV SCON,#00H DIR2:MOV SCON,#00H ;置串口方式置串口方式0 0 CLR ES CLR ES ;串口禁中串口禁中 SET
22、B P1.0 SETB P1.0 ;“;“与与”门开门开,允许允许TXDTXD发移位脉冲发移位脉冲 MOV SBUF,30H MOV SBUF,30H ;串行输出个位显示字段码串行输出个位显示字段码 JNB TI,$JNB TI,$;等待串行发送完毕等待串行发送完毕 CLR TI CLR TI ;清串行中断标志清串行中断标志 MOV SBUF,31H MOV SBUF,31H ;串行输出十位显示字段码串行输出十位显示字段码 JNB TI,$JNB TI,$;等待串行发送完毕等待串行发送完毕 CLR TI CLR TI ;清串行中断标志清串行中断标志 MOV SBUF,32H MOV SBUF,
23、32H ;串行输出百位显示字段码串行输出百位显示字段码 JNB TI,$JNB TI,$;等待串行发送完毕等待串行发送完毕 CLR TI CLR TI ;清串行中断标志清串行中断标志 CLR P1.0 CLR P1.0 ;“;“与与”门关门关,禁止禁止TXDTXD发移位脉冲发移位脉冲 RET RET ;【例例9-39-3】按图】按图9-49-4编制显示子程序,显示字段码已分别存编制显示子程序,显示字段码已分别存在在32H32H30H30H内内RAMRAM中。中。解:解:要求:要求:根据上图编写通过串行口和根据上图编写通过串行口和74LS16474LS164驱动驱动共共 阳阳LEDLED数码管数
24、码管查表显示的子程序。查表显示的子程序。条件:条件:系统有系统有6 6个个LEDLED数码管数码管,待显数据待显数据(00H(00H09H)09H)已放在已放在35H35H30H30H单元中单元中(分别对应分别对应十万位十万位个位个位),DSPLYDSPLY:MOV DPTR,#TABLE:MOV DPTR,#TABLE;共阳共阳LEDLED数码管译码数码管译码表首址表首址 MOV R0MOV R0,#30H#30H ;待显数据缓冲区的待显数据缓冲区的个位个位地址地址REDOREDO:MOV AMOV A,R0 R0 ;通过通过R0R0实现寄存器实现寄存器间接寻址间接寻址 MOVC A,A+D
25、PTR MOVC A,A+DPTR ;查表查表 MOV SBUF,A MOV SBUF,A ;经串行口经串行口发送发送到到74LS16474LS164 JNB TI,$JNB TI,$;查询查询送完一个字节的第送完一个字节的第8 8位?位?CLR TI CLR TI ;为下一字节发送为下一字节发送作准备作准备 INC R0 INC R0 ;R0;R0指向下一个指向下一个数据缓冲单元数据缓冲单元 CJNE R0CJNE R0,#36H#36H,REDO REDO ;判断判断是否发完是否发完6 6个数?个数?RET RET ;发完发完6 6个数就个数就返回返回TABLETABLE:DB 0C0H,
展开阅读全文