《单片机教案(讲稿).pdf》由会员分享,可在线阅读,更多相关《单片机教案(讲稿).pdf(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、汽电 101 班单片机单片机原理及应用教案单片机原理及应用教案课题名称课次课型教学目标重点、难点及解决方法MCS-51 单片机的概述第(1)次课理论();实验();使学生了解本课程的学习方法、单片机应用等知识。学时2重点掌握学习方法,解决方法是提高自学能力。1-11-1、学习本课程的意义、学习本课程的意义1-21-2、学习本课程的方法、学习本课程的方法教学基本内容与教学设计1-31-3、单片机发展过程、单片机发展过程1-41-4、单片机的应用、单片机的应用1-51-5、MCS51MCS51 和和 AT89AT89 单片机单片机教学方法教学手段讲授讲授课外学习安排观察汽车上如导航仪等单片机的应用
2、产品,关注相关电子专业的知识参考资料计算机原理、通信原理、数电、模电学习效果评测课外学习指导安排教学后记1汽电 101 班单片机单片机原理及应用讲稿单片机原理及应用讲稿教学内容第一章第一章概论概论1-11-1、学习本课程的意义、学习本课程的意义一、单片机的广泛应用二、自动化专业的必修课三、毕业设计四、毕业后的应用备注1-21-2、学习本课程的方法、学习本课程的方法一、多记、多看、多练二、多做实验、验证程序三、对典型环节要熟记四、随时做好应用的准备五、有自学和专研的精神六、实践出真理1-31-3、单片机发展过程、单片机发展过程第一阶段 7174 年 四位 4004第二阶段 7478 年 76 年
3、的 Inter 公司的 MCS48(8 位)第三阶段 7883 年 高性能 8 位 MCS-5116 位 MCS-96第四阶段 1983 年 飞速发展和应用阶段今后发展趋势:1、多功能A/D、D/A 大存储量、驱动能力等2、高性能多 CPU、高速度 指令堆栈(RISC),流水线3、低电压、低功率便携式产品、消费类产品、CMOS 工艺 3V 以下、uA 级4、低价格目前流行的单片机、MCS-51 系列的指令系统AT89C51,AT89S511-41-4、单片机的应用、单片机的应用1、仪器仪表 2、工业领域控制器 3、医疗卫生 4、办公室自动化 5、金融电子系统 6、防盗报警 7、无线电 8、家用
4、电器 9、信息处理 10、汽车、航运、高速公路、航天航空1-51-5、MCS51MCS51 和和 AT89AT89 单片机单片机以 Inter 公司 8051 为内核,ATMEL公司利用 Flash 存储,增加 ISP 功能(串行口)及E2PROM 技术集合一体,研制了真正的单片机,取代了8031 和8051 产品2汽电 101 班单片机*MCS-51 和 AT89S51单片机的区别AT89S51的主要特点:1、和 MCS51 相兼容的 8 位 CPU2、具有 4K 的 Flash、ROM 存储器,128 字节 RAM3、2 个定时器 16 位4、32 个 I/O 接口5、1 个全双工串行通信
5、接口 VART6、6 个中断源,4 个优先级7、33MHZ 的晶振频率8、ISP 在线编程方式9、一个 WDT 看门狗定时器10、双数据指针 DPTR0,DPTR111、向下兼容 51 全系列产品3汽电 101 班单片机单片机原理及应用教案单片机原理及应用教案课题名称课次课型教学目标重点、难点及解决方法第二章 AT89S51 单片机的系统结构第(2-5)次课理论();实验();学时8使学生掌握 AT89S51AT89S51 硬件资源、硬件资源、专用寄存器、专用寄存器、存储器结构、存储器结构、并行接口结构并行接口结构。重点掌握专用寄存器、存储器结构专用寄存器、存储器结构,难点是并行接口结构。并行
6、接口结构。解决方法是多加练习。2.12.1、AT89SAT89S 系列单片机的硬件结构系列单片机的硬件结构2.1.12.1.1、AT89S51AT89S51 硬件结构特点硬件结构特点 (P (P1212页页 图图 2-1)2-1)2.1.22.1.2 引脚功能引脚功能 (P (P1414页页 图图 2-3)2-3)2.22.2、AT89S51 AT89S51 单片机的中央处理器单片机的中央处理器 CPUCPU,MCUMCU2.2.12.2.1、算术、算术/逻辑运算部件:逻辑运算部件:ALUALU2.2.22.2.2、专用寄存器、专用寄存器2.2.32.2.3、振荡器、时钟电路及时序、振荡器、时
7、钟电路及时序2.32.3并行接口结构并行接口结构2.42.4 存储器结构存储器结构2.52.5 布尔处理器布尔处理器2.62.6 工作方式工作方式(复位、运行、低功耗复位、运行、低功耗,掉电掉电)2.6.12.6.1 复位方式复位方式2.6.22.6.2 单片机在线编辑单片机在线编辑:ISP:ISP讲授讲授教学基本内容与教学设计教学方法教学手段课外学习安排14 道习题参考资料教材学习效果评测课外学习指导安排教学后记每次课前半小时辅导4汽电 101 班单片机单片机原理及应用讲稿单片机原理及应用讲稿教学内容第二章第二章 AT89S51 AT89S51 单片机的系统结构单片机的系统结构2.12.1、
8、AT89SAT89S 系列单片机的硬件结构系列单片机的硬件结构2.1.12.1.1、AT89S51AT89S51 硬件结构特点硬件结构特点 (P (P1212页页 图图 2-1)2-1)特点:1、内部 ROM 和 RAM、R 寄存器区2、外部存储器寻址空间3、输入输出 I/O 接口4、定时/计数器5、中断与堆栈6、指令系统7、布尔处理器2.1.22.1.2 引脚功能引脚功能 (P (P1414页页 图图 2-3)2-3)2.22.2、AT89S51 AT89S51 单片机的中央处理器单片机的中央处理器 CPUCPU,MCUMCU2.2.12.2.1、算术、算术/逻辑运算部件:逻辑运算部件:AL
9、UALU1、运算部件包括:ALU、布尔处理器、累加器 ACC、寄存器 B、暂存器 1 和暂存器 2、程序状态寄存器 PSW、十进制调整 DA,进行算术/逻辑运算和布尔操作2、控制部件包括:程序计数器(指针)PC,程序地址寄存器,指令寄存器,指令译码器,条件判断跳转电路,定时逻辑控制电路ALE,属于传输控制部分和运算部件一起完成指令的微操作2.2.22.2.2、专用寄存器、专用寄存器1、累加器 A和运算单元一起完成运算、中转站2、寄存器 B和 A 一起完成乘除法运算,可做一般寄存器3、程序状态寄存器 PSWCYACF0RS1RS0OVXPCY进、借位位、AC半进位位、F0用户标志RS1、RS0选
10、择及寄存器组别的控制位OV溢出位、X空、P奇偶校验位、A 中“1”的个数4、数据指针:DPTR0、DPTR1,十六位操作2.2.32.2.3、振荡器、时钟电路及时序、振荡器、时钟电路及时序(1)时钟电路备注5汽电 101 班单片机拍2状态361/6机器周期、倒数外部时钟输入(2)CPU 时序概念振荡周期=1/fz状态周期=2/fz S 为状态=P1+P2拍机器周期=12/fz指令周期=14 个机器周期P18页 图 2-82.32.3并行接口结构并行接口结构(1)P1 口,普通 I/O 口带 4 个 TTL 负载读锁存器信号内部总线内部写信号上位电阻.引脚读引脚信号准双向 I/O 接口(2)P0
11、口普通 I/O 接口没有上拉电阻,自己外接 10K 的电阻。低八位地址线/数据线。外部扩展时用。(3)P2口普通 I/O 接口和 P1口一样高 8 位地址、外部扩展时(4)P3 多功能接口普通 I/O 接口和 P1 口一样第二功能:P3.0RXDQ 串行输入 P3.1TXD 串行输出 P3.2INT0外部中断输入 P3.3INT1外部中断 P3.4T0 定时器外部计数输入 P3.5T1 定时器外部计数输入 P3.6WR写信号线6汽电 101 班单片机 P3.7RD读信号线扩展外部时读写控制线2.42.4 存储器结构存储器结构程序存储器内部:4K:0000H0FFFHEA=1外扩:64K0000
12、H0FFFHEA=0 控制线PSEN数据存储器内部有:R 寄存器(001FH)位存储器(202FH)通用寄存区(307FH)特殊寄存器(800FFH)外部可扩 60K,控制线为WR,RD2.4.12.4.1 程序存储器程序存储器单片机复位后开始工作 PC=0000H各中断入口地址.外中断 0=00013H T0 地址=00013H外中断 1=0013H T0 地址=0013H串行口=0023H2.4.22.4.2 内部数据存储器内部数据存储器(00(007FH)(80H7FH)(80H0FFH)0FFH)1、R 寄存器区:00H1FHRS1,RS0各R0R1R2R3R4R5R6R7区100 区
13、07H01H.07H011 区08H.0FH102 区10H.17H113 区18H.1FH2、位寻地区一位寄存器的位地址:20.0H2F.7H3、通用寄存区:30H7FH4、特殊寄存器区:80H0FFH不连续 SFR 寄存器 (P24 页表2-9)5、外部数据寄存器DPTR,R0,R1,指针,00000FFFH2.52.5 布尔处理器布尔处理器 CY-位累加器,操作位(202FH)007FH 区 (0 或 8 的 SFR)800FFH2.62.6 工作方式工作方式(复位、运行、低功耗复位、运行、低功耗,掉电掉电)2.6.12.6.1 复位方式复位方式1、复位电路7汽电 101 班单片机持续高
14、电平时2 个机器周期,必须可靠2,看门狗复位启动看门狗 WDTMOV WDTRST,#1EHMOV WDTRST,#0E1H*启动后,在 16383 个机器周期内必须重复执行 WDTRST 启动.*当 WPT 溢出后,RST 脚输出 98 个振荡周期高电平使单片机复位.从 PC=0000 开始执行3、复位后 SFR 的状态 PC=0000H,ACC,B,PSW,DPTR,计数/定时器,串行口,都为 00H,而为 00H,而SP=07H,P0P3=0FFH 状态4、低功耗方式:PCON?.PD1DLPD 掉电方式位,PD=1 进入掉电,单片机停止工作(设有时钟)RAM 中的数据不变掉电退出:必须
15、 RST(复位)有效,高电平IDL 待机 IDL=1 近式待机单片机 CPU 停止工作,RC 不工作 RAM 和 SFR 内容不变,中断系统,定时器,串行口仍然继续工作(有时钟)待机退出,有中断自动退出.IDC=0 也可复为退出.2.6.22.6.2 单片机在线编辑单片机在线编辑:ISP:ISP编辑接法,同步串行串入串出波形 (P33 图 2-19)串入串出时钟读写命令 (P33 页表2-14)8汽电 101 班单片机单片机原理及应用教案单片机原理及应用教案课题名称课次课型教学目标重点、难点及解决方法第三章:AT89C51单片机指令系统学时6第(6-8)次课理论();实验();使学生掌握单片机
16、指令系统与寻址方式。重点掌握指令系统,难点是寻址方式。解决方法是多加练习。教学基本内容与教学设计第三章:AT89C51 单片机指令系统311 指令格式3-1 单片机系统的寻址方式312 寻址方式32单片机系统的分类321 传递指令322 算术运算类指令323 逻辑运算及移位类指令324 控制转移类指令325 位操作指令教学方法教学手段讲授讲授课外学习安排14 道习题参考资料教材学习效果评测课外学习指导安排教学后记每次课前半小时辅导9汽电 101 班单片机单片机原理及应用讲稿单片机原理及应用讲稿教学内容第三章:AT89C51 单片机指令系统3-13-1 单片机系统的寻址方式单片机系统的寻址方式3
17、 31 11 1 指令格式标号:操作码 目的操作数,源操作数 1,源操作数 1,源操作数 2;注释LOOP:CJNE A,31H,LOOP,;A(31H)转 LOOP1 INC A;A+1A2.指令中常用符号(1)RI和 R Ni=0,1 ,n=07(2)#data ,#立即数 data 为 8 位数字(3)#data 16 位数字(4)rel相对地址(5)addr16 16 位地址,64K 范围 addr 11 11 位目的地址,2K 地址范围 divect 8 位内存直接接地(特殊寄存器)bit 位地址 Ri,DPTR 间接寻址寄存器,Ri为指针 x 表示 x 中的内容(x)x 为指针,x
18、为地址;该地址中内容 1 和 1 表示取反;表示流向3 31 12 2 寻址方式寻址方式1、寄存器寻址,R 寄存器 MOV A,R0 (A)(R0)2、立即寻址,#MOV R0,#30H;(R0)=20H3、寄存器间接寻址,MOV A,R0;(A)=(R0)MOV A,DPTR4、直接寻址,无 MOV R0,30H (R0)=(30H)5、变址寻址,查表 MOV A,A+DPTR;A=(A+DPTR)A 变址增量 DPTR,首地址基址6、相对寻址;Jz loop7、位寻址 MOV C,24H3 32 2 单片机系统的分类单片机系统的分类分为五类:传送类、算术运算、逻辑运算、控制转移(分支)、位
19、操作3 32 21 1 传递指令传递指令1、内部数据传递类(1)立即寻址:对象 A,地址,direct,Ri,Rn,DPTR 和#data5 条,(P39 页)单向传递备注10汽电 101 班单片机(2)寄存器寻址:对象 A,Rn,Ri,direct,和 A,Rn 5 条(3)直接寻址:对象 A,Rn,Ri,direct,和 direct 4 条2、外部数据传递,(RAM 扩展)MOVXMOVX A,DPTRMOVX A,Ri (P2为高位)MOVX R,AMOVX DPTR,A3、程序存储器的传递MOVC A,A+DPTRMOVC A,A+PC4、数据交换指令:对象 A,Ri,Rn,dire
20、ct 和 AXCH A,directXCH A,RiXCH A,R0XCHD A,R0(A30)(R0)30)SWAP A (A77)(A30)5、堆栈操作指令PUSH direct 压栈,先 SP1SP 后(SP)(direct)POP direct 出栈 先(SP)direct 后 SP-1SP3 32 22 2 算术运算类指令算术运算类指令1、加法指令 A,#data,direct,Ri,Rn和 AADD A,#dataADD A,directADD A,R0ADD A,R02、带进位加法ADD A,#dataADD A,directADD A,RiADD A,Ri3、带进位减法SUBB
21、 A,#dataSUBB A,directSUBB A,RiSUBB A,R04、加一、减一指令INC AINC directINC R0INC R0INC DPTR十六位DEC directDEC R0DEC R011汽电 101 班单片机DEC A5、乘除法指令乘法:NUL AB A*B 的低 8 位存在 A 中,高 8 位存在 B 中除法:DIV AB AB 的商存在 A 中,余数存在 B 中6、二十进制调整DA A 将二进制调整为十进制3 32 23 3 逻辑运算及移位类指令逻辑运算及移位类指令1、逻辑“与”指令 ANL 共 6 条对象:A,#data,Ri,Rn,direct 和 A
22、,directANL direct,AANL direct,#data2、逻辑“或”指令 ORL 共 6 条,和“与”形式相同3、逻辑“异或”XRL 共 6 条,和“与”形式相同4、累加器 A 取反、清零指令取反:CPL A清零:CPR A5、移位指令(1)不带进位左移:右移:(2)带进位左移:右移:3 32 24 4 控制转移类指令控制转移类指令1、无条件转移LJMP addr 16 ;64KAJMP addr 11;2KSTMP rel ;-128+127JMP A+DPTR ;散转2、条件转移累加器判零转移指令 2 条 JE rel A=0 转移;JNE rel A0 转移比较转移指令
23、4 条 CJNE A,#data,rel CJNE A,direc,rel12汽电 101 班单片机 CJNE Ri,#data,rel CJNE Rn,#data,rel转移、减一循环指令:DJNE 减一,不为零转移 DJNE direct,rel DJNE Rn,rel3、子程序调用指令LCALL addr16 ;子程序标号ACALL addr114、CPU 控制指令子程序返回 RET中断程序返回 RETI空操作 NOP3 32 25 5 位操作指令位操作指令1、位传递指令MOV bit,C MOV C,bit2、置位指令(清零、复位、置“1”、置位)CLR bit CLR CSETB b
24、it SETB C3、位逻辑操作指令ANL C,bit ANL C,/bit写ORL C,bit OPL C,/blt或CPL C CPL bit取反4、位条件转移指令(1)通过进位位判断转移 JC rel JNC rel(2)通过位单元内容判断转移 JB bit,rel JNB bit,rel JBC bit,rel为“1”转移并清零该位13汽电 101 班单片机单片机原理及应用教案单片机原理及应用教案课题名称课次课型教学目标重点、难点及解决方法第四章 汇编语言程序设计基础第(8-11)次课理论();实验();学时8使学生掌握汇编语言简单程序设计方法。重点掌握设计方法,难点是循环程序和查表程
25、序。解决方法是多加练习。教学基本内容与教学设计第四章 MCS_51 汇编语言程序设计4.1 汇编语言程序设计概述4.2 单片机汇编语言程序的基本结构形式4.2.1 顺序程序设计4.2.2 分支程序设计4.2.3 循环程序设计4.3 MCS-51 单片机汇编语言程序设计举例4.3.1 算术运算程序4.3.2 数制转换程序4.3.4 查表程序4.4 汇编语言原程序的编辑与汇编4.5 MCS-51 汇编语言伪指令讲授讲授教学方法教学手段课外学习安排24 道习题参考资料教材学习效果评测课外学习指导安排教学后记每次课前半小时辅导14汽电 101 班单片机单片机原理及应用讲稿单片机原理及应用讲稿教学内容第
26、四章第四章 MCS_51MCS_51 汇编语言程序设计汇编语言程序设计备注4.1 汇编语言程序设计概述要求:熟悉汇编语句的基本格式,掌握汇编语言程序的三种基本结构。4.1.14.1.1 汇编语言的特点与语句格式汇编语言的特点与语句格式特点:汇编语言程序代码生成效率高,运行速度快;汇编语言程序的开发难度较大;汇编语言控制的实时性好;汇编语言的可移植性较差;汇编语言的语句格式:标号:操作码 操作数;注释关于语句格式的说明:1、标号:标号是由 1-8 个 ASCII 字符组成,头一个字符必须是字母;标号不能使用系统中已经定义的助记符、伪指令及其它标号;标号的后面必须加冒号;标号并不是每一条语句都需要
27、;2、操作码:表明指令的作用与功能,不能缺少。3、操作数:是指令中的操作对相,一条指令中的操作数可以是1 个、2 个、3个或没有。4、注释:不生成可执行的机器代码,但是能增加程序的可阅读性,便于程序的调试与交流。4 41 12 2 汇编语言程序设计的特点汇编语言程序设计的特点1、要求程序员要数据、程序空间的分配与使用作出具体的安排;2、要求开发人员具有较好的硬件知识;3、汇编语言程序设计的技巧较高4.24.2 单片机汇编语言程序的基本结构形式单片机汇编语言程序的基本结构形式4.2.1 顺序程序设计顺序程序结构:无分支,无跳转。例 1:有一变量存放在内部 RAM 的 20H 单元,其取值范围为:
28、00H05H,编制一段程序求该变量的平方值,将结果存入 21H 单元。程序如下:ORG 1000HSTART:MOV DPTR,#2000HMOV A,20HMOVC A,A+DPTRMOV 21H,ASJMP$;ORG 2000HTABLE:DB 00H,01H,04H,09H,10H,19HEND例 2、三字节无符号数的加法15汽电 101 班单片机加数:50H 51H 52HMOV A,R0被加数:53H 54H 55HADDC A,R1结果:50H 51H 52HMOV R0,A程序如下:MOV R0,#52HDEC R0mov R1,55hDEC R1MOV A,R0MOV A,R0
29、ADD A,R1ADDC A,R1MOV R0,AMOV R0,ADEC R0MOV 00H,CDEC R14.2.24.2.2 分支程序设计分支程序设计例 1、求双字节数的补码程序如下:START:MOV R0,#add1MOV A,R0MOV R1,#add2CPL AMOV A,R0MOV R1,ACPL ASJMP LOOP1INC AZERO:MOV A,R0MOV R1,ACPL AINC R0INC AINC R1MOV R1,AJZ ZEROLOOP1:END例 2、根据 R7 的内容转向相应的处理程序程序如下:START:MOV DPTR,#TABMOV A,R7ADD A,
30、R7MOV R3,AMOVC A,A+DPTR;先取出高 8 位地址XCH A,R3INC AMOVC A,A+DPTR;再取出低 8 位地址MOV DPL,AMOV DPH,R3CLR AJMP A+DPTRTAB:DW PORT0DW PORT1DW PORTN4.2.34.2.3 循环程序设计循环程序设计循环程序结构:当型循环/直到型循环例 1、50ms 延时程序(设系统为 12M 的晶振)16汽电 101 班单片机DELAY:MOV R7,#200DELAY_1:MOV R6,#123NOPDELAY_2:DJNZ R6,DELAY_2DJNZ R7,DELAY_1RET例 2、将内部
31、 RAM 中起始地址为 add 的数据串传送到外部 RAM 起始地址为buffer 的存储区中去,直到发现”$”符号传送结束.程序如下:MOV R0,#addLOOP1:MOVX DPTR,AMOV DPTR,#bufferINC R0LOOP0:MOV A,R0INC DPTRCJNE A,#24H,LOOP1SJMP LOOP0SJMP LOOP2LOOP2:END4.3 MCS-514.3 MCS-51 单片机汇编语言程序设计举例单片机汇编语言程序设计举例要求:熟悉与掌握常用的基本汇编语言子程序设计的基本方法,重点包括算术运算程序、代码转换程序、定时程序、查表程序等4.3.14.3.1
32、算术运算程序算术运算程序1 加减法运算例 1:三字节无符号数的加法加数:50H 51H 52HMOV A,R0被加数:53H 54H 55HADDC A,R1结果:50H 51H 52HMOV R0,A程序如下:MOV R0,#52HDEC R0MOV R1,55HDEC R1MOV A,R0MOV A,R0ADD A,R1ADDC A,R1MOV R0,AMOV R0,ADEC R0MOV 00H,CDEC R1例 2:设有两个 N 字节无符号数分别存放在内部 RAM 的单元中,低字节在前,高字节字节在后,分别用 R0 指示被减数单元地址,由 R2 指示减数单元地址,其差存放在原被减数的单元
33、地址中。CLR CINC R0MOV R2,#NINC R1LOOP:MOV A,R0DJNZ R2,LOOPSUBB A,R1JC QAZMOV R0,ARET例 3:假定 R2、R3 和 R4、R5 分别存放两个 16 位的带符号的二进制数,其中R2 和 R4 的最高位为符号位,请编写带符号双字节数的加减法运算程序,把运算结果存入 R6、R7 单元。17汽电 101 班单片机BSUB:MOV A,R4MOV ACC.7,CCPL ACC.7MOV R4,AMOV R4,ARETBADD:MOV A,R2JIAN:MOV A,R3MOV C,ACC.7CLR CMOV F0,CSUBB A,
34、R5XRL A,R4MOV R7,AMOV C,ACC.7MOV A,R2MOV A,R2SUBB A,R4CLR ACC.7MOV R6,AMOV R2,AJNB ACC.7,QWEMOV A,R4BMP:MOV A,R7CLR ACC.7CPL AMOV R4,AADD A,#1JC JIANMOV R7,AJIA:MOV A,R3MOV A,R6ADD A,R5CPL AMOV R7,AADDC A,#0MOV A,R2MOV R6,AADDC A,R4CPL F0MOV R6,ASJMP QWEJB ACC.7,QAZ.QWE:MOV C,F0QAZ:2.2.乘法运算乘法运算例、两个双
35、字节数的乘法运算,RAM 的 R2、R3 和 R6、R7 单元存放两个双字节无符号数(R2、R6 存放高字节),计算两数之积并存入 R4、R5、R6、R7 单元中。参考程序如下:DBMUL:MOV A,R3XCH A,R6MOV B,R7XCH A,BMUL ABADDC A,R5XCH A,R7MOV R5,AMOV R5,BMOV F0,CMOV B,R2MOV A,R2MUL ABMUL ABADD A,R6ADD A,R5MOV R4,AMOV R5,ACLR ACLR AADDC A,BMOV ACC.0,CMOV R5,AMOV C,F0MOV A,R6ADDC A,BMOV B,
36、R3MOV R4,AMUL ABRETADD A,R418汽电 101 班单片机4.3.2 数制转换程序1、十六进制数转换为 ASCII 码例、在内部 RAM 的 hex 单元存放由 2 位十六进制数,试将其转换成ASCII 码,并存放在 asc 和 asc+1 单元中。其参考程序如下:MOV SP,#3FHPOP ACCMAIN:PUSH hexANL A,#0FHACALL HASCADD A,#07POP hexMOVC A,A+DPTRMOV A,hexPUSH ACCSWAP AINC SPPUSH ACCINC SPACALL HASCRETPOP asc+1ASCTAB:;DB
37、0,1,2,3,4,5,6,7,8,9HASC:DEC SPDB A,B,C,D,E,FDEC SP2 2、ASCIIASCII 码转换为十六进制码码转换为十六进制码例、把外部 RAM30H-3FH单元的ASCII码转换成十六进制码并依次存入内部RAM的 60H-67H 单元。MAIN:MOV R0,#30HMOV R1,#60HMOV R7,#08HAB:ACALL TRANSWAP AMOVX R1,AINC R0ACALL TRANXCHD A,R1INC R0INC R1DJNZ R7,ABHALT:AJMP HALTTRAN:CLR CMOVX A,R0SUBB A,#30HCJNE
38、 A,#0AH,BBAJMP BCBB:JC DONEBC:SUBB A,#07HDONE:RET4.3.34.3.3 定时程序定时程序例、定时程序如下:MOV R5,#TIME1LOOP2:MOV R4,#TIME219汽电 101 班单片机LOOP1:NOPNOPDJNZ R4,LOOP1DJNZ R5,LOOP2RET该定时程序的执行时间为:T=(1+1+2)*TIME2+1+2)*TIME1+1)*T0其中 T0 为单片机的机器周期4.3.44.3.4 查表程序查表程序例例1 查有键按下字符串是否相等,相等 A=0,否则 A0 两字符串首地址 Ro,R1长度在 A 中,占用 BBJ:M
39、OV R2,ABJ1:MOV A,RoMOV B,RoCJNZ A,B,LOOP;不能转出CNC RO;相等DJNZ R2,BJ1;MOV A,#0;全相等RETLOOP:MOV A,#0全相等RETLOOP:MOVA,#1 RET例 2、根据键值转向相应的处理程序,MOV DPTR,#BSPOP DPLRL ACLR AMOV R2,AJMP A+DPTRMOVC A,A+DPTRBS:PUSH ACCDB RK0L,RK0HMOV A,R2DB RK1L,RK1HINC ADB RK2L,RK2HMOVC A,A+DPTR.MOV DPH,A20汽电 101 班单片机例 3 查表程序设计
40、1.七段码表P0.7 p0.6 p0.5 p0.4 p0.3 p0.2 p0.1p0.0h g f e d c b a“0”0 0 1 1 1 1 1 1“1”2.键值表注意:常用的查表指令:MOVC A,A+DPTRMOVC A,A+PC当使用 MOVC A,A+PC 指令时,要注意查表指令与表首单元地址之间的差,并对 A 的内容进行相应的修改。0080 900095 MOV DPTR,#BS008F F583 MOV DPH,A0083 23 RL A0091 D082 POP DPL0084 FA MOV R2,A0093 E4 CLR A0085 2400 ADD A,#0DH0094
41、 73 JMP A+DPTR0087 83 MOVC A,A+PCBS:0088 C0E0 PUSH ACC0095 0000 DB 00,00008A EA MOV A,R20097 000B DB 00,11008B 04 INC A0099 0021 DB 00,33008C 2400 ADD A,#06H.008E 83 MOVC A,A+PC4.44.4 汇编语言原程序的编辑与汇编汇编语言原程序的编辑与汇编要求:熟悉汇编语言程序编辑与汇编的基本方法一、汇编语言源程序的编辑与汇编一、汇编语言源程序的编辑与汇编1、编辑汇编源程序文件名:*.ASM文件内容:符合汇编语言源程序的书写格式2、
42、源程序的汇编21汽电 101 班单片机45 MCS-51 汇编语言伪指令要求:掌握常用的汇编语言伪指令及其应用1、汇编起始伪指令 ORG格式:标号:ORG 16 位地址例:ORG 0050HMAIN:MOV SP,#50H-2、汇编结束伪指令 END格式:标号:END 表达式3、字节数据定义伪指令 DB格式:标号:DB D1,D2,.例:DB How are you!DB-2,-4,-6,8,10,184、字定义伪指令 DW格式:标号:DW 16 位数据表例:ORG 1000HWORD:DW 324AH,3CH汇编后:(1000H)=32H,(1001H)=4AH(1002H)=00H,(10
43、03H)=3CH5、空间定义伪指令 DSORG 3000HBUF:DS 50.6、赋值伪指令 EQU格式:符号名 EQU 表达式COOLER EQU P1.0HEATER EQU P1.2VALUE EQU 40H.SETB COOLERCLR HEATERMOV VALUE,A7、位地址符号定义伪指令 BITQIDONG BIT P1.0FLAG BIT 20H22汽电 101 班单片机单片机原理及应用教案单片机原理及应用教案课题名称课次课型教学目标重点、难点及解决方法第五章:AT89S51 单片机中断系统第(12-13)次课理论();实验();学时4使学生掌握中断系统的设计方法。重点掌握与
44、中断有关的寄存器与中断有关的寄存器,难点是中断的编程及应用中断的编程及应用。解决方法是多加练习。教学基本内容与教学设计第五章第五章 中断系统中断系统5-1 AT895-1 AT89 单片机的中断及中断请求源单片机的中断及中断请求源5-1-15-1-1中断概念中断概念5-1-25-1-2中断源中断源 AT89S51AT89S51 与中断入口地址与中断入口地址5-25-2与中断有关的寄存器与中断有关的寄存器5-35-3中断响应过程及应用中断响应过程及应用5-3-15-3-1中断响应过程中断响应过程5-3-25-3-2中断的编程及应用中断的编程及应用讲授讲授教学方法教学手段课外学习安排6 道习题参考
45、资料教材学习效果评测课外学习指导安排教学后记每次课前半小时辅导23汽电 101 班单片机单片机原理及应用讲稿单片机原理及应用讲稿教学内容第五章第五章 中断系统中断系统5-1 AT895-1 AT89 单片机的中断及中断请求源单片机的中断及中断请求源5-1-15-1-1中断概念中断概念备注 1.中断概念:处理过程学会事件处理 2.引入中断的优点 (1)高速 CPU 和慢速外设的矛盾 (2)及时处理信息,提高时实控制能力 (3)具备故障处理能力5-1-25-1-2中断源中断源 AT89S51AT89S51中断入口地址中断入口地址五个中断源:INT0(0003H)TO(000BH)INT1(0013
46、H)T1(001BH)VART(0023H)T2(002BH)中断系统示意图:(P83 图 5-2)5-25-2 与中断有关的寄存器与中断有关的寄存器1.定时/计数中断控制寄存器 TCON(88H)TF1TR1TF0TR0IE1IT1IE0IT0 TF IE中断标志当 TF为 1 时 有定时器益出 T发出中断请求,执行中断程序时清零当 IE=1 时,有外部引脚提出中断请求IT为外部中断方式选择端:软件设置设 IT=1 时 外部 INT引脚为下降沿触发 IE 使 IE=1设 IT=0 时 外部 INT引脚为低电平出发 IE 使 IE=1TR为定时/计数进行计数 TR=0 定时/计数停止计数2.串
47、行口中断:99H 98H.TIRISCON(98H)24汽电 101 班单片机RI=1 接收完一组数据,可以读取 SBUF,必须软件清零TI=1 已发送完一组数据,可以读取 SBUF,必须软件清零SBUF 为串行口接收,发送寄存器地址 99H3.中断允许寄存器:IE(A8H)EAET2ESET1EX1ET0EX0EA=1#CUP 中断 EA=0禁止 CUP 中断EX0=1允许 INT0 中断 EX0=0禁止 INTO 中断ET0=1允许 T0 中断 ET0=0禁止 TO 中断EX1=1允许 INT1 中断 EX1=0禁止 INT1 中断ET1=1允许 T1 中断 ET1=0禁止 T1 中断ES
48、=1允许 UART 中断 ES=0禁止串行口中断ET2=1允许 T2 中断 ET2=0禁止 T2 中断4.4.中断优先级中断优先级 1.在同级下查询顺序2.两个优先级:中断优先控制寄存器 IPIP(0B8H)PSPT1PX1PT0PX0当哪位被软件置”1”为高级中断源,可以中断嵌套5-35-3 中断响应过程中断响应过程5-3-15-3-1 中断响应过程中断响应过程1.不响应中断的情况(1)CUPE 执行同级或高级中断程序,必须等执行完(2)执行指令没有执行完,必须执行完(3)执行 RETI 和 IE.IP 指令,必须执行完该指令,且再执行一条指令后2.中断响应过程:(1)置位相对应优先触发器(
49、2)取下一条指令的 PC 指针压栈 SP+2(3)执行一条硬件转移指令:PC 取对应的中断入口地址(4)执行中断服务子程序(5)中断返回弹出 PC 值 SP-23.中断响应时间:最短需要三个机器周期5-3-25-3-2中断的篇程及应用中断的篇程及应用 1.编写过程:(1)中断源的初始化:INT 引脚 定时/计数 UART 串行口等初始要求:对应矢量口地址:ORG 0000H 初始化 AJMP CSH ORG 0003H AJMP WBZD ORG 000BH (2)确定优先级 同级可以不写 (3)开中断和允许中断源中断 以上在主程序中篇写(初始化)(4)篇写中断时及多子程序:对应中断入口 2.
50、应用25汽电 101 班单片机例 1:篇写外部中断 INTO 的电平触发的初始化程序 CLR ITO ;电平触发 SETB PXO ;允许外中断 INTO SETB EA ;开 CUP 中断例 2:篇写计数器(外部事件)30H 计数 ORG 0000H AJMP CSH;转初始化 ORG 0003H AIMP 00BZD初始化代入口地址 ORG 0100H CSH:MOV SP#60H MOV 30H#00H SETB IT0下降沿触发 SETB EX0允许 INT0 中断 SETB EA开 CUP 中断初始化完成 ECX SJMP$执行主程序 WBZD0:INC 30H RETI END26