按键控制数码管和流水灯设计报告实验报告.docx

上传人:夺命阿水 文档编号:979487 上传时间:2024-02-20 格式:DOCX 页数:16 大小:328.65KB
返回 下载 相关 举报
按键控制数码管和流水灯设计报告实验报告.docx_第1页
第1页 / 共16页
按键控制数码管和流水灯设计报告实验报告.docx_第2页
第2页 / 共16页
按键控制数码管和流水灯设计报告实验报告.docx_第3页
第3页 / 共16页
按键控制数码管和流水灯设计报告实验报告.docx_第4页
第4页 / 共16页
按键控制数码管和流水灯设计报告实验报告.docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《按键控制数码管和流水灯设计报告实验报告.docx》由会员分享,可在线阅读,更多相关《按键控制数码管和流水灯设计报告实验报告.docx(16页珍藏版)》请在课桌文档上搜索。

1、摘要单片机自20世纪70年代以来,以其极高的性价比,以及方便小巧受到人们极大的重视和关注。本设计选用msp430f249芯片作为控制芯片,来实现矩阵键盘对LED数码管显示的控制。通过单片机的内部控制实现对硬件电路的设计,从而实现对4*4矩阵键盘的检测识别。用单片机的P3口连接4x4矩阵键盘,并以单片机的P30P33口作键盘输入的列线,以单片机的P3.4P3.7口作为键盘输入的行线,然后用P0.0-P0.7作输出线,通过上拉电阻在显示器上显示不同的字符“0-F”。在硬件电路的根底上加上软件程序的控制来实现本设计。其工作过程为:先判断是否有键按下,如果没有键按下,那么继续检测整个程序,如果有键按下

2、,那么识别是哪一个键按下,最后通过LED数码管显示该按键所对应的序号。关键字:单片机、流水灯、数码管、控制系统SCMsincethenineteenseventies,withitshighprice,andaconvenientcompactattentionandgreatconcern.Thisdesignusesmsp430f249chipasthecontrolchip,torealizethecontroloftheLEDdigitaltubedisplaymatrixkeyboard.Throughtheinternalcontrolsinglechiptorealizetheh

3、ardwaredesignofthecircuit,soastorealizethedetectionandrecognitionof4*4matrixkeyboard.4*4matrixkeyboardconnectedwiththeMCUP3port,andtheMCUP3.0P3.3portforakeyboardinput,MCUP3.4P3.7portasthelinesofkeyboardinput,andthenusetheP0.0P0.7astheoutputline,byapull-upresistordisplaydifferentcharacters,0Fondispla

4、y.Controlwithsoftwareprogramsbasedonthehardwarecircuittorealizethedesign.Theworkingprocessis:firsttodeterminewhetherakeyispressed,ifnokeyispressed,itwillcontinuetotestthewholeprocedure,ifakeyispressed,theKeywords:SCM,waterlights,digitaltubes,controlsystem键盘控制流水灯和数码管实验报告目录一设计的目的2二任务描述及方案设计31 .任务描述32

5、.方案设计3三硬件设计方案31 .Msp430fl49单片机的功能说明32 .显示器功能43 .复位电路44 .按键的局部45 .74HC573的特点46 .流水灯和数码管电路原理图47 .元器件清单4四程序设计方案51 .用IAREmbeddedWorkbench软件编程序52 .仿真电路图6五实物实验71 .实物图72 .测试结果与分析7六结论11八参考文献16-、设计目的1、进一步稳固和加深学生所学一门或几门相关专业课理论知识,培养学生设计、计算、绘画、计算机应用、文献查阅、报告撰写等根本技能;2、培养学生实践动手能力及独立分析和解决工程实践问题能力;3、培养学生的团队协作精神、创新意思

