[资料]单片机巧及应用1_第1页
[资料]单片机巧及应用1_第2页
[资料]单片机巧及应用1_第3页
[资料]单片机巧及应用1_第4页
[资料]单片机巧及应用1_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机技术及应用1办公地点:计算机楼405#手机:mil: qq: 1057107842柏桂枝嵌入式系统实验室 面积120m2设备 计算机 8台,笔记本 2台 投影仪 1台 数字示波器 2台 rm开发环境 2套 ppc开发环境 2套 智能返修台 1套 usb协议分析仪 1台智能返修台数字示波器课程安排性质:专业选修课学时:48(38 + 2 + 8) 2月21日 4月14日学分:3个 n教材:教材:n单片机原理及与单片机原理及与c51程序设计基础教程程序设计基础教程 张欣等编张欣等编 课程要求n前导课程:前导课程:n 数字电路、数字电路、c语言、(模拟电路)语言、(模

2、拟电路)n本课程是实践性较强的课程。通过该课程的本课程是实践性较强的课程。通过该课程的学习,掌握单片机软件编程和硬件电路设计学习,掌握单片机软件编程和硬件电路设计的方法,能够承担单片机系统的设计、开发的方法,能够承担单片机系统的设计、开发与调试工作。与调试工作。n考核考核: 考勤、实验课、期末考试考勤、实验课、期末考试 给同学们提了一个建议:成立“单片机爱好者小组”,利用课余时间,在嵌入式系统实验室做一些利用单片机进行控制的电子作品,这样能够激发学习的兴趣和动手能力,提高了学习的主动性和积极性。第1章 绪论1.1 单片机概述1.2 典型单片机系列简介 介绍单片机的发展及应用领域、单片机的结构特

3、点以及典型单片机的系统简介。要求了解单片机的发展及应用领域,重点掌握典型mcs-51系列单片机的结构特点。教学目的和要求1.1 单片机概述n 它是把组成微型计算机的各功能部件:中它是把组成微型计算机的各功能部件:中央处理器央处理器cpu、随机存取存储器、随机存取存储器rm、只读存、只读存储器储器rom、i/o接口电路、定时器接口电路、定时器/计数器以计数器以及串行通信接口等制作在一块集成芯片中,构及串行通信接口等制作在一块集成芯片中,构成一个完整的微型计算机。成一个完整的微型计算机。n 单片机是单片微型计算机的简称。单片机是单片微型计算机的简称。n 单片机主要应用于控制领域,它的结构与单片机主

4、要应用于控制领域,它的结构与指令功能都是按照工业控制要求设计的,故又指令功能都是按照工业控制要求设计的,故又称为微控制器(称为微控制器(micro controller unit)。)。在国际上,在国际上,“微控制器微控制器”的叫法更通用些,在的叫法更通用些,在我国比较习惯我国比较习惯“单片机单片机”这一名称。这一名称。n 由于单片机在应用时通常是被控系统的核由于单片机在应用时通常是被控系统的核心并融入其中,即以嵌入的方式工作,为了强心并融入其中,即以嵌入的方式工作,为了强调其调其“嵌入嵌入”的特点,也常常将单片机称为嵌的特点,也常常将单片机称为嵌入式微控制器。入式微控制器。 什么叫单片机n

5、单片机出现的历史并不长,它的产生与发单片机出现的历史并不长,它的产生与发展和微处理器的产生与发展大体上同步,经历展和微处理器的产生与发展大体上同步,经历了了4个阶段:个阶段:n 第一阶段(第一阶段(19711974年):年):1971年年11月美国月美国intel公司首先设计出集成度为公司首先设计出集成度为2000只只晶体管晶体管/片的片的4位微处理器位微处理器intel 4004,并且配,并且配有随机存取存储器有随机存取存储器rm、只读存储器、只读存储器rom和移和移位寄存器等芯片,构成第一台位寄存器等芯片,构成第一台mcs-4微型计算微型计算机。机。1972年年4月月intel公司又研制成

6、功了处理公司又研制成功了处理能力较强的能力较强的8位微处理器位微处理器intel 8008。这。这些微处理器虽说还不是单片机,但从此拉开了些微处理器虽说还不是单片机,但从此拉开了研制单片机的序幕。研制单片机的序幕。n 第二阶段(第二阶段(19741978年):初级单片年):初级单片机阶段。以机阶段。以intel公司的公司的mcs-48为代表。这个为代表。这个系列单片机内集成有系列单片机内集成有8位位cpu、并行、并行i/o接口、接口、8位定时器位定时器/计数器,寻址范围不大于计数器,寻址范围不大于4k,且无,且无串行口。串行口。 1.1.1 单片机的发展概况单片机发展阶段(1)n 第三阶段(第

7、三阶段(19781983年):在这一阶年):在这一阶段推出的单片机普遍带有串行口,有多级中段推出的单片机普遍带有串行口,有多级中断处理系统、断处理系统、16位定时器位定时器/计数器。片内计数器。片内rm、rom容量加大,且寻址范围可达容量加大,且寻址范围可达64kb,有,有的片内还带有的片内还带有/d转换器接口。这类单片机有转换器接口。这类单片机有intel公司的公司的mcs-51、motorol公司的公司的6801和和zilog公司的公司的z8等。这类单片机的应用领域等。这类单片机的应用领域极其广泛,这个系列的各类产品仍然是目前极其广泛,这个系列的各类产品仍然是目前国内外产品的主流。其中国内

