片机的基本结构及工作原理

上传人:xiao****017 文档编号:16341721 上传时间:2020-09-26 格式:PPT 页数:70 大小:4.67MB
返回 下载 相关 举报
片机的基本结构及工作原理_第1页
第1页 / 共70页
片机的基本结构及工作原理_第2页
第2页 / 共70页
片机的基本结构及工作原理_第3页
第3页 / 共70页
点击查看更多>>
资源描述
嵌入式c语言, 嵌入式开发入门,参考资料,1, 单片机原理及其接口技术(第2版) -胡汉才 清华大学出版社(42元) 2,AT89系列单片机原理与接口技术 - 王幸之 等 北京航空航天大学出版社(48元) 3,8051/96系列单片机原理及应用 -孙涵芳 徐爱卿 北京航空航天大学出版社(35元) 4,电子世界 -中国电子学会主办(期刊 6.00元/期),本课主要内容及课时安排,理论课学时24学时 第1章 单片机基础知识 (4学时) 第3章 Cx51数据与运算 第5章 Cx51构造数据类型中指针 (4学时) 第6章 C51函数 第8章 8051内部资源的编程 (6学时) 第7,9章 (4学时) 第11,13章 (6学时),如何学习本门课程,深刻掌握单片机的硬件结构 (RAM、定时器、并行和串行口中断系统,以及特殊功能寄存器SFR)。坚持课后复习 要有C和汇编语言基础 熟练掌握指令系统。这也是运用C51编程的重要基础。 掌握单片机与外围电路的接口。单片机应用的高级阶段。 要有一本好的参考书。,计算机技术与单片机,单片机的诞生标志着微型计算机的发展已经形成了:通用计算机系统和嵌入式计算机系统两大分支。 作为嵌入式控制器,单片机的设计理念是:微型化、低成本、低功耗及具有很好的性价比。是通用计算机所无法取代的。 广泛地应用于家用电器、汽车电子、机器人、工业控制及仪表设计、办公自动化等重要的场合。 对于一个当代工程师,对单片机的掌握程度已经成为直接影响其事业发展的重要因素。,微型计算机的应用形态 从应用形态上,微机可以分成三种:,多板机(系统机) 将CPU、存储器、I/O接口电路和总线接口等组装在一块主机板(即微机主板)。各种适配板卡插在主机板的扩展槽上并与电源、软/硬盘驱动器及光驱等装在同一机箱内,再配上系统软件,就构成了一台完整的微型计算机系统(简称系统机)。 工业PC机 也属于多板机。,单板机 将CPU芯片、存储器芯片、I/O接口芯片和简单的I/O设备(小键盘、LED显示器)等装配在一块印刷电路板上,再配上监控程序(固化在ROM中),就构成了一台单板微型计算机(简称单板机)。,单板机,单板机的I/O设备简单,软件资源少,使用不方便。早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。,单片机 在一块硅芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。 三种应用形态的比较 :,单板机,单片机,系统机(多板机),通用计算机与单片机在硬件结构上的比较,微型计算机 单片机,微型计算机的组成框图 (由多个IC芯片组装在一个主电路板上),8051单片机,所有单元都组装 在一个IC芯片上,数据RAM,CPU,并行I/O,程序ROM,定时/计数器,串行端口,中断控制器,扩展I/O端口,系统总线(DB、AB、CB),大而全,小而精,绪论结束,嵌入式计算机系统,人们在工业控制、家电产品、智能仪表、汽车电子等领域进行智能化设计时,将嵌入到被控制对象中的、已经失去了原有通用计算机形态及功能的专用计算机称之为“嵌入式计算机系统”。 在这些被控制对象中,往往要求嵌入式计算机系统要有极小的体积和极低的成本,要有极小的功耗和较高的可靠性,而这些又恰恰是通用计算机无法做到的。 以单片机为代表的嵌入式控制器能够极大地满足这种市场的需求。所以单片机又称微控制器(microcontroller)。,返回,第一章 单片机基础知识,1.1 8051单片机的特点,1.2 8051单片机内部结构,1.3 8051系统扩展,1.4 8051指令系统,1.1 8051单片机的特点,2. 在8051单片机中,包含有CPU、程序存储器ROM、数据存储器RAM、定时/计数器、并行I/O端口、串行口、中断系统等;,3. 由于在设计理念上的不同,单片机内部包含的模块从性能上一般要比通用机简单,这样使工程技术人员在使用、编程和设计上非常简单、方便,也利于降低单片机的制造成本;,1. 单片机具有计算机的基本特征,因此在其芯片内部包含着与通用计算机相同的基本部件和模块。由于其特殊性,在高档单片机中还包含了通用机所没有的一些特殊的电路模块(A/D、D/A、PWM等);,一、 8051单片机内部方框图,时钟电路,4KROM 程序存储器,256BRAM 数据存储器,2X16位 定时/计数器,CPU 处理器,64KB总线 扩展控制器,可编程I/O 端口P0-3,可编程 串行口,中断控制,(以8051单片机为例),二、8051系列芯片及制造工艺,返回,1.2 8051的内部结构,8051内部结构组成: CPU 存储器 并行口 串行口 定时器/计算器 中断,一、CPU,运算器 包括: ALU、寄存器ACC、B、TMP等 功能: 算术运算:+, 逻辑运算:与,或,非,等 控制器 包括:定时控制逻辑、寄存器IR、ID、PC、DPTR等 功能:Page 4,程序状态字PSW:8位寄存器,表征程序执行的状态信息。 CY(PSW.7)进位标志:在加减法运算中,累加器A的最高位D7有进位,则CY=1,否则CY=0.同理,在减法运算中,如果A7有借位,则CY=1。 AC(PSW.6):辅助进位位:用来判断加减法运算时,低四位是否向高四位进位或借位(即A3的进位或借位) F0(PSW.5) 用户标志位:完全由用户来定义和使用。 RS1,RS0工作寄存器区选择位:确定工作寄存器R0-R7在4个区中的位置。可以通过修改RS1,RS0的值来改变工作寄存器区的选择。,RAM分配图,OV(PSW.2)溢出标志位: 判断有符号数运算时是否有溢出。 OV=1表明有溢出。 P(PSW.0)奇偶标志位: 用来标志累加器A中运算后1的个数。 当P=1时,表明A中1的个数为奇数个,反之为偶数个。,【举例】:有两个数0FH和F8H,试将两数相加 MOV A,#0FH ;将立即数0FH 送累加器A ADD A,#0F8H ;A的内容与立即数0F8H相加,结果送A 0000 1111 运算结果:A=07H + 1111 1000 Cy1 0000 0111 如何根据PSW来分析运算结果是否有溢出?,CY=1,OV=0,AC=1 P=1,二、存储器,存储器组织: 哈佛结构 普林斯顿结构,1. 8051单片机的存储器的配置特点(哈佛结构),内部集成了4K的程序存储器ROM; 内部具有256B的数据存储器RAM; 可以外接64K的程序存储器和数据存储器。 从物理结构的角度讲,8051单片机的存储系统可以分为四个存储空间:即片内ROM,RAM和片外ROM、RAM。 从逻辑上讲(即用户编程的角度讲)8051单片机的存储系统又可分为三个存储空间。即片内RAM,片外RAM, 片内或外的程序存储器ROM。,从物理结构上单片机系统的存储器结构图(四个部分),8051 单片机,片内 ROM 4K (/EA=1),片内 RAM 256B,片外 RAM 64K,片外 ROM 64K (/EA=0 或片内 溢出),返回,返回上一次,000H,FFFH,0000H,FFFFH,0FFFH,1000H,(一) 程序存储器(片内与片外),1、程序存储器(ROM)是存放程序、常数和表格的。 2、在8051单片机中:,/EA=0时, 系统执行片外的程序,0FFFH 0000H,FFFFH 1000H,PCFFFH,程序存储器六个特殊的单元,在程序存储器中,有六个单元是专用的。通常不能随便使用。 0000H单元:上电复位时程序计数器PC指向的单元; 0003H单元:外部中断/INT0的入口地址; 000BH单元:定时器T0的溢出中断入口地址; 0013H单元:外部中断/INT1的入口地址; 001BH单元:定时器T1的溢出中断入口地址; 0023H单元:串行口接收、传送的中断入口地址。,返回,ROM图,1个复位地址+5个中断源入口地址,(二) 内部数据存储器RAM,数据存储器分为两个地址空间 1,访问内部数据存储单元时,使用 MOV 指令; 2,访问外部数据存储器时,使用 MOVX 指令。,存储结构图,1、访问片内AM20H单元 MOV A,20H 2、访问片外AM20H单元 MOV R0, #20H MOVX A,R0,片内RAM低 128B 字节功能分配图,位寻址区,3区,2区,1区,0区,便笺区,08H 07H 00H,7FH,30H 2FH,20H 1FH,18H 17H,10H 0FH,四个工作寄存器区 每个区中有R0-R7 八个工作寄存器,位寻址区 16个单元20H-2FH, 共有128 可寻址位个位。 位地址:00H-7FH 注意:位地址与字节地址的区别,通用的RAM区 地址:30H-7FH,继续,返回上一次,片内 RAM(20H-2FH)中的位寻址区结构图,2FH,20H,字节地址,返回上一次,位寻址区内的地址是位地址。共有00-7FH(共128个位); 要区分字节地址和位地址这两个不同的地址概念: MOV A, 20h ;将RAM的20单元内容送累加器A; MOV C ,20h ;将RAM位寻址区中20H位送CY中。,返回,0区工作寄存器区结构图,RAM地址 07H 06H 05H 04H 03H 02H 01H 00H,返回上一次,(三)特殊功能寄存器SFR (表一),SFR(表二),注:表中黄色的单元为可按位寻址的字节,特殊功能寄存器SFR说明,程序计数器PC: 用来存放下一条要执行的指令地址,长度为16位,所以寻址范围为0-65535(64K).在物理上是独立于SFR. 累加器A: 最常用的专用寄存器, 大多数的指令操作数都来自累加器A. 所有的算术运算指令的运算结果都存放在A中. B寄存器: 乘除法指令使用的寄存器. 数据指针DPTR: 一个16位的寄存器. 由高八位DPH和低八位DPL构成。DPTR主要用来存放RAM、ROM中数据块的首地址,所以称之为数据指针。 例如:片外RAM的2000H单元中有一个数x,试将其送到累加器A中. MOV DPTR, #2000h ; DPTR 2000H MOVX A, DPTR ; A x(间址方式),SP 堆栈指针:8位寄存器,用来指示堆栈的位置,可由软件修改。51单片机的设计中,片内RAM区低128单元为堆栈的可用空间。(复位时,SP被初始化为07H) 堆栈操作过程: 进栈: PUSH ACC指令(设SP=07H) 1,SP+1送SP,此时SP=08H; 2,ACC送RAM的08H单元; 出栈: POP ACC (设SP=08H); 1,将RAM 中08H单元内容送A; 2,SP-1送SP ,此时SP=07H。,“临时仓库”,通过修改SP的值来改变堆栈在RAM中的位置: MOV SP,#60H,08H 07H,RAM,改变堆栈位置示意图,61H 60H,7FH,60H,SP,注意:FILO( First In Last Out),例:比较下列两段程序: MOV SP,#60H MOV SP, #60H PUSH 30H PUSH 30H PUSH 40H PUSH 40H POP 40H POP 30H POP 30H POP 40H,并行端口P0-P3:80H、90H、A0H、B0H。 如: MOV 80H,A ;将累加器中的数据送到P0口输出 MOV A,90H ;将P1口的数据输入到累加器A中,定时/计数器T0、T1:无论是定时还是计数,对于8051单片机的定时/计数器来说,都是一个“计数器”在计数。这个“计数器”是由两个8位寄存器(高位和低位)构成的16位计数器,分别是TH0、TL0(T0);TH1、TL1(T1)。 TH和TL中的数据直接与“定时操作”或“计数操作”有关,因此在使用定时/计数器之前,要对它进行初始化,其中就要对TH、TL赋初值。 如: MOV 8CH,#01H ;为TH0赋值 MOV 8AH,#20H ;为TL0赋值,TH0,TL0,串行数据缓冲器SBUF:它是专门用来存放发送或接收的数据,实际上它是两个独立的寄存器。尽管在SFR中的RAM地址只是99H,但根据指令“发送”或“接收”两种不同的操作,有两个独立的缓存存在,硬件会自动的区分,将数据送如对应的缓冲单元。 MOV SBUF,A ;ASBUF (引发串口通信) MOV A,SBUF ;SBUF A (读取串口中的数据),返回,发送SBUF,接收SBUF,内 部 数 据 总 线,TXD,RXD,累加器A,有关SFR中其它寄存器的说明将相关的章节中作介绍,三、 8位并行输入输出端口,CPU,输入输出 端口,外部设备,内总线,输入/输出端口成为CPU与外部设备进行数据交换的桥梁,MCS-51,8051单片机的四个并行端口P0、P1、P2和P3都是具有输出锁存功能的双向端口,这些锁存器的位置都在SFR中,其地址分别为:80H、90H、A0H 、B0H。 出于系统的考虑,在硬件设计上因为对端口功能都有不同的要求,所以它们又具有不同的结构特点.,继续,MCS-51逻辑图,继续,MCS-51逻辑图,1. P0口,继续,MCS-51逻辑图,(1) 作为I/O端口,数据总线向引脚输出,控制信号:0 V1 V2,继续,MCS-51逻辑图,(2) 作为I/O端口,由引脚向内部数据总线输入 读引脚,继续,MCS-51逻辑图,(2) 作为I/O端口,由引脚向内部数据总线输入 读锁存器,继续,MCS-51逻辑图,(3)作为地址/数据复用口,继续,MCS-51逻辑图,控制”信号为“0”,V1管截止 CPU自动将0FFH写入P0口锁存器V2管截止,P0口特点小结:,【特点】:“通用数据I/O端口”和“地址、数据复用总线” 。 在作为通用数据I/O端口时,具有较强的输出驱动能力,外接一个上拉电阻,保证正确输出高电平。 作为“地址、数据复用总线”使用时,P0口首先输出外部存储器的低八位地址,然后再变为数据总线进行数据的输入或输出(注意:此时P0口不能再作为通用I/O口)。,特点:单纯的通用I/O端口。与P0口的区别在于内部具有上拉电阻,所以输出时不用外接上 拉电阻。,2 P1口,返回,返回前一次,3 P2口 特点:“通用数据I/O端口”和“高八位地址总线”,注意:使用外数据存储器时,P2口分两种情况: 1,使用256B的外部RAM时,此时用8位的寄存器R0或R1作间址寄存器,这时P2口无用,所以在这种情况下,P2口仍然可以做通用I/O端口。 如:movx a,r0 或 movx a,r1 2,如果访问外部ROM或使用大于256BRAM时,P2口必须作为外存储器的高八位地址总线。 如:movx a,dptr ;访问外部数据存储器 movc a,a+dptr ;访问外部程序存储器 这里使用了16位的寄存器DPTR,上一页,返回,4 P3口 特点:通用I/O端口、多用途端口,在多用途情况下,P3口分别作为串行口、外中断输入、外部计数输入和系统扩展时使用的WR和RD信号的端口。在这种情况下,锁存器Q端为“1”电平以保证与门是打开的。 通常情况下,P3口不做通用I/O口,以充分利用单片机的第二功能。,P3.0 P3.7 P3端口线 (10 17脚): 通用I/O端口; 具有第二功能。,P3口第二功能表,引脚图,返回,四 振荡器、时钟电路和CPU的时序,1 振荡器、与时钟电路,2 8051单片机的基本时序周期,继续,内部时钟发生器的输出信号是单片机所需的时钟信号,1 振荡器与时钟电路,使用外部振荡器信号,其外来的信号加在XTAL1的引脚上(见右图).,2 8051的基本时序,时序:CPU执行指令时所需控制信号的时间顺序。 时序图中时间参数的描述: 振荡周期 时钟周期; 机器周期; 指令周期。,返回,振荡周期 T :振荡源的周期,由外接晶体或外输入时钟来决定。其值为石英振荡器频率的倒数。 时钟周期 :振荡周期的2倍,时序中最小的时间单位。 例如:在单片机外接1MHz的晶体,则单片机的系统时钟的频率为1M, 时钟周期为21s.,T,机器周期:完成特定功能所需要的时间。 8051单片机中的机器周期由6个时钟周期构成, 分6个状态(S1-S6),每个状态又分为P1和P2两拍. 即: S1P1,S1P2,S2P1,S2P2,S3P1,S3P2 S6P1,S6P2,T,S2,S6,S5,S4,S3,机器周期,P1,S1,P2,指令周期:即执行一条指令所需要的时间, 它是时序图中最大的时间单位。 在8051系统中,不同的指令它所包含的机器周期数不同. 它们分别是: 1,单机器周期指令; 2,双机器周期指令; 3,四机器周期指令。,假设:我们使用一个6M的晶体振荡器,那么 一个机器周期为:1/6s121=2s; 两个机器周期为:1/6s122=4s; 四个机器周期为:/6s124=8s。 指令的运算速度与它所包含的机器周期数有关:机器周期数越少,执行的速度就越快。 (8051单片机的指令系统除了乘、除法指令为四个机器周期外,其余都是单周期和双周期指令),8051单片机外型图(DIP封装) 8051单片机的逻辑符号图,VCC RST XTAL1 P0口 XTAL2 /EA /PSEN ALE P1口 P3口 RXD TXD /INT0 /INT1 P2口 T0 T1 /WR /RD GND,87C51 EPROM型,AT89C51 ATMEL FLASH型,返回上一次,五 8051单片机的引脚定义(Page11),电源及控制,P3口,P1口,P0口,P2口,六、单片机工作方式(page12),复位方式 程序执行方式 单步执行方式 低功耗操作方式,1.4 8051指令系统,第一章 重点内容小结,8051基本组成 8051单片机的存储器的配置 片内4K的程序存储器ROM; 片内256B的数据存储器RAM; 片外可以扩展64K的ROM和RAM.,程序存储器 当引脚EA=1时, 从片内ROM的0000H单元运行程序; 若引脚EA=0时, 从片外ROM的0000H单元运行程序。 当引脚EA=1,且PC值大于0FFFH时, 自动转到片外1000H单元运行程序。 无论是片内还是片外, ROM有六个单元是有特定意义的: 0000H单元:上电,复位后的启动地址; 0003H单元:外部中断INT0的入口地址; 000BH单元:定时器T0的中断入口地址; 0013H单元:外部中断INT1的入口地址; 001BH单元:定时器T1的中断入口地址; 0023H单元:串行口中断的入口地址。,2 内部数据存储器RAM 低128B: 工作寄存器区;位寻址区;便笺区; 高128B: 做特殊功能寄存器SFR用。 注意: (1)SFR不同于一般的数据RAM,它不是用于存储数据,而是用来控制和表 征单片机内部几个逻辑部件的特征,状态等重要信息。 (2)在使用RAM时,要注意字节地址和位地址的概念. (3)访问内部RAM的指令为 MOV 指令. 3 外部数据存储器 (1)8051单片机可以使用64KB的外部数据存储器. 访问时只能使用间址的寻址方式。 (2) 间址寄存器有R0,R1或DPTR. 寻址范围为256KB(00H-FFH)或64KB(0000H-FFFFH). 使用的指令是 MOVX.,作业(一),RAM存储器的作用是什么? ROM存储器的作用是什么? 3. 51单片机是如何确定使用内部ROM还是使用外部ROM? 4. 使用ROM时,如何注意几个特殊单元? 5. 51单片机如何从外部存储器中读取数据,与内部RAM存储器的数据读取有何区别? 6. 寄存器R0R7在RAM中的地址? 7. 8051和片外RAM/ROM连接时,P0口和P2口分别传送什么信号?为什么P0口需要采用片外地址锁存器?,返回第1章主菜单,作业(二):,单片机时序中的时钟周期由什么因素确定? 指令执行的快、慢与什么有关? MOVX A,R0 与MOVX A,DPTR在端口使用上有何区别? 写出P0、P1、P2和P3口在SFR中的地址。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!