proteus课程设计报告邢运尧.doc

上传人:飞****2 文档编号:51934745 上传时间:2022-10-20 格式:DOC 页数:15 大小:761.50KB
返回 下载 相关 举报
proteus课程设计报告邢运尧.doc_第1页
第1页 / 共15页
proteus课程设计报告邢运尧.doc_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《proteus课程设计报告邢运尧.doc》由会员分享,可在线阅读,更多相关《proteus课程设计报告邢运尧.doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 成绩课程论文题 目: 基于单片机的按键选播电子音乐设计 学生姓名: 邢运尧 学生学号: 系 别: 电气信息工程学院 专 业: 电子信息科学与技术 年 级: 10(2) 任课教师: 沈晓波 电气信息工程学院制2012年12月按键选播电子音乐学生:邢运尧指导老师:沈晓波电气信息工程学院;10电子信息科学与技术目录第1章 单片机简介21.1 单片机系统功能简介21.2 设计意义21.3 设计目的2第2章 系统硬件介绍32.1 AT89C51单片机简介32.2 数码管7SEG-COM-AN -BLUE介绍(7段数码管)42.2.1 七段数码管概述42.2.2 七段数码管应用42.2.3七段数码管驱动

2、方式42.3 蜂鸣器SOUNDER介绍52.3.1.蜂鸣器的分类52.3.2 压电式蜂鸣器5第3章 单片机系统硬件电路设计53.1 电路图53.2元器件清单63.3 流程图设计7第4章 系统调试84.1 在PROTEUS中仿真84.2 PCB制作8附录1 程序设计9附录2 摘要和关键词13附录3 参考文献13前言单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微

3、型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。 由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 INTEL的Z80是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上发展出了MCS51

4、系列单片机系统。因为简单可靠而性能不错获得了很大的好评。尽管2000年以后ARM已经发展出了32位的主频超过300M的高端单片机,直到目前基于8031的单片机还在广泛的使用。在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。 汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量

5、不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。第1章 单片机简介1.1 单片机系统功能简介本例单片机内置了五段音乐,按下P3.2的K1键时将触发INT0中断,中断控制切换播放另一端音乐。1.2 设计意义单片机的设计是具有高度现实意义的,单片机极高的可靠性,微型性和智能性,单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活中。通过此次基于单片机的按键选播电子音乐的设计,我们可以更清楚详细的了解单片机程序设计的基本指令功能,编程步骤和技巧来讲述单片机编程,并对MCS-51单片机的结构和原理进行讲述,以及基于单片机开发应用的相关芯片的工作原理,并且可以再将

6、来的学习和工作中加以应用。1.3 设计目的随着单片机在各个领域的广泛应用,许多用单片机控制的电子音乐器材也随机产生,此次用AT89C51单片机设计按键选播电子音乐系统,通过按键来改变播放音乐,本次设计共采用5段不同的歌曲,通过本次基于C51系列的按键选播电子音乐的系统设计,可以了解,熟悉又关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧。第2章 系统硬件介绍2.1 AT89C51单片机简介 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memor

7、y)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案主要特性:与MCS-51 兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2.2 数码管7SEG-

8、COM-AN -BLUE介绍(7段数码管)2.2.1 七段数码管概述七段数码管是数码管的一种是半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个发光二极管单元,其基本单元是发光二极管。1 2.2.2 七段数码管应用数码管是一类价格便宜 使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数的器件。 在电器特别是家电领域应用极为广泛,如显示屏、空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。 2.2.3七段数码管驱动方式直流驱动是指每个数码管的每一个段码都由一个

9、单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。优点是编程简单,显示亮度高,缺点是占用I/O端口多。 动态显示驱动是将所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。2

10、.3 蜂鸣器SOUNDER介绍2.3.1.蜂鸣器的分类 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 2.蜂鸣器的电路图形符号 蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、 “LB”、“JD”等)表示。 2.3.2 压电式蜂鸣器 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及 共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。 多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V 直流工作电压), 多谐振荡器起振,输出 1.52.5kHZ 的音频信号,阻抗匹配器推动压电蜂鸣片发声。 压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银

11、电 极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。 2.电磁式蜂鸣器 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等 组成。 接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。 振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。第3章 单片机系统硬件电路设计3.1 电路图图表 13.2元器件清单单片机AT89C51瓷片电容CAP22pF电解电容CAP-ELEC电阻RES按钮BUTTON三极管2N2905数码管7SEG-COM-AN-BLUE蜂鸣器SOUNDER晶振CRYSTAL 11.0592MHz排阻RESPACK-83.3 流程图设计:第4章 系统

