您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作范文 > 按键控制数码管和流水灯设计报告实验报告
按键控制数码管和流水灯设计报告实验报告按键控制数码管和流水灯设计报告实验报告摘要单片机自20世纪70年代以来,以其极高的性价比,以及方便小巧受到人们极大的重视和关注。本设计选用msp430f249芯片作为控制芯片,来实现矩阵键盘对LED数码管显示的控制。通过单片机的内部控制实现对硬件电路的设计从而实现对4*4矩阵键盘的检测识别。用单片机的P3口连接4M矩阵键盘,并以单片机的P3.0-P3.3口作键盘输入的列线,以单片机的P3.4-P3.7口作为键盘输入的行线,然后用P0.0-P0.7作输出线,通过上拉电阻在显示器上显示不同的字符“0F”。在硬件电路的基础上加上软件程序的控制来实现本设计。其工作过程为:先判断是否有键按下,如果没有键按下,则继续检测整个程序,如果有键按下,则识别是哪一个键按下,最后通过LED数码管显示该按键所对应的序号。关键字:单片机、流水灯、数码管、控制系统SCMsincethenineteenseventies,withitshighprice,andaconvenientcompactattentionandgreatconcern.Thisdesignusesmsp430f249chipasthecontrolchip,torealizethecontroloftheLEDdigitaltubedisplaymatrixkeyboard.Throughtheinternalcontrolsinglechiptorealizethehardwaredesignofthecircuit,soastorealizethedetectionandrecognitionof4*4matrixkeyboard.4*4matrixkeyboardconnectedwiththeMCUP3port,andtheMCUP3.0P3.3portforakeyboardinput,MCUP3.4P3.7portasthelinesofkeyboardinput,andthenusetheP0.0P0.7astheoutputline,byapull-upresistordisplaydifferentcharacters0Fondisplay.Controlwithsoftwareprogramsbasedonthehardwarecircuittorealizethedesign.Theworkingprocessis:firsttodeterminewhetherakeyispressed,ifnokeyispressed,itwillcontinuetotestthewholeprocedure,ifakeyispressed,theKeywords:SCM,waterlights,digitaltubes,controlsystem键盘控制流水灯和数码管实验报告目录TOC\o1-5\h\z\oCurrentDocument一设计的目的2\oCurrentDocument二任务描述及方案设计3\oCurrentDocument任务描述3方案设计3\oCurrentDocument三硬件设计方案3Msp430f149单片机的功能说明3显示器功能4\oCurrentDocument复位电路4按键的部分4\oCurrentDocument74HC573的特点4\oCurrentDocument流水灯和数码管电路原理图4\oCurrentDocument元器件清单4\oCurrentDocument四程序设计方案5\oCurrentDocument用IAREmbeddedWorkbench软件编程序5\oCurrentDocument仿真电路图6\oCurrentDocument五实物实验7\oCurrentDocument实物图7\oCurrentDocument测试结果与分析7六结论11\oCurrentDocument八参考文献16-、设计目的1、进一步巩固和加深学生所学一门或几门相关专业课理论知识,培养学生设计、计算、绘画、计算机应用、文献查阅、报告撰写等基本技能;2、培养学生实践动手能力及独立分析和解决工程实践问题能力;3、培养学生的团队协作精神、创新意思、严肃认真的治学态度和严谨求实的工作作风二、任务描述及设计方案任务描述闭合按键1时,从P1.0—1.7逐个灯,并且P1.0亮一下,P1.1亮两下,P1.2亮二下,P1.3亮四下,P1.4亮五下,P1.5亮六下,P1.6亮七下,P1.7亮八下;再是P1.0亮一下,P1.0-1.1亮两下,P1.0—1.2亮三下,P1.0-1.3亮三下,P1.0—1.4亮五下,P1.0—1.5亮六下,P1.0—1.6亮七下,P1.0—1.7亮八下。闭合按键2时,先是从P1.0—1.7逐个灯亮,再是P1.0、P1.1—P1.6、P1.7两两灯亮,接着是P1.0、P1.1、P1.2—P1.6、P1.7每三个灯亮,最后是P1.0、P1.1、P1.2、P1.3—P1.4、P1.5、P1.6、P1.7每四个灯亮。闭合按键3时,从P1.0—P1.7逐个的亮,而且在P1.X灯亮过后紧接着前面的灯两两灯亮。7ESG-MPX4-CC数码管按ab、c、d、e、f、g顺序组成“8”字形。2、设计方案实验此功能有两种方案,一种是使用传统的模拟电路,另一种是用单片机控制电路。我们选择单片机控制系统。其中系统工作原理为:我们利用循环移位指令,采用循环程序结构进行编程。我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现了“流水”效果了。以共阳极八段数码管为例,当控制某段发光二极管的信号为低电平时,对应的发光二极管点亮,当需要显示某字符时,就将该字符对应的所有二极管点亮;共阴极二极管则相反,控制信号为高电平时点亮。电平信号按照dp,g,e...a的顺序组合形成的数据字称为该字符对应的段码。7SEG-MPX4-CC是四个共阴二极管显示器,它的1234是阴极公共端。三、硬件设计方案1、单片机功能说明1CPU:MSP430系列单片机的CPU和通用微处理器基本相同,只是在设计上采用了面向控的结构和指令系统。MSP430的内核CPU结构是按照精简指令集和高透明的宗旨而设计的,使用的指令有硬件执行的内核指令和基于现有硬件结构的仿真指令。这样可以提高指令速度和效率,增强了MSP的实时处理能力。2存储器:存储程序、数据以及外围模块的运行控制信息。有程序存储器和数据存储器。对程序存储器访问总是以字形式取得代码,而对数据可以用字或字节方式访问。其中MSP430各系列单片机的程序存储器有ROM、OTP、EPROM和FLASH型。3外围模块:经过MAB、MDB、中断服务及请求线与CPU相连。MSP430不同系列产品所包含外围模块的种类及数目可能不同。它们分别是以下一些外围模块的组合:时钟模块、看门狗、定时器A、定时器B、比较器A、串口0、1、硬件乘法器、液晶驱动器、模数转换、数模转换、端口、基本定时器、DMA控制器等。2、显示器的功能显示器通常也称为监视器。显示器是属于电脑的I/O的设备,即输入输出设备。它可以分为CRT、LCD等多种。它是一种将一定的电文件通过特定的传输设备显示到屏幕上再到反射到人眼的显示工具。3、复位电路电阻给电容充电,电容的电压缓慢上升直到VCC,没到VCC时芯片复位脚近似低电平,于是芯片复位,接近VCC时芯片复位脚近高电平,于是芯片停止复位,复位完成。30k1k复位原理图4、按键部分4.1键盘的结构形式一般有独立式键盘和矩阵式键盘两种。独立式键盘就是各个按键相互独立,每个按键各接一个I/O接口线,而不会影响其他I/O接口线,所以我们在控制流水灯的三种闪法时用的是独立式键盘。矩阵式键盘又叫行列式键盘,在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。4lbb|=1;delay(100);}P3OUT=0X03;delay(100);for(i=1;i=4;i++){P3OUT=2;delay(100);}P3OUT=0X07;delay(100);for(i=1;i=3;i++){P3OUT=3;delay(100);}P3OUT=0X0f;delay(100);P3OUT=~0X0f;;delay(100);}voidfun3(){uinti,j;for(i=0;i8;i++){P3OUT=table1[i];delay(100);P3OUT=0X00;delay(100);for(j=0;ji;j++){P3OUT=table3[j];delay(100);P3OUT=0X00;delay(100);}}}voidmain(void){WDTCTL=WDTPW+WDTHOLD;〃keyval=17;P4DIR|=0Xf0;P1DIR|=0Xff;P10UT|=OXff;P3SEL=0X00;P3DIR|=0XFF;P30UT=~0xff;P2DIR|=0X00;P2IE=0X07;P2IES=0X07;_eint();while(1){delay(100);switch(keyscan()){case0xd7:DPYOUT=seg[0];remain=seg[0];break;case0x77:DPYOUT=seg[13];remain=seg[13];break;case0x7b:DPYOUT=seg[12];remain=seg[12];break;case0x7d:DPYOUT=seg[11];remain=seg[11];break;case0xb7:DPYOUT=seg[15];remain=seg[15];break;case0xbb:DPYOUT=seg[9];remain=seg[9];break;case0xbd:DPYOUT=seg[6];remain=seg[6];break;case0xbe:DPYOUT=seg[3];remain=seg[3];break;case0xdb:DPYOUT=seg[8];remain=seg[8];break;case0xdd:DPYOUT=seg[5];remain=seg[5];break;case0xde:DPYOUT=seg[2];remain=seg[2];break;case0xe7:DPYOUT=seg[14];remain=seg[14];break;case0xeb:DPYOUT=seg[7];remain=seg[7];break;case0xed:DPYOUT=seg[4];remain=seg[4];break;case0xee:DPYOUT=seg[1];remain=seg[1];break;case0x7e:DPYOUT=seg[10];remain=seg[10];break;default:DPYOUT=remain;break;}switch(m){case1:fun1();break;case2:fun2();break;case3:fun3();break;default:break;}}}#pragmavector=PORT2_VEC
本文标题:按键控制数码管和流水灯设计报告实验报告
链接地址:https://www.777doc.com/doc-7763854 .html