ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:1.26MB ,
资源ID:18345111      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18345111.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EEPROM器件读写例程设计Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EEPROM器件读写例程设计Word下载.docx

1、1. 课程设计使用ZG211硬件综合实验平台(8051单片机),使用AT24C01接口芯片和辅助芯片以及器件;2. ZG211有程序设计集成开发环境,程序设计语言为C语言;3. ZG211硬件综合实验平台使用说明书;要求完成的主要任务: (包括课程设计工作量及其技术要求,撰写说明书具体要求)1. 学习使用ZG211硬件综合实验平台,程序设计集成开发环境;2. 根据课程设计题目,进行需求分析,搞清楚课程设计需要设计需求和需要解决的设计内容。3. 查阅和学习课程设计题目需要的接口芯片资料,掌握I2C接口芯片的使用方法和编程要领。查阅和学习课程设计题目需要的辅助芯片以及器件资料。4. 设计接口芯片和

2、辅助芯片以及器件与8051单片机连接硬件电路原理图。5. 设计与硬件电路原理图对应的C语言程序(或8051汇编语言)。给出程序流程图。在集成开发环境中调试程序。给出程序的详细注释。能够解释使用程序模拟电路时序信号和数据。6. 撰写课程设计报告,1)详细陈述以上的设计过程;2)详细陈述电路的调试过程。时间安排:第17周:1. 熟悉ZG211硬件综合实验平台,KEILC UVISION2 集成开发环境;查阅接口芯片资料,熟悉接口芯片和它的使用方法。2. 设计硬件电路原理图,。第18周:1. 使用C语言或汇编语言设计和调试接口程序。2. 撰写计算机硬件综合设计报告。指导教师签名: 年 月 日系主任(

3、或责任教师)签名:1.实验目的掌握 IO 口操作;掌握显示及键盘芯片的运用;掌握 I2C 总线操作2.实验设备PC机一台,ZG-211单片机系统实验板一块,实验连接线若干,芯片:CH451,89S52,CD4052并口编程线一根,串口通讯线1根,配套电源1 个 ZG-211 图片:3.实验要求3. 查阅和学习课程设计题目需要的接口芯片资料,掌握接口芯片的使用方法和编程要领。6. 能正常操作 LED 数码显示;能通过中断方式接收按键信息;能正确读写 EEPROM 芯片4.实验原理 单片机系统常用 EEPROM 芯片在掉电情况下保存一些重要数据。本实验板采用的芯片 是 AT24C02,可存储 25

4、6 个字节,重复擦写 1,000,000 次,数据保存 100 年以上。该芯 片通过I2C 总线接口进行操作,I2C 协议原理请看 2.3.5 节。其原理图如下:5.实验步骤5.1硬件连接将并口线插在实验板与PC机的并口插座上;CH451 与 CPU 连接实验线路见图2-2 ;按图 2-28 连接实验线路仔细检查无误后,接通电源。 (图中箭头表示需要接线的地方)5.2 软件设计进入 KEILC 开发环境。首先根据 234 I2C 协议 内容,编写 I2C 函数,由于 AT24C02 的 I2C 接口大频率是 400KHZ,所以在程序中对一个 IO 口操作完后,请延时 2.5us(实验板 上 C

5、PU 晶振为 11.0592MHZ,一个指令周期为 1.08us)。写好 I2C 读写函数后,可以对 AT24C02 进行操作。AT24C02 的写从地址为 0XA0,写时 WP 要置 0(打开写保护),写完后置为 1; 读从地址为 0XA1。先将 CD4052 的通道选为 2,连接 CPU 与 AT24C02。向 AT24C02 中地 址为 0X00 到 0X07 的单元,写入数据 0X01, 0X02, 0X03, 0X04, 0X05, 0X06, 0X07 后,再从 AT24C02 中读出,进行比较。如果一致则显示 1,错误则显示 0。5.3 编译下载程序编译成功后,打开联机下载软件,

6、将HEX文件下载到89S52中,观看程序运行结果。 如有问题则修改程序,再次下载。(请注意:AT24C02的擦写次数有限,频繁擦写会影响其使用寿命。) 调试成功后,请将 I2C 读写程序、AT24C02 读写程序,写成函数,以供其他模块调用。6.实验成功标志按下 1 号按键,显示“001”,同时向 AT24C02 中指定位置写入数据;按下 2 号按键,从 AT24C02 中指定位置读出数据并显示,应与写入数据一致;7. 简要调试过程1. 利用在线编程这个软件读入程序ExpBoard.hex2. 操作ZG-211单片机电路板上面的按钮,观察实验现象是否符合说明书3. 如果不符合,进入程序文件夹进

7、行修改程序,直至得到理想的显示结果8. 程序代码主函数#include #include reg52.hdef.hsub.hbeep.hfunc.hdisplay.heeprom.hunsigned char key_data = 0;main() unsigned char eep_temp2; unsigned char temp = 0; /MCU初始化 InitMCU(); set_8255(); /开关蜂鸣器,表示开始工作 speak_on(); delay_1ms(50); speak_off(); Display_TEST(); eep_temp0 = 0x55; /测试值 wh

