《硬件综合设计课程报告说明书EEPROM器件读写例程设计》由会员分享,可在线阅读,更多相关《硬件综合设计课程报告说明书EEPROM器件读写例程设计(17页珍藏版)》请在金锄头文库上搜索。
1、学 号: 0120810340631课 程 设 计题 目EEPROM器件读写例程设计学 院计算机科学与技术学院专 业计算机科学与技术班 级姓 名指导教师2011年6月23日课程设计任务书学生姓名: 专业班级: 计算机0806班 指导教师: 工作单位:计算机科学与技术学院题 目: EEPROM器件读写例程设计初始条件:1. 课程设计使用ZG211硬件综合实验平台(8051单片机),使用AT24C01接口芯片和辅助芯片以及器件;2. ZG211有程序设计集成开发环境,程序设计语言为C语言;3. ZG211硬件综合实验平台使用说明书;要求完成的主要任务: (包括课程设计工作量及其技术要求,撰写说明书
2、具体要求)1. 学习使用ZG211硬件综合实验平台,程序设计集成开发环境;2. 根据课程设计题目,进行需求分析,搞清楚课程设计需要设计需求和需要解决的设计内容。3. 查阅和学习课程设计题目需要的接口芯片资料,掌握I2C接口芯片的使用方法和编程要领。查阅和学习课程设计题目需要的辅助芯片以及器件资料。4. 设计接口芯片和辅助芯片以及器件与8051单片机连接硬件电路原理图。5. 设计与硬件电路原理图对应的C语言程序(或8051汇编语言)。给出程序流程图。在集成开发环境中调试程序。给出程序的详细注释。能够解释使用程序模拟电路时序信号和数据。6. 撰写课程设计报告,1)详细陈述以上的设计过程;2)详细陈
3、述电路的调试过程。时间安排:第17周:1. 熟悉ZG211硬件综合实验平台,KEILC UVISION2 集成开发环境;查阅接口芯片资料,熟悉接口芯片和它的使用方法。2. 设计硬件电路原理图,。第18周:1. 使用C语言或汇编语言设计和调试接口程序。2. 撰写计算机硬件综合设计报告。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日EEPROM器件读写例程设计1.实验目的掌握 IO 口操作;掌握显示及键盘芯片的运用;掌握 I2C 总线操作2.实验设备PC机一台,ZG-211单片机系统实验板一块,实验连接线若干,芯片:CH451,89S52,CD4052并口编程线一根,串口通讯线1
4、根,配套电源1 个 ZG-211 图片:3.实验要求1. 学习使用ZG211硬件综合实验平台,程序设计集成开发环境;2. 根据课程设计题目,进行需求分析,搞清楚课程设计需要设计需求和需要解决的设计内容。3. 查阅和学习课程设计题目需要的接口芯片资料,掌握接口芯片的使用方法和编程要领。查阅和学习课程设计题目需要的辅助芯片以及器件资料。4. 设计接口芯片和辅助芯片以及器件与8051单片机连接硬件电路原理图。5. 设计与硬件电路原理图对应的C语言程序(或8051汇编语言)。给出程序流程图。在集成开发环境中调试程序。给出程序的详细注释。能够解释使用程序模拟电路时序信号和数据。6. 能正常操作 LED
5、数码显示;能通过中断方式接收按键信息;能正确读写 EEPROM 芯片4.实验原理 单片机系统常用 EEPROM 芯片在掉电情况下保存一些重要数据。本实验板采用的芯片 是 AT24C02,可存储 256 个字节,重复擦写 1,000,000 次,数据保存 100 年以上。该芯 片通过I2C 总线接口进行操作,I2C 协议原理请看 2.3.5 节。其原理图如下:5.实验步骤5.1硬件连接将并口线插在实验板与PC机的并口插座上; CH451 与 CPU 连接实验线路见图2-2 ;按图 2-28 连接实验线路仔细检查无误后,接通电源。 (图中箭头表示需要接线的地方)5.2 软件设计进入 KEILC 开
6、发环境。首先根据 234 I2C 协议 内容,编写 I2C 函数,由于 AT24C02 的 I2C 接口大频率是 400KHZ,所以在程序中对一个 IO 口操作完后,请延时 2.5us(实验板 上 CPU 晶振为 11.0592MHZ,一个指令周期为 1.08us)。写好 I2C 读写函数后,可以对 AT24C02 进行操作。AT24C02 的写从地址为 0XA0,写时 WP 要置 0(打开写保护),写完后置为 1; 读从地址为 0XA1。先将 CD4052 的通道选为 2,连接 CPU 与 AT24C02。向 AT24C02 中地 址为 0X00 到 0X07 的单元,写入数据 0X01,
7、0X02, 0X03, 0X04, 0X05, 0X06, 0X07 后,再从 AT24C02 中读出,进行比较。如果一致则显示 1,错误则显示 0。5.3 编译下载程序编译成功后,打开联机下载软件,将HEX文件下载到89S52中,观看程序运行结果。 如有问题则修改程序,再次下载。(请注意:AT24C02的擦写次数有限,频繁擦写会影响其使用寿命。) 调试成功后,请将 I2C 读写程序、AT24C02 读写程序,写成函数,以供其他模块调用。6.实验成功标志按下 1 号按键,显示“001”,同时向 AT24C02 中指定位置写入数据;按下 2 号按键,从 AT24C02 中指定位置读出数据并显示,
8、应与写入数据一致;7. 简要调试过程1. 利用在线编程这个软件读入程序ExpBoard.hex2. 操作ZG-211单片机电路板上面的按钮,观察实验现象是否符合说明书3. 如果不符合,进入程序文件夹进行修改程序,直至得到理想的显示结果8. 程序代码主函数#include #include reg52.h#include def.h#include sub.h#include beep.h#include func.h#include display.h#include eeprom.hunsigned char key_data = 0;main()unsigned char eep_temp
9、2;unsigned char temp = 0;/MCU初始化InitMCU();set_8255();/开关蜂鸣器,表示开始工作speak_on();delay_1ms(50);speak_off();Display_TEST();eep_temp0 = 0x55;/测试值while(1)if(key_data!=0)/若有键按下temp = key_data;key_data = 0;switch(temp)case 0x40:/1/将测试值写入EEPROMAT24C02Write(eep_temp, 0, 1);display_int(int)(eep_temp0);break;cas
10、e 0x49:/2AT24C02Read(eep_temp, 0, 1);display_int(int)(eep_temp0);break;default:break;具体函数#include reg52.h#include def.h#include display.h#include sub.h#include func.hextern unsigned char key_print;extern unsigned char key_data;/*|函数名send_disp_data|函数功能向CH451芯片发送命令|参数comm:命令体|_data:命令参数|返回值无|*/void s
11、end_disp_data(unsigned char comm, unsigned char _data)unsigned char i; /送8BIT数据for(i=0;ii)&0x01;DCLK = 1;DCLK = 0;DCLK = 1;/送4BIT命令for(i=0;ii)&0x01;DCLK = 1;DCLK = 0;DCLK = 1;LOAD=1;LOAD=0;LOAD=1;/*|函数名send_comm|函数功能向CH451芯片发送命令|参数comm:命令体|返回值无|*/void send_comm(unsigned char comm)unsigned char i;/送4BIT命令for(i=0;ii)&0x01;DCLK = 1;DCLK = 0;DCLK = 1;LOAD=1;LOAD=0;LOAD=1;/*|函数名disp_initialize|函数功能向CH451芯片发送初始化命令|参数无|返回值无|*/void disp_initialize()chang_4052(1); DIN=0;DIN=1;DCLK=1;LOAD=1;DOUT=1;send_disp_data( CH451_SETSYS, 0x03);/设定系统参数send_disp_data( CH451_SETDIS, 0x80);/设定显示参数/*