单片机原理及应用技术全套教学课件_第1页
单片机原理及应用技术全套教学课件_第2页
单片机原理及应用技术全套教学课件_第3页
单片机原理及应用技术全套教学课件_第4页
单片机原理及应用技术全套教学课件_第5页
已阅读5页,还剩732页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理及应用技术项目1单片机入门——信号灯闪烁系统设计.pptx项目2MCS–51单片机入门——流水灯模拟系统设计.pptx项目3MCS–51程序设计——交通信号灯模拟系统设计.pptx项目4MCS–51中断应用——报警器设计.pptx项目5MCS–51定时计数器应用——电子秒表设计.pptx项目6MCS–51串行口应用——单片机与PC机通信.pptx项目7MCS–51系统扩展.pptx项目8显示器接口设计与编程.pptx项目9键盘接口设计与编程.pptx项目10AD与DA转换器接口设计与编程——数字电压表设计和数模转换电路设计.pptx全套可编辑PPT课件单片机入门信号灯闪烁系统设计任务一单片机简介任务二单片机中的数制与编码任务三数字电路入门任务四单片机应用系统开发——信号灯闪烁系统软硬件设计Project1任务1单片机简介什么是单片机one我们现在使用的计算机都属于冯·诺依曼结构,采用存储程序方式运行,一个完整的计算机系统由运算器、控制器、存储器、输入设备、输出设备五大部分组成。在计算机主板上有负责运算和控制功能的中央处理器(CPU),用于存储的存储器(Memory),以及连接外设的输入输出(I/O)接口。随着大规模集成电路的发展,CPU、Memory与I/O接口等主板上的主要部件集成到一个芯片上,就构成了芯片级的计算机系统——单片机(SingleChipMicrocomputer,SCM)。单片机的功能没有普通CPU强大,但它的体积很小,常被嵌入各种现代设备中作为控制器件。因此,单片机还有一个常用的名字——微控制器单元(MicroControllerUnit,MCU)。单片机其实离我们的生活很近,在家用电器的遥控器中就有单片机的身影,微型计算机的很多部件如鼠标、键盘、硬盘中也使用了不同种类的单片机,如图所示。鼠标中的单片机键盘中的单片机单片机的发展历史与常见产品two1971年11月,Intel公司首先研制出集成度为2000只晶体管片的4位微处理器Intel4004,它的成功推出拉开了单片机时代的大幕。在过去的30多年里,单片机从最初的4位单片机已经发展成为32位,类型也已经发展成为上百种系列的近千个品种。单片机的发展时期大致可以分为以下几个阶段:1971~1976年为单片机的萌芽发展时期。功能相对简单的4位单片机主要用作计算器中的控制部件。1976~1979年为8位单片机的初始发展阶段。Intel公司在1976年推出了MCS-48系列单片机,此时的单片机相对早期的4位机在性能上有很大提高,另外,也因其体积小、价格低的优点得到了广泛的应用,书写了单片机发展史上重要的一页。Motorola公司、Zilog公司和Rockwell公司在也先后推出了8位单片机产品。1979~1983年为8位单片机的完善发展阶段。在MCS-48基础之上,Intel公司在1980年推出了高性能8位单片机MCS-51系列。不仅单片机的存储容量和中断能力大大增强,并且开始配备串行通信接口。此时单片机发展到一个全新的阶段,应用领域变得更加广泛,MCS-51系列单片机后来成为8位单片机的典范。1983~1990年为单片机向微控制器(MCU)发展的阶段。Intel在1983年推出的MCS-96系列16位单片机,将数模转换器(A/D)、程序运行监视器(PWM)、脉宽调制器(WDT)等用于测控系统的部件纳入其中,体现了微控制器特性。之后Intel公司逐渐淡出MCU的开发,Philips公司以其在嵌入应用方面的优势,在MCU发展方面走在前列。与此同时,各大公司的32位单片机也竞相问世,并且开始应用到一些高端领域。1990年至今,单片机的发展趋向多元化,各大厂商在推出16位和32位高端单片机的同时,对8位单片机进行功能上的扩展,衍生出很多新型的单片机,以满足各行业不同层次的需求。1.Intel公司Intel公司是单片机的领跑者,MCS-51系列单片机是该公司系列单片机的总称,8031、8051、8751、8032、8052和8752等都属于该系列,8051是其中的典型代表,其他单片机只是在其基础上进行了一些调整,所以人们习惯上以8051来称呼MCS-51系列单片机。另外,在Intel公司将MCS-51核心技术授权给多家公司后,与8051兼容的各具特色的单片机陆续出现。2.Motorola公司Motorola公司是世界上最大的单片机厂商,在单片机生产上多采用内部倍频技术或锁相环技术,从而使得相同时钟频率下单片机内部总线速度大大提高。M6805、M68HC05、M68HC11、M68HC12是Motorola公司8位单片机的典型代表。提示倍频(overtune):倍频是使获得频率为原频率整数倍的一种方法。利用非线性器件从原频率产生多次谐波,通过滤波器选出所需倍数的那次谐波。倍频技术能够使CPU内部工作频率变为外部频率的倍数,并使外部设备可以工作在一个较低外频上。

