首页 单片微型计算机原理及其应用电子教案

单片微型计算机原理及其应用电子教案

举报
开通vip

单片微型计算机原理及其应用电子教案null《单片微型计算机原理 及其应用》电子教案《单片微型计算机原理 及其应用》电子教案 赵秀珍 王乃钊 制作 中国水利水电出版社 2001 . 8 第一章  单片微型计算机概述 第一章  单片微型计...

单片微型计算机原理及其应用电子教案
null《单片微型计算机原理 及其应用》电子 教案 中职数学基础模块教案 下载北师大版¥1.2次方程的根与系数的关系的教案关于坚持的教案初中数学教案下载电子教案下载 《单片微型计算机原理 及其应用》电子教案 赵秀珍 王乃钊 制作 中国水利水电出版社 2001 . 8 第一章  单片微型计算机概述 第一章  单片微型计算机概述本章主要介绍单片机的发展,基本的结构和特点,单片机的应用模式和领域,单片机的供应状态等。 单片微型计算机就是将CPU、RAM、ROM、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此,一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。 1.1 单片机的发展概况 1.1 单片机的发展概况综上所述,我们可以把单片机的发展历史划分为四阶段: 第一阶段(1976~1978年):低性能单片机的探索阶段。以Intel公司的MCS-48为代表,采用了单片结构,即在一块芯片内含有8位CPU、定时/计数器、并行I/O口、RAM和ROM等。主要用于工业领域。 第二阶段(1978~1982年):高性能单片机阶段,这一类单片机带有串行I/O口,8位数据线、16位地址线可以寻址的范围达到64K字节、控制总线、较丰富的指令系统等。这类单片机的应用范围较广,并在不断的改进和发展。 第三阶段(1982~1990年):16位单片机阶段。16位单片机除CPU为16位外,片内RAM和ROM容量进一步增大,实时处理能力更强,体现了微控制器的特征。例如Intel公司的MCS-96主振频率为12M,片内RAM为232字节,ROM为8K字节,中断处理能力为8级,片内带有10位A/D转换器和高速输入/输出部件等。 第四阶段(1990年~):微控制器的全面发展阶段,各公司的产品在尽量兼容的同时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。 1.2 单片机的结构特点 1.2 单片机的结构特点 (1)片内的RAM采用寄存器结构形式,这样可以提高存取的速度; (2)在存储器结构上,严格的将程序存储器ROM和数据存储器RAM在空间上分开; (3)它的引出管脚一般都 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 成多功能的; (4)增加了一个全双工的串行接口,以扩充I/O口和外接同步输入和输出设备; (5)有21个特殊功能寄存器; (6) 有丰富的指令系统,内部设置了可以位寻址的位地址空间。 1.3 单片机的主要品种及系列 1.3 单片机的主要品种及系列 一、 4位单片机 二、 8位单片机 null表格 1‑1 MCS-51系列型号 1.4 单片机的应用 1.4 单片机的应用 一、 单片机在仪器仪表中的应用 二、 单片机在机电一体化中的应用 三、 单片机在智能接口和多机系统中的应用 四、 单片机在生活中的应用 第 二 章 MCS-51单片机的结构和原理 第 二 章 MCS-51单片机的结构和原理本章主要介绍MCS-51系列的8051的基本结构、工作原理、存储器结构、P0、P1、P2、P3四个I/O口的基本工作原理和操作特点。单片机的各种工作方式、单片机的时序等。 2.1 MCS-51单片机的结构原理 2.1 MCS-51单片机的结构原理 一、 8051单片机的结构图 2‑1 MCS-51单片机的基本结构二、 8051单片机的内部结构和工作原理 二、 8051单片机的内部结构和工作原理 8051单片机的内部结构框图如图 2‑2 所示,下面分别进行介绍: null图 2‑2 8051的内部结构框图 null图 2‑3 8051存储器组织结构 null图 2‑4 8051内部RAM位地址区 图 2‑4 8051内部RAM位地址区 null表格 2‑2 特殊功能寄存器表 *:可位寻址的特殊功能寄存器 null图 2‑5 P0口的位结构 (1) P0口位的结构 null(2) P1口位的结构 图 2‑6 P1口的位结构 图 2‑6 P1口的位结构 图 2‑6 P1口的位结构 图 2‑6 P1口的位结构 图 2‑6 P1口的位结构 null(3) P2口的位结构 图 2‑7 P2口的结构图 null(4) P3口的位结构 图 2‑8 P3口的结构图 null(4) P3口的位结构 图 2‑8 P3口的结构图 null表格 2‑3 P3口的第二功能表   null一、 时钟周期、机器周期和指令周期 图 2-9 基本定时时序关系 2.2 MCS-51单片机的时序 null1.时钟周期 图 2‑10 MCS-51的取指/执行时序 2.机器周期null 3.指令周期 二、 MCS-51单片机指令的取指和执行的时序 三、 访问外部ROM和RAM的时序 图 2‑11 访问外部ROM的时序 null1.访问外部ROM的时序 2.访问外部RAM的时序 图 2‑12 访问外部RAM的时序 null2.3 MCS-51单片机的时钟和复位电路 一、 时钟电路 图 2‑13 MCS-51时钟接法 null1.内部振荡器方式 2.外部时钟方式 二、 复位电路及复位状态 1.内部复位电路 图 2‑14 8051复位电路结构 null2.外部复位电路 图 2‑15 复位电路 null3.复位状态   表格 2‑4 各专用寄存器的复位值 null2.4 MCS-51单片机的低功耗工作方式 一、 电源控制寄存器PCON   三、 掉电方式 二、 等待工作方式 null 第三章 MSC-51 单片机的指令系统 3.1 指令系统概述 一、 机器码指令与汇编语言指令 机器码指令: 汇编语言指令: 二、 指令格式 汇编语言格式为:[标号:] 操作码助记符 [目的操作数,] [源操作数] [;注释] null      单字节指令 双字节指令 三字节指令 INC A ADD A,#22H MOV 5EH,4FH     图 3-1 机器码指令格式  null3.2 寻址方式 一、 寄存器寻址 二、 直接寻址 三、 立即寻址 四、 寄存器间接寻址 五、 变址寻址 六、 相对寻址 七、 位寻址 null 3.3 MSC-51单片机的指令系统 按照指令的功能,可以把MSC-51的111条指令分成五类: l      数据传送类指令(29条) l       算术运算类指令(24条) l       逻辑操作类指令(24条) l       控制转移类指令(17条) l       位操作类指令 (17条) null图 3-2 相对寻址过程 null 第四章 MCS-51单片机的应用程序设计 图 4-1 基本程序结构 null4.1 运算程序 一、 多字节数加法 1.多字节无符号数加法 CLR C MOV R0,#40H ;指向加数最低位 MOV R1,#5OH ;指向另一加数最低位 MOV R2,#04H ;字节数作计数初值 LOOP1:MOV A,@R0 ;取被加数 ADDC A,@R1 ;两数相加,带进位 MOV @R0,A INC R0 ;修改地址 INC R1 DJNZ R2,LOOPl ;未加完转LOOP1 JNC LOOP2 ;无进位转LOOP2 MOV @R0,#01H LOOP2:DEC R0 RET null2.多字节有符号数加法 MOV A,R0 ;复制保存地址指针 MOV R2,A MOV A,R3 MOV R7,A CLR C LOOP1:MOV A,@R0 ADDC A,@R1 ;相加 MOV @R0 ,A INC R0 INC R1 ;地址指针加1 DJNZ R7,LOOP1 JB OV,ERR ;若溢出,转溢出处理 DEC R0 MOV A,@R0 JNB E7H,LOOP2 SETB 07H ;和值为负,置位标志 LOOP2:MOV A,R2 ;恢复地址指针 MOV R0,A RET ┇ ERR:┇ ;溢出处理 RET SDADD:CLR 07H ;标志位清零 图 4-3 多字节有符号数加法程序流程图 null二、 多字节数减法 MOV R0,#40H ;指向被减数最低位 MOV R1,#5OH ;指向减数最低位 MOV R2,#04H ;字节数 CLR C LOOP1:MOV A,@R0 SUBB A,@R1 ;完成一个字节的减法运算 MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP1 RET null三、 多字节十进制数(BCD码)加法 图 4-4 BCD码多字节加法程序流程图 BCDADD:MOV 20H,R0 MOV 23H,R3 CLR C LOOP0: MOV A,@R0 ;取被加数 ADDC A,@R1 ;两数相加 DA A ;十进制调整 MOV @R0,A INC R0 ;指针加1 INC R1 DJNZ R3,LOOP0 ;作完加法否 MOV R2. #23H JNC RETURN ;有无进位 MOV@ R0,#01H INC R3 RETURN:MOV R0,#20H RET null四、 多字节数乘法 ZHENFA: MOV A,R0 MOV B,R1 MUL AB ;(R1)*(R0) MOV R3,A ;积的低位送到R3 MOV R4,B ;积的高位送到R4 MOV A,R0 MOV B,R2 MUL AB ;(R2)*(R0) ADD A,R4 ;(R1)*(R0)的高位加(R2)*(R0)的低位 MOV R4,A ;结果送R4,进位在CY中 MOV A,B ADDC A,#OOH;(R2)*(R0)的高位加低位来的进位 MOV R5,A ;结果送R5 RET null五、 多字节数除法 DV: MOV R7,#08H ;设计数初值 DVl: CLR C MOV A,R5 RLC A MOV R5,A MOV A,R6 RLC A ;将(R6)、(R5)左移一位 MOV 07H,C ;将移出的一位送07H位保存 CLR C 图 4-5 除法程序流程图 SUBB A,R2 ;余数(高位)减除数 JB O7H,GOU ;若标志位为1,说明够减 JNC GOU ;无借位也说明够减 ADD A,R2 ;否则,恢复余数 AJMP DV2 GOU:INC R5 ;商上1 DV2:MOV R6,A ;保存余数(高位) DJNZ R7,DVl RET null一、 数据的拼拆4.2 数据的拼拆和转换 例4-7 设在30H和31H单元中各有一个8位数据: (30H)=x7x6x5x4x3x2x1x0 (3lH)=y7y6y5y4y3y2y1y0 现在要从30H单元中取出低5位,并从31H单元中取出低3位完成拼装, 拼装结果送40H单元保存,并且规定: (40H)=y2y1y0x4x3x2x1x0 解:利用逻辑指令ANL、ORL来完成数据的拼拆,程序清单如下: MOV 4OH,3OH ;将x7~x0传送到40H单元 ANL 4OH,#000111llB ;将高3位屏蔽掉 MOV A,31H ;将y7~y0传送到累加器中 SWAP A ;将A的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 左移4次 RL A ;y2~y0移到高3位 ANL A,#111000OOB ;将低5位屏蔽掉 ORL 4OH,A ;完成拼装任务 null二、 数据的转换 1.ASCII码与二进制数的互相转换 例4-10 编程实现十六进制数表示的ASC1I代码转换成4位二进制数(1位十六进制数)。 解:对于这种转换,只要注意到下述关系便不难编写出转换程序: “字符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 ;清进位标志位C SUBB A,#30H ;ASCII码减去30H,实现0-9的转换 MOV R1,A ;暂存结果 SUBB A,#0AH ;结果是否>9? JC LOOP ;若≤9则转换正确 XCH A,R1 SUBB A,#07H ;若>9则减37H MOV R1,A LOOP: RET null2.BCD码与二进制数的转换 图 4-6 BCD码(十进制)转换成二进制数程序流程图 null程序清单如下: MAIN:MOV A,R5 MOV R2,A ;给子程序入口参数 ACALL BCDBIN ;调用子程序 MOV B,#64H MUL AB MOV R6,A XCH A,B MOV R5,A MOV A,R4 MOV R2,A ACALL BCDBIN ;调用子程序 ADD A,R6 MOV R4,A MOV A,R5 ADDC A,#00H MOV R5,A RET 子程序如下: BCDBIN:MOV A,R2 ANL A,#0F0H ;取高位BCD码,屏蔽低4位 SWAP A MOV B,#0AH MUL AB MOV R3,A MOV A,R2 ANL A,#0FH ADD A,R3 ;加低位BCD码 MOV R2,A RET null4.3 查表程序 使用MOVC A,@A+DPTR指令来查表,程序清单如下: MOV DPTR,#BS ;子程序入口地址表首址 RL A ;键码值乘以2 MOV R2,A ;暂存A MOVC A,@A+DPTR ;取得入口地址低位 PUSH A ;进栈暂存 INC A MOVC A,@A+DPTR ;取得入口地址高位 MOV DPH,A POP DPL CLR A JMP @A+DPTR ;转向键处理子程序 BS: DB RK0L ;处理子程序入口地址表 DB RK0H DB RK1L DB RK1H DB RK2L DB RK2H ┇ ┇ null4.4 散转程序 一、 采用转移指令表的散转程序 例4-17 编出要求根据R3的内容转向各个操作程序的程序。即当 (R3)=0,转向OPRO (R3)=1,转向OPRl … (R3)=n,转向OPRn 解:程序清单如下: MOV A,R3 RL A ;分支序号值乘2 MOV DPTR ,#BRTABL ;转移指令表首址 JMP @A+DPTR ;转向形成的散转地址 BRTABL:AJMP OPR0 ;转移指令表 AJMP OPR1 … AJMP OPRn null二、 采用地址偏移量表的散转程序 例4-19 编出能按R6的内容转向5个操作程序的程序。其对应关系如下: OPRD0:操作程序0 OPRD1:操作程序1 OPRD2:操作程序2 OPRD3:操作程序3 OPRD4:操作程序4 解:程序清单如下: MOV A,R6 MOV DPTR,#TAB3 ;指向地址偏移量表首址 MOVC A,@A+DPTR ;散转点入口地址在A中 JMP @A+DPTR ;转向相应的操作程序入口 TAB3: DB OPRDO-TAB3 ;地址偏移量表 DB OPRDl-TAB3 DB OPRD2-TAB3 DB OPRD3-TAB3 DB OPRD4-TAB3 null三、 采用转向地址表的散转程序 例4-20 编程:要求根据R6的内容转向相应的操作程序中去。设备操作程序的转向地址分别为OPRD0, OPRDl,… OPRDn。 解:程序清单如下: MOV DPTR,#BRTABL ;指向转向地址表 MOV A,R6 ADD A,R6 ;(A)←(R6)*2 JNC NAND; INC DPH ;(R6)*2的进位加到DPH NAND:MOV R3,A ;暂存变址值 MOVC A,@A+DPTR ;取转向地址高8位 XCH A,R3 INC A MOVC A,@A+DPTR ;取转向地址低8位 MOV DPL,A ;转向地址在DPTR中 MOV DPH,R3 CLR A JMP @A+DPTR ;转向相应的操作程序 BRTABL:DW OPRDO ;转向地址表 DW OPRD1 ┆ DW OPRDn null四、 采用“RET”指令的散转程序 例4-21 编出能根据R6的内容转向各个操作程序的程序。设该操作程序的转向地址分别为OPRD0, OPRDl,… OPRDn。 解:程序清单如下: MOV DPTR,#TAB3 ;指向转移地址表 MOV A,R6 ADD A,R6 JNC NAND INC DPH NAND:MOV R7,A MOVC A,@A+DPTR ;取转向地址高8位 XCH A,R7 INC A MOVC A,@A+DPTR ;取转向地址低8位 PUSH A ;转向地址入栈 MOV A,R7 PUSH A RET ;转向操作程序 TAB3:DW OPRD0 ;转向地址表 DW OPRDl ┇ DW OPRDn null4.5 I/O端口控制程序 例4-22 试编出能模拟图4-9中电路的程序。 ORG 0200H D BIT 00H E BIT 01H G BIT 02H LOOP1:ORL P1,#08H ;准备P1.3输入 LOOP2:MOV C,P1.3 ;检测K3状态 JC LOOP2 ;若未准备好(K3断),则LOOP2 ORL P1,#03H ;若准备好,则准备输入P1.0和P1.1状态 MOV C,P1.0 ;输入K0状态 MOV D,C ;送入D MOV C,P1.1 ;输入K1状态 MOV E,C ;送入E ANL C,D ;D∧E送C MOV G,C ;送入G MOV C,E ORL C,D ;D∨E送C ANL C,/G ;(D∨E)∧(D∧E) MOV P1.2,C ;输出结果 SJMP LOOP1 ;准备下次模拟 END null4.6 子程序调用时的参数传递方法 一、 通过寄存器或片内RAM传递参数 例4-23 利用通过寄存器或片内RAM传递参数这种方法编出调用SUBRT子程序的主程序。 解:应该是: MAIN :MOV R0,#30H ;传送RAM数据区的起始地址 MOV R7,#0AH ;传送RAM数据区的长度 ACALL SUBRT ;调用清零子程序 SJMP $ ;结束 SUBRT:MOV A,#00H ;清零子程序 LOOP:MOV @R0,A INC R0 DJNZ R7,LOOP RET null二、 通过堆栈传递参数 例4-25 在HEX单元存有两个十六进制数,试编程分别把它们转换成ASCII码存入ASC和ASC+1单元。 解:本题子程序采用查表方法完成一个十六进制数的ASCII码转换,主程序完成入口参数的传递和子程序的两次调用,以满足题目要求。程序清单为: ORG 1200H PUSH HEX ;入口参数压栈 ACALL HASC ;求低位十六进制数的ASCII码 POP ASC ;出口参数存入ASC MOV A,HEX ;十六进制数送A SWAP A ;高位十六进制数送低4位 PUSH ACC ;入口参数压栈 ACALL HASC ;求高位十六进制数的ASCII码 POP ASC+1 ;出口参数送ASC+1 SJMP $ ;原地踏步,结束 HASC:DEC SP DEC SP ;入口参数地址送SP POP ACC ;入口参数送A ANL A,#0FH ;取出入口参数低4位 ADD A,#07H ;地址调整 MOVC A,@A+PC ;查相应ASCII码 PUSH ACC ;出口参数压栈 INC SP INC SP ;SP指向断点地址高8位 RET ;返回主程序 ASCTABL:DB ‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’ DB ‘8’,‘9’,‘A’,‘B’,‘C’,‘D’,‘E’,‘F’ END null三、 利用指针寄存器传递参数 例4-26 编出能实现打印THIS IS AN EXAMPLE的程序。 解:将要打印的字符及代码不是放在调用指令之前,而是紧跟在调用指令之后。 主程序: MAIN: … ACALL PRINT ;调用打印子程序 DB‘THIS IS AN EXAMPLE' ;要打印的字符及代码 DB OAH,ODH,OOH NEXT: … 子程序: PRINT:POP DPH ;把调用指令下面字节的地址弹出,作为数据指针 POP DPL PPPl: MOV A,#OOH MOVC A,@A+DPTR ;取出欲打印的字符 INC DPTR JZ PPPEND ;判断是否为结束字符 PPP2: ;打印程序 SJMP PPPl ;未完,继续打印 PPPEND:JMP @A+DPTR ;指向主程序NEXT处,取代返回指令 null 第五章 定时/计数器 5.1 定时/计数的结构及工作原理 一、 定时/计数器的结构和原理 1.定时/计数器的结构 图 5‑1 TMOD、TCON与T0、T1的结构框图 null2.定时/计数器的原理 图 5‑2 定时/计数器的结构框图 null二、 定时/计数器方式寄存器TMOD 表格 5‑1 方式选择位意义 TMOD格式如下: 定时器1 定时器0 null三、 定时控制寄存器TCON 定时器控制字TCON的格式如下:   null5.2 定时/计数器的工作方式 一、 方式0 当M1M0两位为00时,定时/计数器被选为工作方式0,其逻辑结构如图 5‑3 所示。 图 5‑3 T0(或T1)方式0结构 null二、 方式1 图 5‑4 T0(或T1)方式1结构 null三、 方式2 图 5‑5 T0(或T1)方式1结构 null三、 方式2 图 5‑6 T0(或T1)方式2结构 null四、 方式3 图 5‑7 T0方式3下和T1结构 null一、 方式0、方式1的应用 例5-1 选择T1方式0用于定时,在P1。1输出周期为1ms的方波,晶振fosc=6MHZ。 根据题意,只要使P1。1每隔500µs取反一次即可得到1ms方波,因而T1的定时时间为 500µs。 将T1设为定时方式0:GATE=0,C/T(—)=0,M1M0=00;T0不用可为任意,只要不使其进入方式3,一般取0即可。故TMOD=00H。系统复位后TMOD为0,所以不必对TMOD置初值。下面计算500µs定时T1的初值: 机器周期 T=12/fosc=12/6×106=2µs 设初值为X则: (213-X)×2×10-6 s =500×10-6 s X=7942D=1111100000110B=1F06H 因为在作13位计数器用时,TL1高3位未用,应写0,X的低5位装入TL1的低5位,所以TL1=06H;X的高8位应装入TH1,所以TH1=F8H。 源程序如下: null二、 方式2的应用 例5-2 用定时器1方式2计数,要求每计满100次,将P1。0取反。 根据题意,外部计数信号由T1(P3.5)引脚输入,每跳变一次计数器加1,由程序查询TF1。方式2有自动重装初值的功能,初始化后不必再置初值。 初值 X=28-100=156D=9CH TH1=TL1=9CH TMOD=60H 源程序如下: null三、 门控位的应用 图 5‑8 外部正脉冲宽度测量 例5-3 利用T0门控位测试INT0引脚上出现的正脉冲的宽度,并以机器周期数的形式显示在显示器上。 根据要求可这样设计程序:将T0设定为方式1,GATE设为1,置TR0为1。一旦INT0(P3。2) 引脚上出现高电平即开始计数,直至出现低电平,停止计数,然后读取T0的计数值并显示。 测试过程如下:null源程序如下: 由于定时方式1的16位计数长度有限,被测脉冲高电平宽度只能小于65536个机器周期。 源程序如下: null第六章           MCS-51单片机的系统扩展 6.1 MCS-51单片机的引脚定义及最小应用系统 一、 8051的引脚定义及功能 图 6‑1 MCS-51的引脚图及功能分类图 null二、 MCS-51单片机最小应用系统 图 6‑2 8051/8751最小应用系统 null6.2 MCS-51单片机外部存储器的扩展 一、 外部程序存储器的扩展及取指过程 图 6‑3 外部程序存储器一般连接方法 null1.程序存储器的一般连接方式 图 6-4 扩展8K字节程序存储器的连线图 null2.典型EPROM扩展电路 3.程序存储器E2PROM的扩展 图 6-5 E2PROM作为程序存储器的扩展图 null二、 数据存储器的扩展 图 6-6 扩展2KB数据存储器的线路图 null1.数据存储器一般的扩展方法 2.常用数据存储器的扩展电路 三、 综合扩展实例 图 6-7 扩展16KB RAM和16KB EPROM null 6.3 并行I/O口的扩展 一、 简单I/O口的扩展 图 6-8 简单I/O接口扩展电路 null二、 可编程I/O口的扩展 图 6‑9 8155的结构和引脚 null表格 6‑1 8155口地址分布 null3.8155与单片机的连接 表格 6‑2 8155的RAM和I/O口地址分配 图 6‑10 扩展一片8155的基本方案 null4.8155片内RAM的使用 OK: … ;和为0,读/写正确 (1)命令寄存器的用法 表格 6‑3 C口工作方式 null图 6‑12 8155方式4的逻辑结构图 null                6.作定时/计数器用 表 6-4 8155定时器输出方式 null第七章           MCS-51系统的串行接口 7.1 串行通讯概述 一、 串行通讯的两种基本方式 1.异步传送方式     图 7-2 异步通讯的帧格式 null图 7-3 同步传送方式 二、 波特率 图 7-4 串行通讯的制式 null三、 数据传送的方向 1.单工制式(Simplex) 2.半双工制式(Half Duplex) 3.全双工(Full-duplex)制式 7.2 MCS-51单片机的串行接口 一、 MCS-51串行口结构 图 7-5 MCS-51串行口组成示意 null1.串行口数据缓冲器SBUF 2.串行口控制寄存器SCON SM0                   图 7-6 串行口控制寄存器SCON 图 7-6 串行口控制寄存器SCON null3.特殊功能寄存器PCON PCON主要是为CHMOS型单片机的电源控制设置的专用寄存器,单元地址为87H,不能位寻址。其格式如 图 7-7 所示。             图 7-7 PCON各位定义 null二、 MCS-51串行的工作方式 MCS-51的串行口有四种工作方式,它是由SCON中的SM1和SM0来决定的,如表格 7-1 表格 7-1 串行口的工作方式 null1.方式0 图 7-8 串行口方式0的时序 null2.方式1 在方式1时,串行口被设置为波特率可变的8位异步通信接口。其时序如图 7-9 所示。 图 7-9 串行口方式1的时序 null3.方式2 串行口工作为方式2时,被定义为9位异步通信接口。其时序如图 7-10 所示。 4.方式3 图 7-10 串行口方式2、3的时序 null三、 MCS-51串行通信的波特率 1.方式0的波特率 2.方式2的波特率 3.方式1或方式3的波特率 表格 7-2 常用波特率和定时器T1初值关系表 null表格 7-2 常用波特率和定时器T1初值关系表 null7.3 MCS-51单片机串行口的应用 一、 串行口方式0用作扩展并行I/O口 图 7-11 串行口方式0扩展并行输出口 nullnull二、 方式1与点对点的异步通讯 在下面给出的实现指定功能的通讯程序中,发送和接收都通过调用子程序来完成,并设发送数据区的首地址为20H,接收数据区的首地址为40H。 主程序: 中断服务程序: null发送子程序: null接收子程序: null三、 方式2、方式3与多机通讯 图 7-12 多机通讯连接示意图 null1.多机通信原理 2.多机通信实现 四、 微机与单片机之间的通讯 图 7-13 微机与单片机串行通信接口 null7.4 相互通道接口标准及其选择 一、相互通道的典型结构 二、关于RS-232C、RS-449、RS-422、RS-423和RS-485接口 null图 7-14 多机系统的相互通道null2.抗干扰能力 1.RS-232C接口 图 7-15 通过电话网实现远程连接 null表格 7-3 微机中常用的RS-232C接口信号 表格 7-3 微机中常用的RS-232C接口信号 null图 7-16 简单的RS-232C数据通讯 null2.RS-449、RS-422、RS-423和RS-485接口 表格 7-4 几种串行接口标准的比较   null第八章           MCS-51单片机的中断系统 图 8-1 8051的中断系统 null8.1 中断系统及其管理 一、 中断源及中断入口   null二、 外部中断请求标志 2.SCON的中断标志 1.TCON中的中断标志 三、 中断允许控制 四、中断源优先级的设定 五、 中断响应处理过程 2.中断处理1.中断响应的过程 3.中断返回 4.外部中断响应时间 null8.2 扩充外部中断源 一、 利用定时器进行扩充 图 8-2 多外部中断源连接方法null二、 采用中断和查询相结合的方法扩充外部中断源 EXINT: PUSH PSW PUSH ACC JB P1 0,SAV1 JB P1 1,SAV2 JB P1 2,SAV3 JB P1 3,SAV4 DISUB: POP ACC POP PSW RETI SAV1: … ;XI1中断服务程序 AJMP DISUB SAV2: … ;XI2中断服务程序 AJMP DISUB SAV3: … ;XI3中断服务程序 AJMP DISUB SAV4: … ;XI1中断服务程序 AJMP DISUB null8.3 中断系统的应用 图 8-3 外部中断实验 null第九章           单片机应用系统的设计方法及实例 9.1 显示器、键盘与单片机的连接 一、 LED数码管与单片机的连接 图 9-1 共阴极和共阳极数码管 null1.静态显示 图 9-2 静态显示原理 nullDISP: MOV R0,#50H ;R0指向第一个显示单元 MOV R2,#4 ;循环计数器赋初值 MOV R3,#0 ;显示位指针赋初值 LOOP: MOV A,@R0 ANL A,#0FH ;取第i个显示单元的低4位 SWAP A ORL A,R3 ;第i个显示单元的低4位送R3的高4位 MOV P1,A ;第i个显示单元的低4位送R3指出的数码管去显示 MOV A,@R0 ANL A,#0F0H ;取第i个显示单元的高4位 INC R3 ;指向下一个数码管 ORL A,R3 ;第i个显示单元的高4位送R3指出的数码管去显示 MOV P1,A ;将第i个显示单元的高4位送到相应的数码管去显示 INC R0 ;指向下一个显示单元 INC R3 ;指向下一个LED数码管 DJNE R2,LOOP ;未显示完4单元的8个BCD码,返回继续显示 RET null图 9-3 采用译码器的静态显示接口电路 null2.串行显示接口 图 9-5 串行显示接口 nullDISP: SETB P1.0 ;选通显示器 MOV SCON,#00H ;置串口方式0 MOV R0,#50H ;R0指向第一个显示单元 MOV R2,#4 ;循环计数器置初值 MOV DPTR,#TAB ;DPTR指向第一个显示单元 LOOP: MOV A,@R0 ANL A,#0FH ;取第i个显示单元的低4位 MOVC A,@A+DPTR ;查译码表 MOC SBUF,A ;第i个显示单元的低4位的显示码送串口缓冲器 WAIT1: JNB TI,$ ;未发送完,等待 CLR TI ;清发送中断标志 MOV A,@R0 ANL A,#0F0H ;取第i个显示单元的高4位 SWAP A MOVC A,@A+DPTR ;查译码表 MOC SBUF,A ;第i个显示单元的高4位的显示码送串口缓冲器 WAIT2: JNB TI,$ ;未发送完,等待 CLR TI ;清发送中断标志 INC R0 DJNZ R2,LOOP ;未发送完4个单元的8个字符,返回继续 RET TAB: DB 03H,9FH,25H,0DH,99H, DB 49H,41H,1FH,01H,19H null3.动态扫描显示接口 图 9-6 动态扫描显示接口电路 null;-----------------主程序------------------ STAR: ∶ ∶ LOOP: ∶ ACALL S00EF ;将显示缓冲区内容送去显示 ∶ ∶ SJMP LOOP ;--------------送显示子程序-------------- DISP: CLR A ORL A,P3 ;取P3口内容 ANL A,#0F0H MOV R3,A ;保护P3口高4位 MOV A,43H ;取位选信号 ANL A,#0FH ;位选信号送A的低4位 ORL A,R3 ;P3口高4位送A的高4位 MOV R0,34H ;取段选指针 MOV P1,#0FFH ;关显 MOV P3,A ;输出位选信号 MOV A,@R0 ;显示内容送A MOV DPTR,#TAB ;译码表首址送DPTR MOVC A,@A+DPTR ;查表译显示码 MOV P1,A ;输出段选信号1 MOV A,43H ; RL A ; MOV 43H,A ;位选指针指向下一位 INC 34H ;段选指针指向下一位 JB ACC.0,DONE ;不到最后一位,转 MOV 34H,#50H ;段选指针复位 MOV 43H,#0EEH ;位选指针复位 DONE: RET ;-----------------显示译码表--------------- TAB: DB 0C0H ;显示字符0,相对地址00H DB 0F9H ;1 DB 0A4H ;2 DB 0B0H ;3 DB 99H ;4 DB 92H ;5 DB 82H ;6 DB 0F8H ;7 DB 80H ;8 DB 90H ;9 null图 9-7 按键与单片机直接连接 null图 9-8 带锁存器的按键与单片机的接口电路 null图 9-9 按键接口程序流程图 null程序如下: KSCAN: MOV DPTR,#7FFFH ;指向244 MOVX A,@DPTR ;读244 ANL A,#0FH ;取4个按键的值 CJNE A,#0FH,LOOS ;无键按下,转去判断是否键放开 JB 11H,L0475 ;键有效标志等于1,等待键放开,返回 JC 10H,SETSYN ;第一次发现键按下,转去置标志,存键值 CJNE A,R4,CLRSYN ;两次读得的按键值不同,键无效,清第一次发现键按下标志 SETB 11H ;置键有效标志 RET LOOS : JNB 11H,RETUR ;键有效标志等于0,未按过键,返回 SJMP KEYDO ;键放开,转键处理 SETSYN: SETB 10H ;置第一次发现键按下标志 MOV R4,A ;保存键值 SJMP RETUR ;返回 CLRK: CLR 11H ;清键有效标志 CLRSYN: CLR 10H ;清第一次发现键按下标志 MOV R4,#00H ;清键值暂存单元 RET KEYDO: RRC A JC JUS2 ;没按S1,再判断S2 ALMP DOS1 ;转键S1处理程序 JUS2: JC JUS3 ;没按S2,再判断S3 ALMP DOS2 ;转键S2处理程序 JUS3: JC JUS4 ;没按S3,再判断S4 ALMP DOS3 ;转键S3处理程序 JUS4: JC RETUR ;没按S4,误判断,退出 ALMP DOS4 ;转键S4处理程序 DOS1: …… ;键S1处理程序 …… SJMP RETUR DOS2: …… ;键S2处理程序 …… SJMP RETUR DOS3: …… ;键S3处理程序 …… SJMP RETUR DOS4: …… ;键S4处理程序 …… SJMP RETUR null三、 键盘与单片机的接口 图 9-10 键盘与单片机的接口电路 null图 9-11 键盘接口程序流程图 null二、 A/D转换器与单片机的接口 图 9-12 ADC0801~ADC0805 图 9-13 ADC0801~0805与单片机的接口 null9.3 D/A转换器与单片机的连接 一、 D/A转换器的基本原理 图 9-14 T型网络D/A转换器 null二、 D/A转换器与单片机的接口 1.内部结构 图 9-15 DAC0832的引脚排列
本文档为【单片微型计算机原理及其应用电子教案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_263504
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2012-04-16
浏览量:49