8、外产品的主流。其中mcs-51系列产品,系列产品,以其优良的性能价格比,成为我国广大科技以其优良的性能价格比,成为我国广大科技人员的首选。人员的首选。n 第四阶段(第四阶段(1983年现在):年现在):8位单片机位单片机巩固发展及巩固发展及16位单片机推出阶段。此阶段主位单片机推出阶段。此阶段主要特征是一方面发展要特征是一方面发展16/32位单片机及专用位单片机及专用单片机;另一方面不断完善高档单片机;另一方面不断完善高档8位单片机,位单片机,改善其结构,以满足不同的用户需要。改善其结构,以满足不同的用户需要。1.1.1 单片机的发展概况单片机发展阶段(2)单片机发展趋势1.1.1 单片机的发

9、展概况(1)单片机的字长由4位、8位、16 位发展到32位。 这几种字长的mcu目前同时存在于市场,由于单片机主要用于控制,目前8位的mcu 仍然占主流地位,只有在精度要求特别高的场合如图像处理等,才采用16位的mcu, 用户可以根据产品的需要进行选择。(2)运行速度不断提高。 单片机的使用最高频率由6mhz、12mhz 、24mhz、 33mhz、发展到 40mhz。(3)单片机内的存储容量越来越大。 由1kb、 2kb、 4kb、 8kb、 16kb、 32kb、发展到 64kb 等。单片机发展趋势(2)1.1.1 单片机的发展概况(4)rom存储器的编程也越来越方便 有 rom型(掩模型

10、)、otp型(一次性编程)、eprom(紫外线擦除编程)、eeprom(电擦除编程)及lsh(闪速编程)。编程(烧录)方式也越来越方便,目前有脱机编程、在系统编程(isp)、在应用编程(ip)。各类产品并存,可供用户选择。(5)i/o端口多功能化 单片机内除集成有并行接口、串行接口外,还集成有/d、d/、led/lcd显示驱动、dm控制、pwm(脉宽调制输出)、 plc(锁相环控制)、 pc(逻辑阵列) wdt(看门狗)等。单片机发展趋势(3)1.1.1 单片机的发展概况(6)功耗越来越低 采用chmos制作工艺使单片机集hmos的高速、高集成度和cmos的低功耗技术为一体,使单片机的功耗进一

11、步降低,适应的电压范围更宽(2.66v)。(7)结合专用集成电路sic、精简指令集和risc技术,使单片机发展成为嵌入式的处理器,深入到数字信号处理、图象处理、人工智能、机器人等领域。 位数:即单片机能够一次处理的数据的宽度 存储器:包括程序存储器和数据存储器,程序存储器空间较大,数据存储器的字节数则通常为几十字节到几百字节之间。 i/o口:即输入输出口,用户可以根据自己的需要进行选择。 速度:指的是cpu的处理速度,以每秒执行多少条指令衡量,常用单位是mips(百万条指令每秒), 工作电压:通常工作电压是5v 功耗:低功耗是现代单片机所追求的一个目标 温度:单片机根据工作温度可分为民用级(商

12、业级)、工业级和军用级三种。 附加功能:有的单片机有更多的功能,用户可根据自己的需要选择最适合自己的产品。1.1.2 单片机的指标(1)高集成度、体积小、可靠性高;(2)有优良的性能价格比;(3)控制功能强;(4)系统配置较典型、规范;(5)低功耗。1.1.3 单片机的特点1.1.4 单片机的应用领域 由于单片机小而全,易于推广应用等显著优点,在自动化装置,智能化仪器仪表和家用电器等领域得到日益广泛的应用。下面仅列举一些典型的应用领域。(1)工业控制 数控机床,电机控制,工业机器人,自动控制等(2)仪器仪表 智能仪器,医疗器械,数字示波器等。(3)电信技术 调制解调器,声像处理,数字滤波,通信

13、设备等。(4)办公自动化和计算机外部设备 传真机,复印机,打印机,绘图仪,扫描仪等1.1.4 单片机的应用领域(5)汽车与节能 点火控制,变速控制,防滑车控制,排气控制,计费器,交通控制等。(6)导弹 导弹控制,鱼雷制导,智能武器装置,航天导弹系统等。(7)商用产品 电子收款机,电子秤,银行统计机等。(8)家用电器 微波炉,电视机,录像机,音响设备,游戏机等 以上可见它无处不有、无时不在,像个万能的螺丝钉。1.1.3 单片机的应用领域1.2 典型单片机系列简介1.2.1 单片机系列简介1.2.2 mcs-51单片机简介1.2.3 常用的单片机及周围器件1.2.1 单片机系列简介n 低档型:低档