6、、严肃认真的治学态度和严谨求实的工作作风。二、任务描述及设计方案1.任务描述闭合按键1时,从PLo-L7逐个灯,并且PLO亮一下,PLl亮两下,PL2亮三下,P1.3亮四下,PL4亮五下,P1.5亮六下,PL6亮七下,PL7亮八下;再是PLO亮一下,P1.0Ll亮两下,P1.01.2亮三下,P1.0-1.3亮三下,P1.0-L4亮五下,P1.0-1.5亮六下,P1.0L6亮七下,P1.0L7亮八下。闭合按键2时,先是从PLO-L7逐个灯亮,再是PLO、PL1PL6、PL7两两灯亮,接着是PLO、PLKPl.2P1.6P1.7每三个灯亮,最后是PLO、Pl.lPL2、PL3PL4、PL5、PL6

7、、PL7每四个灯亮。闭合按键3时,从PL0PL7逐个的亮,而且在PLX灯亮过后紧接着前面的灯两两灯亮。7ESGMPX4CC数码管按a、b、c、d、e、f、g顺序组成“8”字形。2、设计方案实验此功能有两种方案,一种是使用传统的模拟电路,另一种是用单片机控制电路。我们选择单片机控制系统。其中系统工作原理为:我们利用循环移位指令,采用循环程序结构进行编程。我们在程序一开始就给Pl口送一个数,这个数本身就让PLo先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至Pl口,这样就实现了“流水”效果了。以共阳极八段数码管为例,当控制某段发光二极管的信号为低电平时,对应的发光二极管点亮

8、,当需要显示某字符时,就将该字符对应的所有二极管点亮;共阴极二极管那么相反,控制信号为高电平时点亮。电平信号按照dp,g,e.a的顺序组合形成的数据字称为该字符对应的段码。7SEG-MPX4-CC是四个共阴二极管显示器,它的1234是阴极公共端。三、硬件设计方案1、单片机功能说明1CPU:MSP430系列单片机的CPU和通用微处理器根本相同,只是在设计上采用了面向控的结构和指令系统。MSP430的内核CPU结构是按照精简指令集和高透明的宗旨而设计的,使用的指令有硬件执行的内核指令和基于现有硬件结构的仿真指令。这样可以提高指令速度和效率,增强了MSP的实时处理能力。2存储器:存储程序、数据以及外

9、围模块的运行控制信息。有程序存储器和数据存储器。对程序存储器访问总是以字形式取得代码,而对数据可以用字或字节方式访问。其中MSP430各系列单片机的程序存储器有ROM、OTP、EPROM和FLASH型。3外围模块:经过MAB、MDB、中断效劳及请求线与CPU相连。MSP430不同系列产品所包含外围模块的种类及数目可能不同。它们分别是以下一些外围模块的组合:时钟模块、看门狗、定时器A、定时器B、比拟器A、串口0、1、硬件乘法器、液晶驱动器、模数转换、数模转换、端口、根本定时器、DMA控制器等。2、显示器的功能显示器通常也称为监视器。显示器是属于电脑的I/O的设备,即输入输出设备。它可以分为CRT

10、、LCD等多种。它是一种将一定的电文件通过特定的传输设备显示到屏幕上再到反射到人眼的显示工具。3、复位电路电阻给电容充电,电容的电压缓慢上升直到VCC,没到VCC时芯片复位脚近似低电平,于是芯片复位,接近VCC时芯片复位脚近高电平,于是芯片停止复位,复位完成。D30k复位原理图4、按键局部4.1键盘的结构形式一般有独立式键盘和矩阵式键盘两种。独立式键盘就是各个按键相互独立,每个按键各接一个I/O接口线,而不会影响其他UO接口线,所以我们在控制流水灯的三种闪法时用的是独立式键盘。矩阵式键盘又叫行列式键盘,在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每

11、条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比方再多加一条线就可以构成20键的键盘,而直接用端口线那么只能多出一键(9键)。由此可见,在需要的键数比拟多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O作为输出端,而列线所接的I/O口那么作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,那么输入线就会被拉低,这样

