单片机应用项目式教程-基于Keil和Proteus 第2版 习题答案 第5章 思考和练习解答_第1页
单片机应用项目式教程-基于Keil和Proteus 第2版 习题答案 第5章 思考和练习解答_第2页
单片机应用项目式教程-基于Keil和Proteus 第2版 习题答案 第5章 思考和练习解答_第3页
单片机应用项目式教程-基于Keil和Proteus 第2版 习题答案 第5章 思考和练习解答_第4页
单片机应用项目式教程-基于Keil和Proteus 第2版 习题答案 第5章 思考和练习解答_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章思考和练习解答5.1简述LED数码管的结构和分类。LED正向压降、额定电流和最大电流各是多少?答:参阅教材书P.143。5.2什么叫静态显示方式和动态显示方式?各有什么特点?答:参阅教材书P.144~145。5.3动态扫描显示电路如何连线?对数码管的驱动电流有什么要求?答:参阅教材书P.144~145。5.4LCD1602能显示多少字符?能显示汉字吗?答:LCD1602液晶显示屏能显示2行共32个字符。1602不能显示汉字(12864可显示汉字)。并且只能显示其内部已经固化了的160个5×7点阵字符和32个5×10点阵字符(参阅教材书图5-22点阵字符表)。其中,标点符号、阿拉伯数字和英文大小写字母等字符为ASCII码。若需显示自定义字符,有64字节RAM,可自定义8个5×8点阵字符或4个5×11点阵字符。5.5按键开关为什么有去抖动问题?如何消除?答:参阅教材书P.148~149。5.6试述矩阵式键盘判别键闭合的方法,有什麽问题?答:矩阵式键盘的I/O端线分为行线和列线,按键跨接在行线和列线上。按键按下时,行线与列线发生短路。根据这一特点,可按下列步骤操作:=1\*GB3①置列线为输入态,从行线输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合;=2\*GB3②置行线为输入态,从列线输出低电平,读入行线数据,若某一行线为低电平,则该行线上有键闭合;=3\*GB3③综合=1\*GB3①、=2\*GB3②两步的结果,可确定按键编号。矩阵式键盘电路在许多单片机教材和技术资料中被介绍,但实际上该电路连接存在问题,当同一行有多键同时按下,且该行其中一键所在列又有多键同时按下时,会发生信号传递路径出错。因此,这种矩阵式键盘电路适用于无锁按键并使用中断处理时相对合理。5.7什么叫BCD码?与二进制数有何区别?答:BCD码(BinaryCodedDecimalCode)也称为二-十进制数,属十进制数,即逢十进位。但每一数位采用二进制码对十进制数字编码,这种编码方式的特点是保留了十进制的权,数字则用二进制码表示。BCD码既适应了人们逢十进位的习惯,又适应了计算机对输入输出数据的要求。BCD码与二进制数都用二进制码表示,但是有区别的。BCD码是以4位二进制码表示一位十进制数,每4位以内按二进制进位;4位与4位之间按十进制进位。例如:二进制码01100111B=103,[01100111]BCD=67。显然两者是不一样的。5.8什么是ASCII码?答:参阅教材书P.151。5.9将项目6模拟交通灯的绿灯加上限行显示时间,P2口驱动横向绿灯限行时间,P3口驱动纵向绿灯限行时间,电路如图5-27所示。原换灯时间分别改为:绿灯9秒(最后2秒快闪),黄灯3秒,红灯12秒,反复循环。试编制程序,画出ProteusISIS虚拟电路,并仿真调试。解:可仿照任务6.1程序,加入显示语句,显示字段码直接从P2、P3口输出。5.10已知CC4094串行扩展3位静态显示电路如图5-28所示,3位显示字段码已分别存在32H~30H内RAM中(设为809),小数点固定在第二位,试编制程序,画出ProteusISIS虚拟电路,并仿真调试。解:C51编程如下:KeilC51软件调试:编译连接并进入调试状态后,打开串行口对话框,单步结合过程单步运行,可观察到串行口对话框中SBUF寄存器依次被输入908(先发送低位)转换后的共阳显示字段码:09、03、01。改变变量a或32H~30H中的数值(注意≤999),重新运行,转换结果随之改变。5.11已知由PNP型三极管与74377组成的共阳型3位LED数码管动态扫描显示电路如图5-29所示,显示字段码存在以40H(低位)为首址的3字节内RAM中,试编制3位动态扫描显示程序,画出ProteusISIS虚拟电路,并仿真调试。解:按图5-29电路,P1.0~P1.2分别输出低电平时,VT0~VT2分别导通,选通相应显示位。P0口输出的字段码也是低电平有效。输出高电平与输出低电平时的驱动能力不一样,输出高电平时,拉电流较小;输出低电平时,灌电流较大,因此,通常采用低电平有效输出控制。C51编程如下:5.12已知4位共阴型LED动态显示电路如图5-30所示,显示字段码存在以30H为首址的内RAM中,试编制循环扫描显示程序,画出ProteusISIS虚拟电路,并仿真调试。解:C51编程如下:5.13已知8位共阴型LED动态显示电路如图5-31所示,位码驱动由74LS138译码,段码驱动由74LS377并行输出,8位显示数字存在数组a中,试编制循环扫描显示程序,画出ProteusISIS虚拟电路,并仿真调试。解:C51编程如下:5.14已知8位共阴型LED动态显示电路如图5-32所示,位码驱动由74LS138译码,段码驱动由74LS164“串入并出”,8位显示数字存在数组d中,试编制循环扫描显示程序,画出ProteusISIS虚拟电路,并仿真调试。解:要求循环扫描显示数组d[8]={2,0,1,3,9,8,7,6}中的8位显示数字。C51编程如下:需要说明的是,由于80C51串行传送时低位在前高位在后,与164移位次序相反。因此,字段码数组采用逆序(a是高位)。这样,164Q0输出端(引脚编号3)就可接显示屏a端。KeilC51编译调试=1\*GB2⑴编译链接,语法纠错,并进入调试状态。=2\*GB2⑵打开变量观测窗口(鼠标左键单击调试工具图标“”),观测到数组d[]被存放在D:0x08单元(注意不同程序存储单元也不同)。=3\*GB2⑶打开存储器窗口(鼠标左键单击调试工具图标“”),在Memory#1窗口的Address编辑框内键入“d:0x08”。=4\*GB2⑷打开P1对话窗口(主菜单“Peripherals”→“I/O-Port”→“Port1”)。其中,上面一行(标记“Px”)为I/O口输出变量,下面一行(标记“Pins”)为模拟I/O口引脚输入信号。“√”为“1”,“空白”为“0”,左键点击可修改。=5\*GB2⑸打开串行口对话窗口(主菜单“Peripherals”→“Serial”),弹出串行口对话窗口,以便观察串行缓冲寄存器SBUF中的数据。=6\*GB2⑹单步运行,显示数组d赋值后,看到存储器窗口0x08及其后续7个单元已依次赋值数组d中的显示数字。=7\*GB2⑺继续单步运行,至输出位码“P1=0xf8+i;”语句行后,P1对话窗口输出数值变为“11111000”(“√”为“1”,“空白”为“0”),表明P1.2~P1.0输出“000”,138将译码驱动第0位显示。=8\*GB2⑻继续单步运行,至串行发送段码“SBUF=c[d[i]];”语句行后,串行对话窗口SBUF中数据变为“0xDA”,表明串行发送共阴逆序“2”的字段编码“0xDA”。=9\*GB2⑼继续单步运行(串行发送过程需单步8次),执行延时语句“for(t=0;t<1000;t++);”后,回到输出位码“P1=0xf8+i;”语句行后,看到变量观察窗口Locals页中的循环序数i变为“1”,执行后,P1对话窗口输出数值变为“11111001”(“√”为“1”,“空白”为“0”),表明P1.2~P1.0输出“001”,138将译码驱动第1位显示。继续单步,运行串行发送段码“SBUF=c[d[i]];”语句后,串行对话窗口SBUF中数据变为“0xFC”,表明串行发送共阴逆序“0”的字段编码“0xFC”。以此类推,循环输出数组d[]中的显示数字。=10\*GB2⑽改变程序中数组d[]的显示数字,重新运行,转换结果随之相应改变。=3\*GB1⒊ProteusISIS虚拟仿真=1\*GB2⑴画出Proteus虚拟仿真电路图如图5-32a所示。其中,80C51在MicroprocessorIcs库中。74LS138、74LS164在TTL74LSseries库中;8位显示屏在Optoelectronics→7-SegmentDisplays库中,选共阴型8位7段LED数码管7SEG-MPX8-CC-BLUE。=2\*GB2⑵鼠标左键双击图5-32a所示电路中AT89C51,装入在KeilC51编译调试时自动生成的Hex文件。全速运行后,虚拟电路中数码管显示屏会显示赋值显示数。图5-32aProteus虚拟仿真138位码图5-32aProteus虚拟仿真138位码选通+164段码串行传送的8位LED动态显示电路(运行中)5.15已知LCD1602显示电路如图5-15所示,要求显示屏上第一行显示“AT89C51--LCD1602”,第二行显示“Test--Program---”,试编制显示程序。解:C51程序如下:5.16已知电路如图5-33所示,10kΩ×8和0.1µF×8为RC滤波消抖电路,fOSC=6MHz,要求T1每隔100m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论