LED显示及蜂鸣器.doc

上传人:豆**** 文档编号:17416121 上传时间:2022-05-24 格式:DOC 页数:10 大小:139.50KB
返回 下载 相关 举报
LED显示及蜂鸣器.doc_第1页
第1页 / 共10页
LED显示及蜂鸣器.doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《LED显示及蜂鸣器.doc》由会员分享,可在线阅读,更多相关《LED显示及蜂鸣器.doc(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流LED显示及蜂鸣器.精品文档.沈阳航空航天大学(单片机课程设计报告) 专 业 : 班 级 : 设计题目 : LED显示及蜂鸣器 学 号 : 学生姓名 : 指导教师 : 2015年 7 月 3日设计题目:一、 要求1.了解LED点阵显示图案的原理。2. 能够在LED上显示和控制蜂鸣器的工作。3 熟悉掌握KEIL软件的使用。二、 分析 本设计使用AT89C51做为主控制模块,利用简单的外围电路来驱动LED显示。设计分为三个模块:单片机控制模块,输出显示模块和驱动模块,单片机控制模块以单片机为核心,以软件KEIL编程实现信号输出,以驱动LED及蜂鸣

2、器为目的。三、 设计1、硬件方面(1)、LED驱动模块、蜂鸣器模块本模块包括LED点阵显示汉字,数码管显示数字。蜂鸣器的控制则是利用P1.5口输出电压加在蜂鸣器引脚上,达到驱动蜂鸣器的目的,以此来控制蜂鸣器的工作。(2)、硬件设计 实验板上设计一个1616 LED点阵显示模块,可用于简单的汉字显示,以及一个简单的数码管。 2、软件编程1.电路图本软件要求实现如下要求:LED点阵显示歌曲名,数码管对数字进行计数,蜂鸣器在显示歌曲名时自动播放歌曲。图一:实验原理图2、调试说明 使用KEIL 软件编译调试代码,确保无误后下载到单片机里,硬件电路连接p2口LED的所有跳帽,单片机P1.5接口连接蜂鸣器

3、,下载生成的hex文件,即可看到LED点阵上能够出现歌曲名图案并且可以看到译码管对数字计数,而后有歌曲的伴随。3、实验结果能够在LED点阵上清晰显示汉字图案,但是LED点阵没有达到对汉字的完美显示,即蜂鸣器工作时,LED点阵显示汉字时间并没有跟随蜂鸣器工作时单拍所需要的时间同步。经努力修改程序代码得以实现。图二:实验结果图四、 总结在此次设计中,我得到以下体会:1. 这次图案设计的过程让我进一步熟悉了KEIL 软件的使用。2. 通过这次设计,重新复习并进一步学习了51单片机的优点,明确了单片机在显示生活中的应用是十分广泛的。3. 让我明白任何一件事情都必须小心谨慎,稍有差错变不会得出正确的结论

4、。就像程序代码,错一点,整个程序也就错了。所以我们应该养成严谨学习习惯。4. 自己以后要更加认真学习单片机相关知识,提高自己的编程能力。附录:#include #include #define NOP() _nop_() / 定义空指令 ,这个函数在库 中/-重定义函数变量-/#define uchar unsigned char#define uint unsigned int#define ulong unsigned longvoid chang();void main1(unsigned int q);/-定义SPI要使用的 IO-/sbit MOSIO = P34;sbit R_CL

5、K = P35;sbit S_CLK = P36;/-全局变量声明-/ulong column; /点阵列ulong row; /点阵行ulong dt;/点阵显示数组uchar code tab0 = 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x00; /-八-/u

6、char code tab1 = 0,0,128,0,128,0,64,2,64,2,64,4,64,4,32,4,32,8,16,16,8,32,4,32,2,64,0,0,0,0,0,0;/-月-/uchar code tab2 = 0,0,248,31,8,16,8,16,232,23,8,16,8,16,8,16,232,23,8,16,8,16,12,16,4,16,2,16,1,20,0,24;/-桂-/uchar code tab3 = 0,0,16,0,16,8,16,8,126,127,16,8,16,127,24,8,56,62,84,8,18,8,16,255,16,0,

7、16,0,0,0,0,0 ;/-花-/uchar code tab4 = 16,4,16,4,252,63,16,4,96,0,48,9,16,5,24,3,148,1,82,1,16,1,16,1,16,1,16,33,16,63,0,0 ;/-_-/uchar code tab13 = 0,0,0,0,60,240,102,156,67,130,0,0,0,0,0,0,0,0,0,0,48,24,96,8,192,7,0,0,0,0,0,0;/函数声明void HC595SendData( uchar BT3, uchar BT2,uchar BT1,uchar BT0);sbit Bee

8、p = P15 ; unsigned char n=0; /n为节拍常数变量 unsigned char code music_tab = 0x18, 0x30, 0x1C , 0x10, /格式为: 频率常数, 节拍常数, 频率常数, 节拍常数, 0x20, 0x40, 0x1C , 0x10, 0x18, 0x10, 0x20 , 0x10, 0x1C, 0x10, 0x18 , 0x40, 0x1C, 0x20, 0x20 , 0x20, 0x1C, 0x20, 0x18 , 0x20, 0x20, 0x80, 0xFF , 0x20, 0x30, 0x1C, 0x10 , 0x18,

9、0x20, 0x15, 0x20 , 0x1C, 0x20, 0x20, 0x20 , 0x26, 0x40, 0x20, 0x20 , 0x2B, 0x20, 0x26, 0x20 , 0x20, 0x20, 0x30, 0x80 , 0xFF, 0x20, 0x20, 0x1C , 0x10, 0x18, 0x10, 0x20 , 0x20, 0x26, 0x20, 0x2B , 0x20, 0x30, 0x20, 0x2B , 0x40, 0x20, 0x20, 0x1C , 0x10, 0x18, 0x10, 0x20 , 0x20, 0x26, 0x20, 0x2B , 0x20,

10、0x30, 0x20, 0x2B , 0x40, 0x20, 0x30, 0x1C , 0x10, 0x18, 0x20, 0x15 , 0x20, 0x1C, 0x20, 0x20 , 0x20, 0x26, 0x40, 0x20 , 0x20, 0x2B, 0x20, 0x26 , 0x20, 0x20, 0x20, 0x30 , 0x80, 0x20, 0x30, 0x1C , 0x10, 0x20, 0x10, 0x1C , 0x10, 0x20, 0x20, 0x26 , 0x20, 0x2B, 0x20, 0x30 , 0x20, 0x2B, 0x40, 0x20 , 0x15,

11、0x1F, 0x05, 0x20 , 0x10, 0x1C, 0x10, 0x20 , 0x20, 0x26, 0x20, 0x2B , 0x20, 0x30, 0x20, 0x2B , 0x40, 0x20, 0x30, 0x1C , 0x10, 0x18, 0x20, 0x15 , 0x20, 0x1C, 0x20, 0x20 , 0x20, 0x26, 0x40, 0x20 , 0x20, 0x2B, 0x20, 0x26 , 0x20, 0x20, 0x20, 0x30 , 0x30, 0x20, 0x30, 0x1C , 0x10, 0x18, 0x40, 0x1C , 0x20,

12、0x20, 0x20, 0x26 , 0x40, 0x13, 0x60, 0x18 , 0x20, 0x15, 0x40, 0x13 , 0x40, 0x18, 0x80, 0x00 void delayms(unsigned char a) /毫秒延时子程序 while(-a); void delayms1(unsigned char a) /毫秒延时子程序 while(-a); void int0() interrupt 1 /采用中断0 控制节拍 TH0=0xd8; TL0=0xef; n-; void HC595SendData( uchar BT3, uchar BT2,uchar

13、BT1,uchar BT0)uchar i;/-发送第一个字节-/for(i=0;i 7 ;/从高位到低位BT3 = 1;S_CLK = 0;S_CLK = 1;/-发送第一个字节-/for(i=0;i7;/从高位到低位BT2 = 1;S_CLK = 0;S_CLK = 1;/-发送第一个字节-/for(i=0;i 7;/从高位到低位BT1 = 1;S_CLK = 0;S_CLK = 1;/-发送第一个字节-/for(i=0;i 7;/从高位到低位BT0 0; ms-)for(k = 0; k 0; ms-)for(k = 0; k 0; ms-)for(k = 0; k 0; ms-)for(k = 0; k 0; ms-)for(k = 0; k 0;c-)for (b=38;b0;b-)for (a=80;a0;a-);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com