12、,通过读入输入线的状态就可得知是否有键按下了。4键盘的检测,首先要解决的问题是键盘抖动现象。消抖的方法有两种,软件消抖和硬件消抖。由于硬件消抖结构比软件复杂,所以本设计采用的是软件消抖的方法,既在程序中参加5毫秒的延时,延时后再次返回P3的值二次判断是否有键盘按下。5、74HC573的特性74HC573的八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不是影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可与直接与系统总线接口并驱动总线,而不

13、需要外接口。74HC573引脚图功能表:输入输出输出使能锁存使能DQLHHHLIlLLLLX不变IlXXZX=不用关心Z二高阻抗QAHnC.C数码管引脚图6、流水灯和数码管电路原理图如果要让接在PLO口的LEDl亮起来,那么只要把PLO口的电平变为低电平就可以了;如果要接在PLO口的LEDl熄灭,就要把PLo口的电平变为高电平;同理,接在PLlP1.7口的其他7个LED的点亮和熄灭的方法同LEDlo要实现流水灯功能,我们只要将发光二极管LEDl-LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们应该注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制

14、二极管亮灭的时候应该延时一段时间,否那么我们就看不到“流水”效果了。7SEG-MPX4-CC数码管就是阴极为数码管的公共端,按照发光管二极管的原理,当阳极接电源正极,阴极接电源负极,发光二极管点亮。换句话说,共阴极的数码管,当a,b,c,d,e,f,g脚分别接到电源的正极,而CoM脚接的电源负极,此时相当于7个发光二极管同时点亮,并且显示数字“8所以某些类型的数码管称为7端数码管别漏了“dp%是小数点共阳极的取反就是了6.1流水灯和数码管电路原理图6.2独立按键控制流水灯局部6.3单片机复位局部7、元器件清单元器件型号数目单片机MSP430(2491电阻1005发光二极管LED-BIBY8开关

15、BUTTON18数码管7SEG-MPX4-CC1电容CAP1芯片74HC5731四、程序设计方案1、用IAREmbeddedWorkbench软件编程序#include# defineROWP4OUT/矩阵键盘的行宏定义# defineCOLP4IN矩阵键盘的列宏定义# defineDPYOUTPlOUT数码管输出口宏定义# defineucharunsignedchar# defineuintunsignedintucharkeyval;ucharm=0;ucharremain=Oxff;uchartable11J=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x8

16、0);uchartable2J=0x01,0x03,0x07,0x0f,0xlf,0x3f,0x7f,0xff);uchartable3=0x03,0x06,OxOc,0x18,0x30,0x60,0xc0;ucharsegJ=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;voiddelay(uintn)uintij;for(i=0;in;i+)forG=0;j225;j+);)ucharkeyscan()(inti=0;ucharkey=O;ROW=OxOf;if(COL&OxO

17、f)!=OxOf)(doi+;whiIe(i3000);ROW=Ox7f;if(COL&OxOf)=OxOf)ROW=Oxbf;if(COL&OxOf)=OxOf)ROW=Oxdf;if(COL&OxOf)=OxOf)ROW=Oxef;if(COL&OxOf)=OxOf)key=17;elsekey=(ROW&OxfD)|(COL&OxOD);elsekey=(ROW&OxfD)|(COL&OxOf);)elsekey=(ROW&Oxro)|(COL&OxOf);)elsekey=(ROW&OxH)|(COL&OxOf);)returnkey;)voidfun1()(uintij;for(i=

18、0;i8;i+)for(j=0;j=i;j+)(P3OUT=tableli;delay(50);P3OUT=0X00;delay(50);)for(i=();i8;i+)for(j=();j=i;j+)P3OUT=table2i;delay(50);P3OUT=0X00;delay(50);)voidfun2()uinti;P3OUT=0X01;delay(l()0);for(i=l;i8;i+)P3OUT=1;delay(l()0);)P3OUT=0X03;delay(100);for(i=l;i=4;i+)P3OUT=2;delay(100);P3OUT=0X07;delay(100);f