锁相环技术(Phase-LockedLoop,PLL):PLL是实现相位自动控制的负反馈系统,它使振荡器的相位和频率与输入信号的相位和频率同步。3.ATMEL公司ATMEL公司的8位单片机有AT89、AT90两个系列,AT89系列与8051系列单片机相兼容,具有8KB的闪速存储器(FlashMemory),采用静态时钟模式。AT90系列单片机采用增强精简指令集(RISC)结构,大多数指令仅需要1个晶振周期,运行速度快;因为最初两位研发人员的名字分别以A和V开头,所以此类单片机又被称为AVR单片机。提示精简指令集计算机(ReducedInstructionSetComputer,RISC):RISC是和CISC(ComplexInstructionSetComputer,复杂指令集计算机)相对的一种CPU架构,它把较长的指令分拆成若干条长度相同的单一指令,可使CPU的工作变得单纯、速度更快,设计和开发也更简单。4.Microchip公司Microchip公司推出的8位PIC系列单片机采用RISC结构,PIC16C5X属于其中的低端产品,价位低,适用于家电产品。PIC12C6XX是PIC系列的中级产品,产品性能相对较高,内部带有EEPROM数据存储器(电擦写数据存储器)、A/D转换器、PWM输出等。PIC17CXX属于这一系列的高端产品,运算速度非常快,可以外接扩展存储RAM或者EPROM,并且具有丰富的I/O控制功能,适用于偏高档的设备。5.EMC公司台湾义隆电子(EMC公司)制造的大部分单片机产品与Microchip公司的PIC系列单片机兼容。其中,8位EM78系列单片机因采用数据总线和指令总线分离的设计结构,故以其优良的性能得到广泛应用。另外,还有很多企业在单片机生产和发展中扮演着重要的角色,如ARM(AdvancedRISCMachines)公司是RISC处理器方面的知名企业,美国德州仪器公司(TI)在生产数字信号处理器(DSP)方面拥有领先技术。如图所示显示了单片机发展过程中几种典型的单片机。今天,单片机的世界玲琅满目,给用户提供了很大的选择空间,我们在工作中可以根据实际需要进行选择。(a)Intel公司的4004(左)和8008(右)(b)ATMEL公司AT系列(c)Microchip公司的PIC系列工业控制这是单片机最早应用的领域之一。单片机可以满足各种控制系统的需要,例如,可以对生产过程中的温度、压力、流量等参数进行精确控制,实现流水线的智能化管理。仪表测控单片机与传统仪表相结合后,使得传统仪表不仅硬件结构得到简化,并且在精度控制上实现了数字化,使测量更加精确。另外,单片机在机器人、航空航天等尖端领域的应用更加突出。单片机的众多优点,使得它的应用领域十分广泛。从家用设备的控制部件到航空航天的智能化芯片,它都扮演着重要角色。归纳起来,单片机主要有以下几个领域:单片机的应用领域与未来发展趋势three机电一体化产品在医疗设备、数控机床、工业机器人、高级轿车等机电一体化产品中,单片机在其智能化发展方面起到了很重要的作用。计算机外部设备单片机在计算机大多数外部设备中都得到了应用,如图形终端机、打印机、复印机、扫描仪、磁盘驱动器等。智能化家电单片机嵌入传统家电实现智能化控制已经成为家电产业发展的趋势,如全自动洗衣机、智能化电饭煲、冰箱、电视等。随着单片机在这一领域的进一步深入应用,相信我们的生活将越来越便捷。从单片机结构上看,整体的发展趋势是朝着小容量、低价格和大容量、高性能两个方向发展。另外,将需要的外围电路纳入芯片之中,形成系统级芯片(SystemonaChip,SoC)是单片机发展的一个热点。与计算机的CPU芯片的飞速发展不同,单片机的发展并不是完全推陈出新,低、中、高不同档次的单片机都有自己的应用市场。4位单片机在未来一段时间内不会退出历史舞台,对于简单的电子小商品来说,4位单片机完全满足需求并且价格低廉;8位单片机仍将是单片机市场的主流产品;16位和32位单片机随着技术发展和开发成本的下降,会在更多科技产品中大显身手。MCS-51系列单片机的特点four在对Intel公司的介绍中,我们已经知道MCS-51系列单片机包含的系列芯片,下面我们来具体了解这些芯片的功能特性,如表所示。系列典型芯片片内RAM片内ROMI/O口定时/计数器中断源串行通信口5180C31128字节无4x8位2x16位5180C51128字节4kBROM4x8位2x16位5187C51128字节4kBEPROM4x8位2x16位5189C51128字节4kBEEPROM4x8位2x16位51系列典型芯片片内RAM片内ROMI/O口定时/计数器中断源串行通信口5280C32256字节无4x8位2x16位6180C52256字节8kBROM4x8位2x16位6187C52256字节4kBEPROM4x8位2x16位6189C52256字节4kBEEPROM4x8位2x16位61续上表:注:芯片型号中用字母“C”标识是指芯片采用CHMOS工艺,未用字母“C”的一般采

用HMOS工艺。提示ROM(Read-OnlyMemory):只读存储器。只读数据是预先烧录的,并且一旦烧录就不能再修改。ROM数据不丢失,主要用于存储一些关键性程序,如用来启动计算机的程序。

RAM(Random-AccessMemory):随机存储器。存储单元的内容可按需随意取出或存入,这种存储器在断电时将丢失其存储内容,因此,主要用于存储短时间内使用的程序和数据。

EPROM(Erasable-ProgrammableROM):可擦除可编程存储器。利用专用的紫外线擦除器,紫外线透过芯片上的孔照射芯片内部可以擦除其内的数据。要向EPROM内部写入数据必须使用专用的写入器。