14、型:8021、8022nmcs48 基本型:基本型:8048、8748、8038 n (从(从1976年起)年起) 改进型:改进型:8049、8749、8039和和8050、8750、8040n 基本型:基本型:8051、8751、8031nmcs51 改进型:改进型:8052、8752、8032n (从(从1980年起)年起) 低功耗型:低功耗型:80c51、87c51、80c31n 强 性 能 型 :强 性 能 型 : 8 3 c 2 5 2 、87c252、80c252 n 早期产品:早期产品: 8x9x(8096)nmcs96 改进型:改进型: 8x9xbh、8x9xjn (从(从19

15、83年起)年起) 新产品:新产品: 8098(准)(准)n 强 功 能 型 :强 功 能 型 : 8 0 c 1 9 6 、80c198(准)(准)单片机系列分类1.2.2 mcs-51单片机简介nmcs-51系列基本产品型号:系列基本产品型号:n 8051、8031、8751、8951称为称为 51子系列。子系列。n 不同型号不同型号mcs-51单片机单片机cpu处理能处理能力和指令系统完全兼容,只是存储器和力和指令系统完全兼容,只是存储器和i/o接口的配置有所不同。接口的配置有所不同。硬件基本配置:1. 8位cpu2. 片内rom/eprom、rm3. 片内并行 i/o接口4. 片内16位

16、定时器/计数器5. 片内中断处理系统6. 片内全双工串行i/o口1.2.2 mcs-51单片机简介n8051:片内含有掩膜:片内含有掩膜rom型程序存储器;型程序存储器;n 只能由生产厂家代为用户固化;只能由生产厂家代为用户固化;n 批量大、永久保存、不修改时用。批量大、永久保存、不修改时用。n8751:片内含:片内含eprom型程序存储器;型程序存储器; n 用户可固化,可用紫外线光照射擦除;用户可固化,可用紫外线光照射擦除;n 但价格高。但价格高。n8031:片内无程序存储器,可在片外扩:片内无程序存储器,可在片外扩展;展;n 方便灵活,价格便宜。方便灵活,价格便宜。n8951:是以:是以

17、4kb的的e2prom(或(或lsh rom)代替)代替4kb rom的的8051。常用51单片机介绍1、intel公司系列单片机常用51单片机介绍 2、tmel 公司系列单片机常用51单片机介绍 3、philips公司单片机 philips公司生产与mcs-51兼容的80c51系列单片机,片内具有i2c总线、/d转换器、定时监视器、crt控制器(osd)等丰富的外围部件。其主要产品有lpc900系列,lpc76x系列,p8xc5x系列,增强型80c51系列。以p87c552为例,它具有8k rom,256b rm,48个i/o口,3个16位定时/计数器,15个中断源,16mhz的工作频率,u

18、rt, i2c通道,8路10位/d转换器,工作电压为2.7-5.5v。 philips单片机独特的创造是具有i2c总线,这是一种集成电路和集成电路之间的串行通信总线。可以通过总线对系统进行扩展,使单片机系统结构更简单,体积更小。i2c总线也可以用于多机通信。常用51单片机介绍 4、motorol公司单片机 motorol公司的单片机从应用角度可以分为两类:高性能的通用型单片机和面向家用消费领域的专用型单片机。通用型单片机具有代表性的是mc68hc11系列,有几十种型号。其典型产品为mc68hc118,具有准16位的cpu、8kb rom、256b rm、512b e2prom、16位9功能定时

19、器、38位i/o口线、2个串行口、8位脉冲累加器、8路8位/d转换器、看门狗、17个中断向量等功能,可单片工作,也可以扩展方式工作。单片机芯片t89c51t89s51t89s52t89c20511.2.3 常见的单片机及周围器件通信芯片mx232cpe 时钟芯片 ds13021.2.3 常见的单片机及周围器件1.2.3 常见的单片机及周围器件1.2.3 常见的单片机及周围器件双路遥控组件1.2.3 常见的单片机及周围器件电子万年历1.2.3 常见的单片机及周围器件如何学习单片机这门技术?首先,大概了解单片机的结构其次,要有大量的实例练习第三,要多结合外围电路,如流水灯、数码管、独立键盘、矩阵键

20、盘、d或d(原理一样)、液晶、蜂鸣器进行练习最后,就是结合自己的实际情况,开发一个完全具有个人风格,功能完善的电子产品,尽情享受单片机带来的欢乐和成就感n1、单片机即单片微型计算机,是将计算机、单片机即单片微型计算机,是将计算机主机(主机(cpu、内存和、内存和i/o接口)集成在一接口)集成在一小块硅片上的微型机。小块硅片上的微型机。n2、单片机为工业测控而设计,又称微控制、单片机为工业测控而设计,又称微控制器。器。n 具有三高优势(集成度高、可靠性高、具有三高优势(集成度高、可靠性高、性价比高)。性价比高)。n3、主要应用于工业检测与控制、计算机外、主要应用于工业检测与控制、计算机外设、智能

21、仪器仪表、通讯设备、家用电器设、智能仪器仪表、通讯设备、家用电器等。特别适合于嵌入式微型机应用系统。等。特别适合于嵌入式微型机应用系统。n4、单片机开发系统有单片单板机和仿真器。、单片机开发系统有单片单板机和仿真器。n 实现单片机应用系统的硬、软件开发。实现单片机应用系统的硬、软件开发。本章小结讨论n习题一习题一第2章 单片机的硬件基础2.1 mcs-51单片机的基本组成2.2 i/o接口结构2.3 mcs-51单片机的引脚功能2.4 时钟电路及工作方式2.5 mcs-51单片机最小系统教学目的和要求 主要介绍mcs-51系列单片机的内部硬件结构,详细地叙述了单片机的硬件结构、性能、各个引脚的

