LED显示及蜂鸣器.docx沈阳航空航天大学(单片机课程设计报告)专 业: 班 级: 设计题目: LED显示及蜂鸣器学 号: 学生姓名: 指导教师: 2015年7月3日设计题目:一、 要求了解LED点阵显示图案的原理。能够在LED上显示和控制蜂鸣器的工作。熟悉掌握KEIL软件的使用。二、 分析本设计使用AT89C51做为主控制模块,利用简单的外围电路来驱动LED显示。设计分为三个模块:单片机控制模块,输出显示模块和驱动模块,单片机控制模块以单片机为核心,以软件KEIL编程实现信号输出,以驱动LED及蜂鸣器为目的。三、 设计1、 硬件方面、LED驱动模块、蜂鸣器模块本模块包括LED点阵显示汉字,数码管显示数字。蜂鸣器的控制则是利用Pl・5口输出电压加在蜂鸣器引脚上,达到驱动蜂鸣器的目的,以此来控制蜂鸣器的工作。、硬件设计实验板上设计一个16x16LED点阵显示模块,可用于简单的汉字显示,以及一个简单的数码管。2、 软件编程电路图本软件要求实现如下耍求:LED点阵显示歌曲名,数码管对数字探测制导与控制技术进行计数,蜂鸣器在显示歌曲名吋自动播放歌曲。™口・三三二图一:实验原理图2、 调试说明使用KEIL软件编译调试代码,确保无误后下载到单片机里,硬件电路连接p2口LED的所有跳帽,,下载生成的hex文件,即可看到LED点阵上能够出现歌曲名图案并且可以看到译码管对数字计数,而后有歌曲的伴随。3、 实验结果能够在LED点阵上清晰显示汉字图案,但是LEI)点阵没有达到对汉字的完美显示,即蜂鸣器工作时,LED点阵显示汉字时间并没有跟随蜂鸣器工作时单扌H所需耍的时间同步。经努力修改程序代码得以实现。SSIdddocid图二:实验结果图四、总结在此次设计中,我得到以下体会:这次图案设计的过程让我进一步熟悉了KEIL软件的使用。通过这次设计,重新复习并进一步学习了51单片机的优点,明确了单片机在显示生活中的应用是十分广泛的。让我明白任何一件事情都必须小心谨慎,稍有差错变不会得出正确的结论。就像程序代码,错一点,整个程序也就错了。所以我们应该养成严谨学习习惯。口己以后要更加认真学习单片机相关知识,提高口己的编程能力。附录:ftinclude<>^include〈>#defineNOP()_nop_() //定义空指令,这个函数在库〈〉中//一重定义函数变量一〃#defineucharunsignedchar#defineuintunsignedint#defineulongunsigncdlongvoidchang();voidnidinl(unsignedintq);//—定义SPI要使用的10—//sbitMOSIO=P3"4;sbitR_CLK=P3"5;sbitS_CLK=P3"6;//-—全局变量声明一〃ulongcolumn;//点阵列ulongrow; //点阵行ulongdt;//点阵显示数组ucharcodetabO[]={0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x0&0x00,0x10, 0x00, 0x20, 0x00,0x40, 0x00, 0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x0&0x00,0x10,0x00, 0x20, 0x00, 0x40,0x00, 0x80, 0x00};//一八一〃ucharcodetabl[] ={0,0,12&0,12&0,64,2,64,2,64,4,64,4,32,4,32,&16,16,&32,4,32,2,64,0,0,0,0,0,0};//一月一//ucharcodetab2[] 二{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};//—桂--〃ucharcodetab3[](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,16,o,0,0,0,0};//—花一//ucharcodetab4[] =(16,4,16,4,252,63,16,4,96,0,4&9,16,5,24,3,14&1,82,1,16,1,16,1,16,1,16,33,16,63,0,0};//—n_n—//ucharcodetabl3[] ={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};〃函数声明voidHC595SendI)ata(ucharBT3,uch
LED显示及蜂鸣器 来自淘豆网m.daumloan.com转载请标明出处.