收藏 分销(赏)

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

上传人:精*** 文档编号:3033355 上传时间:2024-06-13 格式:DOC 页数:21 大小:526.04KB
下载 相关 举报
按键控制数码管和流水灯设计优质报告实验报告.doc_第1页
第1页 / 共21页
按键控制数码管和流水灯设计优质报告实验报告.doc_第2页
第2页 / 共21页
按键控制数码管和流水灯设计优质报告实验报告.doc_第3页
第3页 / 共21页
按键控制数码管和流水灯设计优质报告实验报告.doc_第4页
第4页 / 共21页
按键控制数码管和流水灯设计优质报告实验报告.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

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

2、过LED数码管显示该按键所对应序号。关键字:单片机、流水灯、数码管、控制系统 SCM since the nineteen seventies, with its high price, and a convenient compact attention and great concern. Thisdesign uses msp430f249 chip as the control chip, to realize the control of the LED digital tube display matrix keyboard. Through the internal contro

3、l single chip to realize the hardware design of the circuit, so as to realize the detection and recognition of 4*4 matrix keyboard. 4 * 4 matrix keyboard connected with the MCU P3 port, and the MCU P3.0 P3.3 port for a keyboard input, MCU P3.4P3.7 port as the lines of keyboard input, and then use th

4、eP0.0 P0.7 as the output line, by a pull-up resistor display different characters 0F on display. Control with software programs based on the hardware circuit to realize the design. The working process is: first to determine whether a key is pressed, if no key is pressed, it will continue to test the

5、 whole procedure, if a key is pressed, the Keywords: SCM, water lights, digital tubes, control system 键盘控制流水灯和数码管试验汇报目录一 设计目标.2二 任务描述及方案设计 .3 1. 任务描述.3 2. 方案设计.3三 硬件设计方案 .3 1. Msp430f149单片机功效说明.3 2. 显示器功效.4 3. 复位电路.4 4. 按键部分.4 5. 74HC573特点.4 6. 流水灯和数码管电路原理图.4 7. 元器件清单.4四 程序设计方案.5 1. 用IAR Embedded Wo

6、rkbench软件编程序.5 2. 仿真电路图.6五 实物试验.7 1. 实物图.7 2. 测试结果和分析.7六 结论.11八 参考文件.16一、 设计目标 1、深入巩固和加深学生所学一门或几门相关专业课理论知识,培养学生设计、计算、绘画、计算机应用、文件查阅、汇报撰写等基础技能 ; 2、培养学生实践动手能力及独立分析和处理工程实践问题能力; 3、培养学生团体协作精神、创新意思、严厉认真治学态度和严谨求实工作作风 。二、 任务描述及设计方案 1. 任务描述 闭合按键1时,从P1.01.7逐一灯,而且P1.0亮一下,P1.1亮两下,P1.2亮三下,P1.3亮四下,P1.4亮五下,P1.5亮六下,

7、P1.6亮七下,P1.7亮八下; 再是P1.0亮一下,P1.01.1亮两下,P1.01.2亮三下,P1.01.3亮三下,P1.01.4亮五下,P1.01.5亮六下,P1.01.6亮七下,P1.01.7亮八下。闭合按键2时,先是从P1.01.7逐一灯亮,再是P1.0、P1.1P1.6、P1.7两两灯亮,接着是P1.0、P1.1、P1.2P1.6、P1.7每三个灯亮,最终是P1.0、P1.1、P1.2、P1.3P1.4、P1.5、P1.6、P1.7每四个灯亮。闭合按键3时,从P1.0P1.7逐一亮,而且在P1.X灯亮过后紧接着前面灯两两灯亮。7ESG-MPX4-CC数码管按a、b、c、d、e、f、

8、g次序组成“8”字形。2、 设计方案 试验此功效有两种方案,一个是使用传统模拟电路,另一个是用单片机控制电路。我们选择单片机控制系统。其中系统工作原理为: 我们利用循环移位指令,采取循环程序结构进行编程。我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其它位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这么就实现了“流水”效果了。 以共阳极八段数码管为例,当控制某段发光二极管信号为低电平时,对应发光二极管点亮,当需要显示某字符时,就将该字符对应全部二极管点亮;共阴极二极管则相反,控制信号为高电平时点亮。电平信号根据dp,g,e.a次序组合形成数据字称为该字

9、符对应段码。7SEG-MPX4-CC是四个共阴二极管显示器,它1234是阴极公共端。 三、 硬件设计方案 1、单片机功效说明 1 CPU :MSP430系列单片机CPU和通用微处理器基础相同,只是在设计上采取了面向控结构和指令系统。MSP430内核CPU结构是根据精简指令集和高透明宗旨而设计,使用指令有硬件实施内核指令和基于现有硬件结构仿真指令。这么能够提升指令速度和效率,增强了MSP实时处理能力。2 存放器 :存放程序、数据和外围模块运行控制信息。有程序存放器和数据存放器。对程序存放器访问总是以字形式取得代码,而对数据能够用字或字节方法访问。其中MSP430各系列单片机程序存放器有ROM、O

