单片机基础与应用全套配套课件C语言版王静霞习题答案 习题答案第6章

上传人:f****u 文档编号:122335302 上传时间:2020-03-04 格式:DOC 页数:5 大小:105KB
返回 下载 相关 举报
单片机基础与应用全套配套课件C语言版王静霞习题答案 习题答案第6章_第1页
第1页 / 共5页
单片机基础与应用全套配套课件C语言版王静霞习题答案 习题答案第6章_第2页
第2页 / 共5页
单片机基础与应用全套配套课件C语言版王静霞习题答案 习题答案第6章_第3页
第3页 / 共5页
单片机基础与应用全套配套课件C语言版王静霞习题答案 习题答案第6章_第4页
第4页 / 共5页
单片机基础与应用全套配套课件C语言版王静霞习题答案 习题答案第6章_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《单片机基础与应用全套配套课件C语言版王静霞习题答案 习题答案第6章》由会员分享,可在线阅读,更多相关《单片机基础与应用全套配套课件C语言版王静霞习题答案 习题答案第6章(5页珍藏版)》请在金锄头文库上搜索。

1、第6章 人机交互接口设计参考答案一、单选题A A C B A B C B A D二、简答题1答:数码管显示电路通常有静态显示和动态显示两种方式。LED静态显示时各位数码管相对独立,公共端恒定接地(共阴极)或正电源(共阳极),每个数码管的8个字段分别与一个8位I/O口地址相连,适合于2个及其以下的数码管显示。动态显示时各位数码管的段选线相应并联在一起,由一个8位的I/O口控制,各位的位选线由另外的I/O口控制,加驱动芯片驱动,适合于多位数码管显示。2答:共阳极数码管和共阴极数码管显示同一个字符时,共阳极数码管的字型编码与共阴极数码管的字型编码是按位取反的关系。在静态显示方式中,如果在硬件设计中直

2、接将共阳极数码管换成共阴极数码管不能正常显示,因为共阴极和共阳极数码管com段接的电平不一样,点亮段码所需的电平也不同。应该将共阴极数码管的com端接至GND上,P1口和8个段之间接上非门。在动态显示方式中,硬件可以不做其他修改,直接把共阴极数码管替换共阳极数码管,软件设计时按位取反修改字型编码,同时位选端的控制为低电平有效。3. 答:可采用逐行扫描和逐列扫描的方式。逐行扫描动态显示原理是先显示第1行,其他7行熄灭,延时一段时间,再显示第2行,其他7行熄灭,延时一段时间,依次扫描第3行到第8行,利用人眼的视觉暂留效应,不断循环这个过程,就可以完整看到一个字符。同理,采用逐列扫描动态显示原理是先

3、显示第1列,其他7列熄灭,延时一段时间,再显示第2列,其他7列熄灭,延时一段时间,依次扫描第3列到第8列,利用人眼的视觉暂留效应,不断循环这个过程,就可以完整看到一个字符。4.答:单片机与字符型LCD显示模块的连接方法分为直接访问和间接访问两种。直接访问方式是把字符型液晶显示模块作为存储器或IO接口设备直接连到单片机总线上。采用8位数据传输形式时,数据端DB0DB7直接与单片机的数据线相连,数据和指令选择控制端RS信号和读写控制线信号利用单片机的地址线来控制。使能端E信号则由单片机的和信号与地址线共同控制。间接访问方式是把字符型液晶显示模块作为终端与单片机的并行接口连接,单片机通过对并行接口的

4、操作,编制软件实现LCD读写控制时序,从而通过对并行接口的操作间接实现对字符型液晶显示模块的控制。通常采用单片机的一个8位I/O口与液晶模块的八条数据线相连,另一个I/O口的三个引脚分别与液晶模块的三个控制端RS、R/、E连接实现间接访问。5.答:独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,适合于八键以下使用;矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口,适合于八个键以上使用。三、设计题1答:硬件设计程序设计:/功能:动态数码管显示时钟#include /包含头文件REGX5

