单片微型计算机原理及其应用电子教案课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片微型计算机原理及其应用电子教案课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片 微型计算机 原理 及其 应用 电子 教案 课件
- 资源描述:
-
1、 第一章 单片微型计算机概述v本章主要介绍单片机的发展,基本的结构和特点,单片机的应用模式和领域,单片机的供应状态等。v单片微型计算机就是将CPU、RAM、ROM、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此,一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。 11 单片机的发展概况单片机的发展概况v综上所述,我们可以把单片机的发展历史划分为四阶段:v第一阶段(19761978年):低性能单片机的探索阶段。以Intel公司的MCS-48为代表,采用了单片结构,即在一块芯片内含有8位CPU、定时/计数器、并行I/O口、R
2、AM和ROM等。主要用于工业领域。v第二阶段(19781982年):高性能单片机阶段,这一类单片机带有串行I/O口,8位数据线、16位地址线可以寻址的范围达到64K字节、控制总线、较丰富的指令系统等。这类单片机的应用范围较广,并在不断的改进和发展。v第三阶段(19821990年):16位单片机阶段。16位单片机除CPU为16位外,片内RAM和ROM容量进一步增大,实时处理能力更强,体现了微控制器的特征。例如Intel公司的MCS-96主振频率为12M,片内RAM为232字节,ROM为8K字节,中断处理能力为8级,片内带有10位A/D转换器和高速输入/输出部件等。v第四阶段(1990年):微控制
3、器的全面发展阶段,各公司的产品在尽量兼容的同时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。 12 单片机的结构特点单片机的结构特点v(1)片内的RAM采用寄存器结构形式,这样可以提高存取的速度;v(2)在存储器结构上,严格的将程序存储器ROM和数据存储器RAM在空间上分开;v(3)它的引出管脚一般都设计成多功能的;v(4)增加了一个全双工的串行接口,以扩充I/O口和外接同步输入和输出设备;v(5)有21个特殊功能寄存器;v (6) 有丰富的指令系统,内部设置了可以位寻址的位地址空间。 13 单片机的主要品种及系单片机的主要品种及系列列v一、 4位单片机v二、 8位单片机表格 1 1
4、MCS-51系列型号型 号制造技术片内程序存储器片内数据存储器8051AHH MOSROM (4k)128字节8031AHAH MOS无128字节8751HH MOSEPROM(4K)128字节80C51CHMOSROM (4K)128字节80C31CHMOS无128字节8051H MOSROM (8K)256字节8031H MOS无256字节 14 单片机的应用单片机的应用v一、 单片机在仪器仪表中的应用v二、 单片机在机电一体化中的应用v三、 单片机在智能接口和多机系统中的应用v四、 单片机在生活中的应用 第 二 章 MCS-51单片机的结构和原理v本章主要介绍MCS-51系列的8051的
5、基本结构、工作原理、存储器结构、P0、P1、P2、P3四个I/O口的基本工作原理和操作特点。单片机的各种工作方式、单片机的时序等。 21 MCS-51单片机的结构原理 v一、 8051单片机的结构内部总线时钟电路CPUINT0T1T0并行接口串行接口P0 P1 P2 P3TXD RXD中断系统ROMRAM定时/计数器INT1图 2 1 MCS-51单片机的基本结构二、 8051单片机的内部结构和工作原理v8051单片机的内部结构框图如图 2 2 所示,下面分别进行介绍: 图 2 2 8051的内部结构框图FFFFH1000H外部ROM0FFFH0000H内部ROMEA = 1外部ROMEA =
6、 0工作寄存器03组位寻址区RAMSFR00H20H30H80HFFH外部RAM0000HFFFFH图 2 3 8051存储器组织结构字节地址位 地 址 2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20HD7D6D5D4D3D2D1D07FH7EH7DH7CH7BH7AH79H78H77H76H75H74H73H72H71H70H6FH6EH6DH6CH6BH6AH69H68H67H66H65H64H63H62H61H60H5FH5EH5DH5CH5BH5AH59H58H57H56H55H54H53H52H51H50H4FH4EH4DH4CH4BH
7、4AH49H48H47H46H45H44H43H42H41H40H3FH3EH3DH3CH3BH3AH39H38H37H36H35H34H33H32H31H30H2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H1FH1EH1DH1CH1BH1AH19H18H17H16H15H14H13H12H11H10H0FH0EH0DH0CH0BH0AH09H08H07H06H05H04H03H02H01H00H图 2 4 8051内部RAM位地址区符号单元地址名称位地址符号地址* ACCE0H累加器ACC.7ACC.0E7HE0H* BF0H乘法寄存器B.7
8、B.0F7HF0H* PSWD0H程序状态字PSW.7PSW.0D7HD0H SP81H堆栈指针 DPL82H数据存储器指针(低8位) DPH83H数据存储器指针(高8位) * IEA8H中断允许控制器IE.7IE.0AFHA8H* IPB8H中断优先控制器IP.7IP.0BFHB8H* P080H通道0P0.7P0.087H80H* P190H通道1P1.7P1.097H90H* P2A0H通道2P2.7P2.0A7HA0H* P3B0H通道3P3.7P3.0B7HB0H PCON87H电源控制及波特率选择 * SCON98H串行口控制SCON.7SCON.09FH98H SBUF99H串行
9、数据缓冲器 * TCON88H定时控制TCON.7TCON.08FH88H TMOD89H定时器方式选择 TL08AH定时器0低8位 TL18BH定时器1低8位 TH08CH定时器0高8位 TH18DH定时器1高8位 P0.n锁存器P0.nQQD读锁存器写锁存器内部总线读引脚T1T2VCCMUX地址/数据控制图 2 5 P0口的位结构(1) P0口位的结构(2) P1口位的结构P1.n锁存器P1.nQQD读锁存器写锁存器内部总线读引脚内部上拉电阻TVCC图 2 6 P1口的位结构图 2 6 P1口的位结构图 2 6 P1口的位结构图 2 6 P1口的位结构图 2 6 P1口的位结构(3) P2
10、口的位结构P2.n锁存器P2.nQQD读锁存器写锁存器内部总线读引脚TVCC地址控制内部上拉电阻MUX图 2 7 P2口的结构图(4) P3口的位结构P3.n锁存器P3.nQQD读锁存器写锁存器内部总线读引脚TVCC第二输入功能第二输出功能内部上拉电阻图 2 8 P3口的结构图(4) P3口的位结构 P3.n锁存器P3.nQQD读锁存器写锁存器内部总线读引脚TVCC第二输入功能第二输出功能内部上拉电阻图 2 8 P3口的结构图表格 2 3 P3口的第二功能表I/O口第二功能注 释P3.0RXD串行口数据接收端P3.1TXD串行口数据发送端P3.2INT()0外部中断请求0P3.3INT()1外
11、部中断请求1P3.4T0定时/计数器0P3.5T1定时/计数器1P3.6WR()外部RAM写信号P3.7RD()外部RAM读信号 一、 时钟周期、机器周期和指令周期 S机器周期1取指令、译码指令周期机器周期2取操作数、执行图 2-9 基本定时时序关系22 MCS-51单片机的时序单片机的时序1时钟周期 ALE时钟S1S4S6S5S3S2读操作码读操作码(无效)(a) 1字节1周期指令读下一指令S1S4S6S5S3S2读操作码读第二字节(b) 2字节1周期指令读下一指令S1S4S6S5S3S2读操作码读操作码(无效)(c) 1字节2周期指令读下一指令S1S4S6S5S3S2图 2 10 MCS-
12、51的取指/执行时序 2机器周期3指令周期 二、 MCS-51单片机指令的取指和执行的时序三、 访问外部ROM和RAM的时序 ALE时钟S1S4S6S5S3S2PSENA15 A8A15 A8P2P0A7A0A7A0指令指令图 2 11 访问外部ROM的时序1访问外部ROM的时序 2访问外部RAM的时序 ALES1S4S6S5S3S2PSENPCH 输出P2P0PCL输出地址输出指令输入数据输入S1S4S6S5S3S2RDPCH 输出PCH 输出DPH 输出或 P2 输出PCL输出指令输入图 2 12 访问外部RAM的时序 23 MCS-51单片机的时钟和复位电路 一、 时钟电路 TTL(a)
13、 内部振荡器方式XTAL1R外部振荡器XTAL2VCCXTAL2XTAL1VSS(b) 8051外时钟源接法8051NC外部振荡器XTAL1XTAL2VSS(c) 80C51外时钟源接法80C51C1C2图 2 13 MCS-51时钟接法 1内部振荡器方式 2外部时钟方式 二、 复位电路及复位状态 1内部复位电路 D1D2RST/VPDVCCVSSRAM斯密特触发器复位电路图 2 14 8051复位电路结构 2外部复位电路 VCC8051VCCRST/VPDVSSR1kC22FVCC8051VCCRST/VPDVSSR11kC122FR21kC2 22FRESET(a) 上电复位(b) 按键脉
14、冲复位VCC8051VCCRST/VPDVSSR1 200C22FR21kRESET(c) 按键电平复位图 2 15 复位电路3复位状态专用寄存器复位值PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0P3FFHIPXXX00000BIE0XX00000BTMOD00HTCON00HTH000HTL000HTH100HTL100HSCON00HSBUF不定PCON(CHMOS)0XXX0000B24 MCS-51单片机的低功耗工作方式 一、 电源控制寄存器PCON PCOND7D6D5D4D3D2D1D0SMODGF1GF0FDIDL三、 掉电方式 二、 等待工作方
15、式 第三章 MSC-51 单片机的指令系统 31 指令系统概述指令系统概述一、 机器码指令与汇编语言指令机器码指令:机器码指令: 汇编语言指令:汇编语言指令: 二、 指令格式 汇编语言格式为:标号: 操作码助记符 目的操作数, 源操作数 ;注释 单字节指令 双字节指令 三字节指令操作码 24H操作数 22HINC A ADD A,#22H MOV 5EH,4FH操作码 04H操作码 85H源操作数 4FH目的操作数 5EH 图 3-1 机器码指令格式 32 寻址方式 一、 寄存器寻址二、 直接寻址三、 立即寻址四、 寄存器间接寻址 五、 变址寻址 六、 相对寻址 七、 位寻址 33 MSC-5
16、1单片机的指令系统单片机的指令系统按照指令的功能,可以把MSC-51的111条指令分成五类:l 数据传送类指令(数据传送类指令(29条)条)l 算术运算类指令(算术运算类指令(24条)条)l 逻辑操作类指令(逻辑操作类指令(24条)条)l 控制转移类指令(控制转移类指令(17条)条)l 位操作类指令位操作类指令 (17条)条) 80H下一条指令ALU54Hrel=54H2000H2001H2002H2056H操作码PC当前值2002H修正后转移目标地址(PC)=2056H图 3-2 相对寻址过程 第四章 MCS-51单片机的应用程序设计 过程A过程B是否入口出口条件满足?P2入口出口P1P3过
17、程是否入口出口条件满足?(a) 顺序结构(b) 分支结构(c) 循环结构图 4-1 基本程序结构 4 41 1 运算程序运算程序一、 多字节数加法1多字节无符号数加法CLR CMOV R0,#40H ;指向加数最低位MOV R1,#5OH ;指向另一加数最低位MOV R2,#04H ;字节数作计数初值LOOP1:MOV A,R0 ;取被加数ADDC A,R1 ;两数相加,带进位MOV R0,AINC R0 ;修改地址INC R1DJNZ R2,LOOPl ;未加完转LOOP1JNC LOOP2 ;无进位转LOOP2MOV R0,#01HLOOP2:DEC R0RET2多字节有符号数加法 MOV
18、 A,R0 ;复制保存地址指针MOV R2,AMOV A,RMOV R7,ACLR CLOOP1:MOV A,R0ADDC A,R1 ;相加 MOV R0 ,AINC R0INC R1 ;地址指针加1DJNZ R7,LOOP1JB OV,ERR ;若溢出,转溢出处理DEC R0MOV A,R0JNB E7H,LOOP2SETB 07H ;和值为负,置位标志LOOP2:MOV A,R2 ;恢复地址指针MOV R0,ARETERR: ;溢出处理RET正负标志清零YN加完?开始复制保存地址指针清C正负标志置位溢出处理指针加1作加法,存和数正?溢出?YN恢复地址指针返回 SDADD:CLR 07H ;
19、标志位清零图 4-3 多字节有符号数加法程序流程图二、 多字节数减法 MOV R0,#40H ;指向被减数最低位MOV R1,#5OH ;指向减数最低位MOV R2,#04H ;字节数CLR CLOOP1:MOV A,R0SUBB A,R1 ;完成一个字节的减法运算MOV R0,AINC R0INC R1DJNZ R2,LOOP1RET三、 多字节十进制数(BCD码)加法 清标志位YN加完?开始最高字节置1取被加数有进位?YN恢复地址指针返回指针加1求和调整图 4-4 BCD码多字节加法程序流程图BCDADD:MOV 20H,R0 MOV 23H,R CLR C LOOP0: MOV A,R0
20、 ;取被加数 ADDC A,R1 ;两数相加 DA A ;十进制调整 MOV R0,A INC R0 ;指针加1 INC R1 DJNZ R,LOOP0 ;作完加法否 MOV R2. #23H JNC RETURN ;有无进位 MOV R0,#01H INC RRETURN:MOV R0,#20H RET四、 多字节数乘法ZHENFA: MOV A,R0 MOV B,R1 MUL AB ;(R1)*(R0) MOV R,A ;积的低位送到R MOV R4,B ;积的高位送到R4 MOV A,R0 MOV B,R2 MUL AB ;(R2)*(R0) ADD A,R4 ;(R1)*(R0)的高位
21、加(R2)*(R0)的低位 MOV R4,A ;结果送R4,进位在CY中 MOV A,B ADDC A,#OOH;(R2)*(R0)的高位加低位来的进位 MOV R,A ;结果送R RET五、 多字节数除法DV: MOV R7,#08H ;设计数初值DVl: CLR C MOV A,R RLC A MOV R,A MOV A,R6 RLC A ;将(R6)、(R)左移一位 MOV 07H,C ;将移出的一位送07H位保存 CLR C 图 4-5 除法程序流程图 SUBB A,R2 ;余数(高位)减除数 JB O7H,GOU ;若标志位为1,说明够减 除法次数R7YN标志位=1?开始清进位,(R
22、6)(R5)左移一位进位位=0?YN恢复余数返回余数高位 - 除数移出的位标志位商上1保存余数(R7)-1=0?YN JNC GOU ;无借位也说明够减 ADD A,R2 ;否则,恢复余数 AJMP DV2 GOU:INC R ;商上1 DV2:MOV R6,A ;保存余数(高位) DJNZ R7,DVl RET一、 数据的拼拆4 42 2 数据的拼拆和转换数据的拼拆和转换例4-7 设在30H和31H单元中各有一个8位数据:(30H)=x7x6xx4xx2x1x0(3lH)=y7y6yy4yy2y1y0现在要从30H单元中取出低5位,并从31H单元中取出低3位完成拼装,拼装结果送40H单元保存
23、,并且规定:(40H)=y2y1y0 x4xx2x1x0解:利用逻辑指令ANL、ORL来完成数据的拼拆,程序清单如下:MOV 4OH,3OH ;将x7x0传送到40H单元ANL 4OH,#000111llB ;将高3位屏蔽掉MOV A,31H ;将y7y0传送到累加器中SWAP A ;将A的内容左移4次RL A ;y2y0移到高3位ANL A,#111000OOB ;将低5位屏蔽掉ORL 4OH,A ;完成拼装任务二、 数据的转换 1ASCII码与二进制数的互相转换 例4-10 编程实现十六进制数表示的ASC1I代码转换成4位二进制数(1位十六进制数)。解:对于这种转换,只要注意到下述关系便不
24、难编写出转换程序:“字符0”“字符9”的ASCII码值为“30H”“39H”,它们与30H之差恰好为“00H”“09H”,结果均0AH。“字符A”“字符F”的ASCII码值为“41H”“46H”,它们各自减去37H后恰好为“0AH”“0FH”,结果0AH。根据这个关系可以编出转换程序如下,程序以R1作为入口和出口。ASCHIN:MOV A,R1 ;取操作数CLR C ;清进位标志位CSUBB A,#30H ;ASCII码减去30H,实现0-9的转换MOV R1,A ;暂存结果SUBB A,#0AH ;结果是否9?JC LOOP ;若9则转换正确XCH A,R1SUBB A,#07H ;若9则减
25、37HMOV R1,ALOOP: RET2BCD码与二进制数的转换 取高字节BCD数开始调用子程序返回结果100保存结果两结果相加取低字节BCD数调用子程序高位BCD数开始乘以10返回保存结果加低位BCD数图 4-6 BCD码(十进制)转换成二进制数程序流程图程序清单如下:MAIN:MOV A,R MOV R2,A ;给子程序入口参数 ACALL BCDBIN ;调用子程序 MOV B,#64H MUL AB MOV R6,A XCH A,B MOV R,A MOV A,R4 MOV R2,A ACALL BCDBIN ;调用子程序 ADD A,R6 MOV R4,A MOV A,R ADDC
展开阅读全文