22、功能、存储器配置、时钟电路与时序及工作原理等。重点掌握单片机的内部硬件结构,为硬件设计做准备。2.1 mcs-51单片机的基本组成 mcs-51结构框图如图2.1所示。它主要由9个部件和一条内部总线组成。现分别对各部件的情况介绍如下:8051cpu振荡器和时序osc程序存储器4kbrom数据存储器256brm/sr2x16位定时器/计数器64kb总线扩展控制器可编程i/o可编程全双工串行口外时钟电源外部事件计数外中断内中断控制并行口串行通信 中央处理器简称cpu,是单片机的核心,完成运算和控制操作。中央处理器包括运算器和控制器两部分电路。(1)运算器电路 运算器电路是单片机的运算部件,用于实现

23、算术和逻辑运算。lu(算术逻辑单元)、cc(累加器)、b寄存器、程序状态字和两个暂存寄存器等属于运算器电路。运算器电路以lu为核心,基本的算术运算和逻辑运算均在其中进行,包括加、减、乘、除、增量、减量、十进制调整、比较等算术运算,与、或、非等逻辑运算,左、右移位和半字节交换等操作。运算和操作结果的状态由状态寄存器(psw)保存。2.1.1 8051单片机的内部结构和功能1. 中央处理器(cpu) 累加器是一个最常用的专用寄存器,属于sr,也称cc。大部分单操作数指令的操作数取自累加器,很多双操作数指令的一个操作数取自累加器,加、减、乘、除算术运算指令的运算结果都存放在累加器或和b寄存器中。 在

24、乘除指令中,用到了b寄存器。乘除指令的两个操作数分别取自和b,其结果存放在和b寄存器中。例如除法指令中,被除数取自,除数取自b,商数存放于,余数存放于b。累加器b寄存器2.1.1 8051单片机的内部结构和功能功 能标志符号位地址进位标志(又是c寄存器)cypsw.7辅助进位标志acpsw.6用户标志fopsw.5工作寄存器组选择rs1psw.4工作寄存器组选择rs0psw.3溢出标志ovpsw.2保留f1psw.1奇偶标志ppsw.0程序状态字(pswprogrm sttus word) 程序状态字是一个8位的寄存器用于寄存指令执行的状态信息。其中有些位状态是根据指令执行结果,由硬件自动设置

25、的,而有些位状态则是用软件方法设定的。psw的位状态可以用专门的指令进行测试,也可以用指令读出。一些条件转移指令将根据psw中有关位信息来进行程序转移。psw的各位定义如下: 2.1.1 8051单片机的内部结构和功能工作寄存器组的选择psw.4(rs1)psw.3(rs0)当前使用的工作寄存器组r0r7000组(00h07h)011组(08h0fh)102组(10h17h)113组(18h1fh)2.1.1 8051单片机的内部结构和功能 控制电路是单片机的指挥控制部件,保证各部分能自动而协调地工作。 pc(程序计数器)、pc加1寄存器、指令寄存器、指令译码器、定时和控制电路等均属于控制电路

26、。 单片机执行指令是在控制电路的控制下进行的。首先从程序存储器中读出指令,送指令寄存器保存,然后送指令译码器进行译码,译码结果送定时控制逻辑电路,由定时控制逻辑电路产生各种定时信号和控制信号,再送到系统的各个部件进行相应的操作。这就是执行一条指令的全过程。 (2)控制电路2.1.1 8051单片机的内部结构和功能 出于控制应用的需要,出于控制应用的需要,mcs-51mcs-51有有2 2个(对个(对8031/80518031/8051是是2 2个)或个)或3 3个(对个(对8032/80528032/8052是是3 3个)个)1616位定时器位定时器/ /计数器,以实现定时或计数功能,并计数器

27、,以实现定时或计数功能,并以定时或计数的结果对单片机进行控制。定时器以定时或计数的结果对单片机进行控制。定时器/ /计数器和中断、串计数器和中断、串行端口在一起。行端口在一起。 mcs-51有一个全双工urt(通用异步接收发器)的串行口,以实现单片机和其他数据设备之间的串行数据传送。该串行口功能较强,既可作为全双工urt异步通信收发器使用,又可以作为同步移位器使用。在图2.1中串行端口和定时器/计数器中断在一起。2. 定时器/计数器3. 串行口2.1.1 8051单片机的内部结构和功能2.1.2 mcs-512.1.2 mcs-51存储器的结构存储器的结构 物理上,mcs-51单片机有4个存储

28、器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。从用户使用的角度看,mcs-51单片机有3个存储器地址空间:片内外统一的64kb的程序存储器地址空间、片内数据存储器(其中128b的特殊功能寄存器地址空间仅有20几个字节是有实际定义的)、片外64kb数据存储器地址空间。在访问这3个不同的逻辑空间时应采用不同的指令形式。mcs-51单片机存储器的结构如图所示。 mcs-51数据存储器与程序存储器全部64kb地址重叠,且数据存储器的片内外的低128b地址重叠。所以对片内外数据存储器的操作使用了不同的指令,这样就不会发生混乱。而程序存储器和数据存储器的区分是靠引脚psen、rd

