为什么叫烧写呢?
早期一般是将调试好的单片机程序写入到ROM、EPROM中,这种操作就像刻制光盘一样,实在高电压方式下写入,PROM是一次性写入,存储内部发生变化,有些线路或元件就被烧断,不可再恢复,所以叫做烧写,EPROM可以使用紫外线将原来写入的内容擦除,重新烧写,目前大量采用EEPROM,是可以电擦写的存储器。
单片机启动时会直接运行这些芯片中的程序,完成既定的功能。
所谓烧写,其实就是对单片机中的rom进行擦写。现代工艺下,rom已经可以进行多次擦写,但在早期,rom只能一次性设计好,例如早期的PLC,把二极管上的丝烧了后就永久编码出1。而我们知道,单片机程序经编译连接后传给机器便是机器语言,简而言之就是一大堆1和0。在少些过程中,我们将烧不烧一大堆MOS管和BJT的丝或连不连上通道来表示这些1和0。
烧写的三种方式:
1.把单片机当做一个ROM芯片,早期的单片机都是如此。将单片机放在通用编程上编程时,就像给28C256这样的ROM中写程序的过程一样。只是不同的单片机使用的端口,编程用的时序不一样。
2.像AT89S52或AVR单片机一样,在单片机上有SPI接口,这时用专用的下载线将程序烧写到单片机中。这时不同的是,单片机的CPU除了执行单片机本身的指令之外,还能执行对ROM进行操作的特殊指令,如ROM擦除、烧写和校验指令。在编程ROM时,下载线先通过传输这些指令给CPU执行(擦除ROM、读入数据、烧写ROM、和校验ROM),这样完成对单片机的ROM的烧写。此外,现在普遍使用的JTAG仿真器也是这样,单片机的CPU能执行JTAG的特殊指令,完成对ROM的烧写操作。
3.引导程序,即单片机中已经存在了一个烧写程序。启动单片机时首先运行这程序,程序判断端口状态,如果符合“要烧写ROM”的状态存在,就从某个端口(串口、SPI等等)读取数据,然后写入到单片机的ROM中。如果没有“要烧写ROM”的状态,就转到用户的程序开始执行。像AVR单片机的bootloader方式、STC的串口下载方式,还有其他单片机的串口编程等等都是这样。
关键字:单片机 烧写程序 ROM芯片
引用地址:
什么是单片机烧写程序
推荐阅读最新更新时间:2024-03-16 13:13
51单片机程序及调试步骤实战经验
我刚参加工作的时候,用的是stc 51单片机的,51单片机不像stm32那样可以通过st-link在keil上面在线仿真。 有时候出现bug的时候,非常难找问题,要一段一段屏蔽然后测试。 在刚开始接触开发的时候,我非常不习惯用在线仿真,大概是因为没用过。 记得有一次进了一家公司做行车记录仪,用的台产GRAIN的单片机。 那时候基本上没什么资料,就一个dada sheet和demo程序。 在开发之前,老大安排了给我一个任务,就是把这个仿真环境先给搭起来。 相当于是他们原厂没有的东西,让我去搞定,这个芯片是基于Fa626TE core的32位控制器。 网上的资料太少了,光是测试搭建这个环境花了半个多月,最后还没搭建出来。
[单片机]
用51单片机驱动蜂鸣器
#include reg51.h //头文件 sbit BEEP=P1^5;//位定义P1的第五个端口为蜂鸣器 void delay() //延时函数 { unsigned char a,b; for(a=0;a 200;a++) for(b=0;b 200;b++); } void main()//主函数 { while(1) { BEEP=~BEEP;//取反符号 delay(); //延时 } } 注:该单片机通过ULN2003驱动蜂鸣器,其管口接于P1口的5端口。
[单片机]
基于双单片机的数据通信模块设计方案
在信息数据传播的过程中,人们为了保障数据通信系统的工作性能,就将一些新型的通信技术应用到其专用,从而实现双单片机数据通信模块的设计,以确保信息数据传递的有效性和稳定性。其中SPI总线的应用,不但使得数据通信的效果得到很好的改善,还简化了整个通信系统的电流结构,使得双单片机数据通信模块设计的可靠性得到有效的提高。而且随着社会的不断发展,人们也将许多先进的科学技术应用到其中,有效的促进了我国通信行业的发展,使其通信性能得到进一步的优化。 双单片机SPI总线数据通信设计分析 在当前我国工业经济发展的过程中,人们为了实现工业的信息化生产,就将计算机控制系统应用到其中才,使其生产效率和质量得到有效的提高。但是,由于工业生产环境十分的恶劣,这
[电源管理]
STC51单片机ISP自动下载电路设计
51单片机可以通过ISP下载方式烧写程序,常用的工具为USB/TTL,常用的芯片有MAX232、CH340G等。下面介绍以CH340G芯片设计的ISP下载电路。 1.51单片机程序下载原理 51单片机程序烧写接口为RXD和TXD,即UART口,这两个接口是通信口,配合不同的芯片可以实现不同的通讯方式。如果连接MAX232即可实现232通信,如果连接MAX3082即可实现RS485通讯。下载程序正是通过这两个接口来实现的。下载方式如下图所示。单片机的RXD和TXD要与USB/TTL设备的TXD和RXD交叉连接才能实现下载。 2.CH340G芯片介绍 CH340是一个USB总线的转接芯片,实现USB转串口、USB转IrDA红外或者
[单片机]
采用AT89S52单片机实现机载电气盒测试仪的设计与用途介绍
1 引言 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。AT89S52使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,AT89S52拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,
[单片机]
单片机中断总结
一.TMOD:定时器计数度器模式寄存器 M1M0:定时/计数器一共有四种工作方式,就是用M1M0来控制的,2位正好是四种组合。 1. 工作方式1 工作方式1是16位的定时/计数方式,将M1M0设为01即可,其它特性与工作方式0相同。 工作方式2 在 介绍这种式方式之前先让我们思考一个问题:上一次课我们提到过任意计数及任意定时的问题,比如我要计1000个数,可是16位的计数器要计到65536才 满,怎么办呢?我们讨论后得出的办法是用预置数,先在计数器里放上64536,再来1000个脉冲,不就行了吗?是的,但是计满了之后我们又该怎么办呢? 要知道,计数总是不断重复的,流水线上计满后马上又要开始下一次计数,下一次的计数还
[单片机]
15课:单片机位操作指令
前面那些流水灯的例程,我们已经习惯了“位”一位就是一盏灯的亮和灭,而我们学的指令却全都是用“字节”来介绍的:字节的移动、加法、减法、逻辑运算、移位等等。用字节来处理一些数学问题,比如说:控制冰箱的温度、电视的音量等等很直观,能直接用数值来表在。可是如果用它来控制一些开关的打开和合上,灯的亮和灭,就有些不直接了,记得我们上次课上的流水灯的例程吗?我们知道送往P1口的数值后并不能马上知道哪个灯亮和来灭,而是要化成二进制才知道。工业中有很多场合需要处理这类开关输出,继电器吸合,用字节来处理就显示有些麻烦,所以在8031单片机中特意引入一个位处理机制。 位寻址区 在8031中,有一部份RAM和一部份SFR是具有位寻址功能的,也就是说这
[单片机]
基于单片机控制的新型智能电梯语音系统设计
摘 要 :本文设计了一种基于单片机控制的智能电梯语音系统,对整个系统的电路原理、单片机、CPLD和解码器的接口等硬件原理作了详细论述。软件部分针对电梯语音服务的要求,通过对电梯系统中特殊信号的逻辑判断,来完成对电梯语音服务的智能化控制,成功实现了电梯语音服务的智能化和自动化。 引言 语音系统对电梯来说是不可缺少的部分,比如进行楼层报数、方向提示、报警告示、消防对讲甚至广告宣传等。目前绝大多数电梯使用语音芯片来进行语音存储和播放,而语音芯片系统存在一些缺陷,比如外围电路复杂、音质不佳、成本偏高、容量有限以及语音更改不便等。有鉴于此,本文设计了一款基于单片机控制的智能电梯语音系统。 系统概述 电梯
[单片机]