[LED显示及蜂鸣器.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[LED显示及蜂鸣器

沈阳航空航天大学 (单片机课程设计报告) 专 业 : 班 级 : 设计题目 : LED显示及蜂鸣器 学 号 : 学生姓名 : 指导教师 : 2015年 7 月 3日 设计题目: 要求 1.了解LED点阵显示图案的原理。 能够在LED上显示和控制蜂鸣器的工作。 熟悉掌握KEIL软件的使用。 分析 本设计使用AT89C51做为主控制模块,利用简单的外围电路来驱动LED显示。设计分为三个模块:单片机控制模块,输出显示模块和驱动模块,单片机控制模块以单片机为核心,以软件KEIL编程实现信号输出,以驱动LED及蜂鸣器为目的。 设计 1、硬件方面 (1)、LED驱动模块、蜂鸣器模块 本模块包括LED点阵显示汉字,数码管显示数字。 蜂鸣器的控制则是利用P1.5口输出电压加在蜂鸣器引脚上,达到驱动蜂鸣器的目的,以此来控制蜂鸣器的工作。 (2)、硬件设计 实验板上设计一个16×16 LED点阵显示模块,可用于简单的汉字显示,以及一个简单的数码管。 2、软件编程 1.电路图 本软件要求实现如下要求:LED点阵显示歌曲名,数码管对数字进行计数,蜂鸣器在显示歌曲名时自动播放歌曲。 图一:实验原理图 2、调试说明 使用KEIL 软件编译调试代码,确保无误后下载到单片机里,硬件电路连接p2口LED的所有跳帽,单片机P1.5接口连接蜂鸣器,下载生成的hex文件,即可看到LED点阵上能够出现歌曲名图案并且可以看到译码管对数字计数,而后有歌曲的伴随。 3、实验结果 能够在LED点阵上清晰显示汉字图案,但是LED点阵没有达到对汉字的完美显示,即蜂鸣器工作时,LED点阵显示汉字时间并没有跟随蜂鸣器工作时单拍所需要的时间同步。经努力修改程序代码得以实现。 图二:实验结果图 总结 在此次设计中,我得到以下体会: 这次图案设计的过程让我进一步熟悉了KEIL 软件的使用。 通过这次设计,重新复习并进一步学习了51单片机的优点,明确了单片机在显示生活中的应用是十分广泛的。 让我明白任何一件事情都必须小心谨慎,稍有差错变不会得出正确的结论。就像程序代码,错一点,整个程序也就错了。所以我们应该养成严谨学习习惯。 自己以后要更加认真学习单片机相关知识,提高自己的编程能力。 附录: #include REG51.H #include intrins.h #define NOP() _nop_() // 定义空指令 ,这个函数在库 intrins.h 中 //--重定义函数变量--// #define uchar unsigned char #define uint unsigned int #define ulong unsigned long void chang(); void main1(unsigned int q); //--定义SPI要使用的 IO--// sbit MOSIO = P3^4; sbit R_CLK = P3^5; sbit S_CLK = P3^6; //---全局变量声明--// 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}; //--八--// uchar 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};

您可能关注的文档

文档评论(0)

xiaoyi2013 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档