EEPROM(ElectricallyErasableProgrammableRead-OnlyMemory):电可擦除可编程只读存储器。通过芯片的控制电压,可以擦除芯片的数据,或者向芯片中写入数据,而不必将芯片从系统中取出。任务2单片机中的数制与编码单片机中的数制one数制是人们按进位的原则进行计数的一种科学方法。在日常生活中经常要用到数制,除了最常见的十进制记数法,有时也采用别的进制来记数。例如,计算时间采用六十进制,1小时是60分钟,1分钟是60秒。一种记数制所使用的数字符号的个数称为基数,某个固定位置上的计数单位称为位权。同一数字符号处在不同位置上所代表的值是不同的,它所代表的实际值等于数字本身的值乘以所在位置上的位权。例如,十进制数345中的数字3在百位上,表示位权为100,故此时的3表示的是300。又如,十进制数123.45用位权可以表示成1.数制的概念(123.45)10=1×102+2×101+3×100+4×10-1+5×10-2那么,一个r进制数,它所用的数字符号有r个,它的基数为r,用rk表示第k位的位权,因此,r进制数anan-1…a2a1a0.b1b2…bm可以表示为:an×rn+an-1×rn-1+…+a1×r1+a0×r0+b1×r-1+…+bm×r-m加法运算减法运算乘法运算0+0=00-0=00×0=00+1=10-1=1(向高位借1)0×1=01+0=11-0=11×0=01+1=10(向高位进1)1-1=01×1=12.常用数制介绍在单片机中,所有信息(包括数值、字符、汉字、指令等)的存储、处理与传送都是采用二进制的形式。二进制数中只有“0”和“1”两个数字符号,利用二进制数进行操作和运算比较符合机器的特点,运算简单、可靠性高、易于实现,但是阅读与书写比较复杂。二进制数的运算规则如表所示。二进制八进制特点逢二进一逢八进一基数28位权2k8k数字符号0,10~7除了二进制,为了表示方便,还经常使用八进制和十六进制。如表所示对比列出了单片机常用数制的特点、基数、位权和所用数字符号。为了区别不同数制的数据,表示时通常在数字后面使用一个英文字母作为后缀。十进制使用D,二进制使用B,八进制使用O或Q,十六进制使用H。例如123D,10110010B,27O,3FH。也可以使用下标标注,如(123)10,(10110010)2,(27)8,(3F)16。提示没有加下标和后缀字母的数值默认为十进制。数制间的转换one1.非十进制数转换成十进制数【例1-1】将非十进制数(1011.11)2、(154.01)8、(1CB.D)16转换成十进制数。二进制数、八进制数和十六进制数转换成十进制数非常简单,方法是:按位权展开后求和。(1011.11)2=1×23+0×22+1×21+1×20+1×2-1+1×2-2=(11.75)10(154.01)8=1×82+5×81+4×80+0×8-1+1×8-2=(108.015625)10(1CB.D)16=1×162+12×161+11×160+13×16-1=(459.8125)102.十进制数转换成非十进制数十进制数转换成二进制数、八进制数和十六进制数时,需要将整数部分和小数部分分别进行转换,然后把转换的结果合在一起。下面以将一个十进制数转换成R进制数为例进行说明。小数部分的转换小数部分的转换采用“乘基取整法”,方法是:将十进制数的小数部分反复乘以基数R,将每次乘积的小数部分作为被乘数,并取得相应的整数部分,直到乘积的小数部分为0。将每次得到的整数部分顺序排列在小数点后,即为转换后的R进制小数。整数部分的转换整数部分的转换采用“除基取余法”,方法是:将十进制数的整数部分反复除以基数R,将每次得到的商作为被除数,并取得相应的余数,直到商为0。将每次得到的余数按逆序排列,即为转换后的R进制整数。【例1-2】将(69.625)10转换成二进制数、八进制数和十六进制数。①转换为二进制数②转换为八进制数③转换为十六进制数提示有些十进制小数不能精确地转换为二进制小数,即无法使乘积的小数部分得到0,则根据精度要求保留到相应的小数位即可。3.二进制数与八进制数、十六进制数之间的转换一位八进制数字对应三位二进制数字,一位十六进制数字对应四位二进制数字,如表所示列出了它们之间的对应关系。二进制八进制十六进制0000000001110010220011330100440101550110660111771000108二进制八进制十六进制1001119101012A101113B110014C110115D111016E111117F100111901二进制数转换成八进制数二进制数转换成八进制数方法是:从小数点开始向左右两边每三位并为一组,对应一位八进制数,不足三位时补0即可。02二进制数转换成十六进制数二进制数转换成十六进制数方法是:从小数点开始向左右两边每四位并为一组,对应一位十六进制数,不足四位时补0即可。【例1-3】将(1101101.0101)2转换成八进制数和十六进制数。①转换为八进制数②转换为十六进制数03八进制数转换成二进制数八进制数转换成二进制数方法是:把每一位八进制数转换成相应的三位二进制数。04十六进制数转换成二进制数十六进制数转换成二进制数方法是:把每一位十六进制数转换成相应的四位二进制数。【例1-4】将(207.54)8和(E4.2A)16转换成二进制数。①八进制数转换为二进制数②十六进制数转换为二进制数信息编码three前面我们介绍了数值数据在单片机中的表示和编码方法,由于单片机中所有信息都是以二进制形式存储的,因此各种非数值型数据,如字符或符号,都应该采用二进制数码的组合来表示,称为二进制编码。【例1-5】写出(79.5)10的BCD码表示(79.5)10=(01111001.0101)BCD1.BCD码日常生活中,人们使用最多的是十进制数,但是单片机中使用的是二进制数,所以经常要用到二进制数和十进制数间的转换。于是,用4位二进制码的组合来表示1位十进制数,按照这种方法可以对任意十进制数进行编码。这种二进制编码的十进制数称为BCD码。最常用的方法是8421BCD码,即从高到低4位二进制数的权值分别是8、4、2、1。2.字符编码国际上普遍采用的字符编码方法是美国标准信息交换码,即ASCII码。具体编码方法是:每一个字符对应一个7位的二进制代码,用一个字节的低7位来表示字符编码,最高位补0或用作奇偶校验位。使用ASCII码最多可表示128种字符,包括32个标点符号、10个阿拉伯数字、52个英文大小写字母、34个控制符号,见附录一。任务3数字电路入门逻辑门电路one逻辑门电路是实现常用逻辑运算的电子电路。输入信号通过逻辑门后会产生相应的电平变化。高、低电平可以分别代表逻辑上的“真”与“假”或二进制当中的1和0,从而实现逻辑运算。基本逻辑门包括与门、或门和非门,利用基本逻辑门电路可以组合成复合门电路,常见的有与非门、或非门和异或门。&ABY1.与门如果决定某一事件发生的多个条件必须同时具备事件才能发生,这种因果关系称为与逻辑。实现与逻辑关系的电路称为与门电路,常见的与门电路如图所示,A、B是它的两个输入端,Y是输出端。与门常用逻辑符号ABYABYABY000010100111只有当A、B端同时为1时,Y端输出为1;A、B端至少一个为0时,Y端输出为0。与门逻辑表达式为:Y=A·B,真值表如表所示,波形图如图所示。2.或门如果决定某一事件发生的多个条件中,只要有一个或一个以上条件成立,事件便可发生,这种因果关系为或逻辑。实现或逻辑关系的电路称为或门电路,或门常用逻辑符号如图所示。或门常用逻辑符号ABY≥1ABYABY000011101111ABY只有当A、B端同时为0时,Y端输出为0;A、B端至少一个为1时,Y端输出为1。或门逻辑表达式为:Y=A+B,真值表如表所示,波形图如图所示。3.非门如果某一事件的发生取决于条件的否定,即事件与事件发生的条件之间构成矛盾,这种因果关系称为非逻辑。实现非逻辑关系的电路称为非门电路,非门常用逻辑符号如图所示。或门常用逻辑符号1AYAY当A为0时,Y端输出为1;当A为1时,Y端输出为0。非门逻辑表达式为:Y=A,真值表如表所示,波形图如图所示。AY0110AY4.与非门利用一个与门和一个非门可以连接成与非门,与非门常用逻辑符号如图所示。与非门逻辑符号&ABYABYABY001011101

110只有当A、B端同时为1时,Y端输出为0;A、B端至少一个为0时,Y端输出为1。与非门逻辑表达式为:Y=A·B,真值表如表所示,波形图如图所示。ABY5.或非门利用一个或门和一个非门可以连接成或非门,或非门常用逻辑符号如图所示。或非门常用符号≥1ABYABYABY001011101

110ABY只有当A、B端同时为0时,Y端输出为1;A、B端至少一个为1时,Y端输出为0。或非门逻辑表达式为:Y=A+B,真值表如表所示,波形图如图所示。6.异或门利用与门、或门和非门组合连接可以得到异或门,异或门常用逻辑符号如图所示。异或门常用逻辑符号=1ABYABYABY000

011101