29、、wr、ea控制的。 另外,在片外数据存储器中,数据区与扩展的i/o口统一编址,因此,用户在应用系统设计时,所有的外围接口地址均占用外部rm地址单元。 0fffh 0000h 内 部 (ea=1) 0fffh 0000h 内 部 (ea=0) 外外 部部 1000h 图表 2 ffffh 图表 1 2fh 图表 10 20h 图表 9 数 据 缓冲区 位寻址区 工 作 寄存器区 7fh 图表 8 30h 图表 7 1fh 图表 6 00h 图表 5 特殊功能寄存器 ffh 图表 4 7fh 80h 图表 3 ram i / o 口地址 0000h 图表 12 ffffh 图表 12 )程序存储

30、器 (b)片内数据存储器 (c)片外数据存储器2.1.2 mcs-51存储器的结构00h1fh20h2fh30h7fh0组1组2组3组位地址为 00h7fh 只能按字节寻址的ram区既可按位也可按字节寻址的16字节(128位)4组工作寄存器每组为r0r7(也可作按字节寻址的ram用)32字节ffhb8hb0ha8ha0h98h90h88h80hf0he0hd0hc8h专用寄存器中的可寻址位 (93位)80h特殊功能 寄存器 128255内部数据 ram 0127通用ram区 mcs-51单片机的内部数据存储器由地址00hh共有256个字节的地址空间组成,这256个字节的地址空间被分为两部分,其

31、中内部数据rm地址为00h7h(即0127)。 片内数据存储器2.1.2 mcs-51存储器的结构7f7e7d7c7b7a797877767574737271706f6e6d6c6b6a696867666564636261605f5e5d5c5b5a595857565554535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a393837363534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030

32、201003区2区1区0区07h00h0fh08h17h10h1fh18h20h21h22h23h24h25h26h27h28h29h2ah2bh2ch2dh2eh2fh7fhmsblsb 内部数据rm分为工作寄存器区、位寻址区、通用rm区三个部分。 特殊功能寄存器sr的地址空间是80hh。 特殊功能特殊功能寄存器名称寄存器名称符号符号位地址与位名称位地址与位名称字节字节地址地址d7d6d5d4d3d2d1d0b寄存器寄存器bf7f6f5f4f3f2f1f0f0h累加器累加器ae7e6e5e4e3e2e1e0e0h程序状态字程序状态字pswd7d6d5d4d3d2d1d0d0hcacf0rs1

33、rs0ovp中断优先级中断优先级控制控制ipbfbebdbcbbbab9b8b8hpspt1px1pt0px0d7d6d5d4d3d2d1d0p3口口p3b7b6b5b4b3b2b1b0b0hp3.7p3.6p3.5p3.4p3.3p3.2p3.1p3.02.1.2 mcs-51存储器的结构中断允许中断允许控制控制ieafaeadacabaaa9a8a8heaeset1ex1et0ex0p2口口p2a7a6a5a4a3a2a1a0a0hp2.7p2.6p2.5p2.4p2.3p2.2p2.1p2.0串行数据串行数据缓冲器缓冲器sbuf99h串行控制串行控制scon9f9e9d9c9b9a999

34、898hsm0sm1sm2rentb8rb8tirip1口口p1979695949392919090hp1.7p1.6p1.5p1.4p1.3p1.2p1.1p1.0定时定时/计数器计数器1高字节高字节th18dh定时定时/计数器计数器0高字节高字节th08ch2.1.2 mcs-51存储器的结构定时定时/计数器计数器1低字节低字节tl18bh定时定时/计数器计数器0低字节低字节tl08ah定时定时/计数计数方式控制方式控制tmodgatec/tm1m0gatec/tm1m089h2.1.2 mcs-51存储器的结构特殊功能特殊功能寄 存 器 名寄 存 器 名称称符号符号位地址与位名称位地址与

35、位名称字节字节地址地址d7d6d5d4d3d2d1d0定 时 器 控定 时 器 控制寄存器制寄存器tcon8f8e8d8c8b8a898888htf1tr1tf0tr0ie1it1ie0it0电源控制电源控制pconsmod87h数据指针数据指针高字节高字节dph83h数据指针数据指针低字节低字节dpl82h堆栈指针堆栈指针sp81hp0口口p0878685848382818080hp0.7p0.6p0.5p0.4p0.3p0.2p0.1p0.02.1.2 mcs-51存储器的结构 堆栈是一种数据结构。所谓堆栈就是只允许在其一端进行数据插入和数据删除操作的线性表。其结构如图2.4所示。 栈 底

