第07章思考题及习题解答.doc
《第07章思考题及习题解答.doc》由会员分享,可在线阅读,更多相关《第07章思考题及习题解答.doc(10页珍藏版)》请在咨信网上搜索。
第7章 思考题和习题解答 7.1 试说明LED显示器的工作原理,什么是共阴极?什么是共阳极? 答:当发光二极管导通时,相应的一个点或一个线段发光。控制不同组合的发光二极管导通,就能显示出各种不同的字形。 共阴极LED显示器的8个发光二极管的阴极连接在一起,一般公共端阴极接地,其他管脚接驱动电路输出端,当某二极管的阳极为高电平时,则该发光二极管点亮;共阳极LED显示器的8个发光二极管的阳极连接在一起,一般公共阳极接高电平,其他管脚接驱动电路输出端。当某二极管的阴极为低电平时,则该发光二极管点亮。 7.2 键盘有哪几种类型?为什么要进行“去抖”处理? 答:键盘可以分为独立连接式和行列(矩阵)式两类,每一类又可根据对键盘的译码方法分为编码键盘和非编码键盘两种类型。 机械式按键在按下或释放时,由于触点弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。抖动时间的长短与开关的机械特性有关,一般为5~10ms。CPU在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作。为了克服按键触点机械抖动所致的检测误判,必须采取软件或硬件去抖动措施。 7.3 键盘的“去抖”处理方法有哪几种? 答:硬件去抖和软件去抖两种方法。 7.4 说明静态显示和动态显示的特点? 答:静态显示是指LED显示器显示某一字符时,相应的发光二极管恒定导通或恒定截止。这种显示方式要求各位显示块的公共端恒定接地(共阴极)或接正电源(共阳极)。每个显示块的8个段选线分别与一个8位并行I/O口的8位口线相接,I/O口只要有段码输出,相应字符就被显示出来,并保持不变。直到I/O口输出新的段码。 动态显示是一位一位地轮流点亮各位显示器,这种逐位点亮显示器的方式称为位扫描。这种显示方式要求各位显示器的段选线应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或阳极)由另外的口线控制。该方式显示时,各位显示器轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位显示器,并送出相应的段码,进行适当延时(延时时间约为1~5ms),接着选通另一位显示器,并送出相应的段码,如此循环往复,即可使各位显示器显示相应的字符。只要循环时间足够短,利用人眼的视觉暂留效应,就可以给人同时显示的感觉。 7.5 非编码键盘可分为哪几种键盘?各有什么特点? 答:非编码键盘可分为独立式键盘和行列式键盘。 独立式键盘是每个按键独立地占用一根数据输入线。当某一按键按下时,相应的I/O线变为低电平。独立式键盘的特点是电路结构简单,但每个按键必须占用一根I/O线,当按键数较多时,占用的I/O口线就多,故其通常应用于按键数量较少的场合。 行列式键盘又称矩阵式键盘,它是将I/O线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉处。每当某个按键被按下时,与这个按键相连的行线和列线就会接通,否则是断开状态。因此,一个M×N的行列式非编码键盘只需M条行线和N条列线,共占用M+N条单片机的I/O端口线。 7.6 试说明非编码键盘的工作原理,如何去键抖动?如何判断键是否释放? 答:在非编码键盘中,每个按键的作用只是使相应接点接通或断开,每个按键的键码并非由硬件电路产生,而是通过软件来识别键码。 CPU在按键抖动期间扫描键盘必然会得到错误的行首键号和列值,最好的办法是使CPU在检测到有按键按下时延时一段时间后再进行列扫描。 当CPU检测到按键释放时,执行一个10ms左右的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持断开状态电平,则可判断该按键已释放。 7.7 独立式键盘和矩阵式键盘各有什么特点?各自在什么场合下使用? 答:独立式键盘是每个按键独立地占用一根数据输入线,其特点是电路结构简单,但每个按键必须占用一根I/O线,当按键数较多时,占用的I/O口线就多,故其通常应用于按键数量较少的场合。 行列式非编码键盘是一种把所有按键排列成行列矩阵的键盘。在这种键盘中,每根行线和列线的交叉处都接有一个按键,每当某个按键被按下时,与这个按键相连的行线和列线就会接通,否则是断开状态。因此,一个M×N的行列式非编码键盘只需M条行线和N条列线,共占用M+N条单片机的I/O端口线。 7.8 根据LED的结构原理,请任举一段码分析共阴极接法时的段码组成。 答:共阴极LED显示器的8个发光二极管的阴极连接在一起,一般公共端阴极接地,其它管脚接驱动电路输出端,当某二极管的阳极为高电平时,则该发光二极管点亮。如要显示字形“3”,则相应的发光二极管a、b、c、d、g点亮,e和f熄灭,所以从发光二极管SP、g、f、e、d、c、b、a阳极上所加控制电平为0、1、0、0、1、1、1、1,所以字形“3”的段码为4FH。 7.9 根据LED的结构原理,请任举一段码分析共阳极接法时的段码组成。 答:共阳极LED显示器的8个发光二极管的阳极连接在一起,一般公共阳极接高电平,其它管脚接驱动电路输出端。当某二极管的阴极为低电平时,则该发光二极管点亮。如同样要显示字形“3”,与共阴极一样,相应的发光二级管点亮或熄灭,但控制电平加在阴极上,所以从发光二极管SP、g、f、e、d、c、b、a阳极上所加控制电平为1、0、1、1、0、0、0、0,所以字形“3”的段码为B0H。 7.10 请用AT89C51单片机的P1口设计一个4位独立式键盘电路,并编写相应的键盘程序。 答: ORG 0030H KEYSCAN: MOV P1, #0FFH ;置P1口为输入态 MOV A, P1 ;读入键值 LCALL DELAY10ms ;延时10ms(DELAY10ms略),去抖动 MOV B, P1 ;再读键值 CJNE A, B, GORET ;两次键值不一致,直接返回 JNB ACC.0, KEY0 ;0号键按下,转0号键功能程序 JNB ACC.1, KEY1 ;1号键按下,转1号键功能程序 JNB ACC.2, KEY2 ;2号键按下,转2号键功能程序 JNB ACC.3, KEY3 ;3号键按下,转3号键功能程序 GORET: RET ;从键盘服务子程序返回 KEY0: LCALL FUNC0 ;执行0号键功能服务程序 RET ;从键盘服务子程序返回 KEY1: LCALL FUNC1 ;执行1号键功能服务程序 RET ;从键盘服务子程序返回 KEY2: LCALL FUNC2 ;执行2号键功能服务程序 RET ;从键盘服务子程序返回 KEY3: LCALL FUNC3 ;执行3号键功能服务程序 RET ;从键盘服务子程序返回 7.11 请用AT89C51单片机的P1口设计一个3×3的键盘电路,并编写相应的键盘程序。 答: ORG 0030H KEYSCAN: ACALL KSCAN ;查有没有键按下 JZ GORET ;A=0表示没有键按下,返回 LCALL DELAY10ms ;有键按下,延时10ms(DELAY10ms略)。 ACALL KSCAN ;再查有没有键按下 JZ GORET ;A=0表示没有键按下,返回 ACALL KEYSUM ;有键按下,扫描确定键值 RL A RL A ;键值×4 ;主要考虑FTAB 以下指令LCALL(3字节)和RET(1字节)的总字节数为4 MOV DPTR, #FTAB JMP @A+DPTR ;散转,执行所按键相应功能子程序 GORET: RET FTAB: LCALL FUNC0 ;调用0号键功能子程序 RET LCALL FUNC1 ;调用1键功能子程序 RET …… LCALL FUNC8 ;调用8键功能子程序 RET LCALL ERRSUB ;键值为9,异常处理 RET ;KSCAN为判断有无键按下子程序,表示有键按下 KSCAN: MOV P1, #0F8H ;行线置低电平,列线置输入态 MOV A, P1 ;读列线数据 CPL A ;A取反 ANL A, #0F8H ;屏蔽行线 RET ;返回,表示有键按下 ;KEYSUM为求键值子程序,键值在A中 KEYSUM: MOV R6, #00H ;R6存放每行最左键的键值,初始清零 MOV R7, #0FEH ;准备扫描第0行 LOOP: MOV P1,R7 ;逐行输出0扫描 MOV A, P1 ;读列线数据 JB ACC.3, L1 ;第0列无键按下,转查第1列 MOV A, #0 ;第0列有键按下, SJMP KSOLVE ;转求键值 L1: JB ACC.4, L2 ;第1列无键按下,转查第2列 MOV A, #1 ;第1列有键按下, SJMP KSOLVE ;转求键值 L2: JB ACC.5, NEXT ;4列均无键按下,本行扫描结束 MOV A, #2 ;第3列有键按下, SJMP KSOLVE ;转求键值 NEXT: MOV A, R7 ;准备扫描下一行 JNB ACC.2,ERR ;扫描完未读到键值,异常处理 RL A ;R7循环左移一位 MOV R7,A ;得到下一行行扫描字 ADD R6, #3 ;得到下一行首键键值 SJMP LOOP ;转LOOP,扫描下一行 ERR: MOV A, #9 ;键值赋9,表示出错! RET KSOLVE: ADD A,R6 ;得键值 PUSH ACC ;键值进栈暂存 WAIT: ACALL KSCAN ;查按键释放否?防止重复执行键功能 JNZ WAIT ;没有释放,等待 POP ACC ;键值出栈 RET 7.12 请用AT89C51单片机的P1口设计一个4×4的键盘电路,并编写相应的键盘程序。 答: KEYSCAN: ACALL KSCAN ;查有没有键按下 JZ GORET ;A=0表示没有键按下,返回 LCALL DELAY10ms ;有键按下,延时10ms,防抖动。 ;(延时10ms的子程序DELAY10ms略) ACALL KSCAN ;再查有没有键按下 JZ GORET ;A=0表示没有键按下,返回 ACALL KEYSUM ;有键按下,扫描确定键值 RL A RL A ;键值×4 ;主要考虑FTAB 以下指令LCALL(3字节)和RET(1字节)的总字节数为4 MOV DPTR, #FTAB JMP @A+DPTR ;散转,执行所按键相应功能子程序 GORET: RET FTAB: LCALL FUNC0 ;调用0号键功能子程序 RET LCALL FUNC1 ;调用1键功能子程序 RET . . . . . . LCALL FUNC15 ;调用15键功能子程序 RET LCALL ERRSUB ;键值为16,异常处理 RET ;KSCAN为判断有无键按下子程序, 表示有键按下 KSCAN: MOV P1, #0F0H ;行线置低电平,列线置输入态 MOV A, P1 ;读列线数据 CPL A ;A取反 ANL A, #0F0H ;屏蔽行线 RET ;返回,表示有键按下 ;KEYSUM为求键值子程序,键值在A中 KEYSUM: MOV R6, #00H ;R6存放每行最左键的键值,初始清零 MOV R7, #0FEH ;准备扫描第0行 LOOP: MOV P1,R7 ;逐行输出0扫描 MOV A, P1 ;读列线数据 SWAP A ;A的高低半字节交换 JB ACC.0, L1 ;第0列无键按下,转查第1列 MOV A, #0 ;第0列有键按下, SJMP KSOLVE ;转求键值 L1: JB ACC.1, L2 ;第1列无键按下,转查第2列 MOV A, #1 ;第1列有键按下, SJMP KSOLVE ;转求键值 L2: JB ACC.2, L3 ;第2列无键按下,转查第3列 MOV A, #2 ;第2列有键按下, SJMP KSOLVE ;转求键值 L3: JB ACC.3, NEXT ;4列均无键按下,本行扫描结束 MOV A, #3 ;第3列有键按下, SJMP KSOLVE ;转求键值 NEXT: MOV A, R7 ;准备扫描下一行 JNB ACC.3,ERR ;扫描完未读到键值,异常处理 RL A ;R7循环左移一位 MOV R7,A ;得到下一行行扫描字 ADD R6, #4 ;得到下一行首键键值 SJMP LOOP ;转LOOP,扫描下一行 ERR: MOV A, #16 ;键值赋16,表示出错! RET KSOLVE: ADD A,R6 ;得键值 PUSH ACC ;键值进栈暂存 WAIT: ACALL KSCAN ;查按键释放否?防止重复执行键功能 JNZ WAIT ;没有释放,等待 POP ACC ;键值出栈 RET 7.13 试设计有32个键盘的接口电路,并编写键盘的处理程序。 答: ORG 0030H KEYSCAN: ACALL KSCAN ;查有没有键按下 JZ GORET ;A=0表示没有键按下,返回 LCALL DELAY10ms ;有键按下,延时10ms,防抖动。 ;(延时10ms的子程序DELAY10ms略) ACALL KSCAN ;再查有没有键按下 JZ GORET ;A=0表示没有键按下,返回 ACALL KEYSUM ;有键按下,扫描确定键值 RL A RL A ;键值×4 ;主要考虑FTAB 以下指令LCALL(3字节)和RET(1字节)的总字节数为4 MOV DPTR, #FTAB JMP @A+DPTR ;散转,执行所按键相应功能子程序 GORET: RET FTAB: LCALL FUNC0 ;调用0号键功能子程序 RET LCALL FUNC1 ;调用1键功能子程序 RET …… LCALL FUNC31 ;调用31键功能子程序 RET LCALL ERRSUB ;键值为32,异常处理 RET ; KSCAN为判断有无键按下子程序,表示有键按下 KSCAN: MOV P1, #00H ;行线置低电平, MOV P2, #0F0H ;列线置输入态 MOV A, P2 ;读列线数据 CPL A ;A取反 ANL A, #0FH ;屏蔽高四位 RET ;返回,表示有键按下 ; KEYSUM为求键值子程序,键值在A中 KEYSUM: MOV R6, #00H ;R6存放每行最左键的键值,初始清零 MOV R7, #0FEH ;准备扫描第0行 LOOP: MOV P1,R7 ;逐行输出0扫描 MOV A, P2 ;读列线数据 JB ACC.0, L1 ;第0列无键按下,转查第1列 MOV A, #0 ;第0列有键按下, SJMP KSOLVE ;转求键值 L1: JB ACC.1, L2 ;第1列无键按下,转查第2列 MOV A, #1 ;第1列有键按下, SJMP KSOLVE ;转求键值 L2: JB ACC.2, L3 ;第2列无键按下,转查第3列 MOV A, #2 ;第2列有键按下, SJMP KSOLVE ;转求键值 L3: JB ACC.3, NEXT ;4列均无键按下,本行扫描结束 MOV A, #3 ;第3列有键按下, SJMP KSOLVE ;转求键值 NEXT: MOV A, R7 ;准备扫描下一行 JNB ACC.7,ERR ;扫描完未读到键值,异常处理 RL A ;R7循环左移一位 MOV R7,A ;得到下一行行扫描字 ADD R6, #4 ;得到下一行首键键值 SJMP LOOP ;转LOOP,扫描下一行 ERR: MOV A, #32 ;键值赋32,表示出错! RET KSOLVE: ADD A,R6 ;得键值 PUSH ACC ;键值进栈暂存 WAIT: ACALL KSCAN ;查按键释放否?防止重复执行键功能 JNZ WAIT ;没有释放,等待 POP ACC ;键值出栈 RET 7.14 用8051单片机的P1口作8个按键的独立式键盘接口,试画出其中断扫描方式的接口电路,编写相应的键盘处理程序。 答: ORG 0000H LJMP START ORG 0003H ;外部中断0入口地址 LJMP KEYSCAN ORG 0030H START: SETB IT0 ;置INT0边缘触发 SETB EX0 SETB EA ;开中断 SJMP $ ORG 0100H KEYSCAN: MOV P1, #0FFH ;置P1口为输入态 MOV A, P1 ;读入键值 LCALL DELAY10ms ;延时10ms(DELAY10ms略),去抖动 MOV B, P1 ;再读键值 CJNE A, B, GORET ;两次键值不一致,直接返回 JNB ACC.0, KEY0 ;0号键按下,转0号键功能程序 JNB ACC.1, KEY1 ;1号键按下,转1号键功能程序 JNB ACC.2, KEY2 ;2号键按下,转2号键功能程序 JNB ACC.3, KEY3 ;3号键按下,转3号键功能程序 JNB ACC.4, KEY4 ;4号键按下,转4号键功能程序 JNB ACC.5, KEY5 ;5号键按下,转5号键功能程序 JNB ACC.6, KEY6 ;6号键按下,转6号键功能程序 JNB ACC.7, KEY7 ;7号键按下,转7号键功能程序 GORET: RETI ;从键盘服务子程序返回 KEY0: LCALL FUNC0 ;执行0号键功能服务程序 RETI ;从键盘服务子程序返回 KEY1: LCALL FUNC1 ;执行1号键功能服务程序 RETI ;从键盘服务子程序返回 KEY2: LCALL FUNC2 ;执行2号键功能服务程序 RETI ;从键盘服务子程序返回 KEY3: LCALL FUNC3 ;执行3号键功能服务程序 RETI ;从键盘服务子程序返回 KEY4: LCALL FUNC4 ;执行4号键功能服务程序 RETI ;从键盘服务子程序返回 KEY5: LCALL FUNC5 ;执行5号键功能服务程序 RETI ;从键盘服务子程序返回 KEY6: LCALL FUNC6 ;执行6号键功能服务程序 RETI ;从键盘服务子程序返回 KEY7: LCALL FUNC7 ;执行7号键功能服务程序 RET I ;从键盘服务子程序返回 END 7.15 请画出一个单片机与键盘、显示器的接口电路,并编出相应的程序。 答:单片机与键盘、显示器的接口电路见教材“图7-10”所示。相应程序见教材“例7-5” 所示。 7-10- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 07 思考题 习题 解答
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【仙人****88】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【仙人****88】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【仙人****88】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【仙人****88】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文