110A、B端同时为0或同时为1时,Y端输出为0;A、B端状态不同时,Y端输出为1。异或门逻辑表达式为:Y=A·B+A·B=A⊕B,真值表如表所示,波形图如图所示。ABY传送门电路two1.三态门与前面的逻辑门电路不同,三态门输出除有高、低电平两种状态外,还有第三种状态,即高阻状态(相当于断开状态),它常用于单片机系统中对总线的控制。AEYAYE三态门常见的两种逻辑符号如图所示。当使能端E为低电平时,三态门按正常的逻辑关系输出0或1;当使能端E为高电平时,三态门的输出呈高阻状态,如表所示。E

AY00001110高阻11高阻2.单向数据传送门多个三态门并列排列,并将它们的使能端连接在一起,就可以构成一个单项数据传送门。如图所示为一个4位的单向数据传送门。Y0Y1Y3Y2A0A1A2A3G当控制端G为高电平时,此时各三态门的使能端为低电平,A0~A3的数据将分别传送到Y0~Y3;当控制端G为低电平时,此时各三态门的使能端为高电平,输出端Y0~Y3变成高阻状态,如表所示。GAiYi00高阻01高阻100111B3B2B1B0A3A2A1A0DSG3.双向数据传送门按如图所示可以将8个三态门组合成一个四位的双向数据传送门。当控制端G为低电平时,此时各三态门的使能端为高电平,输出端A0~A3和B0~B3均成高阻状态;当控制端G为高电平时,DS端为低电平时,AB方向的门被打开,A0~A3的数据将分别传送到B0~B3;当控制端G为高电平时,DS端为高电平时,BA方向的门被打开,B0~B3的数据将分别传送到A0~A3,如表所示。GDSAi00001110输入数据11输出数据译码器three前面我们已经介绍过信息编码的知识,译码是编码的逆过程。译码器的功能是将具有特定含义的二进制码进行辨别,并转换成控制信号。译码器从功能上可以分为两种类型,一种是地址译码器,常用于单片机中对存储单元地址进行译码,即将每一个地址代码转换成一个有效信号,从而选中对应的单元;另一种是代码变换器,用于实现二进制与其他进制间的转换。如图所示为一个2—4线译码器的逻辑电路,功能是将2位二进制代码的4(22)种组合译成4种输出状态。电路相应的逻辑功能如表所示。A1A0Y3Y2Y0Y1输入输出A1A0Y3Y2Y1Y0001110011101101011110111触发器four触发器是一个具有记忆功能的二进制信息存储器件,能存储一位二进制数码或一个逻辑状态信号,是构成寄存器、计数器、脉冲信号发生器、存储器等时序逻辑电路的基本单元电路。根据逻辑功能的不同,可以分为RS触发器、D触发器和JK触发器等。这里我们通过学习基本RS触发器来理解触发器的工作原理。QQSR&G1G2&SSRRQQ基本RS触发器由二个与非门交叉耦合构成,逻辑结构和逻辑符号如图所示,S和R是触发器的两个输入端,Q和Q是输出端。一般情况下,将Q端的状态规定为触发器的状态。RSQ说明11保持记忆功能101置位010复位00x应禁止基本RS触发器的逻辑表达式:Q=S·Q,Q=R·Q。功能表如表所示:AR=S=1时,触发器状态不变BR=1,S=0时,触发器处于置1状态(即置位态)这里我们首先假设触发器的原状态是Q=0,Q=1,此时Q反馈到G1门和S进行与非,Q端结果输出为0,同时Q反馈到G2门和R进行与非,Q端输出结果为1,触发器保持原状态不变。同理,在触发器原状态为Q=1,Q=0时,我们不难推测出触发器仍保持原状态不变。无论触发器的原状态如何,根据基本RS触发器的逻辑表达式,当S端为0时,Q端输出为1,触发器处于置位态。C无论触发器的原状态如何,当R端为0时,Q端输出为1,又因S端输入为1,G1门的输入全为1,故Q端的输出为0,触发器处于复位态。R=0,S=1时,触发器处于置0状态(即复位态)DG1和G2门因输入端有0,Q和Q的输出状态同为1。但是当S和R端的负脉冲除去后,Q和Q的输出结果不稳定,最后的状态由偶然因素决定,因此这种输入状态应该禁止。R=S=0时寄存器和锁存器five寄存器用来存储二进制数码,是数字电路中一个重要的部件。由于一个触发器能够存储一位二进制码,因此有n个触发器就可以存放n个二进制数。下面我们了解两类常用的寄存器:缓冲寄存器和移位寄存器。1、顺序结构程序设计Q1Q2Q3Q4D2D3D4D1清零信号时钟信号DQCLKCLRDQCLKCLRDQCLKCLRDQCLKCLR(1)缓冲寄存器如图所示是由4个D触发器组成的4位缓冲寄存器。启动时,先在清零端加清零脉冲,把各触发器置0,然后将数据加到触发器的D输入端,在时钟信号作用下,输入端的信息会保存在各触发器中。注意D触发器实现的功能:输出端与输入端信息相同。清零信号时钟信号串行输入Q2Q3Q4Q1DQDQDQDQ(2)移位寄存器如图所示是由4个D触发器组成的4位移位寄存器。它能将所储存的数据逐位向左或向右移动,以达到单片机运行过程中所需的功能。启动时,先在清零端加清零脉冲,使各触发器输出置0。假设预存数据是1011,第一个数据1加到触发器1的串行输入端,在第一个时钟脉冲作用时,Q1(现在)=1,Q2(现在)=Q1(之前)=0,Q3(现在)=Q2(之前)=0,Q4(现在)=Q3(之前)=0;第二个数据0加到串行输入端,在第二个时钟脉冲作用时,Q1(现在)=0,Q2(现在)=Q1(之前)=1,Q3(现在)=Q2(之前)=0,Q4(现在)=Q3(之前)=0;以此类推,在第四个时钟脉冲作用时,各输出端分别是Q1(现在)=1,Q2(现在)=Q1(之前)=1,Q3(现在)=Q2(之前)=0,Q4(现在)=Q3(之前)=1。输出数据可用串行的形式取出,也可用并行形式取出。使能G输出控制Q2Q3Q4Q1D2D3D4D1QDGQDGQDGQDG如图所示是一个由D触发器构成的4位锁存器。当输出控制信号为低电平,且使能信号G(即锁存信号)为高电平时,数据可输出。如果锁存器信号为低电平,输出端的状态将被锁存起来,使其不随输入端的变化而变化,直到下一个锁存信号有效时才会发生改变。2.锁存器输出控制GDiQi0111010000XQi(输出状态不变)1XX高阻在实际应用中,使能G端通常连接时钟信号。因此锁存器常用于数据有效迟后于时钟信号有效的场合,功能表如表所示。任务4单片机应用系统开发——信号灯闪烁系统软硬件设计我们学习单片机的目的就是为了进行嵌入式系统的开发,下面将简要介绍一下单片机应用系统的开发流程,如图所示。单片机应用系统开发流程one项目开始明确任务确定希望使用的单片机及其他关键器件划分软、硬件功能硬件设计软件设计仿真调试测试、修改用户试用项目结束系统调试(1)明确任务分析和了解项目的总体要求,并综合考虑系统使用环境、可靠性要求、可维护性及产品的成本等因素,制定出可行的性能指标。(2)划分软、硬件功能单片机系统由软件和硬件两部分组成。在应用系统中,有些功能既可由硬件来实现,也可以用软件来完成。硬件的使用可以提高系统的实时性和可靠性;使用软件实现,可以降低系统成本,简化硬件结构。因此在总体考虑时,必须综合分析以上因素,合理地制定硬件和软件任务的比例。(3)确定希望使用的单片机及其他关键部件根据硬件设计任务,选择能够满足系统需求并且性价比高的单片机及其他关键器件,如A/D、D/A转换器、传感器、放大器等,这些器件需要满足系统精度、速度以及可靠性等方面的要求。(4)硬件设计根据总体设计要求,以及选定的单片机及关键器件,利用Protel等软件设计出应用系统的电路原理图。(5)软件设计在系统整体设计和硬件设计的基础上,确定软件系统的程序结构并划分功能模块,然后进行各模块程序设计。(6)仿真调试软件和硬件设计结束后,需要进行进行进入两者的整合调试阶段。为避免浪费资源,在生成实际电路板之前,可以利用KeilC51和Proteus软件进行系统仿真,出现问题可以及时修改。(7)系统调试完成系统仿真后,利用Protel等绘图软件,根据电路原理图绘制PCB(PrintedCircuitBoard)印刷电路板图,然后将PCB图交给相关厂商生产电路板。拿到电路板后,为便于更换器件和修改电路,可首先在电路板上焊接所需芯片插座,并利用编程器将程序写入单片机。接下来将单片机及其他芯片插到相应的芯片插座中,接通电源及其他输入、输出设备,进行系统联调,直至调试成功。(8)测试修改、用户试用经测试检验符合要求后,将系统交给用户试用,对于出现的实际问题进行修改完善,系统开发完成。另外,为了方便起见,在单片机教学过程中进行的一些仿真实验,大多在仿真板上进行,如图所示,这块仿真板可以进行流水灯、数码管显示等实验。数码管指示灯ATMEL单片机信号灯闪烁系统设计two1.整体设计在单片机的P0.0端口上接一个发光二极管(LED)L1,编制汇编程序使L1不停地一亮一灭,时间间隔为0.2秒。2.硬件设计由于本书以MCS-51系列芯片为主进行讲解,因此,系统采用的单片机为MCS-51系列。硬件系统结构比较简单,如图所示,包括电源电路、时钟电路、复位电路和LED信号灯电路。复位电路时钟电路LEDMCS—51开始P0.0输出高电平,L1灯熄灭调用延时子程序P0.0输出低电平,L1灯发亮调用延时子程序3.软件设计从硬件设计的电路原理图可以看出,当P0.0端口输出高电平时,根据发光二极管的单向导电性可知,L1熄灭,这里可以使用SETBP0.0指令使P0.0端口输出高电平;当P0.0端口输出低电平时,L1点亮;这里可以使用CLRP0.0指令使P0.0端口输出低电平。由于单片机指令的执行时间很短,属于微秒级,要求的彩灯闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在执行彩灯点亮和熄灭指令时,插入延时程序,来达到我们的要求。程序流程图如图所示:ORG 0000HSTART:CLR P0.0 ;P1.0输出低电平,使LED1点亮LCALL DELAY ;调用延时子程序SETB P0.0 ;P1.0输出高电平,使LED1熄灭LCALL DELAY ;调用延时子程序LJMP STARTDELAY: ;延时子程序汇编语言程序如下:MOV R5,#20 ;将20送R5寄存器LOOP1:MOV R6,#20 ;将20送R6寄存器LOOP2:MOV R7,#230 ;将230送R7寄存器DJNZ R7,$ ;循环执行本指令,每次R7减1DJNZ R6,LOOP2 ;R6-1,如果R6不等于0,则转至LOOP2DJNZ R5,LOOP1 ;R5-1,如果R5不等于0,则转至LOOP1RETEND注意系统所用的石英晶体振荡频率为11.0592MHz,而一个机器周期通常由12个时钟周期组成,因此,1个机器周期=12×(1/石英频率),即为12/11.0592微秒。

