I2C24C04与蜂鸣器课程设计说明书.doc

上传人:laozhun 文档编号:2392452 上传时间:2023-02-17 格式:DOC 页数:15 大小:3.47MB
返回 下载 相关 举报
I2C24C04与蜂鸣器课程设计说明书.doc_第1页
第1页 / 共15页
I2C24C04与蜂鸣器课程设计说明书.doc_第2页
第2页 / 共15页
I2C24C04与蜂鸣器课程设计说明书.doc_第3页
第3页 / 共15页
I2C24C04与蜂鸣器课程设计说明书.doc_第4页
第4页 / 共15页
I2C24C04与蜂鸣器课程设计说明书.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《I2C24C04与蜂鸣器课程设计说明书.doc》由会员分享,可在线阅读,更多相关《I2C24C04与蜂鸣器课程设计说明书.doc(15页珍藏版)》请在三一办公上搜索。

1、目 录第一章课程设计的目的-3第二章元器件介绍-32.1 芯片引脚功能图-32.2 元器件清单-6 第三章 硬件设计-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单片机基本

2、组成图(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 供电电源线

3、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.1蜂鸣器放大电路 5V 10K P3.0 3.2系统硬件设计图3.3焊接电路板第四章软件设计4.1程序设计 #includ

4、e#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

5、的音符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;/发送非应答信号v

6、oid 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

7、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

8、 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系列 单片机原理及应用(修订版).北京航空航天大学出版社.199

9、4 2李朝青.单片机原理及接口技术(第3版).北京航空航天大学出版社.20053周润景、袁伟亭、景晓松.Proteus在MCS-51&ARM7系统中的应用百例.电子工业出版社.2006设计小结课程设计是培养我们综合运用所学知识发现、分析、解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力具体训练和考察过程。随着科学技术的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。单片机在汽车电子领域的应用同样十分广泛,例如发动机控制器、基于CAN总线的汽车发动机智能电子控制器、GPS导航系统、ABS防抱死系统、防盗系统等等。因此,做好单片机课程设计能为我们汽车专业

10、的学生以后工作提供帮助。通过两周的课程设计,我对单片机有了更深的体会,了解和掌握了一些编程思想和对I/O口的使用。以及让我学会了如何用串口烧程序。过程当中最印象深刻的是如何检查电路。调试的过程中或多或少总有些问题,在解决问题的同时学会检查自己的电路。像我的蜂鸣器,虽然整个电路弄好了,但蜂鸣器的声音很微弱,通过再连接一个放大电路才算把声音调整过来。在最后的整体试验中,我们尝到了成功的喜悦,我们的工夫总算没有白费。 在这里,我衷心地感谢我们的指导老师范老师,我们的成功与他的悉心指导是分不开的。 这次的课程设计让我把单片机的理论知识用在实践中,实现了理论和实践相结合,从中更懂得理论的是实践的基础,实践有能检验理论的正确性,让我受益匪浅,对我以后参加工作或者继续学习将会产生巨大的帮助和影响。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号