片机原理与应用.ppt
单片机原理与应用单片机原理与应用主讲老师:主讲老师:严严青青九江学院信息科学与技术学院九江学院信息科学与技术学院精品课程单片机原理与应用教学课件第1章MCS-51单片机的结构与原理主要内容:典型单片机(MCS-51,AT89S51,PIC,Motorola,AVR)的性能,MCS-51内部结构、特点、工作方式、时序和最小应用系统。为学生后续学习单片机应用系统设计、利用单片机解决工程实际问题打下坚实的基础。重点在于基本概念、组成原理、特点及MCS-51的最小应用系统,难点在于时序、ISP下载技术。预备知识:元器件实物图预备知识:元器件实物图单片机芯片单片机芯片AT89C51AT89S51AT89S52AT89C2051通信芯片MAX232CPE时钟芯片DS1302EEPROM24C02温度传感器18B20AD变换器0832稳压片78L05晶振电阻和排电阻瓷片小电容零压力插座万用焊接板仪器盒步进电机液晶字符显示屏液晶图形点阵显示屏拨动开关红外遥控用发射接受一体管继电器各类接插件遥控组件超声波发射接受头双路遥控组件长距离遥控器30004000M88二极管点阵八段数码管超声波发射和接收一体化机能汉字显示的显示屏和实时时钟板电子万年历学生实训成果展示学生实训成果展示说明:典型单片机有MCS-51、MSP430、EM78、PIC、Motorola、AVR等。MCS-51为主流产品,性能如表1.1.1。MSP430为低功耗产品,功能较强,性能如表1.1.2。EM78为低功耗产品,价格较低,性能如表1.1.3。PIC为低电压、低功耗、大电流LCD驱动、低价格产品,性能如表1.1.4。Motorola是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。性能如表1.1.5。AVR为高速、低功耗产品,支持ISP、IAP,I/O口驱动能力较强。性能如表1.1.6。1.1 1.1 典型单片机性能概览典型单片机性能概览1.2MCS-51单片机硬件结构及引脚单片机硬件结构及引脚 MCS-51系列单片机都是以Intel公司最早的典型产品8051为核心,增加了一定的功能部件后构成的,因此,本章以8051为主介绍MCS-51系列单片机。1.2.1 MCS-51单片机的内部结构 MCS-51单片机的组成:CPUCPU(进行运算、控制进行运算、控制)、RAMRAM(数据存数据存储器储器)、ROMROM(程序存储器)、程序存储器)、I/OI/O口口(串口、并口)、串口、并口)、内部总线内部总线 和中断系统和中断系统等。等。组成框图如下:内部结构如下:内部结构如下:组成:组成:运算器、控制器。80518051的的CPUCPU包含以下功能部件包含以下功能部件:(1)8位CPU。(2)布尔代数处理器,具有位寻址能力。(3)128B内部RAM数据存储器,21个专用寄存器。(4)4KB内部掩膜ROM程序存储器。(5)2个16位可编程定时器/计数器。(6)32个(48位)双向可独立寻址的I/O口。(7)1个全双工UART(异步串行通信口)。(8)5个中断源、两级中断优先级的中断控制器。(9)时钟电路,外接晶振和电容可产生1.2MHz12 MHz的时钟频率。(10)外部程序/数据存储器寻址空间均为64KB。(11)111条指令,大部分为单字节指令。(12)单一+5V电源供电,双列直插40引脚DIP封装。1.中央处理器(CPU)(1)运算器组成:组成:8位算术逻辑运算单元ALU(ArithmeticLogicUnit)、8位累加器A(Accumulator)、8位寄存器B、程序状态字寄存器PSW(ProgramStatusWord)、8位暂存寄存器TMP1和TMP2等。功能:功能:完成算术运算和逻辑运算。(2)控制器组成:组成:程序计数器PC(ProgramCounter)、指令寄存器IR(InstructionRegister)、指令译码器ID(InstructionDecoder)、堆栈指针SP、数据指针DPTR、定时控制逻辑和振荡器OSC等电路。功能:功能:CPU根据PC中的地址将欲执行指令的指令码从存储器中取出,存放在IR中,ID对IR中的指令码进行译码,定时控制逻辑在OSC配合下对ID译码后的信号进行分时,以产生执行本条指令所需的全部信号。MCS-51系列单片机配置一览表系列片内存储器(字节)定时器计数器并行I/O串行I/O中断源片内ROM片内RAM无有ROM有EPROMIntel51子系列803180C31805180C51(4K字节)875187C51(4K字节)128字节2x164x8位15Intel52子系列803280C32805280C52(8K字节)875287C52(8K字节)256字节3x164x8位16ATEML89C系列(常用型)1051(1K)/2051(2K)/4051(4K)(20条引脚DIP封装)1282151589C51(4K)/89C52(8K)(40条引脚DIP封装)128/2562/33215/62.存储器存储器MCS-51的存储器可分为程序存储器和数据存储器,又有片内和片外之分。(1)程序存储器 一般将只读存储器(ROM)用做程序存储器。可寻址空间为64KB,用于存放用户程序、数据和表格等信息。MCS-51单片机按程序存储器可分为内部无ROM型(如8031)和内部有ROM型(如8051)两种,连接时引脚有区别。程序存储器结构如右图所示:(2)数据存储器 一般将随机存储器(RAM)用做数据存储器。可寻址空间为64KB。MCS-51数据存储器可分为片内和片外两部分。片外片外RAM:最大范围:0000HFFFFH,64KB;用指令MOVX访问。片内片内RAM:最大范围:00HFFH,256B;用指令MOV访问。又分为两部分:低128B(007FH)为真正的RAM区,高128B(80FFH)为特殊功能寄存器(SFR)区。如右图所示。内部RAM的20H2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位地址为00H7FH。CPU能直接寻址这些位(称MCS-51具有布尔处理功能),位地址分配如右表所示。3特殊功能寄存器 (SFR)MCS-51有21个特殊功能寄存器(也称为专用寄存器),包括算术运算寄存器、指针寄存器、I/O口锁存器、定时器/计数器、串行口、中断、状态、控制寄存器等,它们被离散地分布在内部RAM的80HFFH地址单元中(不包括PC),共占据了128个存储单元,构成了SFR存储块。其字节地址可被8整除的SFR可位寻址。SFR反映了MCS-51单片机的运行状态。特殊功能寄存器分布如右表所示。(2)累加器A(Accumulator)累加器A是8位寄存器,又记做ACC,是一个最常用的专用寄存器。在算术/逻辑运算中用于存放操作数或结果。(3)寄存器B 寄存器B是8位寄存器,是专门为乘除法指令设计的,也作通用寄存器用。(1)程序计数器PC(Program Counter)程序计数器PC在物理上是独立的,它不属于SFR存储器块。PC是一个16位的计数器,专门用于存放CPU将要执行的指令地址(即下一条指令的地址),寻址范围为64KB,PC有自动加1功能,不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序执行的顺序。表2-5工作寄存器组选择控制表(4)工作寄存器 内部RAM的工作寄存器区00H1FH共32个字节被均匀地分成四个组(区),每个组(区)有8个寄存器,分别用R0R7表示,称为工作寄存器或通用寄存器,其中,R0、R1还经常用于间接寻址的地址指针。在程序中通过程序状态字寄存器(PSW)第3、4位设置工作寄存器区。(5)程序状态字PSW(Program Status Word)程序状态字PSW是8位寄存器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。其定义格式如下页表所示。其中:Cy:进借位标志;AC:辅助进借位标志;F0:用户标志;RS1、RS0:工作寄存器组(区)选择(如下表所示);OV:溢出标志位,有溢出时置1;P:奇偶标志位。A中有奇数个1时置1。(6)数据指针DPTR(Data Pointer)数据指针DPTR是16位的专用寄存器,即可作为16位寄存器使用,也可作为两个独立的8位寄存器DPH(高8位)、DPL(低8位)使用。DPTR主要用作16位间址寄存器,访问程序存储器和片外数据寄存器。(7)堆栈指针SP(Stack Pointer)堆栈是一种数据结构,是内部RAM的一段区域。堆栈存取数据的原则是“后进先出后进先出”。堆栈指针SP是一个8位寄存器,用于指示堆栈的栈顶,它决定了堆栈在内部RAM中的物理位置。MCS-51单片机的堆栈地址向大的方向变化(与微机堆栈地址向小的方向变化相反)。系统复位后,SP初值为07H,实际应用中通常根据需要在主程序开始处对堆栈指针SP进行初始化,一般设置SP为60H。设立堆栈的目的是用于数据的暂存,中断、子程序调用时断点和现场的保护与恢复。(8)I/O口专用寄存器(P0,P1,P2,P3)8051片内有4个8位并行I/O接口P0,P1,P2和P3,在SFR中相应有4个I/O口寄存器P0,P1,P2和P3。(9)定时器/计数器(TL0,TH0,TL1和TH1)MCS-51单片机中有两个16位的定时器/计数器T0和T1,它们由4个8位寄存器(TL0,TH0,TL1和TH1)组成,2个16位定时器/计数器是完全独立的。可以单独对这4个寄存器进行寻址,但不能把T0和T1当做16位寄存器来使用。(10)串行数据缓冲器(SBUF)串行数据缓冲器SBUF用于存放需要发送和接收的数据,它由两个独立的寄存器组成(发送缓冲器和接收缓冲器),要发送和接收的操作其实都是对串行数据缓冲器SBUF进行的。(11)其他控制寄存器 除上述外,还有IP,IE,TCON,SCON和PCON等几个寄存器,主要用于中断、定时和串行口的控制,I/O接口是MCS-51单片机对外部实现控制和信息交换的必经之路,用于信息传送过程中的速度匹配和增加它的负载能力。8051内部有4个8位并行接口P0,P1,P2,P3,有1个全双工的可编程串行I/O接口。5 5定时器定时器/计数器计数器8051内部有两个16位可编程序的定时器/计数器,均为二进制加1计数器,分别命名为T0和T1。T0和T1均有定时器和计数器两种工作模式。在定时器模式下,T0和T1的计数脉冲可以由单片机时钟脉冲经12分频后提供。在计数器模式下,T0和T1的计数脉冲可以从P3.4和P3.5引脚上输入。对T0和T1的控制由定时器方式选择寄存器TMOD和定时器控制寄存器TCON完成。4 4I/OI/O接口接口6中断系统 中中断断:指CPU暂停原程序执行,转而为外部设备服务(执行中断服务程序),并在服务完后返回到原程序执行的过程。中断系统:中断系统:指能够处理上述中断过程所需要的硬件电路。中断源:中断源:指能产生中断请求信号的源泉。8051可处理5个中断源(2个外部,3个内部)发出的中断请求,并可对其进行优先权处理。外部中断的请求信号可以从P3.2,P3.3(即和)引脚上输入,有电平或边沿两种触发方式;内部中断源有3个,2个定时器/计数器中断源和1个串行口中断源。8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成。1.2.2 MCS-51单片机外部引脚 1电源线 GNDGND:接地引脚。V VCCCC:正电源引脚。接5V电源。MCS-51系列单片机中,各类单片机都是相互兼容的,只是引脚功能略有差异。8051单片机有40个引脚,分为端口线、电源线和控制线三类。2端口线 P0P0P3P3口:口:48=32条。(1)P0口(P0.0P0.7)8位双向三态I/O口,可作为外部扩展时的数据总线/低8位地址总线的分时复用口。又可作为通用I/O口,每个引脚可驱动8个TTL负载。对EPROM型芯片(如8751)进行编程和校验时,P0口用于输入/输出数据。(2)P1口(P1.0P1.7)8位准双向I/O口,内部具有上拉电阻,可作为通用I/O口。每个引脚可驱动4个TTL负载。(3)P2口(P2.0P2.7)8位准双向I/O口,内部具有上拉电阻,可作为外部扩展时的高8位地址总线。又可作为通用I/O口,每个引脚可驱动4个TTL负载。对EPROM型芯片(如8751)进行编程和校验时,用来接收高8位地址。(4)P3口(P3.0P3.7)8位准双向I/O口,内部具有上拉电阻。它是双功能复用口,作为通用I/O口时,功能与P1口相同,常用第二功能。每个引脚可驱动4个TTL负载。作为第二功能使用时,各位的作用如下页表所示。3 3控制线控制线(1)RST/VPDRST/VPD引脚是复位信号/备用电源线引脚。当8051通电时,在RST引脚上出现24个时钟周期以上的高电平,系统即初始复位。(2)ALE/地址锁存允许/编程引脚。当访问外部程序存储器时,ALE的输出用于锁存地址的低位字节,以便P0口实现地址/数据复用。当不访问外部程序存储器时,ALE端将输出一个1/6时钟频率的正脉冲信号。ALE/是复用引脚,其第二功能是对EPROM型芯片(如8751)进行编程和校验时,此引脚传送52ms宽的负脉冲选通信号,程序计数器PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令码放到P0口上,由CPU读入并执行。(3)/VPP 允许访问片外程序存储器/编程电源引脚。对于片内无程序存储器的MCS-51单片机(如8031),必须接地。片内有程序存储器的MCS-51单片机(如8051),必须接高电平。/VPP是复用引脚,其第二功能是片内EPROM编程/校验时的电源线,在编程时,VPP脚需加上21V的编程电压。(4)XTAL1和XTAL2 XTAL1脚为片内振荡电路的输入端,XTAL2脚为片内振荡电路的输出端。8051的时钟有两种方式,一种是片内时钟振荡方式,但需在XTAL1和XTAL2脚外接石英晶体(频率为1.212MHz)和振荡电容,振荡电容的值一般取1030pF,典型值为30pF;另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入,如下图所示。(5)片外ROM选通线。在执行访问片外ROM的指令MOVC时,8051自动在引脚产生一个负脉冲,用于对片外ROM的选通。其他情况下,该引脚均为高电平封锁状态。1.2.3 当前主流的AT89S51单片机简介AT89S51是什么?书上和网络教程上可都是8031、8051,89C51等!没听说过有 89S51啊?这里,初学者要澄清单片机实际使用方面的一个产品概念,MCS-51单片机是美国INTE公司于1980年推出的产品,典型产品有 8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,实际使用方面已经被市场淘汰)和8751等通用产品,一直到现在,MCS-51内核系列兼容的单片机仍是应用的主流产品(比如目前流行的89S51、已经停产的89C51等),各高校及专业学校的培训教材仍与MCS-51单片机作为代表进行理论基础学习。89S51相对于89C51增加的新功能包括:-新增加很多功能,性能有了较大提升,价格却基本不变,甚至比89C51更低!-ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。-工作频率为33MHz,大家都知道89C51的极限工作频率只有24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。-具有双工UART串行通道。-内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。-全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。-兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期MCS-51兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上一样可以照常运行,这就是所谓的向下兼容。的比较结果:就如同INTEL的P3向P4升级一样,虽然都可以跑WindowsXP,不过速度是不同的。从AT89C51升级到AT89S51,也是同理。和S51比起来,C51就要逊色多了,实际应用市场方面技术的进步是永远向前的。目前市场上不少的单片机具有ISP功能。ATMEL公司最近新推出的AT89SXX系列单片机也提供了一个SPI串行接口,让用户能对内部程序存储器编程(ISP)。什么是ISP?ISP(In-SystemProgramming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。ISP技术是未来发展方向。有些文献甚至也将8051泛指MCS-51系列单片机,8051是早期的最典型的代表作,由于MCS-51单片机影响极深远,许多公司都推出了兼容系列单片机,就是说MCS-51内核实际上已经成为一个8位单片机的标准。其他的公司的51单片机产品都是和MCS-51内核兼容的产品而以。同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL的89C51(已经停产)、89S51,PHILIPS(菲利浦),和WINBOND(华邦)等,我们常说的已经停产的89C51指的是ATMEL公司的AT89C51单片机,同时是在原基础上增强了许多特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写1000次)存储器取带了原来的ROM(一次性写入),AT89C51的性能相对于8051已经算是非常优越的了。不过在市场化方面,89C51受到了PIC单片机阵营的挑战,89C51最致命的缺陷在于不支持ISP(在线更新程序)功能,必须加上ISP功能等新功能才能更好延续MCS-51的传奇。89S51就是在这样的背景下取代89C51的,现在,89S51目前已经成为了实际应用市场上新的宠儿,作为市场占有率第一的Atmel目前公司已经停产AT89C51,将用AT89S51代替。89S51在工艺上进行了改进,89S51采用0.35新工艺,成本降低,而且将功能提升,增加了竞争力。89SXX可以向下兼容89CXX等51系列芯片。同时,Atmel不再接受89CXX的定单,大家在市场上见到的89C51实际都是Atmel前期生产的巨量库存而以。同学们注意:在指令系统和外部引脚上,8031、8751、89C51、AT89s51都是完全向下兼容的!学会阅读AT89S51的说明书请大家登录网站,找到AT89s51_中文.dpf,这就是AT89S51说明书,现在我带着大家一起来看,学会如何在网上查找和阅读资料。(第一次课完)1.3MCS-51单片机的工作方式MCS-51系列单片机的工作方式可分为:复位方式、程序执行方式、单片执行方式、掉电保护方式、节电工作方式和EPROM编程/校验方式。1.3.1 复位方式 系统开始运行和重新启动靠复位电路来实现,这种工作方式为复位方式。单片机在开机时都需要复位,以便CPU及其他功能部件都处于一种确定的初始状态,并从这个状态开始工作。MCS-51单片机在RST引脚产生两个机器周期(即24个时钟周期)以上的高电平即可实现复位。复位电路有两种:上电自动复位和上电/按键手动复位,如下图所示。复位后,8051的各特殊功能寄存器的初始状态如下表所示。1.3.2程序执行方式 程序执行方式是单片机基本工作方式,可分为连续执行工作方式和单步执行工作方式。1连续执行工作方式 这是所有单片机都需要的一种方式。单片机复位后,PC值为0000H,因此单片机复位后立即转到0000H处执行程序。单片机按照程序事先编排的任务,自动连续地执行下去。2单步执行工作方式 这是用户调试程序的一种工作方式,在单片机开发系统上有一专用的单步按键(或软件调试环境)。按一次,单片机就执行一条指令(仅仅执行一条),这样就可以逐条检查程序,发现问题进行修改。单步执行方式是利用单片机外部中断功能实现的。节电工作方式是一种低功耗的工作方式,可分为空闲(等待)方式和掉电(停机)方式。是针对CHMOS类芯片而设计的,HMOS型单片机不能工作在节电方式,但它有一种掉电保护功能。1HMOS单片机的掉电保护 当VCC突然掉电时,单片机通过中断将必须保护的数据送入内部RAM,备用电源VPD可以维持内部RAM中的数据不丢失。2CHMOS单片机的节电方式 CHMOS型单片机是一种低功耗器件,正常工作时电流为1122mA,空闲状态时为1.75mA,掉电方式为550A。因此,CHMOS型单片机特别适用于低功耗应用场合,它的空闲方式和掉电方式都是由电源控制寄存器PCON中相应的位来控制。1.3.3节电方式(1)电源控制寄存器PCON PCON各位的定义如下表所示。IDLIDL:空闲方式控制位,该位为1时,单片机进入空闲待机工作方式。PDPD:掉电方式控制位,为1时,单片机进入掉电工作方式。上面的IDL、PD同时为1,则进入掉电工作方式,同时为0,则工作在正常运行状态。GF0,GF0,GF1GF1:通用标志位,描述中断是来自正常运行还是来自空闲方式,用户可通过指令设定它们的状态。SMODSMOD:为串行口波特率倍率控制位,用于串行通信。(2)空闲工作方式 将IDL位置为1(用指令MOVPCON,#01H),则进入空闲工作方式,其内部控制电路如右图所示。此时,CPU进入空闲待机状态,中断系统、串行口、定时器/计数器,仍有时钟信号,仍继续工作。退出空闲状态有两种方法:一是中断退出,二是硬件复位退出。(3)掉电工作方式 将PD置为1(用指令MOVPCON,#02H),可使单片机进入掉电工作方式。此时振荡器停振,只有片内的RAM和SFR中的数据保持不变,而包括中断系统在内的全部电路都将处于停止工作状态。退出掉电工作方式,只能采用硬件复位的方法。欲使8051从掉电方式退出后继续执行掉电前的程序,则必须在掉电前预先把SFR中的内容保存到片内RAM中,并在掉电方式退出后恢复SFR掉电前的内容。1.3.4编程和校验方式 编程和校验方式用于内部含有EPROM的单片机芯片(如8751),一般的单片机开发系统都提供实现这种方式的设备和功能。编程的主要操作是将原始程序、数据写入内部EPROM中。校验的主要操作是在向片内程序存储器EPROM写入信息时或写入信息后,可将片内EPROM的内容读出进行校验,以保证写入信息的正确性。1.4 单片机的时序时序:CPU在执行指令时所需控制信号的时间顺序称为时序。时序是用定时单位来描述的,MCS-51的时序单位有四个,分别是时钟周期(节拍)、状态、机器周期和指令周期。1.4.1MCS-51的时序单位1.时钟周期:又称为振荡周期、节拍(用P表示),定义为单片机提供时钟信号的振荡源(OSC)的周期。它是时序中的最小单位。2.状态(用S表示):单片机振荡脉冲经过二分频后即得到整个单片机工作系统的状态。一个状态有两个节拍,前半周期对应的节拍定义为P1,后半周期对应的节拍定义为P2。3.机器周期:通常将完成一个基本操作所需的时间称为机器周期。MCS-51中规定一个机器周期包含12个时钟周期,即有6个状态,分别表示为S1S6。若晶振为6MHz,则机器周期为2s,若晶振为12MHz,则机器周期为1s。4.指令周期:执行一条指令所需要的时间称为指令周期。它是时序中的最大单位。一个指令周期通常含有14个机器周期。指令所包含的机器周期数决定了指令的运算速度,机器周期数越少的指令,其执行速度越快。以机器周期为单位,指令可分为单周期、双周期和四周期指令。1.4.2MCS-51指令的取指/执行时序 指令的集合称为程序,执行程序的过程就是执行指令的过程。单片机执行任何一条指令时都可以分为取指阶段和执行阶段。在取指阶段,CPU从程序存储器中取出指令操作码,送指令寄存器,再经指令译码器译码,产生一系列控制信号,完成本指令规定的操作。单周期和双周期指令的取指时序图如下页图所示。ALE信号是用于锁存低8位地址的选通信号,每出现一次该信号,单片机即进行一次读指令操作。当指令为多字节或多周期指令时,只有第一个ALE信号进行读指令操作,其余的ALE信号为无效操作(或读操作数操作)。1.4.3访问片外ROM/RAM指令的时序1外部程序存储器读时序外部程序存储器读时序 从外部程序存储器读取指令,必须有两个信号进行控制:ALE信号和信号(外部ROM读选通脉冲)。2外部数据存储器读时序外部数据存储器读时序 第一个机器周期是取指周期,是从ROM中读取指令数据,第二个机器周期才开始读取外部数据存储器RAM中的内容。有三个信号进行控制:ALE信号、信号(外部ROM读选通脉冲)和信号(外部RAM读选通脉冲)。1.5AT89S51的ISP下载线原理及其应用下载线原理及其应用ISP技术ISP(In-SystemProgramming)Lattice是是ISP(在线可编程)技术的发明者(在线可编程)技术的发明者(据说据说Lattice公司最早是由华人创办的),公司最早是由华人创办的),ISP技术极大的促进了技术极大的促进了PLD产品的发展。产品的发展。在系统编程在系统编程ISPISP(In-SystemProgramming)在系统可编)在系统可编程,指电路板上的空白器件可以编程写入最终程,指电路板上的空白器件可以编程写入最终用户代码,用户代码,而不需要从电路板上取下器件,已而不需要从电路板上取下器件,已经编程的器件也可以用经编程的器件也可以用ISP方式擦除或再编程。方式擦除或再编程。ISP技术是未来发展方向。技术是未来发展方向。1、什么是ISP随着电子技术的日益发展,芯片的规模越随着电子技术的日益发展,芯片的规模越来越大,封装日趋小型化,相应的对系统板级来越大,封装日趋小型化,相应的对系统板级调试困难也在加大。调试困难也在加大。回忆一下传统的编程方式,举设计单片机回忆一下传统的编程方式,举设计单片机系统为例,如果想要对单片机编程序,必须要系统为例,如果想要对单片机编程序,必须要把单片机先从电路板上取下来,然后放入专用把单片机先从电路板上取下来,然后放入专用的编程器进行编程,最后再次放入电路板进行的编程器进行编程,最后再次放入电路板进行调试。调试。可以看出,这样的开发步骤有以下缺点:可以看出,这样的开发步骤有以下缺点:1)频繁的拔插芯片,容易损坏芯片的引脚;)频繁的拔插芯片,容易损坏芯片的引脚;2)如果频繁的调试程序,换程序,必须重)如果频繁的调试程序,换程序,必须重复拔插,大大降低了开发效率。复拔插,大大降低了开发效率。isp技术彻底地改变了传统的开发模式,它只技术彻底地改变了传统的开发模式,它只要在电路板上留下个接口(如要在电路板上留下个接口(如ispdown的十芯的十芯插座),配合插座),配合ispdown的下载电缆,就可以不的下载电缆,就可以不用拔出芯片,在电路板上就可以对芯片进行编用拔出芯片,在电路板上就可以对芯片进行编程,对比传统的开发系统,有以下优势:程,对比传统的开发系统,有以下优势:1)工程师在开发电子系统时彻底告别频繁拔插)工程师在开发电子系统时彻底告别频繁拔插芯片的噩梦,避免损坏芯片的引脚;芯片的噩梦,避免损坏芯片的引脚;2)ISP可以加速产品的上市并降低研发成本。可以加速产品的上市并降低研发成本。3)ISP技术帮助工程师缩短从设计、制造到现场技术帮助工程师缩短从设计、制造到现场调试、简化生产流程大大提高了工作效率。调试、简化生产流程大大提高了工作效率。4)在试验新品或学生试验等经常需要用不同的)在试验新品或学生试验等经常需要用不同的程序调试芯片的场合中,在线编程技术尤为重程序调试芯片的场合中,在线编程技术尤为重要。要。5)采用)采用ISP设计是对市场定型产品进行现场升级设计是对市场定型产品进行现场升级和维护的最经济、最有效的方式。和维护的最经济、最有效的方式。2、ISP的工作原理ISP的工作原理的工作原理ISP的工作原理比较简单,一般通用做法是内的工作原理比较简单,一般通用做法是内部的存储器可以由上位机的软件通过外部接口部的存储器可以由上位机的软件通过外部接口来进行改写。对于单片机来讲可以通过来进行改写。对于单片机来讲可以通过SPI或其或其它的串行接口接收上位机传来的数据并写入存它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。现芯片内部存储器的改写,而无须再取下芯片。ISP的优点的优点ISP技术的优势是不需要编程器就可以进行单技术的优势是不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带时由于频繁地插入取出芯片对芯片和电路板带来的不便。来的不便。3、没有标准的、没有标准的ISPISP没有正式形成标准,但是与没有正式形成标准,但是与JTAG的接口协议的接口协议很相似,只是后者形成了标准。很相似,只是后者形成了标准。ISP现在已经成为一种概念,它的提出改变了传统现在已经成为一种概念,它的提出改变了传统硬件系统开发的流程,大大方便了开发者,加快了开硬件系统开发的流程,大大方便了开发者,加快了开发速度。下载电缆就是一种使用计算机的并行端口通发速度。下载电缆就是一种使用计算机的并行端口通过软件的仿零点实现过软件的仿零点实现ATAG或或ISP接口协议,访问可编接口协议,访问可编程芯片的廉价工具。程芯片的廉价工具。单片机的单片机的ISP接口通过接口通过MISO、MOSI、SCK三根三根信号线,以串行模式为系统提供了对信号线,以串行模式为系统提供了对MCU芯片的编程芯片的编程写入和读出功能。写入和读出功能。看看编程的时序图吧,它对我们今后使用单片机看看编程的时序图吧,它对我们今后使用单片机编程有着极大的意义!编程有着极大的意义!串行编程波形图如下:串行编程时序精确图如下:S51的P1口之第二功能(ISP功能)Flash闪速存储器的编程方法Flash存储器的串行下载电路图如何读S51的签名字节中文的说明书:提醒大家:有意识的做了修改!网站下载的:看出来了吗?经验:尽量看英文原版说明书!经验:尽量看英文原版说明书!AT89S51下载线接口成品实际的接线图示PCB板上的图示与微机并口的连接方法但是,微机的并口端又是怎么连线的呢?4、ISP下载线硬件设计面包板搭接的示例1(何列244)面包板搭接的示例2(刘刚373)试验软件采用Easypro2.0打开软件界面,并演示。成功后,进行PCB板图的设计线路板厂生产的成品实验板成品硬件设计完毕。但是作为一个产品,我们还需要开发自己的软件,这对于我们无疑是非常重要的,其一是要有自己的知识产权,其二是只有通过软件开发,我们才能掌握整个产品开发的全过程。关于ISP下载线的软件设计。内容如下:1、软件开发的环境(学习基于WINDOEWS环境下的虚拟设备启动程序的开发方法)。2、VisualC+下的实时编程技术。3、ISP下载线软件的关键技术。4、软件调试和完成。Medwin软件及其使用Medwin开发环境使用说明书上机实验作业与练习:1.11.21.41.61.71.111.161.17G0D.zw-s*o!lXhUdQaM6J3F:Czv-s&o!kXhUdQaM6J2F:Bzv-s&o!kXhTdQ9M6I2F;Bzv-r&o#kXgTdP9M6I2F;Byv)r&o#kXgTdP9M5I2E;Bx=t(q%mZjVfSbO8K4H0D.zw+s*p!lYhUeQaN6J3F:Cyv)r&n#kWgTcP9L5I2E;Bx=t(q$mZiVfRbO7K4H0D.zw-s*o!lXhUdQaN6J3F:Czv-s&o!lXhUdQaM6J2F:Bzv-s&o!kXhTdQ9M6I2F:Bzv-r&o#kXhTdQ9M6I2F;Byv-r&o#kXgTdP9M5I2E;Bzv-r&o#kXhTdQ9M6I2F;Byv-r&o#kXgTdP9M5I2E;Byv)r&n#kWgTcP9M5I2E;Bx=t(q$mZiVfSbO8K4H0D.zw-s*o!lYhUeQaN6J3F:Czw-s*o!lXhUdQaM6J2F:Czv-s&o!kXhTdQaM6J2F:Bzv-r&o!kXhTdQ9M6I2F;Bzv-r&o#kXgTdP9M5I2F;Byv)r&n#kWgTdP9M5I2E;Bx=t(q$mZjVfSbO8K4H0D.zw-s*p!lYhUeQaN6J3F:Cyv)r&n#kWgTcP9L5I1E;Ax=t(q$mZiVfRbO7K4G0D.zw-s*o!lXhUdQaM6J3F:Czv-s&o!kXhUdQaM6J2F:Bzv-s&o!lXhUdQaM6J2F:Bzv-s&o!kXhTdQ9M6I2F:Bzv-r&o#kXgTdQ9M6I2F;Byv)r&o#kXgTdP9M5I2E;Bx=u(q%mZjVfSbO8K4H0D.Aw+s*p!lYhUeQaN6J3F:Cyv)r&n#kWgTcP9L5I2E;Bx=t(q$mZiVfRbO8K4H0D.zw-s*o!lXhUeQaN6J3F:Czv-s*o!lXhUdQaM6J2F:Bzv-s&o!kXhTdQ9M6J2F:Bz)r%n#jWgScP8L5H1E;Ax+t(p$mYiVeRbN7K3G0Dzv-s&o!kXhTdQ9M6J2F:Bzv-r&o#kXhTdQ9M6I2F;Bzv-r&o#kXgTdP9M5I2E;Byv)r&n#kWgTdP9M5I2E;Bx=t(q$mZiVfSbO8K4H0D.zw-s*o!lYhUeQaN6J3F:Czw-s*o!lXhUdQaM6J2F:Czv-s&o!kXhTdQaM6J2F:Bzv-s&o!kXhTdQ9M6;Ax+t(p$mYiVeRbO7K4G0Dzv-s&o!kXhUdQaM6J2F:Bzv-s&o!kXhTdQ9M6I2F;Bzv-r&o#kXgTdP9M6I2F;Byv)r&n#kXgTdP9M5I2E;Bx=t(q%mZjVfSbO8K4H0D.zw+s*p!lYhUeQaN6J3F:Cyv)r&n#kWgTcP9L5I1E;Bx=t(q$mZiVfRbO7K4H0D.zw-s*o!lXhUdQaN6J3F:Czv-s&o!lXhUdQaM6J2F:Bzv-s&o!kXhTdQ9M6I2F:By=u)q%nZjWfScO8L5H1E.Aw+t*p$lYiUeM6J2F:Bzv-s&o!kXhTdQ9M6I2F:Bzv-r&o#kXhTdQ9M6I2F;Byv-r&o#kXgTdP9M5I2E;Byv)r&n#kWgTcP9M5I2E;Bx=t(q$mZiVfSbO8K4H0D.zw-s*o!lXhUeQaN6J3F:Czw-s*o!lXhUdQaM6J2F:Byu)r%n#jWgScP8L5H1E;Ax+t(p$mYQaN6J3F:Czw-s*o!lXhUdQaM6J2F:Czv-s&o!kXhTdQaM6J2F:Bzv-r&o!kXhTdQ9M6I2F;Bzv-r&o#kXgTdP9M5I2F;Bzv-s&o!kXhTdQ9M6I2F;Bzv-r&o#kXgTdP9M6I2F;Byv)r&n#kXgTdP9M5I2E;Bx=t(q%mZjVfSbO8K4H0D.zw-s*p!lYhUeQaN6J3F:Cyv)r&n#kXgTdP9M5I2E;Bx=t(q%mZjVfSbO8K4H0D.zw+s*p!lYhUeQaN6J3F:Cyv)r&n#kWgT