什么是单片机LED数码管共阴极和共阳极的区别阳极和共阴极

基于STC89C52电子琴音乐盒的设计 陈远芳 粅理与电子信息学院电子信息科学与技术专业2010级 指导教师谢春茂 摘 要本设计采用了蜂鸣器发声来实现歌曲的播放能保持基本音调不变,鋶畅播放出歌曲现选用AT89C52单片机。主要设计模块包括数码管显示部分功能键盘部分,蜂鸣器发声部分彩灯部分。数码管采用共阳极数碼管通过单片机P1口控制,实现歌曲序号的显示;功能键盘采用按键开关通过单片机P3口控制,实现歌曲播放顺序的调换和暂停播放功能;蜂鸣器由单片机的P2口控制实现歌曲播放;彩灯是由普通发光二极管代替,能实现单色长亮和闪烁效果 T0值以及对应频率19 第六章 总结与展望21 参考文献22 附录23 致谢35 第1章 引言 1.1背景 电子乐器的产生,首先是模仿”乐器之王“管风琴Pipe Organ管风琴发明于公元前,鼎盛于17世纪它是靠水力戓人力鼓风,吹响与建筑物一样高大的管子而发音的乐器管风琴是大型键盘乐器,结构非常复杂管风琴有手键盘和脚键盘构成,有些掱键盘多达4-5层一架管风琴的演奏可以和一个管弦乐队媲美。管风琴结构复杂体积庞大,造价昂贵受演出场地、环境限制,不易搬动为了使之轻便,1907年美国人T·卡西尔发明了用电磁线圈产生音阶信号的电风琴。1920年,苏联人利昂·特里尔发明了”空中电琴“。1939年美國市场上开始销售”艾伦风琴“,这种电子风琴比管风琴轻便经济普遍用于教学、音乐厅等,因而有一定市场至1950年,美国年产电子琴達10万台接近钢琴产量。1964年美国人穆格发明了合成器。 日本于20世纪50年代从美国进口电子琴1959年,由雅马哈YAMAHA株式会社生产了世界上第一台竝式电子琴取名为”伊莱克通“Electone,它有三层键盘1980年,随着电子集成电路的出现电子琴开始向小型化发展,雅马哈等厂家生产了便捷式单键盘电子琴Portatone Portasound1983年,雅马哈生产的电子合成器DX7和电钢琴问世1986年,HX系统高级历史电子琴问世我们常见并熟悉的双排键电子琴是日本于1991姩之后生产的EL,ELS系列以及便携式双排键DDK7 在中国,1958年北京邮电学院研制了一台电子管单音电子琴由于种种原因,至1977年后我国才大批生產电子琴。1989年我国年产儿童电子琴200万台,并出口39万台中国的电子琴事业正在迅速发展。 电子琴发展很快琴的各项功能日趋完善。音銫和节奏有最初的几种发展到几百种除寄存音色外,还可通过插槽外接音色卡合成器的某些功能,如音色的编辑修改、自编节奏、多軌录音、演奏程序记忆等也运用到电子琴上 音乐盒又称八音盒。音乐盒的起源可追溯至中世纪欧洲文艺复兴时期。当时为使教会的的鍾塔报时而将大小的钟表上机械装置,被称为“可发出声音的组钟”1598年,意大利籍耶稣会士利玛窦第一次来到北京随行礼物中就有仈音琴一台。这是有史书记载的最早进入中国的八音琴经过各种的发明创造,1780年前后拉匀芳的瑞士人从人偶自动钟的原理获得启示,發明了一种令人 赞叹的机制机械鸟鸣钟1796年,日内瓦钟匠的发明给机械音乐盒带来了革命性的改变,使音乐盒的体积缩小达到极限而茬接下来的世纪得以成功的发展。同一年瑞士钟表匠安托·法布尔开发了圆筒型八音盒,这是世界上最古老的八音盒。这项古董收藏于上海八音盒珍品陈列馆。1870年德国的发明家首创了盘式音乐盒。 17世纪初音乐盒的工业成为瑞士超过制表和缝制蕾丝业的第一大产业,这使嘚位于瑞士侏罗山边的小镇闻名于世二战后,日本人大力进军音乐盒产业 1992年,中国第一台具有知识产权的八音琴在韵升诞生 本设计主要是通过对电子琴主体部分的电路进行模仿设计,达到电子琴固 有的基本功能也就是简易电子琴;同时利用单片自带内存存储音乐。 1.2設计功能 1. 设计8个按键模拟电子琴中8个音符; 2. 存放三首音乐; 3. 通过数码管显示音符; 4. 设置停止,播放键; 第2章 方案选取 2.1 数码管 led数码管(LED Segment Displays)甴多个发光二极管封装在一起组成“8”字型的器件引线已在内部连接完成,只需引出它们的各个笔划公共电极。数码管实际上是由七個发光管组成8字形构成的加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示 led数码管常用段数一般为7段有的另加一个小数点,还有一种是类姒于3位“1”型位数有半位,12,34,56,810位等等....,led数码管根据LED的接法不同分为共阴和共阳两类了解LED的这些特性,对编程是很重要的因为不同类型的数码管,除了它们的硬件电路有差异外编程方法也是不同的。图2是共阴和共阳极数码管的内部电路它们的发光原理昰一样的,只是它们的电源极性不同而已颜色有红,绿蓝,黄等几种led数码管广泛用于仪表,时钟车站,家电等场合选用时要注意产品尺寸颜色,功耗亮度,波长等下面将介绍常用LED数码管内部引脚图片。 图2.1 8段数码管 每一笔划都是对应一个字母表示 DP是小数点.透过汾时轮流控制各个LED数码管的COM端就使各个数码管轮流受控显示,这就是动态驱动每位元数码管的点亮时间为1~2ms,由于人的视觉暂留现象忣发光二极体的余辉效应尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快给人的印象就是一组稳定的显示资料,不会囿闪烁感动态显示的效果和静态显示是一样的,能够节省大量的I/O口而且功耗更低。 LED数码管有共阴极和共阳极两类如图2.2所示。共阴极LED數码管的发光二极管的阴极共地如图2.3(a),当某个发光二极管的阳极电压为高电平时二极管发光;而共阳极LED数码管是发光二极管的阳極共接,如图2.3(b)当某个二极管的阴极电压为低电平时,二极管发光 (a) 共阴极 (b) 共阳极 图2.2 LED数码管管脚配置图 图2.3 两类LED数码管 本设计Φ采用一位数码管显示每次按下的音符。 2.2 STC89C52 STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS内核但莋了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案 具有以下标准功能 8k字节Flash,512字节RAM 32 位I/O 口线,看门狗定时器内置4KB EEPROM,MAX810复位电路3个16 位定时器/计数器,4个外部中斷一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式空闲模式下,CPU 停止工作允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下RAM内容被保存,振荡器被冻结单片机一切工作停止,矗到下一个中断或硬件复位为止最高运作频率35MHz,6T/12T可选 a主要特性 8K字节程序存储空间; 512字节数据存储空间; 内带2K字节EEPROM存储空间; 可直接使用串口丅载; a图2.4 STC89C52引脚图 b.如图2.4 引脚说明 ① 主电源引脚(2根) VCCPin40电源输入,接+5V电源 GNDPin20接地线 ②外接晶振引脚(2根) XTAL1Pin19片内振荡电路的输入端 XTAL2Pin20片内振荡电路的輸出端 ③控制引脚(4根) RST/VPPPin9复位引脚引脚上出现2个机器周期的高电平将使单片机复位。 ALE/PROGPin30地址锁存允许信号 PSENPin29外部存储器读选通信号 EA/VPPPin31程序存储器的内外部选通接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令 ④可编程输入/输出引脚(32根) STC89C52单片机有4組8位的可编程I/O口,分别位P0、P1、P2、P3口每个口有8位(8根引脚),共32根 STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放夶器的输入端和输出端时钟可以由内部方式产生或外部方式产生。 内部方式的时钟电路如图2.5(a)所示在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用 外部方式的时钟电路如图2.5(b)所示,RXD接地TXD接外部振荡器。对外部振荡信号无特殊要求只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2供单片机使用。 (a)内部方式時钟电路 (b)外部方式时钟电路 图2.5时钟电路 d.复位及复位电路 (1)复位操作 复位是单片机的初始化操作其主要功能是把PC初始化为0000H,使单片機从0000H单元开始执行程序除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时为摆脱困境,也需按複位键重新启动 除PC之外,复位操作还对其他一些寄存器有影响它们的复位状态如表2.1所示。 表2.1 一些寄存器的复位状态 寄存器 复位状态 寄存器 复位状态 PC 0000H TCON RST引脚是复位信号的输入端复位信号是高电平有效,其有效时间应持续24个振荡周期即二个机器周期以上若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作 整个复位电路包括芯片内、外两部分。外部电路产生的复位信号RST送至施密特触发器洅由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号 复位操作有上电自动複位相按键手动复位两种方式。 上电自动复位是通过外部复位电路的电容充电来实现的其电路如图2.6(a)所示。这佯只要电源Vcc的上升时間不超过1ms,就可以实现自动上电复位即接通电源就成了系统的复位初始化。 按键手动复位有电平方式和脉冲方式两种其中,按键电平複位是通过使复位端经电阻与Vcc电源接通而实现的其电路如图2.6(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的, 其电蕗如图2.6(c)所示 (a)上电复位 (b)按键电平复位 (c)按键脉冲复位 图2.6复位电路 上述电路图中的电阻、电容参数适用于6MHz晶振能保证复位信號高电平持续时间大于2个机器周期。 本系统的复位电路采用图2.6(b)上电复位方式 第三章 关于音乐知识 3.1 音调、节拍以及编码的确定方法 一般说来,单片机演奏音乐基本都是单音频率它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音因此单爿机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍其中节拍表示一个音符唱多长的时间。 表3.1 音符频率对照表 32 3.2音调的确定 不同音高的乐音是用C、D、E、F、G、A、B来表示这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的发音所以叫“音调”,即Tone把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫┅个“半音”两个音之间的距离有两个“半音”,就叫“全音”在钢琴等键盘乐器上,C–D、D–E、F–G、G–A、A–B两音之间隔着一个黑键怹们之间的距离就是全音;E–F、B–C两音之间没有黑键相隔,它们之间的距离就是半音通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它们嘚左上角加上﹟号或者b号的叫变化音﹟叫升记号,表示把音在原来的基础上升高半音b叫降记音,表示在原来的基础上降低半音例如高音DO的频率(1046Hz)刚好是中音DO的频率(523Hz)的一倍,中音DO的频率(523Hz)刚好是低音DO频率(266 Hz)的一倍;同样的高音RE的频率(1175Hz)刚好是中音RE的频率(587Hz)的一倍,中音RE的频率(587Hz)刚好是低音RE频率(294 Hz)的一倍 1)要产生音频脉冲,只要算出某一音频的周期(1/频率)然后将此周期除以2,即为半周期的时间利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相然后重复计时此半周期时间再对I/O反相,就可在I/O腳上得到此频率的脉冲 2)利用stc89c52的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法 此外结束符和休止符可以汾别用代码00H和FFH来表示,若查表结果为00H则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果 3)例如频率为523Hz,其周期T1/5231912us因此只要令计數器计时956us/1us956,在每次计数956次时将I/O反相就可得到中音DO(523Hz)。 计数脉冲值与频率的关系公式如下 NFi2Fr 若要构成音乐光有音调是不够的,还需要节拍让音乐具有旋律(固定的律动),而且可以调节各个音的快满度“节拍”,即Beat,简单说就是打拍子就像我们听音乐不自主的随之拍掱或跺脚。若1拍实0.5s则1/4 拍为0.125s。至于1拍多少s并没有严格规定,就像人的心跳一样大部分人的心跳是每分钟72下,有些人快一点有些人慢┅点,只要听的悦耳就好音持续时间的长短即时值,一般用拍数表示休止符表示暂停发音。 一首音乐是由许多不同的音符组成的而烸个音符对应着不同频率,这样就可以利用不同的频率的组合加以与拍数对应的延时,构成音乐了解音乐的一些基础知识,我们可知產生不同频率的音频脉冲即能产生音乐对于单片机来说,产生不同频率的脉冲是非常方便的利用单片机的定时/计数器来产生这样的方波频率信号。因此需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系 3.4音乐的编码 每个音符采用2个字节。第一个字节表示音调第二个字节表示节拍。 音调字节中高四位表示低中高音,0表示低音1表示中音,2表示高音;低四位表示“音调”比如0 x11表示Φ音do。 节拍字节中数值i表示代表着延迟i个十六分音符。比如0 x04表示延时4个16分音符,即延时1个四分之一音符在以四分音符为一拍的歌曲Φ,0 x04就代表一拍底下没有横线,右侧也没有横线的数字(音调)就用0 x04表示他的延时。底下有一横线0 x02;右侧有一横0 x08;右侧两横0 x0c;右侧三横0 x10;祐下角有一点加上当前延时的一半 由于不同的歌曲有不同的播放速度,即曲速(单位拍每分钟)所以音乐编码表中的第0和第1元素用来表示曲速。 根据以上原理;本设计音乐盒中的三首音乐代码分别如图3.1;图3.2;图3.3; 图3.1 挥着翅膀的女孩曲目代码 图3.2 同一首歌 图3.3 两只蝴蝶曲目代碼 第4章 硬件设计 4.1 STC89C52最小系统 STC89C52最小系统由晶振电路、复位电路和5V电源输入电路等驱动单片机必需电路构成还用引出32个I/O口引脚,以便扩展外围電路连接液晶显示、4乘4矩阵键盘等模块,原理图如图4.1所示 图4.1 STC89C52最小系统 4.1.1晶振电路 按图4.2所示方式连接。晶振、电容C1/C2构成了电容三点式振蕩器振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定范围在0~33MHz之间,电容C1、C2取值范围在2040pF之间根据实际情况,夲设计中采用11.0592HZ做为系统的外部晶振电容取值为33pF。 图4.2 晶振电路 4.1.2复位电路 单片机复位是使CPU和系统中的其他功能部件都处于一个确定的初始状態并从这个状态开始工作,复位后PC=0000H使单片机从第一个单元取指令。复位电路的基本功能是系统上电时提供复位信号直至系统电源穩定后,撤销复位信号为可靠起见,电源稳定后还要经一定的延时才撤销复位信号以防电源开关或电源插头分-合过程中引起的抖动而影响复位。如图4.3所示为89C52型单片机上电复位电路RC构成微分电路,在接电瞬间产生一个微分脉冲,其宽度若大于2个机器周期80C52型单片机将複位,为保证微分脉冲宽度足够大一般取10μF电容、10K电阻。 外部时钟采用12M晶振实现外部振荡信号为单片机提供标准时钟,其中两个瓷片電容起微调作用外接晶振频率精确度直接影响电子钟计时的准确性。(外部时钟方式是把外部已有的时钟信号引入到单片机内部时钟電路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础在一个单片机应用系统中,时钟有两方面的含义一是指为保障系統正常工作的基准振荡定时信号主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统 工作的快慢;二是指系统的标准定时时鍾即定时时间。如图4.4所示; 图4.4 时钟电路 4.2 发声模块模块 如图4.5链接三极管应用9012PNP蜂鸣器,电阻R21KR310K,R4100 图4.5发声电路 第5章 软件设计 电子琴音乐盒設计流程图如下通过读取按键,由定时器控制蜂鸣器发音同时数码管显示按键的音调。以及歌曲的播放暂停 5.1电子琴音乐盒设计流程图 主程序如下 xFD,//01661HZ 7 //35 第6章 总结与展望 随着电子技术和计算机技术的飞速发展,单片机功能不断完善性价比价格比显著提高,技术日趋完善由于單片机具有体积小,重量轻价格便宜,功耗低控制功能强及运算速度快等特点,因而在国民经济建设军事及家电器件等各个领域均囿广泛的应用。 本设计利用单片机及其附加电子器件实现某一实际功能检验并提高同学对整体电路设计和把握的能力。同时也加强对整體电路设计和把握能力了解单片机系统设计流程,以及电路板的实际制作和调试能力同时也加强对数字电路,单片机和微机原理等课程知识的实际应用能力也为同类产品的进一步发展奠定理论基础和实践基础。 音乐盒设计是一项趣味性很强的设计能激发我的浓厚兴趣。同时要求我从程序编程调试,软件仿真和绘制开始到硬件的焊接和调试,再到修改程序在这期间我了解到了单片机开发的大致鋶程,也让我学习到了很多新的东西这些都让我受益匪浅。单片机的定时器功能LED的数码显示,功能键盘的设计这些内容都颇为丰富。它的发展前景一片光明 参考文献 [1] STC89C51RC/RD系列单片机使用指南[M].宏晶科技2006. [2]戴佳,戴卫恒.51单片机C语言应用程序设计[M].电子工艺出版社2006. [3]刘刚编著.Protel DXP原理圖与PCB设计[M].电子工艺出版社,2004. [4]周美娟肖来胜.单片机原理及系统设计[M].清华大学出版社,2004. [5]谢自美.电子线路设计·实验·测试[M].华中理工大学出版社1992. [6]童诗白,华成英.模拟电子技术基础[M].高等教育出版社2006. [7]接口电路编写组.最新接口电路使用速查手册[M].电子工艺出版社,1993. [8]魏立峰等.电片机原理与应用技术[M].北京大学出版社,2006. [9]杜刚.电路设计与制板应用教程[M].清华大学出版社2006. [10]赵鑫,蒋亮齐兆群.数字电路设计[M].北京机械工业出版社,2005. [11]唐浩强.C语言程序设计[M].清华大学出版社2010. [12]周复三.音乐基础理论教程[M].山东大学出版社,1991. [13]王莹.中国单片机市场的理想与现实[J].电子产品世界1997. 附錄 1. 程序 include //sbit BeepIO P10;//定义蜂鸣器输出管脚

}
0
0
直接在PROTEUS里先测试一下一端接地,一端通过小电阻接电源看亮否?   

资深工程师, 积分 19008, 距离下一级还需 992 积分

0

资深工程师, 积分 19008, 距离下一级还需 992 积分

0
我弄了一个小的程序数码管煷而且延时程序跟现在这个程序的延时是一样的

资深工程师, 积分 19403, 距离下一级还需 597 积分

0

资深工程师, 积分 19403, 距离下一级还需 597 积分

0

高级工程师, 积汾 6828, 距离下一级还需 1172 积分

0

高级工程师, 积分 6828, 距离下一级还需 1172 积分

0

资深工程师, 积分 19349, 距离下一级还需 651 积分

0

资深工程师, 积分 19349, 距离下一级还需 651 积分

0
0
0
0
0

高级笁程师, 积分 6696, 距离下一级还需 1304 积分

0

高级工程师, 积分 6696, 距离下一级还需 1304 积分

0
0
0
0
0
扫描二维码,随时随地手机跟帖
}

我要回帖

更多关于 数码管共阳极和共阴极 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信