36、 栈 顶 顶 端 sp 2.1.2 mcs-512.1.2 mcs-51存储器的结构存储器的结构图2.4 堆栈示意图1. 堆栈的功能 堆栈是为了子程序调用和中断操作而设立的,其作用有两个:保护断点和保护现场。2. 堆栈的开辟 早期的微型计算机多在主存储器中开辟堆栈,称为外堆栈。主要优点是容量大,可看作是无限的,但速度慢。另一类堆栈称为内堆栈。所谓内堆栈就是在cpu芯片的寄存器中开辟堆栈。mcs-51的堆栈就开辟在内部ram中。内堆栈的优点是速度快,但堆栈的容量有限。这种限制反映在单片机上的表现就是:限制了高级语言的使用。因为在高级语言中,除了中断和子程序的调用外,参数的传递也是靠堆栈的操作来实

37、现的。 2.1.2 mcs-512.1.2 mcs-51存储器的结构存储器的结构3. 堆栈指示器 堆栈共有两种操作:进栈和出栈。但不论是数据进栈还是出栈,都是对堆栈的栈顶单元进行的,即对堆栈栈顶单元的写和读操作。为了指示栈顶地址,要设置堆栈指示器sp。sp的内容就是堆栈栈顶的存储单元地址。 mcs-51单片机由于堆栈设在内部ram上,因此sp是一个8位寄存器。实际上sp就是专用寄存器的一员。系统复位后,sp的内容为07h,但由于堆栈最好在内部ram的30h7fh单元中开辟,所以在程序设计时,应注意把sp值初始化为30h。sp的内容一旦确定,栈顶的位置就确定了。4. 堆栈类型 向上生长型和向下生

38、长型。mcs-51的堆栈是向上生长的。5. 堆栈使用方法 调用子程序或中断时,返回地址(断点)自动进栈。程序返回时,断点再自动弹回pc。 使用专用的堆栈操作指令,进行进出栈操作。保护现场(push);恢复现场(pop)。2.1.2 mcs-512.1.2 mcs-51存储器的结构存储器的结构2.2 i/o接口结构2.2.1 p0口结构2.2.2 p1口结构2.2.3 p2口结构2.2.4 p3口结构2.2.1 p0口结构 p0口的字节地址为80h,位地址为80h87h。口的各位口线具有完全相同,但又相互独立的逻辑电路,如图所示。dclqq p0.x锁存器muxp0.x引脚t1t2读引脚写锁存器

39、内部总线读锁存器1234地址/数据控制cvccp0口逻辑电路的主要内容包括: 一个数据输出锁存器,用于进行数据位的锁存。 两个三态输入缓冲器,分别用于锁存器数据和引脚数据输入的缓冲。 一个多路转接开关mux,它的一个输入来自锁存器,另一个输入为“地址/数据”。输入转接由“控制”信号控制。之所以设置多路转接开关,是因为p0口既可以作为通用的i/o口进行数据的输入输出,又可以作为单片机系统的地址/数据线之间的接通转接。 数据输出的驱动和控制电路,由两只场效应管(fet)组成,上面的那只场效应管构成上拉电路。2.2.1 p0口结构 p1口的地址为90h,位地址为90h97h。p1口的口线逻辑电路如图

40、2.7所示。p1口只能作为通用的i/o口使用,所以在电路结构上和p0口不同主要表现为:n 它只传送数据,所以不需要多路转接它只传送数据,所以不需要多路转接开关开关mux。n 因为只用来传送数据,因此输出电路因为只用来传送数据,因此输出电路中有上拉电阻,且上拉电阻和场效应管中有上拉电阻,且上拉电阻和场效应管共同组成了输出驱动电路。共同组成了输出驱动电路。n p1口作为输出口使用时,已能提供推口作为输出口使用时,已能提供推拉电流负载,外电路无需再接上拉电阻。拉电流负载,外电路无需再接上拉电阻。n p1口作为输入口使用时,应先向其锁口作为输入口使用时,应先向其锁存器写入存器写入“1”,使输出驱动电路

41、的场效,使输出驱动电路的场效应管截止。应管截止。2.2.2 p1口结构dclqq p1.x锁存器读引脚写锁存器内部总线读锁存器12p1.x引脚tvccr2.2.3 p2口结构dclqq p2.x锁存器mux读引脚写锁存器内部总线读锁存器12地址控制cp2.x引脚tvccr3 p2口的字节地址为0a0h,位地址为0a0h0a7h。p2口的逻辑电路如图所示。 在实际使用中,p2口用于为系统提供高位地址,但不作为数据线使用,所以p2口和p0口既有共同点,又有不同点。 共同点:在口电路中有一个多路转换开关mux。用于口线作为通用的i/o口进行数据的输入输出和作为单片机系统的地址/数据线之间的接通转接。

42、不同点:p2口只作为高位地址线使用,不作为数据线使用,所以多路转换开关mux的一个输入端不再是“地址/数据”,而是单一的“地址”。2.2.4 p3口结构 p3口的字节地址为0b0h,位地址为0b0h0b7h。p3口的逻辑电路如图所示。 dclqq p3.x锁存器读引脚写锁存器内部总线读锁存器12p3.x引脚tvccr第二输出功能第二输入功能34n 虽然虽然p3口可以作为通用口可以作为通用i/o口使用,但在口使用,但在实际使用中它的第二功能信号更为重要。为适实际使用中它的第二功能信号更为重要。为适应引脚信号第二功能的需要,在口电路中增加应引脚信号第二功能的需要,在口电路中增加了第二功能控制逻辑。

