1、安徽水利水电职业技术学院教 案20052006 学年第一学期课 程单片机原理及应用 学时数 周 6 学时共 78 学时 系(部)电 子 信 息 工 程 系教研室 计 算 机 应 用 教 师 冯 毅 安徽水利水电职业技术学院学期授课计划课程名称:单片机 专业班级:应用与维护 0305/06 20052006 学年第一学期学期计划课时 本学期课时分配计划周数周课时数总课时数讲授实验作业练习综合练习课程设计实习实训13 6 78讲次 主要内容(或章节) 教学基本要求(或考核要求) 说明1 1.11.2 初步了解单片机的基本情况2 2.1 掌握 MCS-51 单片机的基本组成3 2.2 掌握 MCS-
2、51 单片机 I/O 端口的结构4 2.32.4 了解 MCS-51 单片机的引脚功能5 2.42.5 掌握 MCS-51 单片机的时钟电路及其工作方式和其最小系统6 3.13.2 了解 MCS-51 单片机指令系统,掌握 MCS-51 单片机指令系统的寻址方式7 3.3.1 掌握 MOV 等传送类指令的用法8 3.3.2 掌握加、减、乘、除等指令的用法9 3.3.3 掌握逻辑逻辑运算类、循环转移类指令的用法10 3.3.43.3.5 掌握调用返回、位操作指令的用法11 3.4.1 了解和掌握汇编语言程序的格式12 3.4.2.13.4.2.2 掌握顺序、分支结构的程序设计13 3.4.2.3
3、3.4.2.4 掌握循环结构的程序设计,掌握查表程序的设计14 3.4.2.5 了解子程序的使用和设计15 第三章综合练习 掌握单片机的指令系统的使用和程序设计的基本方法16 4.14.2 了解 MCS-51 单片机的中断系统17 4.24.3 掌握 MCS-51 单片机中断处理过程18 4.4 掌握扩充外部中断的方法19 5.15.2 掌握定时器/计数器的内部结构、工作原理和控制字的使用方法20 5.2 掌握定时器/计数器的工作方式及其应用方法21 6.16.2 掌握 MCS-51 单片机存储器扩展及其系统结构的理论22 6.2 掌握程序存储器 EPROM 的扩展方法23 6.3 掌握外部数
4、据存储器的扩展方法24 6.36.4 掌握 E2PROM 的扩展方法25 7.17.2 掌握串行通信的基础知识和 MCS-51 单片机的串行 I/O口及其控制寄存器26 7.37.4 掌握串行口的工作方式和波特率的设计方法27 7.57.6 掌握 MCS-51 单片机串行口的应用和多机通信28 8.18.2 掌握 MCS-51 单片机 I/O 接口的扩展及与可编程并行I/O 芯片 8255A 的接口的使用29 8.38.4 掌握 MCS-51 与可编程芯片 8155 的接口方法和 TTL 芯片扩展简单的 I/O 接口方法任课教师:冯毅 计划编制: 冯毅 系(部):计算机系 共 2 页第 1 页
5、讲次 主要内容(或章节) 教学基本要求(或考核要求) 说明30 8.5 掌握键盘/显示器接口芯片 8279 的使用方法31 9.19.2 了解 A/D 转换器的接口技术,掌握 MCS-51 单片机与 8位 D/A 转换器接口技术32 9.29.3 掌握 MCS-51 单片机与 8、12 位 D/A 转换器接口技术33 10.110.3 掌握 C51 语言的基本语法34 10.310.7 掌握 C51 语言的程序流程控制、函数、预处理等使用方法35 11.111.4 了解 8051 串行口扩展矩阵键盘、LED 显示器的接口与应用及实现多机通讯36 11.511.6 了解和掌握 DAC/ADC 转
6、换接口与应用方法37 11.711.8 了解软件模拟 I2C 总线的 C51 读写程序和打印机的接口应用38 11.9 了解单相电子式预付费电度表的设计与实现39 总复习 全书梳理、总结和概括任课教师:冯毅 计划编制: 冯毅 系(部):计算机系 共 2 页第 2 页第 1、2 课时课 题 第一章 绪论 课 型 理论教 学目 的 初步了解单片机的基本情况重 点难 点单片机的含义及作用教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计算机0305计算机0306授 课日 期 9 月 2 日 9 月 2 日教 学 过 程一、全书概述,导入新课二、主要授课内容:1
7、-1 单片机概述什么是单片机1-1-1 单片机发展概况1、 单片机发展的三个阶段第一阶段(74 年76 年)初级阶段:仙童公司 F8(8 位 CPU,64KB)第二阶段(76 年78 年)低性能单片机:Intel 公司 MCS-48(8 位 CPU)第三阶段(78 年83 年)高性能单片机:Intel 公司 MCS-51、Motorola 6801、Z8第四阶段(83 年今)新一代单片机(单片微控制器):AT89C51(Atmel)2、 单片机的发展趋势1-1-2 单片机的特点1、 集成度高,体积小,可靠性高2、 有优良的性能价格比3、 控制功能强 4、系统配置较典型、规范 5、低功耗1-1-
8、3 单片机应用领域1-2 典型单片机系列简介1-2-1 单片机系列简介1、INTEL MCS-48/51/96 系列产品 2、Motorola 68 系列 3、Zilog 8 系列等1-2-2 MCS-51 系列单片机简介1、片内 ROM 2、片内 EPROM 3、外接 EPROM1-2-3 MCS-96 系列单片机简介1-2-4 新型单片机简介三、小结,布置作业课后小结输入设备 运算器 输出设备控制器 内存第 3、4 课时课 题 MCS-51 单片机的基本组成 课 型 理论教 学目 的1、掌握 MCS-51 单片机的基本组成 2、了解单片机位地址空间分配3、掌握 MCS-51 单片机内部存储
9、器的空间与分配重 点难 点1、 单片机的内部结构2、 单片机的存储器结构教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计算机0305计算机0306授 课日 期 9 月 6 日 9 月 6 日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:2-1 MCS-51 单片机的基本组成Intel MCS-51 系列单片机三个版本:8031、8051、8751(8 位机)2-1-1 8051 单片机内部结构及引脚1、中央处理单元(8 位)数据处理、测试位,置位,复位 位操作2、只读存储器(4KB 或 8KB)永久性存储应用程序,掩模 ROM、
10、EPROM、EEPROM3、随机存取内存(128B、128B SFR)在程序运行时存储工作变量和资料4、并行输入/输出口(I / O) (32 条) 作系统总线、扩展外存、I / O 接口芯片5、串行输入/输出口(2 条) 串行通信、扩展 I / O 接口芯片6、定时/计数器(16 位、加 1 计数)计满溢出、中断标志置位、向 CPU 提出中断请求7、时钟电路内振、外振。8、中断系统 五源中断、2 级优先。2-1-2 存储器结构1、 存储器结构:普林斯顿结构和哈佛结构2、 8051 存储器配置情况程序存储器:寻址范围:0000H FFFFH 容量 64KB 地址长度:16 位EA = 1,寻址
11、内部 ROM;EA = 0,寻址外部 ROM作用: 存放程序及程序运行时所需的常数。3、 片内数据存储器:物理上分为两大区:00H 7FH 即 128B 内 RAM 和 SFR 区。1)片内数据存储器低 128 字节单元(1)工作寄存器区 (2)位寻址区 (3)用户 RAM 区2)特殊功能寄存器 SFR(1)字节寻址 (2)位寻址4、 片外数据存储器5、 堆栈及堆栈指针1)堆栈的功能 2)堆栈指针 SP三、小结,布置作业课后小结第 5、6 课时课 题 I/O 端口结构 课 型 理论教 学目 的 掌握 MCS-51 单片机 I/O 端口的结构和使用方法重 点难 点 P0 、P1、P2、P3 口结
12、构和使用教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计算机0305计算机0306授 课日 期 9 月 7 日 9 月 7 日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:四个端口、双向、每个口包含一个锁存器、一个输出驱动器和二个输入缓冲器2-2-1 P0 口结构及应用1、结构(P0口电路图)2、通用I / O口1)读(端口外数据 内部寄存器) 作为通用I / O使用, 是一个准双向口:“在输入数据时应先把口置1,使两个FET 都截止,引脚处于悬浮状态,可作高阻抗输入”2)写(片内数据 端口)数据 锁存 MUX P0x3)地址/
13、数据总线口 控制 MUX写:地址/数据为1,P0x 高 地址/ 数据为0,P0x 低 读:经缓冲器G1 读入4)负载能力 可带8个TTL输入,驱动NMOS时,接上拉电阻。总结特点:(1)P0口可作通用I / O口使用,又可作地址/数据总线口;(2)P0既可按字节寻址,又可按位寻址;(3)P0作为输入口使用时:是准双向口;(4)作通用I / O 口输出时:是开漏输出;(5)作地址/数据总线口时,P0是一真正双向口,而作通用I / O口时,只是一个准双向口2-2-2 P1 口结构及应用1、结构:只能作I / O口用,且是一个准双向口。内部已有上拉电阻,不是开漏输出口。2、特点:(1)无地址/数据口
14、功能(2)可按字节寻址,也可按位寻址(3)作I / O输入口时:是一准双向口,不是开漏输出2-2-3 P2 口结构及应用1、结构 2、特点:(1)当 P2 口作为通用 I / O 时,是一准双向口。 (2)从 P2 口输入数据时,先向锁存器写“1” 。 (3)可位寻址,也可按字节寻址(4)可输出地址高 8 位。2-2-4 P3 口结构及应用1、结构图 2、特点:(1)作通用I / O 时, “选择输出功能”应保持高电平, (2)工作于第二功能时,该位锁存器应置1, (3)作输入口时,输出锁存器和选择输出功能端都应置1(4)第二功能专用输入,取自输入通道第一缓冲器(G1 )输出端,通用输入信号取
15、自“读引脚” 。三、小结,布置作业课后小结第 7、8 课时课 题 MCS-51 单片机的引脚功能 课 型 理论教 学目 的 了解 MCS-51 单片机的引脚功能重 点难 点 单片机外部引脚的使用教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计算机0305计算机0306授 课日 期 9 月 9 日 9 月 9 日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:2-3 MCS-51 单片机的引脚功能DIP 40 脚2-3-1 引脚信号功能介绍1、主电源引脚Vss 、 Vcc2、外接晶振引脚XTAL1 、 XTAL23、控制或复位引脚R
16、ST / VPD 两个机器周期高电平,单片机复位。P0 P3 口:输出高电平 SP : 07H SFR、PC: 清 0不影响内 RAM 状态,机器从 0 地址开始执行。上电复位电路、电平方式开关复位电路如图 2-4 所示。ALE / PROG :地址锁存控制端提供 1/6 fosc 振荡频率,输入编程脉冲 EPROMPSEN :外部程序内存的读选通信号端。EA / VPP :EA = 1 ,访问内部程序内存当 PC 值超过内 ROM 范围(0FFFH)时,自动转执行外部内存的程序EA = 0 , 只访问外部程序内存。对 8751 机,可施加 21V 编程电源(Vpp)4、输入/输出引脚P0 P
17、3:四个 I / O 口,每口 8 线,共同 32 线。2-3-2 引脚信号的第二功能1、 P3 口端口线的第二功能2、 EPROM 存储器程序固化所需要的信号3、 备用电源三、小结,布置作业课后小结第 9、10 课时课 题 时钟电路及其工作方式和 MCS-51 单片机最小系统 课 型 理论教 学目 的 掌握 MCS-51 单片机的时钟电路及其工作方式和其最小系统重 点难 点1、 MCS-51 单片机的时钟电路2、 MCS-51 单片机最小系统教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计算机0305计算机0306授 课日 期 9 月 13 日 9
18、月 13 日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:2-4 钟电路及其工作方式2-4-1 时钟电路1、时钟信号的产生 XTAL1,XTAL22、引入外部脉冲信号2-4-2 时序定时单位1、 拍节与状态(时钟周期与状态周期):一个状态周期包含两个时钟周期2、 机器周期:一个机器周期包含六个状态周期,十二个时钟周期3、 指令周期:最大的时序单位,有一、二、四个机器周期2-4-3 MCS51 指令时序1、 单字节单周期指令2、 双字节单周期指令3、 单字节双周期指令2-4-4 MCS51 单片机的工作方式1、 复位方式(1) 单片机的初始化操作复位 (2) 复位信号:高
19、电平有效,持续 24 个振荡周期,即两个机器周期 (3) 复位方式 上电自动复位 按键电平复位 按键脉冲复位2、 单步执行方式3、 程序执行方式2-5 MCS51 单片机最小系统将 MCS51 单片机以及与之相匹配的时钟电路、复位电路组合在一起,形成 MCS51 单片机最小系统。三、小结,布置作业课后小结第 11、12 课时课 题 MCS-51 单片机指令系统简介和寻址方式 课 型 理论教 学目 的 了解 MCS-51 单片机指令系统,掌握 MCS-51 单片机指令系统的寻址方式重 点难 点 MCS-51 单片机指令系统的寻址方式教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教
20、学方法 讲授授 课班 级计算机0305计算机0306授 课日 期 9 月 14 日 9 月 14 日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:3-1 MCS-51 指令系统简介共 111 条指令,共分五大类:数据传送类;(29 条)算术运算类;(24 条)逻辑运算类;(24 条)控制转移类;(17 条)位操作类。 (17 条)3-2 MCS-51 指令系统的寻址方式寻址方式:即寻找操作数存放单元的地址的方式,共 7 种方式。1、立即数寻址:所要找的操作数是一二进制数或十进制数,出现在指令中,用“#”作前缀。如: MOV A,#20H2、寄存器寻址:操作数存放在工作寄
21、存器 R0 R7 中,或寄存器 B 中。如:MOV A,R23、直接寻址:指令中直接给出操作数的地址。如:MOV A,30H MOV 30H,DPH4、寄存器间接寻址:指令中寄存器的内容作为操作数存放的地址,指令中间接寻址寄存器前用“”表示前缀。举“两个抽屉,两把钥匙”的例子。MOV R0,#30H MOV A,R0 MOV A,#20H MOV R1,#40HMOV R1,A5、变址寻址:该寻址方式常用于访问程序存储器,查表。 操作数地址 = 变地址 + 基地址基地址寄存器 DPTR 或 PC 变址寄存器 A如:MOV A,A + DPTR6、相对寻址:把指令中给定的地址偏移量与本指令所在单
22、元地址(PC 内容)相加得到真正有效的操作数所存放的地址。举“李同学 20 岁,张同学比李同学大 3 岁”的例子。JC 60H ;设(PC) = 2000H,则当 C = 1 时,转移的目的地址 = (PC)+ 2 + 60H7、位寻址:对片内 RAM 的位寻址区和可以位寻址的专用寄存器进行位操作时的寻址方式。如:MOV C, 24H.O三、小结,布置作业课后小结第 13、14 课时课 题 数据传送类指令 课 型 理论教 学目 的 掌握 MOV 等传送类指令的用法重 点难 点1、 RAM 数据传送2、 堆栈操作指令教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授
23、课班 级计算机0305计算机0306授 课日 期 9 月 16 日 9 月 16 日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:3-3 MCS-51 指令系统及一般说明指令中操作数的描述符号:Rn 工作寄存器 R0 R7;Ri 间接寻址寄存器 R0、R1;等3-3-1 数据传送类指令1、内部数据传送指令:MOV ,1) 以累加器 A 为目的操作数的指令2) 以 Rn 为目的操作数的指令3) 以直接地址为目的操作数的指令 4) 以寄存器间接地址为目的操作数指令应用举例:MOV P1, #0FEH ; 11111110B 可以使 P1.0 上的发光二极管点亮MOV P1,
24、 #0F0H ; 11110000B 可以使 P1 口上的上面 4 个发光二极管点亮5) 16 位数据传输指令2、堆栈操作指令进栈指令 PUSH direct 退栈指令 POP direct 3、累加器 A 与外部数据传输指令MOVX A, DPTR ; A (DPTR)MOVX A, Ri; A (Ri) MOVX DPTR, A ; (DPTR) (A)MOVX Ri, A ; (Ri) (A)4、查表指令MOVC A, A+DPTR; A (A)+(DPTR)MOVC A, A+PC; A (A)+(PC) 5、字节交换指令 XCH A,Rn XCH A,direct XCH A,Ri6
25、、半字节交换指令 XCHD A,Ri SWAP A三、小结,布置作业课后小结第 15、16 课时课 题 算术操作类指令 课 型 理论教 学目 的 掌握加、减、乘、除等指令的用法重 点难 点1、 加法、减法指令2、 二-十进制调整指令教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计算机0305计算机0306授 课日 期 9 月 20 日 9 月 20 日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:3-3-2 算术操作类指令包括:加、 减、乘、除;加一、减一。影响 PSW 中各标志位。1、加法指令ADD A,Rn ; ADD A,
26、direct;ADD A,Ri;ADD A,#data无符号数相加时:若 C = 1,说明有溢出(其值 255) 。带符号数相加时:若 OV = D7cD6c = 1,说明有溢出。2、带进位加法指令ADDC A,Rn ; ADDC A,direct;ADDC A,Ri;ADDC A,#data上述四条指令多用于多字节数相加。3、带借位减法指令SUBB A,Rn ;SUBB A,direct;SUBB A,Ri ;SUBB A,#data4、加 1、减 1 指令1)增量指令:INC A ;INC Rn; INC direct;INC Ri; INC DPTR2)减量指令:DEC A ;DEC R
27、n;DEC Ri ;DEC direct5、十进制调整指令:DA A ;二 十进制调整指令。执行过程中,CPU 能根据加法运算后,累加器中的值和 PSW 中的 AC 及 C 标志位的状况自动选择一个修正值(00H、06H、60H、66H)与原运算结果相加,进行二十进制调整。选择修正值的规则:(A3 0) 9 或(AC)= 1 时, (A3 0)+6;(A7 4) 9 或 (C) = 1 时, (A7 4)+ 66、乘法指令MUL AB ;(A)(B) ,积的低 8 位在 A 中,积的高 8 位在 B 中;C 总为 0。7、除法指令DIV AB ;(A)(B) ,商在 A 中,余数在 B 中。若
28、(B)= 0 ,则结果不定, (OV)= 1, (C)= 0。8、综合举例和运用三、小结,布置作业课后小结第 17、18 课时课 题 逻辑运算类和循环类指令 课 型 理论教 学目 的 掌握逻辑运算类、循环转移类指令的用法重 点难 点1、 逻辑运算指令2、 转移指令教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计算机0305计算机0306授 课日 期 9 月 21 日 9 月 21 日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:3-3-3 逻辑运算类指令共分两大类:单字节逻辑操作,双字节逻辑操作,共 24 条。1、单字节逻辑操作
29、指令(1)清零、取反指令:CLR A ;CPL A (2)循环左移、右移指令:RL A ;RLC A; RR A; RRC A注:左移一位相当于乘 2;右移一位相当于除 2。2、双字节逻辑操作指令(1) “与操作”:ANL A,Rn ; ANL A,direct;ANL A,Ri;ANL A,#dataANL direct,A;ANL direct,#data(2) “或操作”:ORL A,Rn ; ORL A,direct;ORL A,Ri;ORL A,#dataORL direct,A;ORL direct,#data(3) “异或操作”:XRL A,Rn ;XRL A,direct;XR
30、L A,Ri;XRL A,#dataXRL direct,A;XRL direct,#data在上述 ANL、ORL、XRL 操作中,用于端口操作时,无论 P0 P3 是第一,还是第二操作数,都遵循“读修改写”端口锁存器的操作。3-3-4 控制转移指令1、无条件转移指令(1)长跳转指令:LJMP addr16(2)短跳转指令:AJMP addr11(3)相对转移指令:SJMP rel(4)间接跳转指令:JMP A + DPTR三、小结,布置作业课后小结第 19、20 课时课 题 调用返回、位操作指令 课 型 理论教 学目 的 掌握调用返回、位操作指令的用法重 点难 点1、 调用返回指令2、 位
31、操作指令教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计算机0305计算机0306授 课日 期 9 月 23 日 9 月 23 日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:3-3-4 控制转移指令2、条件转移指令(1)判零转移:JZ rel ;若(A)= 0 ,则转移,否则顺序执行。JNZ rel ; 若(A) 0,则转移,否则顺序执行。(2)比较转移指令: CINE A,#data,rel ;CJNE A,direct,relCJNE Ri,#data,rel ;CJNE Rn,#data,rel3、子程序调用和返回指令(
32、1)绝对调用指令 ACALL addr11 (2)长调用指令 LCALL addr16(3)子程序返回指令 RET (4)中断返回指令 RETI3-3-5 位操作类指令1 位传送指令 (1)MOV C,bit (2)MOV bit,C2 位变量修改指令(1)CLR C (2)CLR bit (3) CPL C(4)CPL bit (5)SETB (6)SETB bit3 位逻辑操作指令(1)ANL C,bit (2)ANL C,/bit(/表示逻辑非操作)(3)ORL C,bit (4)ORL C,/bit3.位条件转移指令 (1)JC rel;若(Cy)=1, 则转移 PC(PC)+2+re
33、l(2)JNC rel;若(Cy)=0, 则转移 PC(PC)+2+rel (3)JB bit,rel;若(bit)=1, 则转移 PC(PC)+3+rel(4)JNB bit,rel;若(bit)=0, 则转移 PC(PC)+3+rel(5)JBC bit,rel;若(bit)=1, 则转移 PC(PC)+3+rel, 并 bit 0三、小结,布置作业课后小结第 21、22 课时课 题 汇编语言源程序的格式 课 型 理论教 学目 的 了解和掌握汇编语言程序的格式重 点难 点 伪指令教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计算机0305计算机03
34、06授 课日 期 9 月 27 日 9 月 27 日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:3-4 汇编语言程序设计3-4-1 汇编语言源程序的格式标号:操作码 操作数;注释1、 ORG(起始伪指令)ORG:16 位地址指明后面的程序或数据块的起始地址, 它总是出现在每段源程序或数据块的开始。 2、 EQU(数据字节赋值伪指令)标号:EQU 数字使指令中的字符名称等价于给定的数字或汇编符号。使用等值指令可给程序的编制、调试、修改带来方便, 如果在程序中要多次使用到某一地址,由 EQU 指令将其赋值给一个字符名称, 一旦需要对其进行变动, 只要改变 EQU 命令后面
35、的数字即可, 而不需要对程序中涉及到该地址的所有指令逐句进行修改。 但要注意, 由 EQU 等值的字符名称必须先赋值后使用, 且在同一个源程序中, 同一个标号只能赋值一次。 3、 DB(定义字节伪指令)标号:DB 项或项表把 8 位二进制数表依次存入从标号开始的连续的存储单元中。 4、 DW(定义字伪指令)标号:DW 项或项表该指令的功能与 DB 相似, 区别仅在于从指定地址开始存放的是指令中的 16 位数据, 而不是字节串。5、 END(汇编结束命令)END 或 END 标号格式中标号以及 END 后面的地址或标号可有可无。 功能: 提供汇编结束标志。汇编程序遇到 END 后就停止汇编 ,
36、对 END 以后的语句不予处理, 故 END 应放在程序的结束处。 6、 bit(定义位的标号)标号 bit 项7、 汇编语言程序设计的基本方法:(1)分析题目 (2)确定算法(3)程序结构的设计(4)编写源程序(5)汇编和调试三、小结,布置作业课后小结第 23、24 课时课 题 顺序、分支结构 课 型 理论教 学目 的 掌握顺序、分支结构的程序设计重 点难 点 顺序、分支结构的程序设计教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计算机0305计算机0306授 课日 期 9 月 28 日 9 月 28 日教 学 过 程一、复习上堂课内容,提问巩固,导
37、入新课二、主要授课内容:3-4-2 MCS51 单片机汇编语言程序设计举例1、简单程序设计顺序程序是指无分支、无循环结构的程序。其执行流程是依指令在存储器中的存放顺序进行的。例:两个无符号双字节数相加。 设被加数存放于内部 RAM 的 40H(高位字节), 41H(低位字节), 加数存放于 50H(高位字节), 51H(低位字节), 和数存入 40H 和 41H 单元中。例:将两个半字节数合并成一个一字节数。 设内部 RAM 40H, 41H 单元中分别存放着 8 位二进制数, 要求取出两个单元中的低半字节, 并成一个字节后, 存入 50H 单元中。2、 分支程序设计1)分支程序的分类:(1)
38、 一般分支:两分支(2) 散转:多分支2)一般分支程序设计例: x, y 均为 8 位二进制数, 设 x 存入 R0, y 存入 R1, 求解例:比较两个无符号数的大小。设外部 RAM 的存储单元 ST1 和 ST2 中存放两个不带符号的二进制数, 找出其中的大数存入外部 RAM 中的 ST3 单元中。三、小结,布置作业课后小结010x第 25、26 课时课 题 循环结构和查表程序 课 型 理论教 学目 的 掌握循环结构的程序设计,掌握查表程序的设计重 点难 点1、 循环结构的程序设计2、 查表程序的设计教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计
39、算机0305计算机0306授 课日 期 9 月 30 日 9 月 30 日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:3、 循环程序设计循环程序是指按某种控制规律重复执行的程序作用:可以减少指令,节省存储单元 1)循环程序的组成:(1)初始化部分:准备部分;(2)处理部分:循环主体(3)修改部分:为进入下一轮循环或循环结束测试做准备(4)控制部分:确定循环是否继续进行。 说明循环控制必须准确设置,对于已知循环次数的程序可使用 DJNZ 指令;对未知循环次数的程序由条件转移指令判断循环是否结束。(5)结束部分:分析、处理及存放程序执行结果。2)循环程序的形式:(1)先执
40、行后判断(说明其流程图)(2)先判断后执行(说明其流程图)例:用 8051 单片机的 P1 连接的 8 个发光二极管模拟广告流水灯,编程实现 8 个发光二极管循环点亮。例:设在片外 RAM 40H 开始的存储区中有若干个字符,已知最后一个字符为“$” (并且只有 1个) ,试统计字符的个数(包括$字符) 。结果存入片内 30H 单元中。4、 查表程序设计例:设计一个将 16 进制数转换成 ASCII 码的程序三、小结,布置作业课后小结第 27、28 课时课 题 子程序 课 型 理论教 学目 的 了解子程序的使用和设计重 点难 点 子程序教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5
41、. 教学方法 讲授授 课班 级计算机0305计算机0306授 课日 期 10 月 9 日 10 月 9 日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:5、子程序设计1)子程序的结构 (1)子程序的概念:通常把这些基本操作功能编制为程序段作为独立的子程序, 以供不同程序或同一程序反复调用。在程序中需要执行这种操作的地方放置一条调用指令, 当程序执行到调用指令, 就转到子程序中完成规定的操作, 并返回到原来的程序继 续执行下去。主要特点是,在执行过程中需要由其他程序来调用,执行完后又需要把执行流程返回到调用该子程序的主程序。 子程序调用时要注意两点:一是现场的保护和恢复;
42、二是主程序与子程序的参数传递。(2)子程序的调用: 调用子程序的指令有“ACALL”和“LCALL”, 执行调用指令时, 先将程序地址指针 PC 改变(“ACALL”加 2, “LCALL”加 3), 然后 PC 值压入堆栈, 用新的地址值代替。执行返回指令时, 再将 PC 值弹出。子程序调用中, 主程序应先把有关的参数存入约定的位置, 子程序在执行时, 可以从约定的位置取得参数, 当子程序执行完, 将得到的结果再存入约定的位置, 返回主程序后, 主程序可以从这些约定的位置上取得需要的结果, 这就是参数的传递。2)现场保护与恢复在子程序执行过程中常常要用到单片机的一些通用单元,如工作寄存器 R
43、0R7、累加器 A、数据指针 DPTR 以及有关标志和状态等。而这些单元中的内容在调用结束后的主程序中仍有用,所以需要进行保护,称为现场保护。在执行完子程序,返回继续执行主程序前恢复其原内容,称为现场恢复。3)参数传递由于子程序是主程序的一部分,所以,在程序的执行时必然要发生数据上的联系。在调用子程序时,主程序应通过某种方式把有关参数(即子程序的入口参数)传给子程序,当子程序执行完毕后,又需要通过某种方式把有关参数(即子程序的出口参数)传给主程序。1利用累加器或寄存器2利用存储器3利用堆栈三、小结,布置作业课后小结第 29、30 课时课 题 第三章综合练习 课 型 习题教 学目 的 掌握单片机
44、的指令系统的使用和程序设计的基本方法重 点难 点 程序设计教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计算机0305计算机0306授 课日 期10 月 11日10 月 11日教 学 过 程一、复习上堂课内容,提问巩固,导入新课简要回顾本章所学的有关内容:伪指令、基本程序结构、子程序等,学习常用程序设计的有关内容。二、主要授课内容:例 1:将一个字节二进制数转换成 3 位非压缩型 BCD 码。设一个字节二进制数在内部 RAM 40H 单元, 转换结果放入内部 RAM 50H, 51H, 52H 单元中(高位在前)例如:92H=146D,则其 BCD 码
45、为:00000001 00000100 00000110例 2:设 4 位 BCD 码依次存放在内存 RAM 中 40H43H 单元的低 4 位, 高 4 位都为 0, 要求将其转换为二进制数, 结果存入 R2R3 中。一个十进制数可表示为: Dn10n +Dn-110n-1 + + D0100=(Dn10+Dn-1)10+Dn-2)10+)+D0 当 n=3 时, 上式可表示为: (D310+D2)10+D1)10+D0例 3、将 40H 开始存放的 10 个字节的数与 50H 开始存放的 10 个字节的数相减(假设被减数大于减数) 。设被减数指针为 R0, 减数指针为 R1, 差数放回被减
46、数单元, R5 存放字节个数。例 4:假定被乘数在(R4R3)中, 乘数放在 R2 中, 乘积放在 R7R6 和 R5 中。 MCS - 51 中有 8 位数的乘法指令 MUL, 用它来实现多字节乘法时, 可表示为(R4R3)(R2) =(R4)28+(R3) (R2)= (R4)(R2)28+(R3)(R2) ,其中(R4)(R2)和(R3)(R2)都是可直接用 MUL 指令来实现, 而乘以 28 意味着左移 8 位。三、小结,布置作业课后小结第 31、32 课时课 题 中断技术和 MCS-51 的中断系统 课 型 理论教 学目 的 了解 MCS-51 单片机的中断系统重 点难 点 中断的概
47、念及中断控制教 辅工 具 1.模型 2.挂图 3.投影 4.多媒体 5. 教学方法 讲授授 课班 级计算机0305计算机0306授 课日 期10 月 12日10 月 12日教 学 过 程一、复习上堂课内容,提问巩固,导入新课二、主要授课内容:4-1 中断技术1、 中断:中断是指计算机在执行某一程序的过程中, 由于计算机系统内、外的某种原因, 而必须中止原程序的执行, 转去执行相应的处理程序, 待处理结束之后, 再回来继续执行被中止的原程序的过程。2、 中断的作用:(1)解决 CPU 和慢速外设之间的矛盾(2)可及时处理控制系统中许多随机的参数和信息(3)具备了处理故障的能力,提高机器自身可靠性
48、4-2 MCS - 51 中断系统4-2-1 MCS - 51 中断源(五个中断源):2 个外部、3 个内部外部中断 INT0,INT1;定时器/计数器 T0,T1 溢出中断;串行口中断1、TCON 寄存器 :TF1 TF0 IE1 IT1 IE0 IT02、SCON 寄存器 D7 D6 D5 D4 D3 D2 D1 D0 TI RI4-2-2 MCS - 51 中断控制 (1)中断允许控制 IE: D7 D0EA - ET2 ES ET1 EX ET0 EX0(2)中断优先级控制 IP:D7 D4 D0- - PT2 PS PT1 PX1 PT0 PX0(3)中断优先级遵循的原则:低优先中断可被高优先级中断所中断某个中断一旦得到响应,与它同级的中断请求不能再中断它。(4)同级中断的优先级:外部中断 0(最高) 、T/C0、外部中断 1、T/C1、串口(最低) 。例如, 某软件中对寄存器 IE、 IP 设置如下: MOV IE, 8FH MOV IP, 06H则此时该系统中: CPU 中断允许;