12、调试4.1 在PROTEUS中仿真4.1.1. 在Keil中编译程序;4.1.2 在Proteus中绘制硬件图;4.1.3 将在Keil中编译好的HEX文件加载到Proteus中;4.1.4 点运行键观察是否播放音乐,如果播放,按K1观察音乐是否切换。图表 24.2 PCB制作在Proteus ARES中做PCB。图表 3图表 4附录1 程序设计#include#include#define uchar unsigned char#define uint unsigned intsbit K1=P32;sbit beep=P37;uchar i;uchar song_Index=0,Tone_

13、Index=0;uchar*song_Tone,*song_Time;const LED_tab=0xC0,0xF9,0xA4,0xB0,0x99,0x92, 0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xBF,0xFF;uint code Tone_tab= 62018,62401,62491,62895,63184,63441,63506,63773,63965,64137,64215,64360,64488,64603,64654,64751,64836,64876,64948,65012,65067,65535;uchar co

14、de song1_Tone= 11,9,11,14,12,14,12,11,11,7,8,9,8,7,8,11,9,11,14,13,12,14,11,11,7,8,9,6,7,12,14,14,13,12,13,14,12,13,14,12,12,11,10,7,8,11,9,11,14,13,12,14,11,11,8,9,10,6,7,0xff;uchar code song1_Time= 4,2,2,8,4,2,2,8,4,2,2,4,2,2,12,4,2,2,4,2,4,4,8,4,2,2,4,2,12,4,4,8,4,2,2,8,2,2,2,2,2,2,2,2,16,4,2,2,4

15、,2,4,4,8,4,2,2,4,2,12,0xff;uchar code song2_Tone= 7,8,9,7,7,8,9,7,9,10,11,9,10,11,11,12,11,10,9,7,11,12,11,10,9,7,7,4,7,7,4,7,0xff;uchar code song2_Time=4,4,4,4,4,4,4,4,4,4,8,4,4,8, 2,2,2,2,4,4,2,2,2,2,4,4,4,4,8,4,4,8,0xff; uchar code song3_Tone= 7,7,7,8,9,9,9,9,10,11,12,12,11,10,9,11,11,8,9,7,7,7,7

16、,8,11,9,9,9,10,11,12,12,11,10,9,11,11,8,9,7,0xff;uchar code song3_Time= 2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,5,0Xff;uchar code song4_Tone=5,9,9,9,9,8,7,8,7,6,5,12,12,12,12,12,11, 2,11,11,10,9,9,12,12,11,9,8,7,8,7,6,5,9,2,7,7,6,5,9,8,7,6,4,12,0xff;uchar code s

17、ong4_Time= 2,2,2,2,2,2,2,2,2,2,8,2,2,2,2,4,2,2,2,2,2,8,2,2,2,2,4,2,2,2,2,2,4,2,2,2,2,2,4,2,2,2,2,2,8,0xff;uchar code song5_Tone= 11,12,11,9,8,9,11,9,8,7,9,11,7,9,8,11,12,11,9,8,9,11,9,8,7,8,7,8,9,7,0xff;uchar code song5_Time= 4,4,8,4,4,8,4,4,4,4,2,2,2,2,8,4,4,8,4,4,8,4,4,4,4,2,2,2,2,8,0xff;void dela

18、yms(uint ms) uchar a; while(ms-) for(a=230;a0;a-); void int0() interrupt 0 delayms(100); if(INT0=0) TR0=0; song_Index+; if(song_Index=1) song_Tone=song2_Tone; song_Time=song2_Time; if(song_Index=2) song_Tone=song3_Tone; song_Time=song3_Time;if(song_Index=3) song_Tone=song4_Tone; song_Time=song4_Time

19、; if(song_Index=4) song_Tone=song5_Tone; song_Time=song5_Time; if(song_Index=5) song_Tone=song1_Tone; song_Time=song1_Time; song_Index=0; TR0=1; i=0; void Timer0() interrupt 1 TH0=Tone_tabTone_Index/256; TL0=Tone_tabTone_Index%256; beep=beep; void display(void) P0=LED_tabsong_Index; void int_init(vo

20、id) TMOD=0x01; ET0=1; EX0=1; IT0=1; EA=1; TR0=0; void main (void) int_init(); song_Tone=song1_Tone; song_Time=song1_Time; while(1) display(); Tone_Index=song_Tonei; if(Tone_Index=0xFF) i=0; TR0=0; TR0=1; delayms(song_TimeTone_Index*60); TR0=0; i+; 附录2 摘要和关键词摘要本实验是按键选播电子音乐,以AT89C51为操作核心,以一个数码管来显示音乐序号,通过按键来选择音乐。关键词:proteus、AT89C51单片机、电子音乐附录3 参考文献1 谢维成、杨加国.单片机原理与应用及C51程序设计M.北京:清华大学出版社,20092陈忠平.基于Proteus的51系列单片机设计与仿真M.北京:电子工业出版社,20123邱关源.电路M.北京:高等教育出版社,20064康华光.电子技术基础 数字部分M.北京:高等教育出版社,20055康华光.电子技术基础 模拟部分M.北京:高等教育出版社,2005

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

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