机器周期

微秒MOV R6,#20; 2个 2LOOP1:MOV R7,#230; 2个 2DJNZ R7,$; 2个 2DJNZ R6,LOOP1; 2个 2当R6=20、R7=230时,延时约10ms,上面程序的延时时间计算如下:机器周期×(2+R6×(2+2×R7+2))=9282×(12/11.0592)=10.072ms。本项目要求延时0.2秒=200ms,则R5=200ms/10ms=20。利用KeilC51集成开发软件编辑、编译和链接程序threeKeilC51是美国KeilSoftware公司出品的MCS-51系列兼容单片机的开发系统,利用它可以编辑、编译、汇编、链接C程序和汇编程序,创建HEX文件并可对目标程序进行调试。KeilC51包括多个组成部分,这里我们使用其中的Windows应用程序μVision2,利用它来生成proteus仿真软件中需要的HEX文件。μVision2网上有不同的版本可供下载,也可以到KeilSoftware公司的官方网站下载最新的试用版本。步骤一打开μVision2,开发界面如图所示,包括文件工具栏、编译工具栏、工程窗口以及输出窗口等。文件工具栏编译工具栏工程窗口输出窗口步骤二首先新建一个工程,如图所示,选择“Project”>“NewProject”菜单,在弹出的保存窗口中选择工程文件的保存位置填写文件名,如图所示,单击“保存”按钮。步骤三在弹出的CPU选择对话框中选择80C51系列芯片,如图所示,然后单击“确定”按钮。步骤四单击文件工具栏中的新建文件按钮

,在编辑区域编辑汇编源程序,如图所示编辑完成后,单击文件工具栏中的保存文件按钮

