单片机跑马灯课程设计
- 格式:ppt
- 大小:854.00 KB
- 文档页数:20
单片机原理与应用课程设计设计课题:音乐跑马灯班级:小组成员:时间:2013年1月6日音乐跑马灯的设计一、实验内容:1.使用8个发光管作跑马灯,其中有3种亮灭模式。
2.有专门的开关K1~K3用来切换跑马灯的模式。
3.每一种跑马灯模式用LED数码管进行显示1、2、3。
4.当跑马灯处于某种模式时,有对应的音乐响起。
有三首曲子可以选着。
提示:亮灭模式自己设计,可以从速度或者点亮方法上设计。
响音乐的程序可以参考实验手册上《电子音响》部分。
二、实验原理:用三个开关控制音乐跑马灯的三种模式,每一种模式都是在LED数码管显示模式的号码的同时先响音乐后闪灯。
跑马灯采用P3口作为输入口,外接三个开关用来控制跑马灯的亮灭模式。
P1口做输出口,P1口接的8个发光二极管L1~L8按16进制方式点亮发光二极管,即8个发光管相当于8位的二进制位。
当数值为1时,L1点亮;数值为2=00000010B时,L2点亮;数值为4=00000100时,L3点亮,依次类推。
不同的音符对应不同的频率,所以只要用不同频率的信号驱动喇叭,就能发出不同的音符了,所以转换为使用定时器在P1.7引脚输出某一频率的方波脉冲即可。
单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,因此单片机奏乐只需弄清楚两个概念,也就是“音调”和“节拍”。
音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间,乐谱中每一个音符都与某一个特定的频率相对应,所以只需要产生不同频率的方波信号(产生不同音调),并且延时不同的时间(产生不同节拍),即可完成音乐的播放。
三、硬件原理:1.跑马灯亮灭模式原理图,如图(1)所示。
图(1) 跑马灯亮灭模式原理图2.让喇叭响音乐的原理图,如图(2)所示。
图(2) 电子音响原理图3.使第三个LED数码管显示1、2、3、4、5,如图(3)和(4)所示。
图(3) LED共阳极连接原理图图(4) LED数据显示示意图用三个开关(K1~K3)控制音乐跑马灯的三种模式,每一种模式都是在LED 数码管显示模式的号码的同时先响音乐后闪灯。
单片机闪烁灯跑马灯控制课程设计单片机闪烁灯跑马灯控制课程设计报告一、引言本课程设计旨在通过学习和实践单片机(MCU)编程,实现闪烁灯和跑马灯的控制。
我们将使用嵌入式C语言编程,通过了解单片机的内部结构、电路设计和编程流程,深入理解单片机的工作原理和应用。
二、系统硬件设计本课程设计选用51单片机作为主控芯片,外接8个LED灯和1个按键。
硬件电路设计如下:1.单片机:采用AT89C51,该芯片具有32K字节的Flash存储器,256字节的RAM,以及两个16位定时器/计数器。
2.LED灯:采用普通LED灯珠,与单片机引脚相连,通过编程控制LED灯的亮灭状态。
3.按键:采用机械按键,与单片机的外部中断0(EX0)相连,用于触发闪烁灯和跑马灯的切换。
三、系统软件设计1.闪烁灯模式:在此模式下,8个LED灯将按照一定的频率交替闪烁。
我们可以通过计时器和GPIO口控制LED灯的亮灭状态。
void blink_LED(void) {int i;while(1) {for(i = 0; i < 8; i++) {P1_0 = ~P1_0; // 翻转LED状态delay(500); // 延时,控制闪烁频率}}}2.跑马灯模式:在此模式下,8个LED灯将按照一定的顺序依次点亮。
我们可以通过计时器和GPIO口控制LED灯的亮灭状态。
void marquee_LED(void) {int i;int led_state[8] = {0, 1, 0, 1, 0, 1, 0, 1}; // LED状态数组,初始为交替亮灭while(1) {for(i = 0; i < 8; i++) {P1_0 = led_state[i]; // 设置LED状态delay(50); // 延时,控制跑马灯速度}}}四、按键处理程序我们通过外部中断0(EX0)接收按键信号,当按键按下时,将切换闪烁灯和跑马灯模式。
按键处理程序如下:void EX0_ISR(void) interrupt 0 { // EX0中断服务程序if (key_flag) { // 如果按键已经被按下过if (key_value == 0) { // 如果按键状态为低电平marquee_LED(); // 切换到跑马灯模式key_flag = 0; // 标记按键状态已经改变} else { // 如果按键状态为高电平blink_LED(); // 切换到闪烁灯模式key_flag = 0; // 标记按键状态已经改变}key_value = ~key_value; // 翻转按键状态值} else { // 如果按键还没有被按下过key_value = ~key_value; // 翻转按键状态值if (key_value == 0) { // 如果按键状态为低电平blink_LED(); // 切换到闪烁灯模式key_flag = 1; // 标记按键状态已经改变} else { // 如果按键状态为高电平marquee_LED(); // 切换到跑马灯模式key_flag = 1; // 标记按键状态已经改变}}}。
单片机课程设计报告跑马灯武汉纺织大学单片机课程设计报告设计课题:跑马灯指导教师:刘丰姓名:颜珊曹坤班级:应电092一、设计任务利用单片机制作让LED灯依次闪烁时间间隔为0.5S二次后时间加快为0.2S并循环闪烁的跑马灯.二、设计要求(1)采用单片机STC89C52来控制,下载器由芯片MAX232来对程序的下载。
(2)LED灯的闪烁间隔时间为0.5S-0.25S-1S,每循环两圈更改闪烁速度。
(3)供电采用USB方口的方式。
三、方案设计与论证跑马灯电路的组成方框图为:四,主要元件介绍(1)单片机STC89C52引脚介绍stc89c52的内核和AT51系列单片机一样,故引脚也相同:1~8:I/OP1口(P1.0~P1.7);9:复位脚(RST/Vpd);10~17:I/OP3口(P3.0=RXD,P3.1=TXD,P3.2=-INT0,P3.3=-INT1,P3.4=T0,P3.5=T1,P3.6=-WR,P3.7=-RD)主要是此引脚;18、19:晶振(18=XTAL2,19=XTAL1);20:地(Vss);21~28:I/OP2口(P2.0~P2.7);29:-PSEN;30:ALE/-PROG;31:-EA/Vpp32~39:I/OP0口(P0.7~P0.0);40:+5V电源。
注:引脚功能前加“-”,说明其是低电平有效。
如P3.2=-INT0。
(2)MAX232介绍MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。
内部结构基本可分三个部分:第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、1 3、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、1 4脚(T1OUT)为第一数据通道8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2 OUT)为第二数据通道。
花样走马灯一设计目的1.掌握单片机系统设计思路和基本步骤。
2.熟悉Keil C51高级语言集成开发环境。
3.熟练使用基于proteus的单片机系统仿真软件。
4.学会在ISIS 7 Professional下绘制电路原理图。
5.学会 Proteus VSM与uvision3 IDE的联调过程。
二设计要求实现单片机8051设计控制P1口的8个LED灯成花样走马灯。
连续实现以下四种效果:1.单灯左移2.单灯右移3.单灯逐个点亮接着逐个熄灭4.两边向中间逐个点亮接着中间向两边逐个熄灭三总体设计单片机应用系统的研制步骤一般分为:总体设计、硬件电路的构思设计、软件的编制和仿真调试四个阶段。
1.硬件电路设计根据设计要求所需的元器件为AT89C51单片机和LED灯。
该硬件部分由朱艳兵完成,故不再做详细介绍。
2.系统软件分析设计原理:规定灯亮时控制该灯的位设置为低电平,灯灭时该位设置为高电平,为了清楚的看到灯亮时的效果,要设置相应的延时函数,通过数组的引用和函数的调用来实现花样走马灯的设计。
(1)要使走马灯实现单灯左移、单灯右移、单灯逐个点亮接着逐个熄灭、两边向中间逐个点亮接着中间向两边逐个熄灭这四种效果。
(2)可根据上述的规定来设置控制8个LED灯的P1口各个引脚的电平来控制LED灯亮的效果。
①单灯左移:可将P1.0~P1.7各个引脚逐个设置为低电平,即该引脚控制的灯亮时该位就为低电平,即可设置一个数组名为table的数组来存放灯亮时的P1口各个引脚的电平。
②单灯右移:即P1.7先亮,按照P1.7~P1.0的顺序向右移,即该灯亮的时候该位就设置为低电平,反之为高电平,各引脚的电平在数组aa中存放,引用数组aa就可实现单灯右移。
③单灯逐个点亮接着逐个熄灭:可按照P1.0~P1.7的顺序点亮再按照P1.7~P1.0的顺序熄灭,实现原理同单灯左移和单灯右移,各个引脚的电平在数组bb,cc中存放。
④两边向中间逐个点亮接着中间向两边逐个熄灭:即先将P1.0和P1.7同时设置为低电平,全部点亮后再将P1.3和P1.4设置为高电平,依次直至全部熄灭,各个引脚的电平在数组dd中存放。
第一章概论随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。
LED 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。
但目前市场上各式样的 LED 彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一。
这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。
此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。
因此有必要对现有的彩灯控制器进行改进。
本产品不仅具有电路简单,造价便宜,功耗低等优点,还有多种亮灯花样。
而且可以通过修改源程序中延迟程序的参数来改变亮灯速度和频率,还可以通过修改表中的数据来改变亮灯的方式,这便大大提高了产品的性能与灵活性,使产品不会局限于单一的功能而限制产品的适用范围。
课程设计是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练,是培养学生工程意识和创新能力的重要环节。
进一步巩固和加深“单片机”课程的基本知识,了解单片机设计知识在实际中的应用。
综合运用“单片机”课程和先修课程的理论及生产实际知识去分析和解决电路设计问题,进行单片机电路设计的训练。
学习单片机设计电路的一般方法,了解和掌握单片机电路的设计过程和进行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体电路设计能力。
通过计算和绘图,学会运用标准、规范和查阅有关技术资料等,培养单片机电路设计的基本技能。
第二章设计方案2.1、设计目的学生在教师指导下运用所学课程的知识来研究、解决一些具有一定综合性问题的专业课题。
通过课程设计(论文),提高学生综合运用所学知识来解决实际问题、使用文献资料、及进行科学实验或技术设计的初步能力,为毕业设计(论文)打基础。
2.2、设计要求以MCS51单片机为核心,辅以外围接口电路,设计一个花样LED闪烁彩灯,使彩灯按事先编好的流程不断闪烁,并有不同种闪烁花样。
LED灯管可以使用共阳极,单片机芯片可采用AT89C52。
61-单片机课程设计-可以调控的跑马灯1000字设计目的本课程设计旨在通过单片机编程实现一个可调控的跑马灯,加深学生对单片机概念、程序设计、输入输出等方面的理解,提高学生的程序设计能力。
设计实验材料1. 基于8051单片机的电路板2. LED灯3. 电阻器4. 按钮5. 电源(可使用9V电池或其他稳定的直流电源)实验过程1. 搭建基于8051单片机的电路板,连接LED灯和电阻器2. 编写跑马灯程序,其中需要实现以下功能:(1)通过按下按钮,控制灯的亮灭(2)通过另一个按钮,调整灯的亮度(3)通过另一个按钮,调整灯的闪烁频率3. 烧录程序到单片机中4. 连接电源,测试跑马灯的各项功能程序设计本跑马灯程序采用C语言编写,主要实现以下几个功能:1. 初始化LED灯、按键和定时器等相关IO口2. 判断按键被按下,执行相应的操作3. 调整LED灯的亮灭状态,并通过调整亮度和闪烁频率实现可调控功能程序流程:1. 初始化相关IO口和定时器2. 进入主循环3. 判断按钮是否被按下4. 若开始按钮被按下,则设置灯的状态为ON5. 若结束按钮被按下,则设置灯的状态为OFF6. 若调整亮度按钮被按下,则调整PWM占空比,实现亮度调整7. 若调整闪烁频率按钮被按下,则调整定时器的周期,实现闪烁频率调整8. 延时一段时间9. 回到主循环程序代码:```#include <reg52.h>#define LED P1 // LED灯#define PWM P2 // 调整亮度sbit startButton = P3^0; // 开始按钮sbit endButton = P3^1; // 结束按钮sbit pwmButton = P3^2; // 调整亮度按钮sbit freqButton = P3^3; // 调整闪烁频率按钮void timer0_init() // 初始化定时器{TMOD = 0x01;TH0 = 0x3C;TL0 = 0xB0;TR0 = 1;}void pwm_init() // 初始化PWM {TMOD |= 0x02;TL1 = 0x00;TH1 = 0xFD;ET1 = 0;TR1 = 1;}void main(){unsigned long cnt = 0;unsigned char pwm_value = 0; LED = 0x00;PWM = 0x00;timer0_init();pwm_init();while (1){if (startButton == 0){LED = 0x01;}else if (endButton == 0){LED = 0x00;}else if (pwmButton == 0){pwm_value++;if (pwm_value >= 255){pwm_value = 0;}CCAP0H = pwm_value;}else if (freqButton == 0){cnt++;if (cnt >= 1000){cnt = 0;}TH0 = (65536 - 1000) / 256; TL0 = (65536 - 1000) % 256; }while (TF0 == 0); // 等待定时器 TF0 = 0;}}```实验结果将程序烧录到单片机后,连接电源,按下不同的按钮,可调控跑马灯的亮度和闪烁频率。
三、电路设计及功能说明,硬件原理框图及电路图(包括接口芯片简介);本次设计采用AT89C52芯片驱动可编程接口芯片8255的扩展来实现LED灯的多种显示方式。
让AT89C52芯片的P0口与8255芯片的三态双向数据总线D0~D7连接,实现数据传送。
当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
8255的地址选择线A1、A0分别与AT89C52的P2.7和P2.6连接,通过定义不同的地址来定义8255芯片PA口和PB口的工作方式。
读写命令线分别与单片机的读写命令线相连,片选线直接接地,复位线RESET接单片机的P2.5。
同时PA 口与8个LED灯顺序连接。
PB口与8个LED灯逆序连接,通过按键控制可以选择不同的运行模式,实现多种跑马灯的运行模式。
硬件原理框图电路图接口芯片简介(1)AT89C52AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
单片机课程设计跑马灯一、教学目标本节课的教学目标是使学生掌握单片机的基本原理和编程方法,通过设计和实现一个跑马灯项目,培养学生运用单片机技术解决实际问题的能力。
具体目标如下:1.知识目标:a.了解单片机的基本结构和原理;b.掌握单片机的编程语言和编程方法;c.熟悉单片机的硬件接口和外围电路。
2.技能目标:a.能够使用单片机开发工具进行程序编写和烧录;b.能够根据项目需求设计单片机的程序;c.能够搭建单片机的硬件电路并进行调试。
3.情感态度价值观目标:a.培养学生对科技创新的兴趣和热情;b.培养学生团队合作精神和自主学习能力;c.培养学生关注社会问题并运用技术解决实际问题的意识。
二、教学内容本节课的教学内容主要包括以下几个部分:1.单片机的基本原理和结构;2.单片机的编程语言和编程方法;3.跑马灯项目的需求分析和设计;4.跑马灯项目的编程和调试;5.跑马灯项目的硬件电路搭建和调试。
三、教学方法为了达到本节课的教学目标,我们将采用以下教学方法:1.讲授法:通过讲解单片机的基本原理、编程语言和编程方法,使学生掌握相关知识;2.案例分析法:通过分析跑马灯项目的需求,引导学生学会项目分析和设计;3.实验法:通过搭建跑马灯项目的硬件电路和编程调试,使学生掌握单片机的实际应用;4.讨论法:在课堂上鼓励学生提问、讨论,促进学生之间的交流和合作。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《单片机原理与应用》;2.参考书:单片机技术的相关书籍;3.多媒体资料:单片机的原理讲解、编程方法演示、跑马灯项目案例分析等视频资料;4.实验设备:单片机开发板、外围电路元件、编程器、调试器等。
五、教学评估本节课的教学评估将采用多元化的评估方式,以全面、客观、公正地评价学生的学习成果。
具体评估方式如下:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。
目录第1章课程设计内容及要求 (5)第2章引言 (6)第3章系统硬件电路设计 (7)第4章系统软件设计 (12)第5章课程设计心得 (14)第6章参考文献 (15)第7章附录(实物图,程序清单) (16)第1章课程设计内容及要求一、设计内容:1.1.1、了解各种元器件在电路中的作用和一些芯片的功能,并学会掌握Keil和proteus两个软件;1.1.2、对照原理图在proteus软件中画出原理电路图;1.1.3、检查焊接好的硬件实物图并检验实物图效果;1.1.4、根据实物图写出程序并仿真,并结合Keil和proteus两个软件进行调试和仿真。
二、设计要求:1.2.1外部功能按键连接于(INT0/1)作用时,分别实现开始、停止的功能。
具体过程为:按开始键,LED循环显示,按停止键时,LED循环状态暂停,若正巧最后一个LED被点亮,而其他LED皆熄灭时,表示该操作人获胜,赢得游戏,同时蜂鸣器鸣响较长时间,以示庆祝。
反之则蜂鸣器鸣响较短时间示意输掉游戏。
下次再按下开始键,游戏又开始;1.2.2、按下开关K1,实现跑马灯模式则进行灯循环点亮;1.2.3、按下开关K2,跑马灯停止循环,并停在LED灯中的一个;1.2.4、若是停在P1.0~P1.6中的一个,则响起短时间的音乐并表示游戏失败;1.2.5、若是停在P1.7LED灯时,则该对应的这LED 灯亮并响起较长时间的音乐并表示游戏胜利。
第2章引言跑马灯在单片机系统中一般是用来指示和显示单片机的运行状态,一般情况下,单片机的跑马灯由多个LED发光二极管组成。
在单片机运行时,可以在不同状态下让跑马灯显示不同的组合,作为单片机系统正常的指示。
当单片机系统出现故障时,可以利用跑马灯显示当前的故障码,对故障做出诊断。
此外,跑马灯在单片机的调试过程中也非常有用,可以在不同时候将需要的寄存器或关键变量的值显示在跑马灯上,提供需要的调试信息。
本设计使用AT89C2051芯片,利用P1的8个端口连接8个发光二极管,通过P1.0到P1.7的值控制“跑马灯”的亮灭,以达到显示效果。
单片机跑马课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解跑马灯程序的设计思路。
2. 使学生了解单片机编程的基本语法和指令,并能运用到跑马灯程序编写中。
3. 帮助学生掌握跑马灯程序中涉及的电子元件使用方法,如LED灯、电阻等。
技能目标:1. 培养学生动手操作单片机的能力,能够独立完成跑马灯程序的下载、调试和运行。
2. 提高学生的问题解决能力,能够分析并解决跑马灯程序中可能出现的故障。
3. 培养学生的团队协作能力,能够在小组内分工合作,共同完成跑马灯项目的设计与实现。
情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养其创新意识和探索精神。
2. 培养学生严谨、细心的学习态度,养成良好的编程习惯。
3. 增强学生的自信心,使其在跑马灯项目实践中感受到成功的喜悦。
本课程针对单片机跑马项目设计,结合学生年级特点,注重理论与实践相结合,旨在提高学生的动手能力、问题解决能力和团队协作能力。
课程目标具体、可衡量,为后续教学设计和评估提供明确方向。
二、教学内容1. 单片机基本原理:介绍单片机的组成、工作原理,引导学生了解和掌握单片机的基本功能和应用。
- 教材章节:第1章 单片机概述- 内容:单片机的发展历程、内部结构、工作原理。
2. 单片机编程基础:讲解单片机编程的基本语法、指令和编程环境,为学生编写跑马灯程序奠定基础。
- 教材章节:第2章 单片机编程基础- 内容:C语言基础、单片机指令系统、编程环境搭建。
3. 跑马灯程序设计:分析跑马灯程序的设计思路,教授编程技巧,让学生学会编写和调试程序。
- 教材章节:第3章 单片机程序设计实例- 内容:跑马灯程序设计原理、程序编写、调试方法。
4. 电子元件应用:介绍跑马灯项目中涉及的LED灯、电阻等元件的使用方法,指导学生进行电路搭建。
- 教材章节:第4章 电子元件及其应用- 内容:LED灯、电阻、杜邦线等元件的功能和连接方法。
5. 跑马灯项目实践:引导学生分组进行跑马灯项目的设计与实现,培养其动手能力、团队协作能力和问题解决能力。