8、ile(1) if(key_data!=0) /若有键按下 temp = key_data; key_data = 0; switch(temp) case 0x40: /1 /将测试值写入EEPROM AT24C02Write(eep_temp, 0, 1); display_int(int)(eep_temp0); break; case 0x49: /2 AT24C02Read(eep_temp, 0, 1); default: 具体函数extern unsigned char key_print;extern unsigned char key_data;/*| 函数名 send_di

9、sp_data | 函数功能 向CH451芯片发送命令 | 参数 comm : 命令体 | _data : 命令参数 | 返回值 无 |*/void send_disp_data(unsigned char comm, unsigned char _data) unsigned char i; /送8BIT数据 for(i=0;ii)&0x01; DCLK = 1; DCLK = 0; /送4BIT命令4; DIN = (comm LOAD=1; LOAD=0;| 函数名 send_comm |void send_comm(unsigned char comm) /送4BIT命令| 函数名 d

10、isp_initialize | 函数功能 向CH451芯片发送初始化命令 | 参数 无 |void disp_initialize() chang_4052(1); DIN=0; DIN=1; DCLK=1; DOUT=1; send_disp_data( CH451_SETSYS, 0x03); /设定系统参数 send_disp_data( CH451_SETDIS, 0x80); /设定显示参数| 函数名 key | 函数功能 中断函数,获取当前按键状态 |void key() interrupt 0 unsigned char i,temp; EX0 = 0; /关中断 key_da

11、ta = 0; temp = 0; send_comm(CH451_KEY); i7; i+) temp = DOUT; key_data = key_data|(temp(6-i); DCLK=1; DCLK=0;/* key_print = key_data; send_disp_data(CH451_LOAD0, 0x10); send_disp_data(CH451_LOAD1, 0x10); send_disp_data(CH451_LOAD2, key_data/10); send_disp_data(CH451_LOAD3, key_data%10);*/ EX0 = 1; /中

12、断| 函数名 Display_TEST | 函数功能 测试显示LED数码管 |void Display_TEST() /初始化显示芯片 disp_initialize(); /延时 delay_1ms(100); /送显“12345678” send_disp_data( CH451_LOAD0, 0x01); send_disp_data( CH451_LOAD1, 0x02); send_disp_data( CH451_LOAD2, 0x03); send_disp_data( CH451_LOAD3, 0x04); send_disp_data( CH451_LOAD4, 0x05);

13、 send_disp_data( CH451_LOAD5, 0x06); send_disp_data( CH451_LOAD6, 0x07); send_disp_data( CH451_LOAD7, 0x08); delay_1ms(200);/ display_int(555); /开中断,接受按键信息 EX0=1; /- send_disp_data( CH451_LOAD0, 0x12); send_disp_data( CH451_LOAD1, 0x12); send_disp_data( CH451_LOAD2, 0x12); send_disp_data( CH451_LOAD

14、3, 0x12); send_disp_data( CH451_LOAD4, 0x12); send_disp_data( CH451_LOAD5, 0x12); send_disp_data( CH451_LOAD6, 0x12); send_disp_data( CH451_LOAD7, 0x12);/* send_disp_data( CH451_LOAD0, 0x08); send_disp_data( CH451_LOAD1, 0x08); send_disp_data( CH451_LOAD2, 0x08); send_disp_data( CH451_LOAD3, 0x08);

15、send_disp_data( CH451_LOAD4, 0x08); send_disp_data( CH451_LOAD5, 0x08); send_disp_data( CH451_LOAD6, 0x08);| 函数名 display_int | 函数功能 显示一个整数 |void display_int(unsigned int m) send_disp_data( CH451_LOAD0, 0x10); send_disp_data( CH451_LOAD1, 0x10); send_disp_data( CH451_LOAD2, 0x10); if (m/10000) send_d

16、isp_data( CH451_LOAD3, m/10000); else send_disp_data( CH451_LOAD3, 0x10); if (!(m/1000)%10)&(!(m/10000) send_disp_data( CH451_LOAD4, 0x10); send_disp_data( CH451_LOAD4, (m/1000)%10); send_disp_data( CH451_LOAD5, (m/100)%10); send_disp_data( CH451_LOAD6, (m/10)%10); send_disp_data( CH451_LOAD7, m%10)

17、;9.心得体会通过以前所学的计算机组成原理、微机原理与接口技术,以及单片机的知识,并在老师的指导和同学的合作下,终于顺利地完成了本次课程设计。我觉得本次试验重点在于动手操作,经过几次上机调试,终于得到理想的显示结果,同时也对ZG211硬件综合实验平台有了更深的了解。设计初期,由于自己的专业知识不够全面,虽然有不少硬件方面的课程,但总的来说,自己懂的还是很少,对于单片机,芯片,还只是停留的肤浅的认知上面,通过查阅一些资料以及与同学的交流,最终弄懂了其原理,实验圆满成功。 通过这次课程设计,也更让我感觉到c语言的重要性,作为一个可以操作底层硬件的语言,自己掌握的还是很少,这不像java语言那种平台

18、无关性,这既是它的优点也是它的缺点,只注重表面的东西,在今后的一段时间,我会更加注意自己的c语言的学习,争取在毕业前有更大的提高。 最后我想说,此次课程设计,让我收获了许多,例如ZG211方面知识,同时它也让我认识到了自己的不足,例如对所学的知识不能灵活的运用到实验中,对单片机的知识不够了解,以后还有待加强。这些获益和认识到的不足对我以后的学习很有帮助。虽然本次硬件综合设计已经结束,但仍觉得有很多东西要学,我会在以后的学习生活中不断努力,争取更大的进步本科生课程设计成绩评定表班级:计科0806姓名:张军学号:序号评分项目满分实得分1学习态度认真、遵守纪律102设计分析合理性3设计方案正确性、可行性、创造性204设计结果正确性405设计报告的规范性设计验收总得分/等级评语:注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60分以下为不及格指导教师签名:2011年月日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1