音乐提示定时器--课程设计.doc_第1页
音乐提示定时器--课程设计.doc_第2页
音乐提示定时器--课程设计.doc_第3页
音乐提示定时器--课程设计.doc_第4页
音乐提示定时器--课程设计.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

等级:湖南工程学院应用技术学院课 程 设 计课程名称 单片机原理与应用 课题名称 音乐提示定时器 专 业 自 动 化 班 级 1081 班 学 号 201013110111 姓 名 罗 超 超 指导教师 汪超、寻大勇、周向红等 2013 年 5 月 20 日湖南工程学院应用技术学院课程设计任务书课程名称: 单片机原理与应用 题 目:音乐提示定时器 专业班级: 自动化1081 学生姓名: 罗超超 学号: 201013110111指导老师: 汪超、寻大勇、周向红等 审 批: 任务书下达日期 2013年 5 月20 日设计完成日期 2013年 5 月 31日设计内容与设计要求设计内容: 以单片机为核心器件,设计一个音乐提示定时器。要求音乐提示定时器具备倒数计时、时间设置、音乐演奏等功能。设计60分钟、20分钟、10分钟、5分钟的设置开关或按键,例如20分钟,显示为“20 .00”。内定倒数计时时间为5分钟,显示为05.00(开机状态)。一旦按键后则开始倒计时,当计时为00.00则演奏一曲音乐。设计要求:1、 设计方案要合理、正确;2、 系统硬件设计及焊接制作;3、 系统软件设计及调试;4、 系统联调;5、 写出设计报告。主 要 设 计 条 件1、 mcs-51单片机实验操作台1台;2、 pc机及单片机调试软件;3、 单片机应用系统板1套; 4、 制作工具1套;5、 系统设计所需的元器件。说 明 书 格 式1. 封面2. 课程设计任务书3. 目录4. 系统总体方案设计5. 系统硬件设计6. 软件设计(包括流程图)7. 系统的安装调试说明8、 总结 9、参考文献10、附录11、课程设计成绩评分表。 进 度 安 排第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、设计及调试第二周星期一、设计及调试星期二、设计及调试星期三、总调星期四、写说明书 星期五、上午:写说明书,整理资料下午:交设计资料,答辩参 考 文 献1、微型计算机原理及应用许立梓编 机械工业出版社 20022、微型计算机接口技术及应用刘乐善编 华中理工大学出版社 2000 3、计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 20004、16位微型计算机原理接口及其应用周佩玲编 中国科学技术大学出版社2000 5、微型计算机原理与接口技术吴秀清编 中国科学技术出版社 20016、微型计算机接口技术邓亚平编 清华大学出版社 20017、单片机原理及及应用王迎旭编 机械工业出版社 20018、单片机应用程序设计技术 周航慈 著 北京航空航天大学出版社 20029、单片机实用技术问答 谢宜仁 主编 人民邮电出版社 2002目 录第1章 绪论7第2章 音乐基础知识82.1 音乐基础82.2 音频脉冲和音乐节拍的实现8第3章 总体方案设计113.1设计任务与要求113.2总体系统框图113.3 系统组成12第4章 系统硬件设计134.1控制电路设计134.2 at89c52单片机介绍144.3 发声驱动电路174.4 显示电路174.5 控制电路18第5章 软件设计195.1主程序设计195.2各子程序设计20第6章 硬件系统的制作与调试256.1 系统调试方法256.2 定时设置与时钟显示26结 论28参考文献29附录一-源程序30附录二-实验原理图42第1章 绪论现在各种各样的音乐播放器呈现在我们面前,外观越来越精美,功能越来越多,体积越来越小,重量也越来越小、价格越来越便宜。同时,随着当代手机行业的快速发展,许多手机厂商为了能够吸引广大的客户受到消费者的青睐,致此他们开始研究在手机上实现音乐和视频的播放,因此现在的手机都能够轻松的播放音乐了。这样人们就更很容易携带,随时随地都可以听,以便来缓解人们的疲劳、压抑、愉快人们的心情等,甚至有时还可以借着音乐来抒发自己的感情,传达我们对朋友的祝福。因此,在不知不觉中它成为了人们生活的一样必需品,无论到哪里、无论什么时候都可以听到我们想听的音乐。通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经放大后驱动蜂鸣器发出不同音节的声音。用软件延时来控制发音时间的长短,控制节拍。把乐谱中的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中,由程序查表得到定时常数和延时常数,分别用来控制定时器产生的脉冲频率和发出该音频脉冲的持续时间。在实际中参照单片机相关资料,就可容易的利用单片机设计出一个音乐发生器。在设计过程中人们还可考虑用多种方法进行实现,这样不但很好的发挥了人们的创新精神,还提高了动手能力、综合分析能力及专业知识运用能力。第2章 音乐基础知识2.1 音乐基础音作为一种物理现象,是由于物体振动而产生的,振动产生的声波作用于人耳,听觉系统将神经冲动传达给大脑,进而产生听觉。人耳能听到的声音频率大约在1120000hz,而音乐使用的音一般在274100hz。乐音体系中各音级的名称叫做音名,被广泛采用的是c d e f g a b (do re mi fa so la si则多用于歌唱,称为唱名)。乐音体系中音高关系的最小计量单位叫做半音,两个半音构成一个全音。乐音中有几十个高低不同的音,但是最基本只有这七个音,其他高、低音名都是在这个基础上变化出来的。乐谱表上用来表示正在进行的音的长短的符号,叫做音符。不同的音符代表不同的长度。音符有以下几种:全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符、六十四分音符。此外,还有附点音符,它就是指带附点的音符,所谓附点就是记在音符右边的小圆点,表示增加前面音符时值的一半。音持续的长短即时值,一般用拍数表示,休止符表示暂停发音。一首音乐就是由许多不同的音符组成的,而每一个音符对应着不同的频率,这样就可以利用不同的频率的组合,加以拍数对应的延时来构成不同的音乐。2.2 音频脉冲和音乐节拍的实现2.2.1 音频脉冲的产生音乐的产生需要不同频率的音频脉冲,对于单片机而言,可以利用它的定时/计数器产生这样的方波频率信号。在本设计中,单片机工作在12mhz时钟频率下,其时钟周期为1us,因此可以利用at89c52的内部定时/计数器t0,使其工作模式为1,根据对应音符的不同频率求出计数器的初值t(即是th0和tl0的值),则th0=t/256,tl0=t%256。c调各音符频率与计数值t的对照如下表2-1所示。音符频率(hz)简谱码(t)音符频率(hz)简谱码(t)低1d026263628#4fa#74064860#1d0#27763731中5so74864898低2re29463835#5s0#83164934#2re#31163928中6la88064968低3m33064021#6la#93264994低4fa34964103中7s198865030#4fa#37064185高1do104665058低5so39264260#do#110965085#5s0#41564331高2re117565110低6la44064400#2re#124565134#6la#46664463高3m131865157低7s149464524高4fa139765178中1do52364580#4fa#148065198#1d0#55464633高5so156865217中2re57864684#5so#166165235#2re#62264723高6la176065252中3m65964777#6la#186565268中4fa69864820高7si1967652832.2.2 音乐节拍的产生节拍是指音乐持续的长短,是除音符之外音乐的另一关键组成部分,在单片机系统中可以通过延时来实现。如果1/4拍的延时设为0.2s,则1拍的时间为0.8s,依次类推,可以求出其余节拍的值,节拍的延时时间与音乐的曲调值有相对应的关系,下面为不同曲调下的1/4和1/8节拍的时间设定,如下表2-2所示。表2-2 不同曲调下1/4和1/8节拍的延时表曲调值(1/8节拍)delay(ms)曲调值(1/4节拍)delay(ms)调4/462调4/4125调3/494调3/4187调2/4125调2/42502.2.3 “天空之城”曲谱67|1. 7 1 3 |7 - - 3 |6. 5 6 1 |5 - - 33| 4. 3 41. |3 - 3111|7. #4 4 7|7 - - 67| 1. 7 1 3 |7 - - 3 |6. 5 6 1 |5 - - 33| 4 17. 1 |2 31 1- |1766 7 #5 |6- - 12|3. 2 3 5 |2 - - 5 |1. 7 1 3 |3 - - 0 | 671171 2 |1. 55 - |4 3 2. 1 |3 - - 3 | 6 - 5 - |321 - - |2. 1 2 5 |3 - - 3 | 6 - 5 - |321 - - |2. 1 2 7 |6 - - 67|1. 7 1 3 |7 - - 3 |6. 5 6 1 |5 - - 33| 4 17. 1 |2 31 1- |1766 7 #5 |6- - |第3章 总体方案设计3.1设计任务与要求3.1.1设计任务设计一定时音乐发生器:(1)用单片机作为开发工具,能自定义倒计时时间、能储存乐曲;(2)能按键选择倒计时时间,每按一次加1键乐倒计时时间按照5min10min、20min、30min、60min依次倒计时;(3)用led数码管显示倒计时时间;(4)能进行仿真音乐发生器。3.1.2 设计要求(1) 方案合理、正确,系统稳定、可靠。(2) 软件设计要求尽可能精练、简短和运行可靠。(3) 硬件电路要求简单明了,以节约成本。3.2总体系统框图本系统的设计是以80c51单片机为核心,配以一定的外围电路和软件,实现比赛计分器的功能。利用了8个8段共阴级数码管显示器.其中甲乙两个分值各用3个数码管显示分值,另外两个显示分隔符。采用动态显示输出倒计时时间,本系统中使用的是独立的键盘。状态切换时候用不同的发光二极管的对应显示切换到了不同的分值。系统设计方案的硬件电路设计框图如图2-1所示。 数码管 显 示 模 块 键 盘 输 入 电 路 音乐 发声 模块图2-1 硬件电路设计3.3 系统组成系统由硬件部分和软件部分组成。硬件电路由复位按键、80c51单片机、独立键盘,8个数码管等组成。k-3/4设置时钟上/下调k-2 设定定时时间k-2 设定时钟时间k-1选择工作模式 k-4 设置时钟下调k-3 设置时钟上调k-2 设置时钟位选k-2 设置定时位选 键 盘 输 入 电 路软件部分主程序主要由键盘识别、键值处理、8位8段共阴极led显示器扫描显示子程序组成。软件设计主要有四个部分:信息输入、信息处理、显示输出。信息输入时采用键盘来实现,所以需要检测键盘有无按键的子程序;信息处理需要对用户通过键盘输入的不同信息进行辨别并执行相应的处理;显示输出采用动态输出,从而达到设计的目的。第4章 系统硬件设计4.1控制电路设计4.1.1 控制电路设置如图3-1所示,按钮与单片机的rst引脚相连,当每次按下该按钮后,系统将通过软件实现对计分实现清零功能。这里我选择的是使用电平复位。跳冒是插在1、2端口。复位电路图如下图3-1所示。图3-1 复位硬件电路图4.1.2 工作原理利用单片机at89c52直接来产生音频脉冲来驱动喇叭来完成音乐的播放 。利用了该单片机的内部定时器/计数器t0来定进行定时,同时利用定时器/计数器t1用业计数,并同时利用了该单片机的p2口的p2.0来作为音频脉冲的输出端。4.2 at89c52单片机介绍 at89c52是美国atmel公司生产的低电压,高性能cmos8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(perom)和蔼可亲256 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,与标准mcs-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(cpu)和flash存储单元,功能强大at89c52单片机适合于许多较为复杂控制应用场合,如图4-2所示。图4-2 at89c52引脚图1、主要性能参数 与mcs-51产品指令和引脚完全兼容 8k字节可重擦写flash闪速存储器 1000次擦写周期 全静态操作:0hz24mhz 三级加密程序存储器 2568字节内部ram 32个可编程i/o口线 3个16位定时/计数器 8个中断源 可编程串行uart通道低功耗空闲和掉电模式2、引脚功能 vcc:电源电压 gnd:接地 p0口:p0口是一个8位双向i/o接口,也即地址/数据总线复用口。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用。 p1口:p1是一个带内部上拉电阻的8位双向i/o口,p1的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路,对端口写“1”通过内部的上拉电阻把端口拉到高电平时,此时可作输入口。 p2口:p2是一个带有内部上拉电阻的8位双向i/o口,p2的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。在访问外部存储器时,p2口送出高8位地址数据。 p3口:p3口除了作为一般的i/o口线外,更重要的用途是它的第二功能,如下表4-1所示。表4-1 p3口的第二功能表端口引脚第二功能p3.0rxd (串行输入口)p3.1txd (串行输出口)p3.2int0 (外中断0)p3.3int1 (外中断1)p3.4t0 (定时/计数器0)p3.5t1 (定时/计数器0)p3.6wr (外部数据存储器写选通)p3.7rd (外部数据存储器读选通) rst:复位信号输入端。当振荡器工作时,rst引脚出现两个机器周期以上高电平将使单片机复位。 /prog:地址锁存有效信号输出端。当访问片外部存储器时,ale(地址锁存允许)输出脉冲用于位锁存低8地址 :程序存储允许输出端。是片外程序存储器的读选通信号。 /vpp:行内部程序存储器中的指令。flash存储器编程时,该引脚加上+12v的编程允许电源vpp,这必须是该器件是使用12v编程电压vpp。 xtal1:振荡器反相放大器的及内部时钟发生器的输入端。 xtal2:振荡器反相放大器的输出端。通过xtal1、xtal2外接晶振后,即可构成自激振荡器,驱动内部时钟发生器向主机提供时钟信号。在at89c52片内存储器中,80h-ffh共128个单元为特殊功能寄存器(sfr),其中包括b寄存器、累加器、程序状态寄存器(psw)、定时/计数器控制、中断优级控制寄存器(ip)、p3口锁存寄存器、中断允许控制寄存器(ie)、串行口控制寄存器等。它们可运用来设置片内电路的运行方式,记录电路的运行状态,mcs-51单片机对特殊功能寄存器采取与片内ram统一编址的方法,可按字节地址直接寻址。4.3 发声驱动电路主要是采用一个三极管来驱动扬声器来产生音乐。在单片机的p2口上的p2.0的端子上连接发声驱动电路,其中要先连接一个10k的电阻主要是用业限制电流过大,然后连接一个三极管来驱动扬声器以致放出的音质较好,再连接扬声器,因为用到一个扬声器所以就可以不能区分它的正负极性了,它的电路框图如4-3图所示。图4-3 发声驱动电路4.4 显示电路显示部分主要是由一个共阴极的八段数码管和八个限流电阻共同来组成的。它们接在at89c52单片机p1口上,用一组电阻都为220、330或100来对p1口输出的电压进行分流,从而来确定了八段数码管拥有正常的电压,不会因电流过大而被烧坏。这样数码管就可以正常显示所播放的歌曲的曲目数了,具体的显示器电路图如图4-4所示。图 4-4 显示电路4.5 控制电路这部分电路主要是用来控制歌曲的播放/暂停及选择。采用了三个按钮来进行控制来实现歌曲播放的上一曲、下一曲及开始/暂停的功能,同时还接一个上拉电阻,它的阻值一般是5.1k、4.7k、10k三个阻值,共同实现了音乐播放歌曲的控制。如图4-5所示。图4-5 控制电路图第5章 软件设计5.1主程序设计本系统软件设计采用单片机c语言设计,主要的语言模块有:初始化模块、按键判断模块、数码管显示模块、延时模块组成。程序设计的流程图如下图5-1所示。开始 初始化有按键 n y 时钟设置倒计时设置倒计时显示 时钟显示音乐发生器图5-1 软件设计的流程图5.2各子程序设计 5.2.1 初始化子程序sbit key1=p34;sbit key2=p35;sbit key3=p36;sbit key4=p37;sbit dula=p26;sbit wela=p27;sbit beep=p12; /将beep位定义为p1.2void init()fen=5;miao=0;num2=1;flag=0;tmod=0x11;/设定定时器的工作方式th0=(65536-50000)/256;/定时50mstl0=(65536-50000)%256;th1=(65536-50000)/256;tl1=(65536-50000)%256;ea=1;/开总中断et0=1;/開定時中斷/tr0=1;/启动定时器0et1=1;/開定時中斷tr1=0;/启动定时器0uchar code tabledu= /不带小数点的数码管段0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code tabledu1= /带小数点的数码管段0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0x39,0x5e,0x79,0x71;初始化程序是用来对各定义的变量初始化的,每一次主程序执行之前都要先执行初始化程序以保证变量的值为初值。5.2.2 延时子程序/*延时函数*/*void delay(unsigned char time) unsigned char t1; unsigned long t2; for(t1=0;t1time;t1+) / t or time for(t2=0;t20;x-)for(y=125;y0;y-);void delay(uint z) /延时1ms函数uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);这个延时程序设计是在硬件调试过程中更改数据得来的,不同的硬件延时应选择适合的延时时间。延时程序延时时间计算式:1t+1t+((2t*300 +2t)*10+2t。5.2.3 键扫描程序uchar key1_scan()/扫描选择定时的大小if(key1=0) /有按键按下delay(5); /延时一下去抖if(key1=0)/确实是有按键按下while(key1!=1);/松手有效delay(5); /松手延时去抖if(key1=1) /确实是松手了num+;return num;这里只是按键选择程序,实际上转移到各自的处理程序中就有按键的消抖处理和对应按键信号所要执行的处理程序。5.2.4 数码管显示之程序void dingshi_display(uchar fen,uchar miao)wela=1;p0=0xff;wela=0;p0=0x00;dula=1;p0=tabledufen/10;dula=0;p0=0xff; wela=1;p0=0xfe;wela=0;delay(1);wela=1;p0=0xff;wela=0;p0=0x00;dula=1;p0=tabledu1fen%10;dula=0; p0=0xff; wela=1;p0=0xfd;wela=0;delay(1);wela=1;p0=0xff;wela=0;p0=0x00;dula=1;p0=tabledumiao/10;dula=0;p0=0xff; wela=1;p0=0xfb;wela=0;delay(1);wela=1;p0=0xff;wela=0;p0=0x00;dula=1;p0=tabledumiao%10;dula=0;p0=0xff; wela=1;p0=0xf7;wela=0;delay(1);上面是时钟显示对应数码管显示函数的代码,对段选p0口和位选p2口的处理就可以实现要显示的分值。5.2.5音乐铃声之程序void song()uint i;uchar j;i=0;ex0=1;it0=1;while(fi!=0xff&flag=0)n=500000/fi;timer1_h=(65536-n)/256;timer1_l=(65536-n)%256;th1=timer1_h;/赋值定时器时间,决定频率 tl1=timer1_l; tr1=1;第6章 硬件系统的制作与调试6.1 系统调试方法(1)打开电路仿真的应用程序isis professional,在其中选择该设计所需的的单片机或是元件,然后将其放置到要画图的区域中,你可以双击该元件改变它相应的属性及参数。2、用带电气性的连接线来连接各个元件,从而构成了完整的电路图并保存在为.dsn为后缀名的文件,放在你所需的地方。3、打开程序仿真或调试应用程序keil uvision2, 首先要建一个工程,再将程序添加到该工程中,再保存。4、再进行程序的编译与连接,检查程序是否正确,如果不正确,则进行分析直到正确为止;如果正确,则可以生成.hex文件。5、点击project菜单,选择options for target项或是直接点击常用工具栏中的图标打开对话框进行设置, 则就可以生成.hex文件了。6、再打开电路仿真的应用程序isis professional,然后双击该电路图中的主的单片机,同时弹出一个对话框,在对话框中进行选择所生成的.hex文件,并还可以进行单片机的频率设置,再单击确定。仿真图见-附录二7、点击运行检查是否可以运行正确单片机语言程序是基于keil uvision2编程软件编写的汇编程序。在keil内建立工程后建立汇编文件,编写mcs-51程序,进过不断对程序的更改和调试。最后生成我们想要的hex文件,再用单片机程序下载软件stc_isp_v3.1进行对十六进制的可下载文件进行下载到单片机上,将运行结果和实验现象与预定效果进行比较,再反过来对程序进行修改以达到要求。最后经过不断的改进就可以实现设计的目的。6.2 定时设置与时钟显示下图5-1是进入系统所拍摄的硬件显示图,用它实现了定时音乐器的时间设定功能。图6-1 定时时间设置为5分钟时的音乐效果图图6-2 正在倒计时工作的音乐器图6-3 时钟显示为19:54:45结 论通过这次比较完整的单片机音乐发生器的设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识,同时也提高我查阅文献资料、设计规范以及电脑画图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,并且意志品质力。这是我们都希望看到的也正是我们进行毕业设计的目的所在。在此次设计中我学到了很多东西,包括对单片机的更进一步的认识、一些关于音乐的基础知识的了解、汇编语言的应用的学习等等。首先,在这次设计中,通过上网或、图书馆或是上书店翻阅相关的单片机资料,同时也在帮同学查看和解决一些问题(毕业设计中的硬件问题)时,更加清楚地认识了单片机,让在我原来的硬件基础知识的基础上又认识了解几款单片机(at89s52)及它的原理。其次,就是在此次设计中关系到了音乐的一些基础知识,音乐是由不同的音符组成,不同的音符对应着不同的频率产生,产生有规律的频率乐音。了解音乐的产生,音乐体系中中音高关系的最小计量单位及音符的定义,同时也知道了音符又分为了以下几种:全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符、六十四分符。最后,让我感受最大的是将理论和实践相结是要解决很多问题经过一定的挫折才能很好的完成任务,因此在其过程中考虑问题时一定要谨慎、全面,出现问题时不应该气馁,要沉着思考或是向同学、老师请求帮忙。 感谢授我业、解我惑的老师。没有你们的谆谆教导,我就不可能具备扎实的道路与桥梁工程的专业知识。参考文献1 樊明龙、任丽静.单片机原理与应用.化学工业出版社,20012 谢嘉奎.电子线路.高等教育出版社,20023 马家辰、孙玉德.mcs-51单片机原理及接口技术. 哈尔滨工业大学出版社,20014 李华.mcs-51单片机接口技术与运用.北京航天航空大学出版社,20035 胡汉才.单片机接口技术与运用.清华大学出版社,20016 何立民.单片机高级教程.北京航空航天大学出版社,2001 7 赵晓安.mcs-51单片机原理及应用.天津大学出版社,2001.3 8 李广第.单片机基础.北京航空航天大学出版社,1999 9 徐惠民、安德宁.单片微型计算机原理接口与应用. 北京邮电大学出版社,1996 10 夏继强.单片机实验与实践教程.北京航空航天大学出版社,2001 附录一-源程序 #include #define uint unsigned int#define uchar unsigned charsbit key1=p34;sbit key2=p35;sbit key3=p36;sbit key4=p37;sbit dula=p26;sbit wela=p27;sbit beep=p12; /将beep位定义为p3.7uint n; /储存定时器的定时常数uint timer1_h,timer1_l;uchar hour,min,sec,num,fen,t2;uchar fen,miao,num,num1,flag,num2,t1,date;uchar key2_scan();uchar code tabledu= /不带小数点的数码管段0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code tabledu1= /带小数点的数码管段0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0x39,0x5e,0x79,0x71;/以下是c调低音的音频宏定义#define l1 262 /将l1宏定义为低音1的频率262hz时间是1/262=3826/2 us 取半周期#define l2 286 /将l2宏定义为低音2的频率286hz#define l3 311 /将l3宏定义为低音3的频率311hz#define l4 349 /将l4宏定义为低音4的频率349hz#define l5 392 /将l5宏定义为低音5的频率392hz#define l6 440 /将l_a宏定义为低音6的频率440hz#define l7 494 /将l7宏定义为低音7的频率494hz/以下是c调中音的音频宏定义#define z1 523 /将z1宏定义为中音1的频率523hz#define z2 587 /将z2宏定义为中音2的频率587hz#define z3 659 /将z3宏定义为中音3的频率659hz#define z4 698 /将z4宏定义为中音4的频率698hz#define z5 784 /将z5宏定义为中音5的频率784hz#define z6 880 /将z6宏定义为中音6的频率880hz#define z7 987 /将z7宏定义为中音7的频率523h /以下是c调高音的音频宏定义#define h1 1046 /将h1宏定义为高音1的频率1046hz#define h2 1174 /将h2宏定义为高音2的频率1174hz#define h3 1318 /将h3宏定义为高音3的频率1318hz#define h4 1396 /将h4宏定义为高音4的频率1396hz#define h5 1567 /将h5宏定义为高音5的频率1567hz#define h6 1760 /将h6宏定义为高音6的频率1760hz#define h7 1975 /将h7宏定义为高音7的频率1975hzuint code f= /音符表/*/ z6,z7,/*/h1,z7,h1,h3,/*/z7,z3,z3,/*/z6,z5,z6,h1,/*/z5,0x00,z3,z3,/*/z4,z3,z4,h1,/*/ /*/z3,0x00,h1,h1,h1,/*/z7,z4,z4,z7,/*/z7,0,z6,z7,/*/h1,z7,h1,h3,/*/z7,0,z3,z3,/*/z6,z5,z6,h1,/*/ /*/z5,0x00,z3,/*/z4,h1,z7,z7,h1,/*/h2,h2,h3,h1,0,/*/h1,z7,z6,z6,z7,z5,/*/z6,0,h1,h2,/*/h3,h2,h3,h5,/*/ /*/h2,0,z5,z5,/*/h1,z7,h1,z3,/*/h3,0,0,/*/z6,z7,h1,z7,h2,h2,/*/h1,z5,z5,0,/*/h4,h3,h2,h1,/*/ /*/h3,/*/h3,0,h3,/*/h6,h5,h5,/*/h3,h2,h1,0,h1,/*/h2,h1,h2,h2,h5,/*/h3,0,h3,/*/ /*/h6,h5,/*/h3,h2,h1,0,h1,/*/h2,h1,h2,h2,z7,/*/z6,0,z6,z7,/*/z6,/*/0xff;uint code jp=/*/ 2,2,/*/6,2,4,4,/*/12,2,2,/*/6,2,4,4,/*/8,4,2,2,/*/6,2,2,6,/*/ /*/8,2,2,2,2,/*/6,2,4,4,/*/8,4,2,2,/*/6,2,4,4,/*/8,4,2,2,/*/6,2,4,4,/*/ /*/12,2,2,/*/4,2,2,4,4,/*/2,2,2,4,4,/*/4,2,2,2,4,4,/*/8,4,2,2,/*/6,2,4,4,/*/ /*/8,2,4,4,/*/2,2,4,4,/*/8,4,4,/*/2,2,4,4,2,2,/*/6,2,4,4,/*/4,4,4,4,/*/ /*/16,/*/8,4,4,/*/8,4,4,/*/2,2,4,2,2,/*/4,2,2,2,4,/*/8,4,4,/*/ /*/8,8,/*/2,2,8,2,2,/*/4,2,2,2,4,/*/8,4,2,2,/*/16,;/*延时函数*/*void delay(unsigned char time) unsigned char t1; unsigned long t2; for(t1=0;t1time;t1+) / t or time for(t2=0;t20;x-)for(y=125;y0;y-);void delay(uint z) /延时1ms的函数uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void dingshi_display(uchar fen,uchar miao)wela=1;p0=0xff;wela=0;p0=0x00;dula=1;p0=tabledufen/10;dula=0;p0=0xff; wela=1;p0=0xfe;wela=0;delay(1);wela=1;p0=0xff;wela=0;p0=0x00;dula=1;p0=tabledu1fen%10;dula=0; p0=0xff; wela=1;p0=0xfd;wela=0;delay(1);wela=1;p0=0xff;wela=0;p0=0x00;dula=1;p0=tabledumiao/10;dula=0;p0=0xff; wela=1;p0=0xfb;wela=0;delay(1);wela=1;p0=0xff;wela=0;p0=0x00;dula=1;p0=tabledumiao%10;dula=0;p0=0xff; wela=1;p0=0xf7;wela=0;delay(1);void init()dula=0;wela=0;hour=0;min=0;sec=0;fen=5;miao=0;num2=1;flag=0;tmod=0x11;/设定定时器的工作方式th0=(65536-50000)/256;/定时50mstl0=(65536-50000)%256;th1=(65536-50000)/256;tl1=(65536-50000)%256;ea=1;/开总中断et0=1;/開定時中斷/tr0=1;/启动定时器0et1=1;/開定時中斷tr1=0;/启动定时器0void time_1(void) interrupt 3 tr1=0; beep=beep; th1=timer1_h; tl1=timer1_l; tr1=1;void time0() interrupt 1th0=(65536-50000)/256;tl0=(65536-50000)%256;t1+;if(t1=20

温馨提示

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

评论

0/150

提交评论