5、1.H,定义了51单片机的所有SFRunsigned char msec,sec,min,hour; /定义msec为50ms计数变量,sec为秒变量,min为/分变量,hour为时变量, bit b=0;/暂停/继续标志位,b=0暂停,b=1继续/函数名:delayms/函数功能:实现软件延时/形式参数:无符号整型变量i,控制时间为i*1ms/返回值:无void delayms(unsigned int i)unsigned char k;while(i-)for(k=0;k120;k+); /120次空操作/函数名:T0_INT/函数功能:定时器0中断函数,定时50ms到,自动执行该函数,

6、判断是否中断20次/形式参数:无/返回值:无void T0_INT(void) interrupt 1/定时器0中断类型号为1 TH0=(65536-50000)/256; /50ms定时初值 TL0=(65536-50000)%256; msec+; /中断次数增1 if(msec=20) /中断次数到20次吗? msec=0; /是,1秒计时到,50ms计数单元清零sec+; /秒单元加1if(sec=60) /到60秒吗? sec=0; /是,秒单元清零 min+; /分单元加1if(min=60) /到60分吗? min=0; /是,分单元清零 hour+; /时单元加1 if(hou

7、r=24) /到24时吗? hour=0; /是,时单元清零 /函数名:int_0/函数功能:外部中断0中断函数,用于暂停、继续计数/形式参数:无/返回值:无void int_0() interrupt 0 if(b=0)TR0=0;b=1; else TR0=1;b=0;/函数名:int_1/函数功能:外部中断1中断函数,用于清零/形式参数:无/返回值:无void int_1() interrupt 2 sec=0;msec=0;TH0=(65536-50000)/256; /50ms定时初值 TL0=(65536-50000)%256;TR0=1;void main()/主函数 unsig

8、ned char led=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/定义数字09字型显示码 TMOD=0x01; /定时器0工作方式1 TH0=(65536-50000)/256;/50ms定时初值TL0=(65536-50000)%256;TR0=1;ET0=1; /开T0中断EX0=1; /开外部中断0IT0=1; /下降沿触发中断EX1=1; /开外部中断1IT1=1; /下降沿触发中断EA=1; /开总中断while(1) P2=0xdf;/选中P2.5控制的数码管 P1=ledsec%10; /显示秒个位 delayms(1

9、); /1ms延时 P1=0xff;/关显示P2=0xef;/选中P2.4控制的数码管 P1=ledsec/10; /显示秒十位 delayms(1); /1ms延时 P1=0xff;/关显示 P2=0xf7;/选中P2.3控制的数码管 P1=ledmin%10; /显示分个位 delayms(1); /1ms延时 P1=0xff;/关显示P2=0xfb;/选中P2.2控制的数码管 P1=ledmin/10; /显示分十位 delayms(1); /1ms延时 P1=0xff;/关显示 P2=0xfd;/选中P2.1控制的数码管 P1=ledhour%10; /显示时个位 delayms(1)

10、; /1ms延时 P1=0xff;/关显示P2=0xfe;/选中P2.0控制的数码管 P1=ledhour/10; /显示时十位 delayms(1); /1ms延时 P1=0xff;/关显示 2.答:硬件设计如图6-12所示。程序设计:/功能:LED点阵稳定显示一个字符“开”#include /包含头文件REGX51.H,定义了51单片机的所有SFR/函数名:delayms/函数功能:实现软件延时/形式参数:无符号整型变量i,控制时间为i*1ms/返回值:无void delayms(unsigned int i)unsigned char k;while(i-)for(k=0;k120;k+

11、); /120次空操作void main() unsigned char code led=0xff,0x81,0xdb,0x00,0xdb,0xdb,0xbb,0xfb; /“开”字形码 unsigned char w,i; /定义行变量w,行数变量i while(1) w=0x01; /行变量指向第一行 for(i=0;i8;i+) P1=w; /行数据送P1口 P0=ledi; /列数据送P0口 delayms(1); w=1; /行变量左移指向下一行 P0=0xff; /关显示 3. 硬件设计如图6-19所示。程序设计只需修改ex31.c的main()函数即可。void main() /主函数 unsigned char lcd=Welcome !;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号