43、由于第二功能信号有输了第二功能控制逻辑。由于第二功能信号有输入和输出两类,因此我们分两种情况说明。入和输出两类,因此我们分两种情况说明。n 对于输出第二功能信号的引脚,当作为通对于输出第二功能信号的引脚,当作为通用用i/o口使用时,电路中的口使用时,电路中的“第二输出功能第二输出功能”信号线应保持高电平,与非门开通,以维持从信号线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。当作为锁存器到输出端数据输出通路的畅通。当作为输出第二功能信号时,该锁存器应预先置输出第二功能信号时,该锁存器应预先置“1”,使与非门对第二功能的信号的输出是畅通的,使与非门对第二功能的信号的输出是畅

44、通的,从而实现第二功能信号的输出。从而实现第二功能信号的输出。 对于第二功能为输入信号的引脚,在口线的输入通路上增加了一个对于第二功能为输入信号的引脚,在口线的输入通路上增加了一个缓冲器,输入的信号就从这个缓冲器的输出端取得。而作为通用的缓冲器,输入的信号就从这个缓冲器的输出端取得。而作为通用的i/oi/o口线使用的数据输入,仍然取自三态缓冲器的输出端。总之,不口线使用的数据输入,仍然取自三态缓冲器的输出端。总之,不管是作为输入口还是第二功能信号输入,输出电路中的锁存器输出和管是作为输入口还是第二功能信号输入,输出电路中的锁存器输出和“第二功能输出信号第二功能输出信号”线都应保持高电平。线都应

45、保持高电平。2.2.4 p3口结构2.3 mcs-51单片机的引脚及功能 mcs-51系列单片机中,各类单片机都是相互兼容的,只是引脚功能略有差异。8051单片机有40个引脚,分为端口线、电源线和控制线三类。 gnd:接地引脚。接地引脚。 vcc:正电源引脚。接正电源引脚。接5v5v电源。电源。1电源线2.3.1 引脚信号功能介绍2、外接晶振或外部时钟信号输入端 ()内部振荡器方式 (b)外部振荡器方式按不同工艺制造的单片机芯片外接振荡器时的接法芯片类型芯片类型接接 法法xtal1xtal2chmos接外部振荡器脉冲输入端接外部振荡器脉冲输入端(带上拉电阻带上拉电阻)悬浮悬浮hmos接地接地接

46、外部振荡器脉冲输入端接外部振荡器脉冲输入端(带带上拉电阻上拉电阻)2.3.1 引脚信号功能介绍3 控制线 ()上电复位 (b)电平开关复位(1)rst/vpd rst/vpd引脚是复位信号/备用电源线引脚。当8051通电时,在rst引脚上出现24个时钟周期以上的高电平,系统即初始复位。 2.3.1 引脚信号功能介绍(2 2)ale/progale/prog 地址锁存允许/编程引脚。当访问外部程序存储器时,ale的输出用于锁存地址的低位字节,以便p0口实现地址/数据复用。当不访问外部程序存储器时,ale端将输出一个1/6时钟频率的正脉冲信号。 ale/是复用引脚,其第二功能是对eprom型芯片(

47、如8751)进行编程和校验时,此引脚传送52ms宽的负脉冲选通信号,程序计数器pc的16位地址数据将出现在p0和p2口上,外部程序存储器则把指令码放到p0口上,由cpu读入并执行。(3 3)ea/vppea/vpp 允许访问片外程序存储器/编程电源引脚。对于片内无程序存储器的mcs-51单片机(如8031),必须接地。片内有程序存储器的mcs-51单片机(如8051), 必须接高电平。 /vpp是复用引脚,其第二功能是片内eprom编程/校验时的电源线,在编程时,vpp脚需加上21v的编程电压。2.3.1 引脚信号功能介绍4、端口线psen 片外rom选通线。在执行访问片外rom的指令movc

48、时,8051自动在引脚产生一个负脉冲,用于对片外rom的选通。其他情况下,该引脚均为高电平封锁状态。 p0p3口:48=32条2.3.1 引脚信号功能介绍2.3.2 引脚信号第二功能2.4 时钟电路及工作方式 时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在惟一的时钟信号控制下严格地按时序进行工作。而时序所研究的则是指令执行中各信号之间的相互时间关系。2.4.1 2.4.1 时钟电路时钟电路 在介绍单片机引脚时,我们已经叙述过有关振荡器的概念。振荡电路产生的振荡脉冲,并不是时钟脉冲。这二者既有联系又有区别。在由多片单片机组成

49、的系统中,为了各单片机之间时钟信号的同步,还引入公用外部脉冲信号作为各单片机的振荡脉冲。 1. 时钟信号的产生 xtl1(19脚)是接外部晶体管的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。输出端为引脚xtl2,在芯片的外部通过这两个引脚接晶体震荡器和微调电容,形成反馈电路,构成一个稳定的自激振荡器。如图所示。 p1 p2 2 q q 状 态时 钟 3 6 机 器周 期 ale 振荡器 xtal2 xtal1 c1 c2 2.4.1 2.4.1 时钟电路时钟电路 我们可以用示波器测出xtal2上的波形。电路中的c1和c2一般取30pf左右,而晶体振荡器的频率