,将汇编源程序保存为“.asm”形式的文件,如图所示。步骤五接下来,在工程窗口的“SourceGroup1”文件夹上单击鼠标右键,在弹出的快捷菜单中选择“AddFilesto...”选项,在打开的对话框中选择汇编源文件,并单击“Add”按钮,将其加入,整个过程如图所示。步骤六如图左图所示,选择“Project”>“OptionsforTarget‘Target1’”菜单,在弹出的对话框中打开“output”选项卡,参照如图右图所示设置输出选项,然后单击“确定”按钮。步骤七单击编译工具栏的

按钮,对汇编源文件进行编译、链接,如图左图所示,在输出窗口将看到信息提示,在保存工程的文件夹中将生成“.hex”文件,如图右图所示。利用Proteus系统仿真软件调试系统和程序fourProteus是英国LabcenterElectronics公司开发的一款优秀的EDA(ElectronicDesignAutomation,电子设计自动化)软件。利用它可以绘制电路原理图、PCB图和进行交互式电路仿真。针对微处理器应用,还可以直接在基于原理图的虚拟原型上编程(或直接导入外部源码文件),并实现软件源码级的实时调试。另外,配合系统配置的虚拟仪器,如示波器、逻辑分析仪等,用户可以获得一个完备的电子设计开发环境!Proteus软件主要包含了4个模块,它们分别是:ISIS原理图设计模块(也是Proteus软件的主程序),PROSPICE混合模式SPICE仿真模块,ARESPCB设计模块,以及PROSPICE仿真器的一个扩展PROTEUSVSM。注意电路系统的设计人员有时需要对系统中的部分电路作电压与电流关系的详细分析,此时需要做晶体管级仿真(电路级),这种仿真算法中所使用的电路模型都是最基本的元件和单管。仿真时按时间关系对每一个节点的I/V关系进行计算。这种仿真方法在所有仿真手段中是最精确的,但也是最耗费时间的。SPICE(Simulationprogramwithintegratedcircuitemphasis)是最为普遍的电路级模拟程序,各软件厂家分别提供了VSPICE、HSPICE、PSPICE等不同版本的SPICE软件,其仿真核心大同小异,都是采用了由美国加州Berkeley大学开发的SPICE模拟算法。SPICE可对电路进行非线性直流分析、非线性瞬态分析和线性交流分析。被分析的电路中的元件可包括电阻、电容、电感、互感、独立电压源、独立电流源、各种线性受控源、传输线以及有源半导体器件。SPICE内建半导体器件模型,用户只需选定模型级别并给出合适的参数。步骤一打开ProteusISIS,开发界面如图所示,除了常见的菜单栏和工具栏外,还包括预览窗口、对象选择器窗口、图形编辑窗口、预览对象方位控制按钮以及仿真进程控制按钮等。图形编辑窗口预览对象方位控制按钮仿真进程控制按钮预览窗口对象选择器窗口步骤二单击对象选择器窗口上方的

按钮,弹出如图所示的设备选择对话框,在“keywords”文本编辑框中输入芯片型号的关键字,在右侧出现的结果中选中需要的芯片,然后单击“OK”按钮。步骤三回到开发主界面,鼠标移入图形编辑窗口中会变成笔状,选择合适位置并双击鼠标,芯片就出现了,如图所示。注意要移动芯片的位置,可在工具栏中选择移动工具

,然后单击芯片并拖动。需要删除某个器件时,在其上双击鼠标右键即可。使用工具栏中的

工具,可以放大和缩小元件。步骤四参照添加芯片的方法添加发光二级管和电阻,器件添加完成后的效果如图所示。注意发光二级管的关键字为“led”;电阻的关键字为“res”。步骤五在电阻元件上单击鼠标右键,在弹出的菜单中选择“RotateClockwise”选项,将电阻进行顺时针旋转,如图所示。步骤六选择左侧工具栏中的元件图标

,将鼠标移到图形编辑窗口中单片机的P0.0引脚处,当引脚处出现高亮小方块时单击鼠标,将引出的绿色连线指向LED并点击确认,如图所示。使用同样的方法将LED和电阻相连。步骤七单击左侧工具栏中的元件图标

,在对象选择器窗口中选择“POWER”,将电源符号放到电阻符号的上方与电阻相连(系统默认电压为5V),如图所示。步骤八在电阻R1上单击鼠标右键,弹出如图左图所示的快捷菜单,选择“EditProperties”选项,打开如图右图所示编辑元件对话框,在“Resistance:”右侧的编辑栏中将阻值更改为“330”,然后单击“OK”按钮。注意将阻值改小,防止阻值过大,分压过多,LED不能正常发光。步骤九在单片机上单击鼠标右键,弹出左图所示快捷菜单,选择“EditProperties”选项,打开右图所示编辑元件对话框,单击“ProgramFile:”右侧的

按钮,选择在KeilC51中编译好的hex文件,然后单击“OK”按钮。步骤十至此系统硬件和软件已经设置完毕,现在可以运行我们的信号灯闪烁系统了。单击仿真进程控制按钮中的开始按钮

,此时可以看到LED开始以一定的时间间隔一亮一灭,如图所示。单片机入门

