课件第13章-单片机系统的开发

上传人:我*** 文档编号:137927743 上传时间:2020-07-12 格式:PPT 页数:296 大小:1.38MB
返回 下载 相关 举报
课件第13章-单片机系统的开发_第1页
第1页 / 共296页
课件第13章-单片机系统的开发_第2页
第2页 / 共296页
课件第13章-单片机系统的开发_第3页
第3页 / 共296页
课件第13章-单片机系统的开发_第4页
第4页 / 共296页
课件第13章-单片机系统的开发_第5页
第5页 / 共296页
点击查看更多>>
资源描述

《课件第13章-单片机系统的开发》由会员分享,可在线阅读,更多相关《课件第13章-单片机系统的开发(296页珍藏版)》请在金锄头文库上搜索。

1、第十三章单片机系统的开发,知识目标与技能目标,知识目标:掌握单片机系统的开发一般过程;掌握单片机系统的开发方法; 技能目标:能够开发简单的单片机系统;能够协助开发复杂的单片机系统;,项目四任务10 数字万年历单片机系统的开发,要求:开发完整的数字万年历系统,包括时钟芯片的使用、温度传感器的使用、液晶字符显示模块的使用,键盘程序的编制,整个系统的联调。,分析:,单片机系统的开发一般方法是怎样的?对于像万年历这一较复杂的系统进行开发,应有比较固定的方法与工具。如果还要扩展系统又应如何进行呢?数字万年历中的时钟芯片如何选择?温度传感器有何特点,如何使用?整个系统的程序是怎样的?,单片机系统的开发方法

2、,对于一个实际的课题和项目,从任务的提出到系统的选型、确定、研制直至投入运行要经过一系列的过程。 通常,开发一个单片机应用系统需要经过以下几个过程:,开发过程,系统需求调查; 可行性分析; 系统方案设计; 系统建造; 系统调试; 系统方案局部修改、再调试; 生成正式产品。,1. 系统需求调查,调查的主要内容包括:原有系统的结构、功能以及存在的问题;国内外同类系统的最新发展情况以及与新系统有关的各种技术资料;同行业中哪些用户已经采用了新的系统,它们的结构、功能、使用情况以及所产生的经济效益。,2.可行性分析,从以下几个方面进行论证:市场或用户需求;经济效益和社会效益;技术支持与开发环境;现在的竞

3、争力与未来的生命力。,3. 系统方案设计,主要内容包括:系统结构设计;系统功能设计;系统实现方法。,4. 系统建造,将前面产生的系统方案付诸实施,将硬件框图转化为具体电路,软件流程用程序加以实现。 设计硬件电路时,单片机的选用对电路结构及复杂度有较大影响。 一个合适的单片机将会最大限度地降低其外围连接电路,从而简化整个系统的硬件。,5. 系统调试,系统调试检验所设计系统的正确与可靠,从中发现组装问题或设计错误。,6.系统方案局部修改、再调试,对于系统调试中发现的问题或错误以及出现的不可靠因素要提出有效的解决方法,然后对原方案做局部修改,再进入调试。,7. 生成正式系统(或产品),提供一个能正确

4、可靠运行的系统(或产品),而且还应提供关于该系统(或产品)的全部文档。,这些文档包括系统设计方案、硬件电原理图、软件程序清单、软/硬件功能说明、软/硬件装配说明书、系统操作手册等。 在开发产品时,还要考虑到产品的外观设计、包装、运输、促销、售后服务等商品化问题。,开发过程流程图,两种开发方法,方法1:通过硬件仿真器开发单片机开发系统,图 13.2 单片机系统开发示意图,在PC机中进行程序设计与开发,通过仿真器与用户系统相连接,在仿真器中运行程序,在用户系统中观察运行结果,看是否符合设计要求。 如果有不符合的地方再回到计算机中修改,然后重复上述过程。 直到符合设计要求后,将程序用编程器写入用单片

5、机中,用单片机代替仿真头,让用户系统脱离计算机及仿真器独立运行。,方法2:软件模拟开发系统,现代由于开发周期缩短及开发成本压缩的需要,经常用软件模拟硬件来进行系统开发。 基于Proteus(Keil)仿真软件及Keil C编辑开发软件的单片机设计与开发具有很大的优越,已成为主流的开发方法。 这种开发方法,不需要花费任务硬件,效率高。 当然,最终还是要让程序在硬件系统上运行,但一般来说,仿真的结果与实际硬件执行的结果是一致的。,单片机系统的扩展,程序存储器的扩展; 数据存储器的扩展;,知识目标与技能目标,知识目标:掌握存储器的扩展方法;掌握片外存储器地址的确定方法; 技能目标:能够正确扩展单片机

6、的存储系统;能够编写对片外存储器操作的程序;,1程序存储器扩展,当系统软件较大、片内ROM容量不够时: 改用片内带较大容量ROM的单片机型号,如宏晶科技的STC 89C51 系列单片机,其程序存储空间由4K64K可选。 虽然单片机价格随程序存储器容量增大而有所增加,但由于系统集成度高,电路简单,可靠性高,这一方案是性价比较高的首选方案。,在单片机外部扩展程序存储器,可扩展以下程序存储器常用芯片: 紫外线擦除电可编程EPROM型(Erasable Programmable Read Only Memory), 如2716(2K8)、2732(4K8)、2764(8K8)、27128(16K8)、