19、or(i=l;i=3;i+)P30UT=3;delay(100);P3OUT=0X0f;delay(100);P3OUT=0X0f;delay(l00);voidfun3()(uintij;for(i=0;i8;i+)(P3OUT=tableli;delay(l00);P3OUT=0X00;delay(l00);for(j=0;ji;j+)(P3OUT=table3j;delay(1()0);P3OUT=0X00;delay(100);voidmain(void)(WDTCTL=WDTPW+WDTHOLD;/Zkeyval=17;P4DIR=0Xf0;PlDIRI=OXff;PlOUTI=OX

20、fT;P3SEL=0X00;P3DIR=0XFF;P3OUT&=-0xff;P2DIR=0X00;P2IE=0X07;P2IES=0X07;_EINT();while(l)delay(100);switch(keyscan()(case0xd7:DPYOUT=seg0;remain=seg0;break;caseOx77:DPYOUT=seg13;remain=seg13;break;case0x7b:DPYOUT=seg12;remain=segl2;break;case0x7d:DPYOUT=segll;remain=segll;break;case0xb7:DPYOUT=seg15;re

21、main=segl5;break;caseOxbbzDPYOUT=seg9;remain=seg9;break;caseOxbd:DPYOUT=seg6;remain=seg6;break;caseOxbe:DPYOUT=seg3;remain=seg3;break;caseOxdb:DPYOUT=seg8;remain=seg8;break;caseOxdd:DPYOUT=seg5;remain=seg5;break;caseOxde:DPYOUT=seg2;remain=seg2;break;case0xe7:DPYOUT=segl4;remain=segl4;break;caseOxeb

22、:DPYOUT=seg7;remain=seg7;break;case0xed:DPYOUT=seg4;remain=seg4;break;case0xee:DPYOUT=segl;remain=segl;break;case0x7e:DPYOUT=segl0;remain=segl0;break;default:DPYOUT=remain;break;)switch(m)(case 1: funl();break;case 2: fun2();break;case 3: fun3();break;default:break;)#pragmavector=PORT2.VECTOR_interr

23、uptvoidPORT2(void)(P2IFG=0x00;if(P2IN!=0X07)(switch(P2IN&0X07)(case0X06:m=l;break;case0X05:m=2;break;case0X03:m=3;break;default:m=O;break;2.仿真电路图闭合按键1时的仿真图按键3时的仿真图数码管仿真图五、实物实验1、实物图2.测试结果与分析经过用软件做硬件仿真后,将程序烧进MSP430单片机后,通过独立式键盘控制流水灯的三种“流”法,按下某一个键时,流水灯就会实现编程所设计的“流”法,而矩阵键盘那么是通过特定的按键控制数码管显示程序控制的字符,从09,a,b

24、,c,d,e,f字符的显示,复位按键那么是是单片机复位。六、心得体会通过这段时间课程设计实验设计大大培养了我们的动手能力和同学间的相互合作精神。从一开始看到这个题目就在想怎样才能设计出一个正确的原理图,这个很重要,也是所有工作的根底,如果要完成原理图设计工作,这就要求我们有足够的理论知识储藏,这个功夫就在平时了;原理图的设计是理论和实践的交叉点,原理图设计好之后,我们可以利用仿真软件进行仿真,这样便可以我们设计的准确性,积累了经验并且掌握了软件的根本使用方法和一些快捷的用途。当电路板做好之后,就是焊接器件了,需要相互共同合作,这次试验增强了我们的解决问题能力和团队合作能力。七、参考文献1康华光。模拟电子技术根底高等教育出版社,20052康华光。数字电子技术根底高等教育出版社,2005【3】秦龙。MSP430单片机常用模块与综合系统实例精讲,2007

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号