基于单片机的微控制器在系统编程

发布者:MindfulCreator最新更新时间:2013-11-07 来源: dzsc关键字:单片机  微控制器  系统编程 手机看文章 扫描二维码
随时随地手机看文章

介绍

Dallas Semiconductor基于8051的微控制器类产品中,许多型号都支持通过通用RS-232串口实现在系统编程。在系统编程意味着程序和/或数据存储器能够在不用拆解嵌入式系统来替换存储器的情况下进行修改。这种特性强调易使用性和多功能性,在所有嵌入式设计中增加了许多非常重要的特性: 允许硬件在工厂组装和存放,而在出厂前才进行软件定制, 需要进行软件升级时,消除了在现场拆解器件的高昂代价, 允许对位置不可达的应用进行软件升级, 访问专用配置与状态寄存器,以及 使用存储器加密的方式把软件加载到安全微控制器。

具有这种特性的器件包括:

DS2250, DS2250T, DS2251T, DS2252T, DS5000, DS5000T 安全微控制器 DS5000FP, DS5001FP, DS5002FP, DS5002FPM 安全微处理器 DS5240, DS5250 高速安全微处理器DS80C400 网络微处理器DS89C420, DS89C430, DS89C440, DS89C450 超高速闪存微控制器

通过将器件的一个或多个外部引脚设置为某特定状态来激活引导加载程序。器件启动后,开始执行位于器件内部专用ROM的加载程序。一旦收到一个回车符号,串口就执行自动波特率功能并与主机的波特率同步。主机(通常为PC)和目标板之间的通讯是通过大多数PC上常见的通用RS-232接口完成的,而不需要昂贵的专用硬件。引导加载程序使用的协议简单,由一个或多个带有相关状态消息和文件传送程序的ASCII字符命令组成。可以使用Dallas Semiconductor免费提供的微控制器工具包通讯软件或任何串口通讯工具软件来完成通讯。

大部分此类器件也支持在应用编程,允许器件在应用软件的控制下修改程序存储器。这种方式下,系统能够在仍然履行其主要功能的情况下完成在线软件升级。详细情况在相关器件的数据手册或用户指南中给出。

此文档是对相关器件的数据手册以及使用指南中所提供信息的补充。阅读此应用笔记时,请根据需要参考这些文档。

物理连接

引导加载程序是通过将器件的一个或多个外部引脚置为如表1所示的特定状态来激活的。此时终止执行应用软件,并且将程序控制权交给内部引导ROM。一定要查阅正确的勘误表,以确定是否有与激活引导加载程序相关的任何勘误信息。

对不同的产品系列,调用引导加载程序的物理连接和方法略有不同,但是都包含相同的基本元件。如果连接到一台PC上,需要一个如图所示的RS-232到CMOS电平转换器,来连接主机和目标微控制器间的通讯和控制信号。图中所示的器件可以替换为任何兼容的RS-232转换器。下列图中使用微控制器的DTR信号作为加载/运行模式选择信号。

一些设计使用了具有三态输出的总线缓冲器。当DTR有效时(低电平),它使能打开缓冲器,并驱动用来激活引导加载程序的多个信号。这个总线缓冲器在原理图中一般标成"HC/AC125",这是因为可以使用任何逻辑系列的相似器件,如74HC125, 54HC125, 74AC125, 74LS125等。这些器件很常见,应该能够从任何一家通用逻辑器件供应商买到,如Motorola, Fairchild Semiconductor, Toshiba, ST Microelectronics 和许多其它供应商等。

其它器件用单个信号激活引导加载程序,因此不需要这个缓冲器。这种情况下,DTR信号可以直接连接到目标微控制器的激活引脚。

引导加载程序使用连接到XTAL1/XTAL2引脚上的时钟源作为它的时间基准。如果使用晶振,它必须满足器件数据手册中列出的推荐指标(基频模式下的谐振,并行AT型切片,负载电容量等)。由于引导加载程序进行自动波特率测量依赖于内部定时器,因此对与引导加载程序兼容的频率范围有一些限制。对于您用到的具体器件,其与引导加载程序兼容的时钟频率范围请参考相关用户指南。

软件

引导加载程序激活后,微控制器将会查询串行端口,寻找一个8数据位,无奇偶校验,一个停止位(8-N-1)格式的回车(0Dh)字符。引导加载程序软件测量这个字符中高低电平的时间长度来确定主机系统的波特率。这种自动波特率特性允许引导加载程序和许多主机系统进行通讯,而不用限制固定的波特率。 
 
参考文献:
[1]. RS-232 datasheet http://www.dzsc.com/datasheet/RS-232_584855.html.
[2]. DS80C400  datasheet http://www.dzsc.com/datasheet/DS80C400+_267871.html.
[3]. ROM datasheet http://www.dzsc.com/datasheet/ROM_1188413.html.

关键字:单片机  微控制器  系统编程 引用地址:基于单片机的微控制器在系统编程

上一篇:用单片机实现碾米抛光机的自动控制
下一篇:单片机及嵌入式系统应用

推荐阅读最新更新时间:2024-03-16 13:30

