I2C-24C04与蜂鸣器课程设计说明书.doc_第1页
I2C-24C04与蜂鸣器课程设计说明书.doc_第2页
I2C-24C04与蜂鸣器课程设计说明书.doc_第3页
I2C-24C04与蜂鸣器课程设计说明书.doc_第4页
I2C-24C04与蜂鸣器课程设计说明书.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

目 录第一章课程设计的目的-3第二章元器件介绍-32.1 芯片引脚功能图-32.2 元器件清单-6 第3章 硬件设计-63.1蜂鸣器放大电路-63.2系统硬件设计图-73.3 焊接电路板-7第四章软件设计-114.1程序设计-11参考文献-14设计小结-15第一章课程设计的目的程序运行后会首先将14个音符索引字节写入24C04,然后再反复读取这些音符并演奏。第二章元器件介绍2.1 芯片引脚功能图2.1.1 单片机的基本组成时钟电路SFR和RAMROMCPU定时/计数器并行端口中断系统串行端口系 统 总 线时钟源T0 T1P0 P1 P2 P3TXD RXD INT0 INT1图2.1单片机基本组成图(1)一个8位微处理器CPU。(2)数据存储器RAM和特殊功能寄存器SFR。(3)内部程序存储器ROM。(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。(5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。(6)一个串行端口,用于数据的串行通信。(7)中断控制系统。(8)内部时钟电路。STC89C51引脚图2.1.2 24C04A芯片(起存储功能)1 82 73 6 4 5 A0 VCC A1 WP A2 SCL GND SDA A0-A2 地址输入线SDA 串行输入/输出线SCL 串行时钟输入线WP 写保护线(或空脚NC)VCC 供电电源线GND 接地线2.1.3 MAX232(电压转换器) C1+ VCC V+ GND C1- T1OUT C2+ R11N C2- R1OUT V- T11N T2OUT T21N R21N R2OUT2.2 元器件清单元件名称图纸上的编号参数或备注数量电阻R110K2电容C1,C222pF2C310uF5晶振X112M1单片机STC89C52124C04A1蜂鸣器1MAX2321串口1万用本1USB延长线1自锁开关1三极管1导线若干40P IC锁紧插座1第3章 硬件设计3.1蜂鸣器放大电路 5V 10K P3.0 3.2系统硬件设计图3.3焊接电路板第四章软件设计4.1程序设计 #include#include#define uchar unsigned char#define uint unsigned int#define NOP4() _nop_();_nop_();_nop_();_nop_();sbit SCL=P10;sbit SDA=P11;sbit SPK=P30;/标准音符频率对应的延时表uchar code HI_LIST=0,226,229,232,233,236,238,240,241,242,244,245,246,247,248;uchar code LO_LIST=0,4,13,10,20,3,8,6,2,23,5,26,1,4,3;/待写入24C04的音符uchar code Song_24C04=1,2,3,1,1,2,3,1,3,4,5,3,4,5;uchar sidx;/读取音符索引/延时void DelayMS(uint ms)uchar i;while(ms-) for(i=0;i120;i+);/IIC开始void Start()SDA=1;SCL=1;NOP4();SDA=0;NOP4();SCL=0;/IIC停止void Stop()SDA=0;SCL=0;NOP4();SCL=1;NOP4();SDA=1; /读取应答void RACK()SDA=1;NOP4();SCL=1;NOP4();SCL=0;/发送非应答信号void NO_ACK()SDA=1;SCL=1;NOP4();SCL=0;SDA=0;/向24C04中写一个字节数据void Write_A_Byte(uchar b)uchar i;for(i=0;i8;i+)b=1;SDA=CY;_nop_();SCL=1;NOP4();SCL=0;RACK();/向指定地址写数据void Write_IIC(uchar addr,uchar dat)Start();Write_A_Byte(0xa0);Write_A_Byte(addr);Write_A_Byte(dat);Stop();DelayMS(10);/从24C04中读一个字节数据uchar Read_A_Byte()uchar i,b;for(i=0;i8;i+)SCL=1;b=1;b|=SDA;SCL=0;return b;/从当前地址读取数据uchar Read_Current()uchar d;Start();Write_A_Byte(0xa1);d=Read_A_Byte();NO_ACK();Stop();return d;/从任意地址读取数据uchar Random_Read(uchar addr)Start();Write_A_Byte(0xa0);Write_A_Byte(addr);Stop();return Read_Current();/定时器0中断void T0_INT() interrupt 1SPK=SPK;TH0=HI_LISTsidx;TL0=LO_LISTsidx;/主程序void main()uint i;IE=0x82;TMOD=0x00;for(i=0;i14;i+) /向24C04写入音符表Write_IIC(i,Song_24C04i);while(1) /反复读取音符并播放for(i=0;i15;i+)/从24C04中读取音符sidx=Random_Read(i);/从指定地址读取TR0=1;/播放DelayMS(300);参考文献1孙涵芳.MCS-51/96系列 单片机原理及应用(修订版).北京航空航天大学出版社.1994 2李朝青.单片机原理及接口技术(第3版).北京航空航天大学出版社.20XX3周润景、袁伟亭、景晓松.Proteus在MCS-51&ARM7系统中的应用百例.电子工业出版社.20XX设计小结课程设计是培养我们综合运用所学知识发现、分析、解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力具体训练和考察过程。随着科学技术的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。单片机在汽车电子领域的应用同样十分广泛,例如发动机控制器、基于CAN总线的汽车发动机智能电子控制器、GPS导航系统、ABS防抱死系统、防盗系统等等。因此,做好单片机课程设计能为我们汽车专业的学生以后工作提供帮助。通过两周的课程设计,我对单片机有了更深的体会,了解和掌握了一些编程思想和对I/O口的使用。以及让我学会了如何用串口烧程序。过程当中最印象深刻的是如何检查电路。调试的过程中或多或少总有些问题,在解决问题的同时学会检查自己的电路。像我的蜂鸣器,虽然整个电路弄好了,但蜂鸣器的声音很微弱,通过再连接一个放大电路才算把声音调整过来。在最后的整体试验中,我们尝到了成功的喜悦

温馨提示

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

评论

0/150

提交评论