7、27256(32K8)、27512(64K8)等; 电可擦除可编程EEPROM型,如2816(2K8)、2864(8K8)等; Flash ROM型如AT29*系列、AT49*系列并行Flash等。,单片机的CPU指挥一个电子单元需要三类信息( 如同邮递员送邮件一样): 地址(门牌-到哪里?)、数据(货物-送什么?)、控制(要求-什么时间送?),三种总线:CB、AB、DB,地址总线(AB):传送地址信息; 数据总线(DB):传递数据信息; 控制总线(CB):传递控制信息。 总线结构的特点:结构简单、规则、易于扩展。,单片机引脚与片外总线的关系,图 13.4 程序存储器扩展电路图,数据总线P0口

8、 控制总线P3口+控制引脚 地址总线P0+P2 地址锁存器低8位地址暂时存放处 地址总线宽度为16位(A0A15),片外可寻址范围216 = 64K,控制总线:,ALE接74LS373的锁存端LE,为高电平时打开,为低电平时锁存,ALE与LE的要求刚好一至(ALE在一个时钟周期内,先为高电平,这时单片机P0口上送出的地址的低8位,然后变为低电平-锁存了地址,随后P0变为数据总线(74LS373由于地址已锁存,保持不变。); 单片机的 与存储器的输出允许信号 相连,在单片机读存储器是,用来选通存储器。,使用外部程序存储器,故内外程序存储器选择信号 要接地。,2 数据存储器及外部设备的扩展,单片机

9、还可扩展外部数据存储器,它将外围设备也当作数据存储器处理,即外部数据存储器与外围设备共用一个地址区(64KB)。 单片机内部采用的是总线式结构,单片机与外部设备的连接也需要总线方式。,控制存储器的引脚,:控制程序存储器的读操作,在执行指令的取指阶段和从程序存储器中取数据时有效(在外部数据存储器中没有用); :控制数据存储器的读操作,从外部数据存储器中读取数据时有效(在外部程序存储器中不用);这里与输出允许端 相连。 :控制数据存储器的写操作,向外部数据存储器中写数据时有效。这里与写允许端 相连。 ALE还是与锁存器74LS373的锁存湍相连,其作用与上例相同。,图 13.6 用6116扩展数据

10、存储器,P0口作为数据总线直接与数据存储器的数据总线相连(I/O0-I/O7)。 P0经过锁存后与数据存储器的地址低8位A0-A7相连, P2.0-P2.2与数据存储器的地址高位A8-A10相连, 同时还通过P2.7选中它的片选有效信号(只有它有效,数据存储器才能选中。)。,外部数据存储器相对于单片机的地址,0 xxxx000 00000000B-0 xxxx111 11111111B=0H-07ffH(假定x=0).,C51访问外部RAM的方法1,在程序中加入专用语句: #include /含有宏定义的包含语句 #define 变量名 XBYTE 地址常数 /地址定义语句 此后,便可通过对已

11、定义变量访问所需的端口,例如,对占用片外RAM 100H的端口进行读操作: #include #define port XBYTE 0 x100; unsigned char temp1,temp2; temp1 = port; /读端口操作 port = temp2; /写端口操作 ,C51访问外部RAM的方法2,将访问的外部端口用指针变量表示,指针变量的存储类型设置为xdata,在程序中为指针变量设置访问单元。 例如,同样针对上述举例,程序设计如下:,unsigned char xdata *PORT; /定义xdata指针变量 unsigned char temp1,temp2; POR

12、T = 0 x100; /指向0 x100地址 temp = *PORT; /读0 x100端口 *PORT = temp2; /写0 x100端口 ,项目设计训练,请为8051系统扩展8K的外部RAM(建议采用6264); 设计一个程序将你的学号存入XRAM的第一个存储单元,并从第一个单元读出这一数据(到单片机中RAM),验证是否为你的学号。,请为8051系统扩展32K的外部RAM(建议采用62256); 设计一个程序将你的学号存入XRAM的地址号最大的存储单元,并从这一单元读出这一数据(到单片机中RAM),验证是否为你的学号。,地址的计算,各存储器芯片的类型 各存储器芯片的地址范围,现有8

13、031单片机、74ls373锁存器、1片2764EPROM和2片6116RAM,请使用它们组成1个单片机应用系统,要求: (1)画出硬件电路连线图,并标注主要引脚; (2)指出该应用系统程序存储空间和数据存储器各自的地址范围。,I2C应用实例AT24C01,AT24C系列串行E2PROM具有I2C总线接口功能,功耗小,宽电源电压(根据不同型号2.5V6.0V),工作电流约为3mA,静态电流随电源电压不同为30A110A。,AT24C系列 E2PROM接口及地址选择,写一个字节的时序图,连续写的时序图,读任意地址内容,应用程序,/*= 24C01存储器I2C总线实验 C语言例子 = 电路图如图所

14、示,#include #include sbit SDA=0 x90; sbit SCL=0 x91; /函数声明 unsigned char i2c_read(unsigned char); void i2c_write(unsigned char,unsigned char); void i2c_send8bit(unsigned char); unsigned char i2c_receive8bit(void); void i2c_start(void); void i2c_stop(void); bit i2c_ack(void);,/= void main(void) unsign

15、ed char dd; i2c_write(0 x00,0 x55); _nop_(); dd=i2c_read(0 x00); for(;) ,/*= i2c_write(地址,数据),写一个字节 =*/ void i2c_write(unsigned char Address,unsigned char Data) do i2c_start(); i2c_send8bit(0 xA0); while(i2c_ack(); i2c_send8bit(Address); i2c_ack(); i2c_send8bit(Data); i2c_ack(); i2c_stop(); return; ,/*= i2c_read(地址,数据),写一个字节 =*/ unsigned char

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号