PIC单片机-Mplab的使用与实践
目录: 一、Mplab IDE的使用 1、Mplab IDE建立工程 1)简述 2)建立工程 3)调试 (1)源程序编译 (2)模拟仿真设置 (3)端口设置 (4)添加变量到Watch (5)查看ROM、RAM使用情况 (6)查看软仿真时间 2、Mplab IDE硬件仿真 1)简述 2)接入PICkit3出现Target Device ID (00000000) does not match expected Device ID (00002460) 3)首次使用PICkit3出现PK3Err0040 4)接入PICkit3烧录时要设置电源 5)Maplab的输出窗口看不见
[单片机]
PIC<font color='red'>单片机</font>-Mplab的使用与实践
沁恒股份8位增强型USB主从单片机CH559概述
概 述 CH559是一款兼容MCS51的增强型E8051内核单片机,79%的指令是单字节单周期指令,内置60K Code Flash,6K+256B Ram。 CH559 内嵌USB控制器和双USB收发器,支持 USB-Host 主机模式和 USB-Device 设备模式,支持 USB 2.0 全速 12Mbps 或者低速 1.5Mbps,USB 主机模式下可以通过双端口 Root-HUB 同时管理两个 USB 设备。支持最大 64 字节数据包,内置 FIFO,支持 DMA。 CH559提供丰富的接口资源,包括内置类485数据收发器、LED控制卡接口和快速电平捕捉功能,其他包括2组SPI、2路串口、8位并口等,UART1兼
[单片机]
沁恒股份8位增强型USB主从<font color='red'>单片机</font>CH559概述
51单片机学习笔记:定时器产生PWM可调方波,控制led灯亮度
使用定时器T0产生PWM方波, 用按键调整占空比,20级可调 控制led灯的亮度等级. C代码 #include my51.h #include timer0.h #define grading 20 //亮度20级变化 sbit keyS3=P3^5; //按键调整占空比,PWM_keyChange++ sbit keyS4=P3^6; // PWM_keyChange-- u8 PWM_keyChange=10; //初值,按键调整在1~20之间变化 //占空比 PWM_key
[单片机]
51<font color='red'>单片机</font>学习笔记:定时器产生PWM可调方波,控制led灯亮度
单片机中17种常见常用的设计模块
  以下分享17种单片机常用电路设计模块,包括:双路232通信电路3线连接方式,三极管串口通信,单路232通信电路,USB转232电路等。   1、双路232通信电路3线连接方式,对应的是母头,工作电压5V,可以使用MAX202或MAX232.      2、三极管串口通信   本电路是用三极管搭的,电路简单,成本低,但是问题,一般在低波特率下是非常好的。      3、单路232通信电路   三线方式,与上面的三级管搭的完全等效。      4、USB转232电路   采用的是PL2303HX,价格便宜,稳定性还不错。      5、SP706S复位电路   带看门狗和手动复位,价格便宜(美信的贵很多),
[单片机]
<font color='red'>单片机</font>中17种常见常用的设计模块
基于51单片机的数字钟
//作者:中山董豪 时间:2010年 //功能:4位数码管可以显示 时分,月日,年份;万年历,整点报时,定时自动(或手动)关闭显示器,空闲模式工作省电 //硬件:2051单片机,P1.6到P1.0分别是 A到G,P1.7=DP,P3.5=D4,P3.4=D3,P3.1=D2,P3.0=D1,P3.7控制直流蜂鸣器(整点报时)。 //.2=0(改时间),P3.3=0(改状态),6Mhz晶振。 //使用说明:默认时间为 2010年1月1日,0点0分,状态1显示时分 //按P3.2为0,状态++,状态功能分别为 1:显示时间 2:显示月日 3:显示年 4:修改分钟 5:修改时钟 6:修改年 7:修改月 8:修改日 ; //用DP来表示
[单片机]
51单片机按键电平读取程序
按键电平的读取通常我们都是通过延时函数或者循环延时来降低抖动时间,来读取正确的按键电平。 示例: #include reg52.h sbit SysKey P0^0 sbit LED P0^1 #define SET 1 #define RESET 0 void Delay1ms(unsigned int ms) { unsigned char a,b,c; while(ms--) { for(c=17;c 0;c--) for(b=134;b 0;b--) for(a=2;a 0;a--); } } bit ReadKey(void) { if(SysKey == RESET)//有按键被按下 { Delay1ms(10)
[单片机]
51<font color='red'>单片机</font>按键电平读取程序
基于AVR单片机的ISP设计
0 引言 随着PDA、移动电话、数码相机、打印机等消费类产品的普及,用于这些设备与电脑、或设备与设备之间的高速数据传输技术越来越受到人们的关注。以往以计算机为核心的数据传输结构,非常不利于USB,总线在嵌入式行业的应用,也不适用于野外作业,而OTG技术的推出则可实现在没有PC的情况下,设备与设备之间的数据传输,它拓展了USB技术的应用范围。本文采用的设计方案是基于Philips公司的ISP1362 OTG控制芯片,参照最新的USB OTG技术规范,设计了一种遵循USB协议的主/从机系统。 1 ISP1362芯片的内部结构 Philips公司的ISP1362是一款符合USB 2.0总线协议的接口芯片,内部有3个USB控制
[单片机]
基于AVR<font color='red'>单片机</font>的ISP设计
Microwindows在基于单片机嵌入式系统中的移植
引言 microwindows是由gregory haerr组织的一个开放源码项目,是嵌入式系统中广泛应用的一种图形用户接口(gui),该项目的目标是在嵌入式linux平台上提供与普通个人电脑类似的图形用户界面。作为x_windows的替代品,microwindows提供了和x_windows类似的功能,但是却占用很少的内存,根据用户的配置,microwindows占用的内存资源只有100kb~600kb左右。microwindows的核心是基于显示设备接口的,可移植性较强,其本身提供了多种嵌入式系统常见的显示设备驱动程序。目前新版本的microwindows已经内建了framebuffer,因此可以不局限于linux
[单片机]
Microwindows在基于<font color='red'>单片机</font>嵌入式系统中的移植
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved