《单片机课程设计教学大纲(终稿)(21页).doc》由会员分享,可在线阅读,更多相关《单片机课程设计教学大纲(终稿)(21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-单片机课程设计教学大纲(终稿)-第 21 页单片机原理及应用课程设计教学大纲适用专业: 学 时:一周 学 分:课程编号: 课程类别:专业课开课单位:编 写 人:一、课程设计目的和要求1、设计目的通过课程设计,可将所学过的电子技术、模/数转换技术、传感器技术、单片机技术及智能仪器等知识综合串联起来,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的标定等这一完整的实验过程,培养学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,从而培养和提高学生的独立工作能力及解决实际问题的能力,为毕业设计和以后的工作打
2、下一个良好的基础。2、设计要求a了解并掌握单片机的原理、结构、指令、运行模式、功能模块及应用开发方法。b提高综合运用所学的理论知识独立分析和解决问题的能力。c掌握汇编语言的设计和调试。二、课程设计方式集体辅导与个别辅导相结合三、课程设计内容1课程设计课题及要求A类题目:(此类题目主要在“THGMZ-3型单片机微机CPLDFPGA网络接口开发综合实验装置”上完成)题目1:V/F转换模块设计设计任务:调试F/V变换电路设计要求:1)测量Vin和Fout,画出V/F线。 2)Fout接入8051的INT0或INT1,编程由单片机完成测量及显示项目参考资料:见附件1。题目2:F/V转换模块设计设计任务
3、:调试F/V变换电路设计要求:1)测量Fin和Vout,画出F/V线。2)Fin接单片机I/O口,编程由单片机产生频率信号。参考资料:见附件1。题目3:直流电机转速控制设计任务:使用单片机驱动直流电机,控制直流电机稳定运行在一个转速范围内。设计要求:直流电机顺时针旋转,若干秒后,直流电机转速达到运行速度1,稳定运行一段时间后,直流电机转速调整达到运行速度2,稳定运行一段时间后,直流电机停转。参考资料:见附件2。题目4:直流电机测速与显示设计任务:测量直流电机的转速并在数码显示电机转速。设计要求:直流可调电源模块的输出端,作为直流电机的控制电压,直流电机顺时针旋转,用数码管显示电机转速(单位为转
4、/秒)。参考资料:见附件2。题目5:步进电机转速控制设计任务:使用单片机驱动步进电机,控制步进电机单拍、双拍、正转、反转等操作。设计要求:由开关按键控制步进电机的正转、反转、快转、慢转。参考资料:见附件3。题目6:步进电机转速计算与显示设计任务:使用单片机驱动步进电机,计算步进电机的转速并在数码显示电机转速。设计要求:用数码管实时显示当前电机正反转向和转速(单位为转/秒)。参考资料:见附件3。题目7:温度的测量与显示设计任务:使用单片机测量温度,并显示测得温度。设计要求:根据系统提供的温度传感器电路、加热电路、散热电路,首先使用单片机控制加热电路将温度升至某一温度值A,并在数码管实时显示测得逐
5、渐升高的温度;然后停止加热,在数码管实时显示测得的逐渐降低的温度值。参考资料:见附件4。题目8:红外数据发送与接收模块设计设计任务:调试红外数据收发的电路,单片机一方面从发送端发出数据,一方面从接收端接收数据。设计要求:单片机的串行口作为红外数据发送端的输入,先发送两个字符,然后接收端接收数据,在数码管上显示接收的二进制数据的位数,并比较收到的数据与发送的是否一致。参考资料:见附件5。题目9: 485通信模块设计设计任务:调试485通信模块电路,单片机利用此电路完成双机通信。设计要求:单片机利用系统提供的485接口电路,实现两台实验机数据通信。从甲机的八位逻辑电平输出模块(E4区)输入一个八位
6、二进制数,此二进制数对应的十六进制数显示到乙机的数码管上,如10100101B输入,则显示A5。参考资料:见附件6。题目10:I2C串行EEPROM读写模块设计设计任务:单片机利用I2C总线方式读写串行EEPROM 24C0X。设计要求:当开关1闭合时,单片机利用I2C总线方式将某一字符写入EEPROM,当开关2闭合时,单片机利用I2C总线方式将EEPROM的刚刚写入的数据在数码管上显示出来。参考资料:见附件7。B类题目:(此类题目要求自制电路,并且设计前提交自制电路的元器件清单,选择器件参考附件8,设计答辩时提交硬件电路作品。)题目11:秒钟计时器设计设计任务:使用单片机进行定时,每1秒钟发
7、光二极管闪动1次,同时在数码管上显示当前秒数,每60秒数码管清零1次,同时蜂鸣器响铃提示。题目12:自动计数器设计设计任务:使用单片机进行计数,触动开关每按下1次,发光二极管闪动1次作为提示,并且在数码管上显示当前按下次数,另一个触动开关用来对自动计数器清零,同时蜂鸣器响铃提示。题目13:霓虹灯设计设计任务:使用24个发光二极管组成3*8点阵,单片机扩展8255并行接口来控制这个点阵发光,呈现霓虹灯效果。题目14:多机通信设计设计任务:4个单片机,一个主单片机和三个从单片机,它们之间通过各自的uart串行口组成多机通信的总线型拓扑。在主机一侧通过触动开关选择从机地址号如:1,2,3等,被选中的
8、从机一侧,发光二极管,点亮提示,表示通信成功。题目15:液晶显示界面设计设计任务:使用单片机控制液晶屏LCD 128*64 显示字符,内容如下:课程设计制作人:XXXX题目16:与PC机串行通信设计任务:使用51最小系统板套件,完成数据转发,即在pc机上通过串行助手将数据发送给单片机,然后单片机将收到的数据返回给PC机,在串行助手软件上显示出来。参考资料:2人员组织: 请填写“附件人员组织”!3具体实施实习进程星期一准备工作:l 确定人员安排;l 了解具体功能,编写计划;l 查阅资料。星期二编制程序:l 确定算法;l 确定知识点星期三编制、测试、调试程序。星期四编制、测试、调试程序。星期五上交
9、课程设计报告及硬件、软件成果。四、课程设计时间、地点与学分1、时间与学分:第一学期,共1 周; 学分2、地 点:E楼单片机及组成原理实验室、电子电工实训实验室五、课程设计考核办法与成绩评定课程设计结束时,要求学生写出课程设计报告,硬件电路按设计要求调试;软件调试通过,完成相应功能,根据设计性能考虑的完善程度进行成绩评定。课程设计成绩分两部分,设计报告占20%,设计作品占80%。六、教材及教学参考书单片机原理及应用, 张毅刚,高等教育出版社。单片机教程,蔡惟铮编,东北大学出版社。七、本大纲在执行中注意的事项课程设计不仅仅要求学生完成所规定的题目要求,同时还要培养学生养成良好的科学态度和严谨的设计
10、习惯。建议学生在课程设计时完成如下文档资料:(1)设计思想和设计说明 (2)硬件原理框图(3)硬件原理图与其软件配合介绍(4)程序存储器和数据存储器的单元分配(5)程序流程图(6)源程序清单(7)芯片资料附件人员组织:小组编号组长组员题目编号题目名称第1组第2组第3组第4组第5组第6组第7组第8组第9组第10组第11组第12组第13组附件1在一些工业控制场合,信号获取的地方距离控制器比较远,或者被控制对象离处理器比较远,这样就需要进行信号传输,电压信号在传输的过程中非常容易受到干扰。一般要转换成电流或频率信号来传输,提高系统抗干扰能力。F/V和V/F变换电路由LM331组成。LM331芯片可以
11、提供V/F、F/V功能。LM331与LM231具有一样的功能,该类器件非常适合于低成本的模拟到数字转换。在经过F/V变换后,可以用另一片LM331进行F/V转换,在A/D就可以得到数字量,而对于80C51,则可以直接利用T1,T0端口,进行频率或周期的测量而的得到数字量。另外经过V/F变换后,也便于使用光电耦离器件进行隔离。因为直接的电压量一般不能进行光电隔离的。芯片特点: 2、双电源或单电源供电 3、脉冲输出兼容所有逻辑。 4、温度稳定性最大 500ppm/oc 5、低功耗。典型为5V,15mW 6、很宽的动态特性10KHz,最小100dB 7、很宽的频率范围1Hz到100KHz管脚定义如下
12、表:管脚号管脚名功能8Vs电源,一般为12V4GND电源地1CURRENT OUTPUT电流输出2REFERENCE CURRENT参考电流3FREQUENCY OUTPUT频率输出7COMPARTOR INPUT比较器输入6TYHRESHOLD保持门限5R/CR/C常数典型应用如图所示1简单V/F变换计算公式:2简单F/V变换。计算公式:图28-1 F/V转换电路本实验使用直流可调电源模块(E2区)、F/V转换模块(D3区)、V/F转换模块(D4区)。F/V转换电路原理参见图28-1,V/F转换电路原理参见图28-2。图28-2 V/F转换电路原理附件2:使用栅格圆盘和光电门组成测速系统。当
13、直流电机通过传动部分带动栅格圆盘旋转时,测速光电门获得一系列脉冲信号。这些脉冲信号通过单片机两个定时/计数器配合使用同,一个计数,一个定时。计算出单位时间内的脉冲数m,经过单位换算,就可以算得直流电机旋转的速度。直流电机转速计算公式:n=60m/(N1TN)(rpm)其中:n为直流电机转速,N为栅格数,N1为T0中断次数,m为计数器T1在规定时间内测得的脉冲数,T为定时器T0定时器溢出时间。使用系统提供的显示电路,可把电机的转速显示出来。直流电机转速调节:某些场合往往要求直流电机的转速在一定范围内可调节,例如,电车、机床等,调节范围根据负载的要求而定。调速可以有三种方法:(1)改变电机两端电压
14、;(2)改变磁通;(3)在电枢回路中,串联调节电阻。本实验采用第一种方法:通过改变施加于电机两端的电压大小达到调节直流电机转速的目的。本实验用DAC0832D/A转换输出控制直流电机两端电压。程序中直流电机初始速度较大(大约40转/秒),设运行速度设置为2000转/分,经过若干秒后,直流电机转速慢慢下降到运行速度,以设定的速度运行。本实验需要用到CPU模块(F3区)、直流电机模块(A6区)、并行数模转换模块(D8区)、8279显示模块(F4区)。直流电机电路原理参见图31-1A、图31-1B。图31-1A 直流电机电路图31-1B 光电测速电路附件3:1步进电动机有三线式、五线式、六线式三种,
15、但其控制方式均相同,必须以脉冲电流来驱动。若每旋转一圈以20个励磁信号来计算,则每个励磁信号前进18度,其旋转角度与脉冲数成正比,正、反转可由脉冲顺序来控制。 2步进电动机的励磁方式可分为全部励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,而半步励磁又称1-2相励磁。图为步进电动机的控制等效电路,适应控制A、B、/A、/B的励磁信号,即可控制步进电动机的转动。每输出一个脉冲信号,步进电动机只走一步。因此,依序不断送出脉冲信号,即可步进电动机连续转动。a1相励磁法:在每一瞬间只有一个线圈导通。消耗电力小,精确度良好,但转矩小,振动较大,每送一励磁信号可走18度。若欲以1相励磁法控制步进电
16、动机正转,其励磁顺序如图所示。若励磁信号反向传送,则步进电动机反转。 励磁顺序: ABCDA STEP AB CD11 0 0 0 201 0 0 300 1 0 40 0 0 1 b2相励磁法:在每一瞬间会有二个线圈同时导通。因其转矩大,振动小,故为目前使用最多的励磁方式,每送一励磁信号可走18度。若以2相励磁法控制步进电动机正转,其励磁顺序如图所示。若励磁信号反向传送,则步进电动机反转。 励磁顺序: ABBCCDDAAB STEP AB CD11 1 0 0 201 1 0 300 1 1 41 0 0 1 c1-2相励磁法:为1相与2相轮流交替导通。因分辨率提高,且运转平滑,每送一励磁信
17、号可走9度,故亦广泛被采用。若以1相励磁法控制步进电动机正转,其励磁顺序如图所示。若励磁信号反向传送,则步进电动机反转。 励磁顺序: AABBBCCCDDDAA STEP ABCD11000211003001040110500106001170001810013电动机的负载转矩与速度成反比,速度愈快负载转矩愈小,当速度快至其极限时,步进电动机即不再运转。所以在每走一步后,程序必须延时一段时间。4本实验需要用到CPU模块(F3区)和步进电机模块(A7区)。步进电机电路原理参见图32-1。图32-1 步进电机电路附件4:系统使用集成电路温度传感器AD590作为测温器,AD590是AD公司生产的一种
18、精度和线性度较好的双端集成温度传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1A最大电流的变化或1摄氏度等效误差。图33-1 温度传感部分图33-1给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路,当温度有了10的变化时输出电压变化为20mV,即该电路运放6脚电压随温度变化为2Mv/。AD590将温度变化量转换成电压值变化量,经过OP07一级跟随后输入到电压放大电路,放大后的信号输入到A/D转换器将模拟信号转换成数字信号,利用CPU采集并存储采集到的数据。将温度传感器输出的小信号跟随放大45倍左右后,送至8位A/D转换器换成数字量。设定温度为0摄氏度时变换放大电路
19、送出的模拟量为0V,此时A/D输出的数字量为00H;温度为67摄氏度时变换放大电路送出4.98V电压,此时A/D输出的数字量为FFH,即每0.3摄氏度对应1LSB变化量。当温度超过报警温度报警67摄氏度,此时,输出电压约为5.0V左右。通过电压比较器接通硬件报警电路报警。输入A/D的模拟信号有过压保护,不会损坏A/D转换器。在实验平台硬件中,已有安全设计,即加热温度不会超过80。系统出厂时已依据标准调整好了放大器的增益和零位。应注意:由于热惯性的影响及温度计显示的滞后因素,若要精确观察某温度点的测量值,在加热到观察温度点后,应停止加热,等待温度计示值稳定后,再观察记录结果。若选区观察点温度较高
20、,还应相应延长等待时间。需要说明的是,由于温度计和温度采样芯片AD590的采样点不同,理论计算值同显示略有偏差。本实验需要用到CPU模块(F3区)和温度测量与控制模块(A5区)、并行模数转换模块(D7区)、8279显示模块(F4区)。温度测量与控制电路原理参见图33-2。图33-2 温度测量与控制电路附件5:在很多单片机应用系统中,常常利用非电信号(如光信号、超声波信号等)传送控制信息和数据信息,以实现遥控或遥测的功能。红外通信具有控制简单、实施方便、传输可靠性高的特点,是一种较为常用的通信方式。实现单片机系统红外通信的关键在于红外接口电路的设计以及接口驱动程序的设计。1红外通信的基本原理红外
21、通信是利用950nm近红外波段的红外线作为传递信息的媒体,即通信信道。发送端采用脉时调制(PPM)方式,将二进制数字信号调制成某一频率的脉冲序列,并驱动红外发射管以光脉冲的形式发送出去;接收端将接收到的光脉转换成电信号,再经过放大、滤波等处理后送给解调电路进行解调,还原为二进制数字信号后输出。2红外发送器红外发送器电路包括脉冲振荡器、驱动管Q1和Q2、红外发射管Q3等部分。其中脉冲振荡器由2206组成,用以产生38kHz的脉冲序列作为载波信号;红外发射管Q3用来向外发射950nm的红外光束。红外发送器的工作原理为:串行数据由单片机的串行输出端DATA送出并驱动Q1管,数位“0”使Q1管导通,通
22、过Q2管调制成38kHz的载波信号,并利用红外发射管Q3以光脉冲的形式向外发送。数位“1”使Q1管截止,红外发射管Q3不发射红外光。若传送的波特率设为1200bps,则每个数位“0”对应32个载波脉冲调制信号的时序,如图34-1所示。图34-1 调制信号时序图3红外接收器红外接收电路选用专用红外接收模块。该接收模块是一个三端元件,使用单电源+5V电源,具有功耗低、抗干扰能力强、输入灵敏度高、对其它波长(950nm以外)的红外光不敏感的特点,其内部结构框图如图34-2所示。如图34-2 红外接收模块内部结构框图接收模块的工作原理为:首先,通过红外光敏元件将接收到的载波频率为38kHz的脉冲调制红
23、外光信号转化为电信号,再由前置放大器和自动增益控制电路进行放大处理。然后,通过带通滤波器和进行滤波,滤波后的信号由解调电路进行解调。最后,由输出级电路进行反向放大输出。为保证红外接收模块接收的准确性,要求发送端载波信号的频率应尽可能接近38kHz,因此在设计脉冲振荡器时,要选用精密元件并保证电源电压稳定。再有,发送的数位“0”至少要对应14个载波脉冲,这就要求传送的波特率不能超过2400bps。4本实验需要用到CPU模块(F3区)和红外收发模块(A3区)、函数信号发生器模块(A2区)、计数器/频率计模块(A4区),红外收发电路原理参见图34-3。图34-3 红外收发电路附件6:RS-485接口
24、具有较强的抗干扰性,数据传输的距离较远,在一些应用中常常需要把RS-232标准的信号转换为RS-485的标准信号进传输。图中所示电路允许数据在RS-232/RS-485这两个不兼容的串行数据接口间传递。传输速度为480波特时,传输距离可达1750米。图中双RS-232收发器IC1将主机(PC)输出的RS-232电平转换为TTL电平,驱动高速RS-485收发器IC2 的输入,倒相器使IC2、IC3在受到起始位时被激活。开始工作时,主机发送数据给相应的远端单元(从机),数据格式以零电平为起始位,起始位后跟随一个字节的地址和一个字节的数据,激活相应的从机。被激活的从机应答两个字节的数据,然后置于接收
25、模式,等待下一序列。因为只有主机对发送器作初始化,从机只在被激活后应答,所以传输线上不可能出现数据冲突。当从机处于接收模式(RE=DE=0),Va-Vb200mV时,输出Ro=1。 发送器通常为关闭状态,只有当接收到一个零起始位后处于发送模式。主机必须与从机采用同一地为参考点,为保证静态条件下Va-Vb 200mV ,避免在RS-485芯片上附加额外的上拉电阻和下拉电阻,MAX485 提供了一个失效保护功能,可保证在-50mV至+200mV较窄的门限范围内输出Ro=1。本实验需要用到CPU模块(F3区)和232/485接口模块(B1区),485接口电路原理参见图35-1。图35-1 485接口
26、电路附件7:1串行EEPROM(24C02)接口方法 在新一代单片机中,无论总线型还是非总线型单片机,为了简化系统结构,提高系统的可靠性,都推出了芯片间的串行数据传输技术,设置了芯片间的串行传输接口或串行总线。串行总线扩展接线灵活,极易形成用户的模块化结构,同时将大大简化其系统结构。串行器件不仅占用很少的资源和I/O线,而且体积大大缩小,同时还具有工作电压宽,抗干扰能力强,功耗低,资料不宜丢失和支持在线编程等特点。目前,各式各样的串行接口器件层出不穷,如:串行EEPROM,串行ADC/DAC,串行时钟芯片,串行数字电位器,串行微处理器监控芯片,串行温度传感器等等。 串行EEPROM是在各种串行
27、器件应用中使用较频繁的器件,和并行EEPROM相比,串行EEPROM的资料传送的速度较低,但是其体积较小,容量小,所含的引脚也较少。所以,它特别适合于需要存放非挥发资料,要求速度不高,引脚少的单片机的应用。2串行EEPROM及其工作原理 串行EEPROM中,较为典型的有ATMEL公司的AT24CXX系列以及该公司生产的AT93CXX系列,较为著名的半导体厂家,包括Microchip,国家半导体厂家等,都有AT93CXX系列EEPROM产品。 AT24CXX系列的串行电可改写及可编程只读存储器EEPROM有10种型号,其中典型的型号有AT24C01A/02/04/08/16等5种,它们的存储容量
28、分别是1024/2048/4096/8192/16384位,也就是128/256/512/1 024/2048字节。这个系列一般用于低电压,低功耗的工业和商业用途,并且可以组成优化的系统。信息存取采用2线串行接口。这里我们就24C02的结构特点,其它系列比较类似。 3结构原理及引脚 AT24C02有地址线A0A2,串行资料引脚SDA,串行时钟输入引脚SCL,写保护引脚WP等引脚。很明显,其引脚较少,对组成的应用系统可以减少布线,提高可靠性。 各引脚的功能和意义如下: VCC引脚,电源+5V。 GND引脚,地线。 SCL引脚,串行时钟输入端。在时钟的正跳沿即上升沿时把资料写入EEPROM;在时钟
29、的负跳沿即下降沿时把资料从EEPROM中读出来。 SDA引脚,串行资料I/O端,用于输入和输出串行资料。这个引脚是漏极开路的埠,故可以组成“线或”结构。 A0,A1,A2引脚,是芯片地址引脚。在型号不同时意义有些不同,但都要接固定电平。 WP引脚,写保护端。这个端提供了硬件数据保护。当把WP接地时,允许芯片执行一般读写操作;当把WP接VCC时,则对芯片实施写保护。4内存的组织及运行 内存的组织:对于不同的型号,内存的组织不一样,其关键原因在于内存容量存在差异。对于AT24CXX系列的EEPROM,其典型型号的内存组织如下。 AT24C01A:内部含有128个字节,故需要7位地址对其内部字节进行
30、寻址 AT24C02:内部含有256个字节, 故需要8位地址对其内部字节进行读写。5运行方式起始状态:当SCL为高电平时,SDA由高电平变到低电平则处于起始状态。起始状态应处于任何其它命令之前。 停止状态:当SCL处于高电平时,SDA从低电平变到高电平则处于停止状态。在执行完读序列信号之后,停止命令将把EEPROM置于低功耗的备用方式(Standby Mode). 应答信号:应答信号是由接受资料的器件发出的。当EEPROM接受完一个写入资料之后,会在SDA上发一个”0”应答信号。反之,当单片机接受完来自EEPROM的资料后,单片机也应向SDA发ACK信号。ACK信号在第9个时钟周期时出现。 备
31、用方式(Standby Mode):AT24C01A/02/04/08/16都具有备用方式,以保证在没有读写操作时芯片处于低功耗状态。在下面两种情况中,EEPROM都会进入备用方式:第一,芯片通电的时候;第二,在接到停止位和完成了任何内部操作之后。 AT24C01等5种典型的EEPROM在进入起始状态之后,需要一个8位的“器件地址字”去启动内存进行读或写操作。在写操作中,它们有“字节写”,“页面写”两种不同的写入方法。在读操作中,有“现行地址读”,随机读和“顺序读”种各具特点的读出方法。下面分别介绍器件寻址,写操作和读操作。 器件寻址:所谓器件寻址(Device Addressing)就是用一
32、个8位的器件地址字(Device Address Word)去选择内存芯片。在逻辑电路中的AT24CXX系列的5种芯片种,即AT24C01A/02/04/08/16中,如果和器件地址字相比较结果一致,则读芯片被选中。下面对器件寻址的过程和意义加以说明。 芯片的操作地址 D7D6D5D4D3D2D1D01010A2A1A0R/W 用于内存EEPROM芯片寻址的器件地址字如图所示。它有4种方式,分别对应于1K/2K,4K,8K和16K位的EEPROM芯片。 从图中看出:器件地址字含有3个部分。第一部分是高4位,它们称为EEPROM AT24C01A/02/04/08/16的标识第二部分称为硬布线地
33、址,它们是标识后的3位。第三部分是最低位,它是读/写操作选择位。 第一部分:器件标识,器件地址字的最高4位。这4位的内容恒为”1010”,用于标识EEPROM器件AT24C01A/02/04/08/16。 第二部分:硬布线地址,是与器件地址字的最高4位相接的低3位。硬布线地址的3位有2种符号:Ai(i=02),Pj(j=02)其中Ai表示外部硬布线地址位。 对于AT24C10A/02这两种1K/2K位的EEPROM芯片,硬布线地址为“A2,A1,A0”。在应用时,“A2,A1,A0”的内容必须和EEPROM芯片的A2,A1,A0的硬布线情况,即逻辑连接情况相比较,如果一样,则芯片被选中;否则,
34、不选中。AT24C01/02:真正地址=字地址。 第三部分:读/写选择位,器件地址字的最低位,并用R/W表示。当R/W=1时,执行读操作;当R/W=0时,执行写操作。 当EEPROM芯片被选中时,则输出“0”;如果EEPROM芯片没有被选中,则它回到备用方式。被选中的芯片。其以后的输入,输出情况视写入和读出的内容而定。 写操作:AT24C01A/02/04/08/16这5种EEPROM芯片的写操作有2种:一种是字节写,另一种是页面写。 字节写: 这种写方式只执行1个字节的写入。字节写的过程如图所示,其写入过程分外部写和内部写两部分,分别说明如下。 在起始状态中,首先写入8位的器件地址。则EEP
35、ROM芯片会产生一个“0”信号ACK输出作为应答;接着,写入8位的字地址,在接受了字地址之后,EEPROM芯片又产生一个“0”应答信号ACK;随后,写入8位资料,在接受了资料之后,芯片又产生一个“0”信号ACK作为应答。到此为止,完成了一个字节写过程,故应在SDA端产生一个停止状态,这是外部写过程。 在这个过程中,控制EEPROM的单片机应在EEPROM的SCL,SDA端送入恰当的信号。当然在一个字节写过程结束时,单片机应以停止状态结束写过程。在这时,EEPROM进入内部定时的写周期,以便把接受的数据写入到存储单元中。在EEPROM的内部写周期中,其所有输入被屏蔽,同时不响应外部信号直到写周期
36、完成。这是内部写过程。内部写过程大约需要10ms时间。内部写过程处于停止状态与下一次起始状态之间。页面写: 这种写入方式执行含若干字节的1个页面的写入。对于AT24C01A/02,它们的1个页面含8个字节;页面写的开头部分和字节写一样。在起始状态,首先写入8位器件地址;待EEPROM答当了“0”信号ACK之后,写入8位字地址;又待芯片应答了“0”信号ACK之后,写入8位资料。 随后页面写的过程则和字节写有区别。 当芯片接受了第一个8位资料并产生应答信号ACK之后,单片机可以连续向EEPROM芯片发送共为1页面的资料。对于AT24C01A/02,可发送共1个页面的8个字节(连第一个8位资料在内)
37、。对于AT24C04/08/16,则共可发送1个页面共16个字节(连第一个8位资料在内)。当然,每发一个字节都要等待芯片的应答信号ACK。 之所以可以连续向芯片发送1个页面资料,是因为字地址的低34位在EEPROM芯片内部可实现加1,字地址的高位不变,用于保持页面的行地址。页面写和字节写两者一样可,都分为外部写和内部写过程。 应答查询:应答查询是单片机对EEPROM各种状态的一种检测。单片机查询到EEPROM有应答“0”信号ACK输出,则说明其内部定时写的周期结束,可以写入新的内容。单片机是通过发送起始状态及器件地址进行应答查询的。由于器件地址可以选择芯片,则检测芯片送出到SDA的状态就可以知
38、道其是否有应答了。 读操作:读操作的启动是和写操作类同的。它一样需要图所示的器件地址字。和写操纵不同的就是信号为时执行读操作。 读操纵有3种方式,即现行地址读,随机读和顺序读。下面分别说明它们的工作过程。 现行地址读: 在上次读或写操纵完成之后。芯片内部字地址计数器会加1,产生现行地址。只要没有再执行读或写操作,这个现行地址就会在EEPROM芯片保持接电的期间一直保存。一旦器件地址选中EEPROM芯片,并且有R/W=1,则在芯片的应答信号ACK之后把读出的现行地址的资料送出。现行地址的资料输出时,就由单片机一位一位接受,接收后单片机不用向EEPROM发应答信号ACK“0”电平,但应保证发出停止
39、状态的信号以结束现行地址读操作。现行地址读会产生地址循环覆盖现象,但和写操纵的循环覆盖不同。在写操纵中,地址的循环覆盖是现行页面的最后一个字节写入之后,再行写入则覆盖同一页面的第一个字节。而在现行地址读操纵中,地址的循环覆盖是在最后页面的最后一个字节读出之后,再行读出才覆盖第一个页面的第一个字节。 随机读: 随机读和现行地址读的最大区别在于随机读会执行一个伪写入过程以把字地址装入EEPROM芯片中,然后执行读出,显然,随机读有2个步骤。 第一,执行伪写入把字地址送入EEPROM,以选择需读的字节。 第二,执行读出根据字地址读出对应内容。 当EEPROM芯片接收了器件地址及字地址时,在芯片产生应
40、答信号ACK之后,单片机必须再产生一个起始状态,执行现行地址读,这时单片机再发出器件地址并且令R/W=1,则EEPROM应答器件地址并行输出被读数据。在资料读出时由单片机执行一位一位接收,接收完毕后,单片机不用发“0”应答信号ACK,但必须产生停止状态以结束随机读过程。 应该注意:在随机读的第二个步骤是执行现行地址读的,由于第一个步骤时芯片接收了字地址,故现行地址就是所送入的字地址。 顺序读: 顺序读可以用现行地址读或随机读进行启动。它和现行地址读。随机读的最大区别在于:顺序读在读出一批资料之后才由单片机产生停止状态结束读操作;而现行地址读和随机读在读出一个资料之后就由单片机产生停止状态结束读
41、操作。 执行顺序读时,首先执行现行读或随机读的有关过程,在读出第一个资料之后,单片机输出“0”应答信号ACK。在芯片接收应答信号ACK后,就会对字地址进行计数加1,随后串行输出对应的字节。当字地址计数达到内存地址的极限时,则字地址会产生覆盖,顺序读将继续进行。只有在单片机不再产生“0”应答信号ACK,而在接收资料之后马上产生停止状态,才会结束顺序读操作。 在对AT24CXX系列执行读写的2线串行总线工作中,其有关信号是由单片机的程序和EEPROM产生的。有两点特别要记住:串行时钟必须由单片机程序产生,而应答信号ACK则是由接收资料的器件产生,也就是写地址或资料时由EEPROM产生ACK,而读数
42、据时由单片机产生。 6AT24CXX系列应用注意事项 AT24CXX系列型号:AT24CXX系列EEPROM有13种型号。它们的容量不同,执行页历写时的页历定义不同,进行读写时的地址位数也不同,器件地址不同。有关主要指针在应用中要加以区别和注意。7本实验需要用到CPU模块(F3区)和串行EEPROM模块(C1区)。串行EEPROM接口电路原理图参见图26-1。图26-1 串行EEPROM接口电路附件8:实验项目: 时间: 周学时:2实验教师: 实验员: 物 品 名 称规 格数 量物 品 名 称规 格数 量单片机AT89C52杜邦线(单孔)万用板7*9cm蜂鸣器有源5v蜂鸣器晶振四位一体共阳高亮
43、7段LED数码管寸电容33pF电阻1k双列直插IC插座DIP40发光二极管DIP直流稳压器5V彩排线双列直插IC插座DIP8USB转串口线皇冠USB-RS232 单排插针(40针)实验项目: 时间: 周学时:2实验教师: 实验员: 物 品 名 称规 格数 量物 品 名 称规 格数 量万用板7*9cm杜邦线(单孔)晶振单排插针(40针)电容33pF双列直插IC插座DIP16电阻10k双列直插IC插座DIP40彩排线数据缓冲器74ls244数据锁存器74ls273发光二极管DIP触动开关B3F蜂鸣器有源5v蜂鸣器四位一体共阳高亮7段LED数码管寸实验项目: 时间: 周学时:2实验教师: 实验员: 物 品 名 称规 格数 量物 品 名 称规 格数 量万用板7*9cm蜂鸣器有源5v蜂鸣器晶振四位一体共阳高亮7段LED数码管寸电容33pF电阻100k双列直插IC插座DIP40彩排线闪烁存储器FLASH ROM29F10发光二极管DIP触动开关B3FUSB转并口转接线25孔的并口头杜邦线(单孔)单排插针(40针)实验项目: 时间: 周学时:2实验教师: 实验员: 物 品 名 称规 格数 量物 品 名 称规 格数 量万用板7*9cm蜂鸣器有源5v蜂鸣器晶振四位一体共阳高亮7段LED数码管寸电容33pF电阻1k双列直插IC插座DIP40