课程设计报告LED灯及蜂鸣器_第1页
课程设计报告LED灯及蜂鸣器_第2页
课程设计报告LED灯及蜂鸣器_第3页
课程设计报告LED灯及蜂鸣器_第4页
课程设计报告LED灯及蜂鸣器_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 武汉*大学 单片机设计报告课 程 单片机课程设计 设计题目 led灯及蜂鸣器 年级专业 信息与计算科学09级 学 号 学生姓名 指导教师 2012年 04 月 17 日设计题目:一、 要求1.了解led显示流水灯的原理。2. 能够在led上显示和控制蜂鸣器的工作。3 熟悉掌握keil软件的使用。二、 分析 本设计使用at89c52rc做为主控制模块,利用简单的外围电路来驱动led蝴蝶。设计分为三个模块:单片机控制模块,输出显示模块和驱动模块,单片机控制模块以单片机为核心,以软件keil编程实现信号输出,以驱动led及蜂鸣器为目的。三、 设计1、硬件方面(1)、led驱动模块图文显示有静态和动

2、态两种方案,本设计中静动态都用到了。动态扫描的意思简单的说就是轮流点亮。具体就图案来说,把内部同行的发光管的阳极相连在一起,先送出对应行的发光管亮灭的数据并锁存,然后选通其它行使其燃亮相同的时间,然后熄灭。反复循环。蜂鸣器的控制则是加入三极管接在vcc,单片机的第20引脚和负极上,以此来控制蜂鸣器的工作。(2)、硬件设计 实验板上设计一个蝴蝶状的led显示,可用于简单的图形图像。蝴蝶的图案是由74个led绿灯、8个红灯、10个黄灯拼接而成。其中绿灯直接接到正负极上,黄灯和红灯接到单片机的p2口,来控制其闪动。 2、软件编程(包括流程图、完整的汇编源程序及其注释)1.电路图本软件要求实现如下要求

3、:外圈绿灯亮度明亮,红灯和黄灯都不停地闪动,蜂鸣器自动播放歌曲。电路图如下:2.主程序本设计的系统软件能使系统led各点亮度均匀,充足,可显示清晰图案,并且闪动。系统主程序开始后,首先是对系统环境初始化,包括设置串口,中断和端口;然后闪动红黄灯,由于单片机没有停机指令,所以可以设置系统程序不断循环。3.序代码如下:#include #include #include #include #define uchar unsigned char#define uint unsigned int#define dy_portp2 /设置led连接的i/o组#define dy_speed100 /设置

4、每一个明亮级的停留时间(值域:065535)struct music_type uchar tone; uchar delay;void delay (unsigned int a) / 1ms延时程序unsigned int i;while( -a != 0)for(i = 0; i 600; i+);/stc单片机在外部晶振为12mhz时i值上限为600 /at89c51单片机在外部晶振为12mhz时i值上限为125uint code tonetab=/d调7声音阶3个8度63967,64138,64291,64360,64489,64603,64704,/低音1764752,64837,

5、64913,64948,65012,65070,65120,/中音1765144,65186,65225,65242,65274,65303,65328/高音17;/曲谱,每个音符两项数据:第1项为音高,第2项为节拍(以1/4拍为单位)struct music_type code notetab=/”三十里铺”曲谱1+14,0x02,2+14,0x04,2+14,0x02,5+14,0x02,1+14,0x04,6+7,0x02,5+7,0x03,6+7,0x01,5+7,0x02,2+7,0x02,5+7,0x08,1+14,0x02,2+14,0x04,2+14,0x02,5+14,0x0