10、TP、EPROM和FLASH型。3 外围模块 :经过MAB、MDB、中止服务及请求线和CPU相连。MSP430不一样系列产品所包含外围模块种类及数目可能不一样。它们分别是以下部分外围模块组合:时钟模块、看门狗、定时器A、定时器B、比较器A、串口0、1、硬件乘法器、液晶驱动器、模数转换、数模转换、端口、基础定时器、DMA控制器等。2、 显示器功效显示器通常也称为监视器。显示器是属于电脑I/O设备,即输入输出设备。它能够分为CRT、LCD等多个。它是一个将一定电文件经过特定传输设备显示到屏幕上再到反射到人眼显示工具。3、 复位电路 电阻给电容充电,电容电压缓慢上升直到vcc,没到vcc时芯片复位脚

11、近似低电平,于是芯片复位,靠近vcc时芯片复位脚近高电平,于是芯片停止复位,复位完成。 复位原理图4、按键部分 4.1 键盘结构形式通常有独立式键盘和矩阵式键盘两种。独立式键盘就是各个按键相互独立,每个按键各接一个I/O接口线,而不会影响其它I/O接口线,所以我们在控制流水灯三种闪法时用是独立式键盘。矩阵式键盘又叫行列式键盘,在键盘中按键数量较多时,为了降低I/O口占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是经过一个按键加以连接。这么,一个端口(如P1口)就能够组成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区分越显著,比

12、如再多加一条线就能够组成20键键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要键数比较多时,采取矩阵法来做键盘是合理。矩阵式结构键盘显然比直接法要复杂部分,识别也要复杂部分,上图中,列线经过电阻接正电源,并将行线所接单片机I/O口作为输出端,而列线所接I/O口则作为输入。这么,当按键没有按下时,全部输入端全部是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这么,经过读入输入线状态就可得悉是否有键按下了。4 键 盘,检测,首先要处理问题是键盘抖动现象。消抖方法有两种,软件消抖和硬件消抖。因为硬件消抖结构比软件复杂,所以本设计采取是软件消抖方法,既在程序中加

13、入5毫秒延时,延时后再次返回P3值二次判定是否有键盘按下。5、 74HC573特征74HC573八个锁存器全部是透明D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立数据电平上。输出控制不是影响锁存器内部工作,即老数据能够保持,甚至当输出被关闭时,新数据也能够置入。这种电路能够驱动大电容或低阻抗负载,可和直接和系统总线接口并驱动总线,而不需要外接口。 74HC573引脚图 Z=高阻抗 数码管引脚图6、流水灯和数码管电路原理图 假如要让接在P1.0口LED1亮起来,那么只要把P1.0口电平变为低电平就能够了; 假如要接在P1.0口LED1熄灭,就要把P

14、1.0口电平变为高电平; 同理,接在P1.1P1.7口其它7个LED点亮和熄灭方法同LED1。要实现流水灯功效,我们只要将发光二极管LED1LED8依次点亮、熄灭,8只LED灯便会一亮一暗做流水灯了。在此我们应该注意一点,因为人眼视觉暂留效应和单片机实施每条指令时间很短,我们在控制二极管亮灭时候应该延时一段时间,不然我们就看不到“流水”效果了。 7SEG-MPX4-CC数码管就是阴极为数码管公共端,根据发光管二极管原理,当阳极接电源正极,阴极接电源负极,发光二极管点亮。换句话说,共阴极数码管,当a,b,c,d,e,f,g脚分别接到电源正极,而COM脚接电源负极,此时相当于7个发光二极管同时点亮

15、,而且显示数字“8”所以一些类型数码管称为7端数码管别漏了“dp”,是小数点共阳极取反就是了 P4.7P4.6P4.5P4.4 6.1 流水灯和数码管电路原理图 6.2 独立按键控制流水灯部分 6.3 单片机复位部分 7、元器件清单元器件型号数目单片机MSP430f2491电阻1005发光二极管LED-BIBY8开关BUTTON18数码管7SEG-MPX4-CC1电容CAP1芯片74HC5731四、 程序设计方案 1、用IAR Embedded Workbench软件编程序 #include#define ROW P4OUT /矩阵键盘行宏定义#define COL P4IN /矩阵键盘列宏定

16、义#define DPYOUT P1OUT /数码管输出口宏定义#define uchar unsigned char#define uint unsigned intuchar keyval;uchar m=0;uchar remain = 0xff;uchar table1=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;uchar table2=0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;uchar table3=0x03,0x06,0x0c,0x18,0x30,0x60,0xc0;uchar seg=0x3f,0x06