——信号灯闪烁系统设计项目总结在本项目中,我们首先介绍了单片机的特点、发展历史、常见产品和应用领域,并重点介绍了MCS-51系列单片机的特点;任务二和任务三简要介绍了数制、编码和数字电路等基础知识,这主要是为后面要学习的单片机程序设计和硬件系统设计打基础的;最后,我们通过设计一个简单的信号灯闪烁实例,向读者介绍了利用KeilC51编制、汇编、连接汇编程序,生成HEX源码文件,以及利用Proteus软件设计硬件系统并进行系统仿真的方法。THANKSFORWATCHING谢谢收看单片机原理及应用技术MCS–51单片机入门流水灯模拟系统设计任务一MCS-51系列单片机的基本结构任务二MCS-51系列单片机的存储器配置任务三MCS-51I/O端口的使用任务四时钟电路与时序Project2任务五MCS-51系列单片机的工作方式任务六典型应用——流水灯模拟系统设计任务1MCS-51系列单片机的基本结构MCS-51的外部引脚one8051采用40引脚DIP封装形式(双列直插式封装),引脚如图所示。受封装形式的限制,有不少引脚具有两种功能。从功能上看,可以分以下三部分。1.电源与时钟引脚Vcc(40脚):电源端,接+5V直流电源。Vss(20脚):接地端。XTAL1(19脚)/XTAL2(18脚):内部振荡器的输入端,接外部晶振;如果采用外部时钟,XTAL2引脚连外部时钟,XTAL1引脚要悬空。2.控制引脚ALE/PROG(AddressLatchEnable/Programming,30脚):地址锁存允许信号。当访问片外存储器时,ALE作为锁存低8位的控制信号。当不访问外存储器时,ALE引脚周期性地以1/6振荡器频率向外输出正脉冲,可用于对外输出时钟或定时。对片内ROM编程时(如8751),此引脚作为编程脉冲输入端PROG。ALE负载驱动能力为8个LSTTL器件。提示LSTTL器件(Low-powerSchottkyTransistor-TransistorLogic):低功耗晶体管逻辑电路。PSEN(ProgramStoreEnable,29脚):外部程序存储允许输出端,片外程序存储器读选通信号,低电平有效。CPU访问外部程序存储器期间,PSEN端在每个机器周期中两次有效。负载驱动能力为8个LSTTL器件。EA/VPP(EnableAddress/VoltagePulseofProgramming,31脚):外部程序存储器地址允许输入端。当EA为高电平时,CPU执行片内存储器指令,当程序计数器PC(ProgramCounter)的值超过0FFFH时,将自动转向执行片外程序存储器指令。当EA为低电平时,CPU只执行片外存储器指令。对于片内RAM编程时,VPP作为编程电压的输入端。RST/VPD(9脚):复位信号输入端。晶振工作时,在此引脚上保持两个机器周期的高电平将使单片机复位。第二功能为备用电源的输入端,当主电源Vcc掉电,VPD将为片内RAM供电,以确保RAM中的信息不丢失。3.I/O引脚I/O引脚的功能特性将在任务三中进行讲述。TXDRXD时钟源P0P1P2P3中断控制(InterruptControl)CPU(8051Core)时钟电路(OSC)控制总线(BusControl)程序存储器(ROM)并行接口串行接口数据存储器(RAM)定时/计数器INT0INT1内部中断WRRDPSENALEMCS-51的内部结构two1.基本结构与硬件组成051的主要硬件资源包括以下几个部分,内部功能模块构成如图所示(1)8位中央处理单元CPU(2)4K字节的程序存储器ROM(3)128字节的数据存储器RAM(4)21个特殊功能寄存器SFR(5)4个8位并行I/O口P0~P3(6)2个16位可编程定时/计数器T0、T1(7)5个中断源,具体包括2个外部中断源INT0和INT1,3个内部中断源(8)1个全双工的异步串行接口(9)内部时钟产生电路2.中央处理器CPU中央处理器CPU是单片机的核心组成部分,从功能上可以分为控制器和运算器两个部分。控制器产生各种控制信号以协调各部件之间的数据传送、运算等操作;运算器主要执行算术运算、逻辑运算和位操作等。(1)控制器控制器主要包括16位程序计数器PC(ProgramCounter)、数据指针DPTR(DataPointer)、堆栈指针SP(StackPointer)、指令寄存器IR(InstructionRegister)、指令译码器、控制逻辑电路等。①程序计数器PCPC是一个16位的专用寄存器,可寻址范围是0000H~FFFFH,共64K,它的作用是存放CPU下一条要执行的指令代码所在存储单元的16位地址。程序的每条指令都存放在ROM的某一存储单元中,当单片机开始执行程序时,PC中装入程序的第一条指令所在存储单元的地址。在顺序执行过程中,CPU每取出一条指令放到地址总线,PC的内容会自动加1、2或3(取决于指令的长度),即(PC)←(PC)+X,指向CPU下一条要执行指令的地址。当程序发生分支或转移时,如遇到转移指令、子程序调用或中断服务程序入口地址时,PC会改变顺序执行状态,根据指令进行跳转。单片机复位后,PC自动清0,即PC=0000H,CPU从ROM单元取第一条指令执行。②数据指针DPTRDPTR是一个16位的专用地址指针寄存器,由两个8位寄存器DPH(高8位)和DPL(低8位)组成。当8051外接存储器或I/O口时,用DPTR作为地址指针,存放外部存储器或外设端口的地址。③堆栈指针SPSP指针长8位,用于指示堆栈栈顶地址。堆栈用于在调用子程序或进入中断程序前保存一些重要数据及程序返回地址。在CPU响应中断或调用子程序时,会自动将断点处16位返回地址压入堆栈;在中断程序或子程序结束时,返回地址由堆栈弹出。堆栈操作按照“先进后出”的原则存取信息,如图所示。(a)堆栈结构(b)压入操作(c)弹出操作单片机复位后,SP的初始值为07H,进入栈区的的数据将从08H开始,可用区间为08H~7FH。08H~1FH为1~3区工作寄存器组,20H~2FH为位寻址区。提示用户可以对根据程序需要,在可用区间内对SP指针初始值进行设定。④指令寄存器IRIR字长8位,用于暂存待执行的指令,等待译码。⑤指令译码器指令译码器对指令寄存器中的指令进行译码,将指令转变为正确的电信号。⑥控制逻辑电路控制逻辑电路根据译码器输出的电信号,产生执行指令所需的各种控制信号。(2)运算器运算器主要包括算术逻辑单元ALU(ArithmeticalLogicUnit)、累加器A(Accumulator)、通用寄存器B(GeneralPurposeRegister)、程序状态字PSW(ProgramStatusWord)暂存器、十进制调整电路、布尔处理器等。①算术逻辑单元ALUALU是一个运算器,主要对8位二进制数进行算术与逻辑运算,包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作。另外还具有置位、移位、测试转移等功能。②累加器A累加器A又记作ACC,是一个8位寄存器。在算术与逻辑运算中,用来存放一个操作数或运算结果。另外,在与外部存储器或I/O端口进行数据传送也要经过A完成。③通用寄存器B通用寄存器B是一个8位寄存器,执行乘法或除法指令时,B与A配合使用。执行指令前B用于存放乘数或除数,在完成后存放乘积的高8位或除法的余数。在其他指令中,B可作为一般寄存器使用。④程序状态字PSW程序状态字PSW是一个8位寄存器,用于存放指令执行后的状态信息,以供程序查询和判断。PSW的格式及每位具体含义如表所示:位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CyACF0RS1RS0OV—P注:其中PSW.0为最低位,PSW.7为最高位,其中PSW.1是保留位,未使用。A进位标志位Cy(Carryflag)B辅助进位位AC(AuxiliaryCarry)ALU中进行加减运算过程中,最高位A7(累加器最高位)产生进位或借位时,Cy=1,否则Cy=0。另外,该位在位操作中也作为累加器C使用。ALU中进行加减运算过程中,低四位(A3)向高四位(A4)产生进位或借位时,AC=1,否则AC=0。此外,AC标志也常用于BCD0000000000000码运算时的十进制自动调整。C供用户定义的标志位,F0状态通常不在执行指令过程中自动形成,用户根据程序执行的需要通过传送指令确定。用户标志位F0(Flagzero)D用于设定当前工作寄存器的组号。8051有8个8位寄存器(R0~R7),分为4组。RS1、RS0与R0~R7的对应关系如表所示。寄存器组选择位RS0和RS1RS1RS0R0~R7组号R0~R7的物理地址00000~07H01108~0FH10210~17H11318~1FH用户可以通过对PSW整字节操作或用位操作指令改变RS1与RS0的状态信息,来切换当前工作寄存器。通过切换工作寄存器组,可以提高中断处理时保护现场和恢复现场的速度。如执行指令:MOVPSW,#00010000B则RS1、RS0两位的值为10B,工作寄存器切换到2组,当前工作寄存器的物理地址为10~17H。单片机复位后,PSW=00000000B,CPU选择第0组为当前工作寄存器。D用于指示运算过程中是否发生了溢出。对于8位表示的补码来说,如果运算结果小于-128或者大于+127,则产生溢出,此时OV=1,否则OV=0。通过查看OV的状态,可以判断累加器A中的数值是否正确。溢出标志位OV(Overflow)E用于跟踪检验累加器A中“1”的个数的奇偶性。A中“1”的个数为奇数时P=1,否则P=0。在单片机串行通信过程中,通过P可以判断传输过程中是否发生跳码现象。奇偶标志位P(Parity)任务2MCS-51系列单片机的存储器配置片内程序存储器FFFFH1000H0FFFH0003H0000H特殊指令中断程序片外程序存储器程序存储器one程序存储器由片内程序存储器和片外程序存储器两部分构成,用来存放程序及常数。片内和片外程序存储器采用16位统一编址方式,地址范围是:0000H~FFFFH。端口P0和P2分别提供地址的低8位和高8位。程序存储器结构如右图所示。CPU访问片内外存储器还是片外存储器是由EA引脚的电平决定的。当该引脚为高电平(即EA=1)时,表示单片机复位,CPU从片内存储器的0000H单元开始读取指令。若指令地址超过0FFFH(4K),CPU将自动转向片外程序存储器读取指令。当该引脚为低电平(即EA=0)时,CPU只能从片外存储器读取指令。有些单片机片内没有程序存储器(如8031),则使用时EA引脚必须接地。在8051片内存储器中,有6个特殊的地址单元。0000H~0002H单元是执行所有程序的入口地址。通常情况下,该单元存放的是一条无条件转移指令。因为当单片机复位后,CPU总是从此单元开始执行程序。存放在此单元中的跳转指令将引导CPU进入真正的程序入口地址继续读取指令。0003H、000BH、0013H、001BH、0023H分别是5个中断源的中断服务子程序的入口地址。因此,用户程序的存放位置选在002EH之后才会比较安全。80HFFH00H片外RAM64K片内RAM128字节SFR7FH0000HFFFFH片内数据存储器片外数据存储器数据存储器由片内数据存储器和片外数据存储器两部分构成,用来存放运算的中间结果。片内数据存储器与片外数据存储器采用分开编址方式。片内数据存储器采用8位地址,共256个字节;片外数据存储器采用16位地址,共64K。数据存储器结构如图所示。数据存储器two7FH30H2FH20H1FH18H17H10H0FH08H07H00HFFH80H通用RAM区位寻址区工作寄存器3组工作寄存器2组工作寄存器1组工作寄存器0组SFR1.片内数据存储器片内数据存储器共256字节,内部数据存储器的结构图如图所示。00H~1FH单元分别对应4个工作寄存器组。当前工作寄存器的设定由PSW中的RS1和RS0决定(参见1.3.2节中“程序状态字PSW”)。20H~2FH这16个字节(128位)作为8051的位寻址区。CPU通过指令对其中的某一位进行操作,在逻辑运算、实时处理、开关控制等方面有重要作用。若无位寻址需求时,仍可作为普通RAM使用。下表为片内数据存储器位地址分配表。字节地址位地址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H字节地址位地址D7D6D5D4D3D2D1D027H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H续上表:注:位的英文为bit,通常用b表示;字节的英文为Byte,通常用B表示。8位为一个字节,210个字节即1024字节为1K。2.特殊功能寄存器SFR(SpecialFunctionRegisters)MCS-51系列单片机有21个特殊功能寄存器。它们都有自己的固定地址,离散地分布在片内地址80~FFH的RAM空间中。CPU可以直接使用寄存器的名字或者通过直接寻址方式对其进行访问。其中有11个寄存器可以通过位寻址的方式进行访问。具体情况见下表。字节地址位地址/位功能标记符号名称位寻址D7D6D5D4D3D2D1D0F0HF7HB.7F6HB.6F5HB.5F4HB.4F3HB.3F2HB.2F1HB.1F0HB.0BB寄存器是E0HE7HACC.7E6HACC.6E5HACC.5E4HACC.4E3HACC.3E2HACC.2E1HACC.1E0HACC.0A累加器是续上表:字节地址位地址/位功能标记符号名称位寻址D7D6D5D4D3D2D1D0D0HD7HCyD6HACD5HF0D4HRS1D3HRS0D2HOVD1H—D0HPPSW程序状态字是B8H———BCHPSBBHPT1BAHPX1B9HPT0B8HPX0IP中断优先级是B0HB7HP3.7B6HP3.6B5HP3.5B4HP3.4B3HP3.3B2HP3.2B1HP3.1B0HP3.0P3P3端口是A8HAFHEA——ACHESABHET1AAHEX1A9HET0A8HEX0IE中断允许是续上表:字节地址位地址/位功能标记符号名称位寻址D7D6D5D4D3D2D1D0A0HA7HP2.7A6HP2.6A5HP2.5A4HP2.4A3HP2.3A2HP2.2A1HP2.1A0HP2.0P2P2端口是99HSBUF串行口数据否98H9FHSM09EHSM19DHSM29CHREN9BHTB89AHRB899HTI98HRISCON串行口控制是90H97HP1.796HP1.695HP1.594HP1.493HP1.392HP1.291HP1.190HP1.0P1P1端口是续上表:字节地址位地址/位功能标记符号名称位寻址D7D6D5D4D3D2D1D08DHTH1T1高字节否8CHTH0T0高字节否8BHTL1T1低字节否8AHTL0T0低字节否续上表:字节地址位地址/位功能标记符号名称位寻址D7D6D5D4D3D2D1D089HGATEC/TM1M0GATEC/TM1M0TMOD定时器模式否88H8FHTF18EHTR18DHTF08CHTR08BHIE18AHIT189HIE088HIT0TCON定时器控制是87HSMOD———GF1GF0PDIDLPCON电源控制否83HDPHDPTR高8位否续上表:字节地址位地址/位功能标记符号名称位寻址

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论