6、2,1+14,0x04,6+7,0x02,5+7,0x03,6+7,0x01,5+7,0x02,2+7,0x02,5+7,0x08,1+14,0x02,4+7,0x04,5+7,0x02,1+14,0x02,1+14,0x04,6+7,0x02,5+7,0x03,6+7,0x01,5+7,0x02,2+7,0x02,5+7,0x08,4+7,0x03,4+7,0x01,3+7,0x02,2+7,0x02,1+7,0x03,2+7,0x01,5+7,0x02,2+7,0x02,1+7,0x08,1+14,0x02,2+14,0x04,2+14,0x02,5+14,0x02,1+14,0x04,6

7、+7,0x02,5+7,0x03,6+7,0x01,5+7,0x02,2+7,0x02,5+7,0x08,1+14,0x02,2+14,0x04,2+14,0x02,5+14,0x02,1+14,0x04,6+7,0x02,5+7,0x03,6+7,0x01,5+7,0x02,2+7,0x02,5+7,0x08,1+14,0x02,4+7,0x04,5+7,0x02,1+14,0x02,1+14,0x04,6+7,0x02,5+7,0x03,6+7,0x01,5+7,0x02,2+7,0x02,5+7,0x08,4+7,0x03,4+7,0x01,3+7,0x02,2+7,0x02,1+7,0

8、x03,2+7,0x01,5+7,0x02,2+7,0x02,1+7,0x08,0,0x00;sbit p10=p10;/连接无源蜂鸣器/*sbit sdat=p34;/连接显示数码的移位寄存器sbit sclk=p35;*/volatile uchar tl1,th1;/存控制定时器1定时参数uint led=0x0001;/led初始显示数据bit dir=0;/led流水方向控制标志void t1_sev() interrupt 3/定时器t1中断:控制蜂鸣器发声频率 tl1=tl1;/重装定时数据 th1=th1; p10=!p10;/蜂鸣器驱动倒相void int1_serv() i

9、nterrupt 2/外中断1,改变led流水方向标志 dir=!dir;/流水方向控制标志改变void init() _task_ 0/任务0:初始化,激活任务13 tmod|=0x10; /系统硬件初始化 et1=1; it1=1; ex1=1; os_create_task(1); /启动任务13 /* os_create_task(2);*/ os_create_task(3); os_delete_task(0); /自身撤退void disled() _task_ 1/任务1:16个led流水显示 unsigned int temp;unsigned int i;while(1)

10、temp=0xa0;for(i=0;i8;i+) /8个流水灯逐个闪动 dy_port=temp; delay(dy_speed); /调用延时函数 temp=1; temp=0xa7;for(i=0;i=1; temp=0xa0;for(i=0;i8;i+) /8个流水灯依次全部点亮 dy_port=temp; delay(dy_speed); /调用延时函数 temp=1; temp=0xa7; for(i=0;i=1; os_wait2(k_ivl,10);/控制led流水显示的节奏 void musicplay() _task_ 3/任务3:蜂鸣器演奏”三十里铺” uchar i,j;

11、 while(1) i=0; while(notetabi.delay) if(!notetabi.tone) tr1=0;/音高数据为0 else/音高数据不为0 th1=th1=tonetabnotetabi.tone-1/256;/用定时参数控制t1的振荡频率(音高) tl1=tl1=tonetabnotetabi.tone-1%256; tr1=1; /该音符发声 for(j=0;jnotetabi.delay;j+)/控制音符的持续时间(节拍) os_wait2(k_ivl,20); i+;/拟换下个音符 tr1=0;/停奏 os_wait2(k_ivl,100);/奏完1遍后的等待 3、调试说明 使用leil 软件编译调试代码,确保无误后下载到单片机里,硬件电路连接p2口led的所有跳帽,下载生成的hex文件,即可看到led屏幕上能够出现明亮的蝴蝶图案并且有歌曲的伴随。4、设计结果及错误分析能够在led屏上清晰显示蝴蝶图案,但是没有达到流水灯和歌曲同时实现的目的,经努力修改程序代码还是没能实现。直到主动找老师询问后,才知道是因为应该用io中断来控制程序的并发进行,以后会吸取教训,认真落实老师给

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论