17、,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39, 0x5e,0x79,0x71;void delay(uint n) uint i,j; for(i=0;in;i+) for(j=0;j225;j+);uchar keyscan() int i=0; uchar key=0; ROW=0x0f; if(COL&0x0f)!=0x0f) do i+; while(i3000); ROW=0x7f; if(COL & 0x0f)= 0x0f) ROW=0xbf; if(COL & 0x0f)= 0x0f) ROW=0xdf; if(

18、COL & 0x0f)= 0x0f) ROW=0xef; if(COL & 0x0f)= 0x0f) key=17; else key=(ROW&0xf0)|(COL&0x0f); else key=(ROW&0xf0)|(COL&0x0f); else key=(ROW&0xf0)|(COL&0x0f); else key=(ROW&0xf0)|(COL&0x0f); return key; void fun1() uint i,j; for(i=0;i8;i+) for(j=0;j=i;j+) P3OUT=table1i;delay(50); P3OUT=0X00;delay(50); f

19、or(i=0;i8;i+) for(j=0;j=i;j+) P3OUT=table2i;delay(50); P3OUT=0X00;delay(50); void fun2() uint i; P3OUT=0X01;delay(100); for(i=1;i8;i+) P3OUT=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); P3OU

20、T=0X0f;delay(100);void fun3() uint i,j; for(i=0;i8;i+) P3OUT=table1i;delay(100); P3OUT=0X00;delay(100); for(j=0;ji;j+) P3OUT=table3j;delay(100); P3OUT=0X00;delay(100); void main(void) WDTCTL = WDTPW + WDTHOLD; /keyval=17; P4DIR|=0Xf0; P1DIR|=0Xff; P1OUT|=0Xff; P3SEL=0X00; P3DIR|=0XFF; P3OUT&=0xff; P

21、2DIR|=0X00; P2IE=0X07;P2IES=0X07; _EINT(); while(1) delay(100); switch(keyscan() case 0xd7:DPYOUT=seg0;remain=seg0;break; case 0x77:DPYOUT=seg13;remain=seg13;break; case 0x7b:DPYOUT=seg12;remain=seg12;break; case 0x7d:DPYOUT=seg11;remain=seg11;break; case 0xb7:DPYOUT=seg15;remain=seg15;break; case 0

22、xbb:DPYOUT=seg9;remain=seg9;break; case 0xbd:DPYOUT=seg6;remain=seg6;break; case 0xbe:DPYOUT=seg3;remain=seg3;break; case 0xdb:DPYOUT=seg8;remain=seg8;break; case 0xdd:DPYOUT=seg5;remain=seg5;break; case 0xde:DPYOUT=seg2;remain=seg2;break; case 0xe7:DPYOUT=seg14;remain=seg14;break; case 0xeb:DPYOUT=

23、seg7;remain=seg7;break; case 0xed:DPYOUT=seg4;remain=seg4;break; case 0xee:DPYOUT=seg1;remain=seg1;break; case 0x7e:DPYOUT=seg10;remain=seg10;break; default:DPYOUT = remain;break; switch(m) case 1: fun1();break; case 2: fun2(); break; case 3: fun3(); break; default:break; #pragma vector=PORT2_VECTOR

24、_interrupt void PORT2 (void)P2IFG=0x00;if(P2IN!=0X07) switch(P2IN&0X07) case 0X06: m=1;break; case 0X05: m=2;break; case 0X03: m=3;break; default:m=0;break; 2. 仿真电路图 闭合按键1时仿真图 闭合按键2时仿真图 闭合按键3时仿真图数码管仿真图五、 实物试验 1、 实物图 2. 测试结果和分析经过用软件做硬件仿真后,将程序烧进MSP430单片机后,经过独立式键盘控制流水灯三种“流”法,按下某一个键时,流水灯就会实现编程所设计“流”法,而矩

25、阵键盘则是经过特定按键控制数码管显示程序控制字符,从09,a,b,c,d,e,f字符显示,复位按键则是是单片机复位。六、 心得体会 经过这段时间课程设计试验设计大大培养了我们动手能力和同学间相互合作精神。从一开始看到这个题目就在想怎样才能设计出一个正确原理图,这个很关键,也是全部工作基础,假如要完成原理图设计工作,这就要求我们有足够理论知识贮备,这个功夫就在平时了;原理图设计是理论和实践交叉点,原理图设计好以后,我们能够利用仿真软件进行仿真,这么便能够我们设计正确性,积累了经验而且掌握了软件基础使用方法和部分快捷用途。当电路板做好以后,就是焊接器件了,需要相互共同合作,这次试验增强了我们处理问题能力和团体合作能力。七、参考文件【1】康华光。 模拟电子技术基础 高等教育出版社,【2】康华光。 数字电子技术基础 高等教育出版社, 【3】秦 龙。 MSP430单片机常见模块和综合系统实例精讲,

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服