《I2C-24C04与蜂鸣器课程设计说明书》.docVIP

《I2C-24C04与蜂鸣器课程设计说明书》.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《I2C-24C04与蜂鸣器课程设计说明书》

目录 第一章课程设计的目的 第二章元器件介绍 2.1 芯片引脚功能图 2.2 元器件清单 硬件设计 3.1蜂鸣器放大电路 3.2系统硬件设计图 3.3 焊接电路板 第四章软件设计 4.1程序设计 参考文献 设计小结 第一章课程设计的目的 程序运行后会首先将14个音符索引字节写入24C04,然后再反复读取这些音符并演奏。 第二章元器件介绍 2.1 芯片引脚功能图 2.1.1 单片机的基本组成 图2.1单片机基本组成图 (1)一个8位微处理器CPU。 (2)数据存储器RAM和特殊功能寄存器SFR。 (3)内部程序存储器ROM。 (4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。 (5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。 (6)一个串行端口,用于数据的串行通信。 (7)中断控制系统。 (8)内部时钟电路。 STC89C51引脚图2.1.2 24C04A芯片(起存储功能) 18 27 36 45A0VCCA1WPA2SCLGNDSDAA0--A2 地址输入线 SDA串行输入/输出线 SCL串行时钟输入线 WP写保护线(或空脚NC VCC供电电源线 GND接地线2.1.3 MAX232(电压转换器)C1+VCCV+GNDC1-T1OUTC2+R11NC2-R1OUTV-T11NT2OUTT21NR21NR2OUT 2.2 元器件清单 元件名称 图纸上的编号 参数或备注 数量 电阻 R1 10K 2 电容 C1,C2 22pF 2 C3 10uF 5 晶振 X1 12M 1 单片机 STC89C52 1 24C04A 1 蜂鸣器 1 MAX232 1 串口 1 万用本 1 USB延长线 1 自锁开关 1 三极管 1 导线若干40P IC锁紧插座 1 硬件设计 3.1蜂鸣器放大电路5V10K P3.0 3.2系统硬件设计图 3.3焊接电路板第四章软件设计 4.1程序设计#includereg51.h #includeintrins.h #define uchar unsigned char #define uint unsigned int #define NOP4 _nop_;_nop_;_nop_;_nop_; sbit SCLP1^0; sbit SDAP1^1; sbit SPKP3^0; //标准音符频率对应的延时表 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 DelayMSuint msuchar i; whilems-- fori0;i120;i++; //IIC开始 void StartSDA1;SCL1;NOP4;SDA0;NOP4;SCL0; //IIC停止 void StopSDA0;SCL0;NOP4;SCL1;NOP4;SDA1;//读取应答 void RACKSDA1;NOP4;SCL1;NOP4;SCL0; //发送非应答信号 void NO_ACKSDA1;SCL1;NOP4;SCL0;SDA0; //向24C04中写一个字节数据 void Write_A_Byteuchar buchar i; fori0;i8;i++b1;SDACY;_nop_;SCL1;NOP4;SCL0;RACK; //向指定地址写数据 void Write_IICuchar addr,uchar datStart; Write_A_Byte0xa0;Write_A_Byteaddr;Write_A_Bytedat; Stop; DelayMS10; //从24C04中读一个字节数据 uchar Read_A_Byteuchar i,b; fori0;i8;i++SCL1;b1;b|SDA;SCL0;return b; //从当前地址读取数据 uchar Read_Currentuchar d; Start; Write_A_Byte0xa1;dRead_A_Byte;NO_ACK; Stop; return d; //从任意地址读取数据 uchar Random_Readuchar addrStart; Write_A_

文档评论(0)

babiwawa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档