50、范围通常是1.212mhz,晶体振荡器的频率越高,振荡频率就越高。 振荡电路产生的振荡脉冲并不是时钟信号,而是经过二分频后才作为系统的时钟信号。如图2.10所示。在二分频的基础上再三分频产生ale信号(这就是前面介绍ale时所说的“ale是以晶振1/6的固定频率输出的正脉冲”)在二分频的基础上再六分频得到机器周期信号。2.4.1 2.4.1 时钟电路时钟电路 2.4.1 2.4.1 时钟电路时钟电路 在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入惟一的公用外部脉冲信号作为各单片机的振荡脉冲。这时外部的脉冲信号是经xtal2引脚注入如图2.11所示。对于80c51单片机,情

51、况有所不同。外引脉冲信号需从xtal1引脚注入而xtal2引脚应悬浮。 外 部 振 荡 信 号 v cc x t a l1 m c s-51 单 片 机 x t a l2 t t l 10k 2. 引入外部脉冲信号2.4.2 时序定时单位 n 单片机执行指令是在时序电路的控制下一单片机执行指令是在时序电路的控制下一步一步进行的,人们通常以时序图的形式来步一步进行的,人们通常以时序图的形式来表明相关信号的波形及出现的先后次序。为表明相关信号的波形及出现的先后次序。为了说明信号的时间关系,需要定义定时单位。了说明信号的时间关系,需要定义定时单位。mcs-51时序的定时单位共有时序的定时单位共有4个

52、,从小到大个,从小到大依次是:拍节、状态、机器周期和指令周期。依次是:拍节、状态、机器周期和指令周期。下面分别加以说明。下面分别加以说明。 把振荡脉冲的周期定义为拍节(用“p”表示)。振荡脉冲经过二分频后,就是单片机的时钟信号,把时钟信号的周期定义为状态(用“s”表示)。这样一个状态就包含二个拍节,其前半个周期对应的拍节叫拍节1(p1),后半个周期对应的拍节叫拍节2(p2)。1、拍节与状态 mcs-51采用同步控制方式,因此它有固定的机器周期。规定一个机器周期的宽度为6个状态,并依次表示为s1s6。由于一个状态又包括二个拍节,因此一个机器周期总共有12个拍节,分别记作s1p1,s1p2,s6p

53、2。由于一个机器周期共有12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。当振荡脉冲频率为12mhz时,一个机器周期为1s,当振荡脉冲频率为6mhz时,一个机器周期为2s。 指令周期是最大的时序定时单位。执行一条指令所需要的时间称为指令周期。指令周期以机器周期的数目来表示,mcs-51的指令周期根据指令不同,可包含有14个机器周期。图2.12表明了各种周期的相互关系。2. 机器周期 3. 指令周期2.4.2 时序定时单位 2.4.2 时序定时单位 2.4.3 mcs-512.4.3 mcs-51指令时序指令时序 mcs-51共有111条指令,全部指令按其长度可分为单字节指令、双字节指令和

54、三字节指令。执行这些指令所需要的机器周期数目是不同的,概括起来共有以下几种情况:单字节指令单机器周期和单字节指令双机器周期;双字节指令单机器周期和双字节指令双机器周期;三字节指令都是双机器周期;单字节的乘除指令为四机器周期。 图2.13所表示的是几种典型单机器周期和双机器周期指令的时序。图中的le信号是为地址锁存而定义的,该信号每有效一次对应单片机进行一次读指令操作。le信号以振荡脉冲1/6的频率出现,因此在一个机器周期中,le信号二次有效,第一次在s1p2和s2p1期间,第二次在s4p2和s5p1期间,有效宽度为一个状态。 现对几种典型单机器周期和双机器周期指令的时序作如下说明:现对几种典型

55、单机器周期和双机器周期指令的时序作如下说明: 字节单周期指令(例如inc ):由于是单字节指令,因此只需进行一次读指令操作。当第二个le有效时,由于pc没有加1,所以读出的还是原指令,属于一次无效的操作。 双字节单周期指令(例如dd ,#dt):这种情况下对应于le的二次读操作都是有效的,第一次是读指令操作码,第二次是读指令第二字节(本例中是立即数)。 单字节双周期指令(例如inc dptr):两个机器周期共进行4次读指令操作,但后3次的读操作全是无效的。2.4.3 mcs-512.4.3 mcs-51指令时序指令时序 单字节双周期指令单字节双周期指令(movxmovx类指令):如前述每个机器周期内有二次类指令):如前述每个机器周期内有二次读指令操作,但读指令操作,但movxmovx类指令情况有所不同。因为执行这类指令时,类指令情况有所不同。因为执行这类指令时,先在先在romrom读取指令,然后对外部读取指令,然后对外部ramram进行读进行读/ /写操作。第一机器周期时,写操作。第一机器周期时,与其他指令一样,第一次读指令(操作码)有效,第二次读指令操与其他指令一样,第一次读指令(操作码)有效,第二次读指令操作无效。第二机器周期时,进行外部作无效。第二机器周期时,进行外部ramram访问,此时与访问,此时与aleale无关,因无关,因此不产生读指令操作。此不产生读指令

温馨提示

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

评论

0/150

提交评论