单片机原理及应用教学教案

更新时间:2024-05-08 03:44:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一讲

一、授课内容:

1、什么是单片机 2、单片机的发展 二、授课类型:讲授 三、授课时数:2学时

四、教学目标:了解单片机的发展,应用领域和应用模式,掌握单片机的特点 五、教学重、难点:

重点/难点:单片机的特点 六、教学设想:

借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣. 七、教学过程:(板书) 一、什么是单片机

随着微电子技术的不断发展,计算机技术也得到迅速发展,并且由于芯片的集成度的提高而使计算机微型化,出现了单片微型计算机(Single Chip Computer),简称单片机,也可称为微控制器MCU(Micro controller Unit)。单片机,即集成在一块芯片上的计算机,集成了中央处理器CPU(Central Processing Unit)、随机存储器RAM(Random Access Memory)、只读存储器(Read Only Memory)、定时器/计数器以及I/O接口电路等主要计算机部件。 二、 单片微型计算机发展概况

单片机出现的历史并不长, 但发展十分迅猛。 它的产生与发展和微处理器的产生与发展大体同步, 自1971年美国Intel公司首先推出4位微处理器(4004)以来, 它的发展到目前为止大致可分为5个阶段:

第1阶段(1971~1976): 单片机发展的初级阶段。 1971年11月Intel公司首先设计出集成度为2 000只晶体管/片的4位微处理器Intel 4004, 并配有RAM、 ROM和移位寄存器, 构成了第一台MCS—4微处理器, 而后又推出了8位微处理器Intel 8008, 以及其它各公司相继推出的8位微处理器。

第2阶段(1976~1980): 低性能单片机阶段。 以1976年Intel公司推

出的MCS—48系列为代表, 采用将8位CPU、 8位并行I/O接口、 8位定时/计数器、 RAM和ROM等集成于一块半导体芯片上的单片结构, 虽然其寻址范围有限(不大于4 KB), 也没有串行I/O, RAM、 ROM容量小, 中断系统也较简单, 但功能可满足一般工业控制和智能化仪器、 仪表等的需要。

第3阶段(1980~1983): 高性能单片机阶段。 这一阶段推出的高性能8位单片机普遍带有串行口, 有多级中断处理系统, 多个16位定时器/计数器。 片内RAM、 ROM的容量加大,且寻址范围可达64 KB, 个别片内还带有A/D转换接口。

第4阶段(1983~80年代末): 16位单片机阶段。 1983年Intel公司又推出了高性能的16位单片机MCS—96系列, 由于其采用了最新的制造工艺, 使芯片集成度高达12万只晶体管/片。

第5阶段(90年代): 单片机在集成度、 功能、 速度、 可靠性、 应用领域等全方位向更高水平发展。 单片机的应用特性: (1)集成度高

MCS-51系列单片机代表产品为8051,8051内部包含4KB的ROM、128B的RAM、四个8位并行口、一个全双工串行口、两个16位定时器/计数器以及一个处理功能强大的中央处理器。 (2)系统结构简单

MCS-51系列单片机芯片内部采用模块化结构,增加或更换一个模块就能获得指令系统和引脚兼容的新产品。另一方面,MCS-51系列单片机具有64KB的外部程序存储器寻址能力和64KB的外部RAM和I/O口寻址能力。Intel公司标准的I/O接口电路和存储器电路都可以直接连到MCS-51系列单片机上以扩展系统功能,应用非常灵活。 (3)可靠性高

单片机产品和其他产品一样,出厂指标有军用品、工业品和商用品之分。其中军用品要求绝对可靠,在任何恶劣的环境下都能可靠工作,主要用于武器系统、航空器等方面。单片机属于工业品,能在常温下工作,不需要在温度恒定的机房内工作。由于单片机总线大多在芯片内部不易受干扰,而且单片机应用系统

体积小,易于屏蔽,所以单片机的可靠性较高。(4)处理功能强,速度快

MCS-51系列单片机指令系统中具有加、减、乘、除指令,各种逻辑运算和转移指令,还具有位操作功能。CPU时钟频率高达12MHz,单字节乘法和除法仅需要4μs,而且具有特殊的多机通信功能,可作为多机系统中的子系统。 单片机的制造工艺:

制造单片机的工艺只有两种:HMOS工艺和CHMOS工艺。

早期的MCS-51系列芯片都采用HMOS工艺,即高密度、短沟道MOS工艺。8051、8751、8031、8951等产品均属于HMOS工艺制造的产品。

CHMOS工艺是CMOS和HMOS的结合,除保持了HMOS工艺的高密度、高速度之外,还具有CMOS工艺低功耗的特点。例如HMOS工艺制造的8051芯片的功耗为630mW,而用CHMOS工艺制造的80C51芯片的功耗为120mW,这么低的功耗用一粒钮扣电池就可以工作。单片机型号中包含有“C”的产品就是指它的制造工艺是CHMOS工艺。例如80C51,就是指用CHMOS工艺制造的8051。 三、 单片机的特点

(1)体积小、重量轻、功耗低、功能强、性价比高。

(2)数据大都在单片机内部传送,运行速度快,抗干扰能力强,可靠性高。 (3)结构灵活,易于组成各种微机应用系统。

(4)应用广泛,既可用于工业自动控制等场合,又可用于测量仪器、医疗仪器

及家用电器等领域。 (5)内含有Flash存储器

由于片内含有Flash存储器,因此在系统开发过程中可以十分容易地进行程序的修改。同时,在系统工作过程中,能有效地保存数据信息,即使外界电源损坏也不影响信息的保存。 (6)和AT80C51插座兼容

AT89系列单片机的引脚和MCS-51系列单片机的引脚是一样的。只要用相同引脚的AT89系列单片机就可以取代MCS-51系列单片机。 (7)静态时钟方式

AT89系列单片机采用静态时钟方式,节省电能,这对于降低便携式产品的功耗十分有用。

第二讲

一、授课内容:

1 、MCS-51和80C51系列简介 2、单片机的应用领域和应用模式 二、授课类型:讲授 三、授课时数:2学时

四、教学目标:了解单片机的发展,应用领域和应用模式,掌握单片机的特点 五、教学重、难点:

重点/难点:单片机的特点 六、教学设想:

借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣. 七、教学过程:(板书)

一、单片机系列简介

目前世界上单片机生产厂商很多, 如: Intel、 Motorola、 Philips、 Siemens、 NEC、 ADM、 Zilog等公司, 其主流产品有几十个系列, 几百个品种。 尽管其各具特色, 名称各异, 但作为集CPU、 RAM、 ROM(或EPROM)、 I/O接口、 定时器/计数器、 中断系统为一体的单片机, 其原理大同小异。 现以Intel公司的系列产品为例, 说明各系列之间的区别。

Intel公司从其生产单片机开始, 发展到现在, 大体上可分为3大系列: MCS—48系列、 MCS—51系列、 MCS—96系列。 MCS—51单片机系列:

MCS—51系列单片机虽已有10多种产品, 但可分为两大系列: MCS—51子系列与MCS—52子系列。 MCS—51子系列中主要有8031、 8051、 8751 三种类型。而MCS—52子系列也有3种类型8032、 8052、 8752。

在某些性能上略有差异。 由此可见, 在本子系列内各类芯片的主要区别在于片内有无ROM或EPROM; MCS—51与MCS—52子系列间所不同的是片内程序存储器ROM从4 KB增至8 KB; 片内数据存储器由128个字节增至256个字节;定时器/计数器增加了一个; 中断源增加了1~2个。 另外, 对于制造工艺为CHMOS

的单片机, 由于采用CMOS技术制造, 因此具有低功耗的特点, 如8051功耗约为630 mW, 而80C51的功耗只有120 mW。

MCS-51是一个单片机系列产品,具有多种芯片型号。具体说,按其内部资源配置的不同,MCS-51可分为两个子系列和四种类型. MCS子系列 片内ROM形式 无 ROM 片内ROM容2EPROM EPROM 量 片内RAM容量 定时器/计数中断源 器 MCS-518031 子系列 8051 8751 8951 4KB 128B 2×16 5 MCS-528032 子系列

8052 8752 8952 8KB 256B 3×16 6 MCS-51子系列包含4个产品,这4个产品具有不同的应用特性。 8051:单片机8051内部包含了4KB的ROM、128B的RAM、21个特殊功能寄存器、4个8位并行口、一个全双工串行口、两个16位定时器/计数器以及一个处理功能很强的中央处理器,是一台完整的微型计算机

8751:是以4KB的EPROM代替4KB ROM的8051。

8951:是以4KB的E2PROM(或Flash ROM)代替4KB ROM的8051。 8031:是内部无ROM的8051。单片机8031不构成完整计算机,必须外接EPROM作为程序存储器。

52子系列也包含4个产品,分别是51子系列的增强型。由于资源数量的增加,芯片的功能有所增强。片内ROM容量从4KB增加到8KB;RAM容量从128B增加到256B;定时器数目从2个增加到3个;中断源从5个增加到6个等。

80C51单片机系列是在MCS-51系列的基础上发展起来的。 最早推出80C51系列芯片的是Intel公司,并且作为MCS-51系列的一部分,按原MCS-51系列芯片的规则命名,例如80C51、80C31、87C51等(至于89C51,我们把它归入89系列单片机,将在下一节介绍)。

后来越来越多的公司生产80C51芯片,而且型号的命名已面目全非,功能上也做了不同程度的改进,如增加了A/D转换、高速I/O口等。有些还在总线结构上做了重大改进,出现了廉价的非总线型单片机芯片。但是万变不离其宗: CHMOS工艺芯片80C51/80C31/87C51/89C51的基本特征是低功耗、允许的电源电压波动范围较大(为5V±20%),并有三种功耗控制方式(增加了待机和掉电保护两种方式)。

习惯上,我们仍然把80C51系列作为MCS-51的子系列。 二、单片机的应用

由于单片机具有体积小、 重量轻、 价格便宜、功耗低, 控制功能强及运算速度快等特点, 因而在国民经济建设、 军事及家用电器等各个领域均得到了广泛的应用。 (1)家用电器领域

目前国内各种家用电器已普遍采用单片机控制取代传统的控制电路,而做成单片机控制系统。例如洗衣机、电冰箱、空调机、微波炉、电饭煲、电视机、录像机及其它视频音像设备的控制器。 (2)办公自动化领域

现代办公室中所使用的大量通信、信息产品多数都采用了单片机,如通用计算机系统中的键盘译码、磁盘驱动、打印机、绘图仪、复印机、电话、传真机、考勤机等。 (3)智能仪表。

用单片机改造原有的测量、 控制仪表, 促进仪表向数字化、 智能化、 多功能化、 综合化、 柔性化方向发展。 (4)机电一体化产品。

单片机与传统的机械产品相结合, 使传统机械产品结构简化, 控制智能化。 (5)商业营销领域

由于在商业营销系统已广泛使用的电子称、收款机、条形码阅读器、仓储安全监测系统、商场保安系统、空气调节系统、冷冻保鲜系统等中,目前已纷纷采用单片机构成专用系统,主要由于这种系统有明显的抗病菌侵害、抗电磁干扰等高可靠性能的保证。

(6)汽车电子与航空航天电子系统

通常在这些电子系统中的集中显示系统、动力监测控制系统、自动驾驭系统、通信系统以及运行监视器(黑匣子)等都要构成冗余的网络系统。

习 题

1. 什么叫单片机?除了“单片机”之外,单片机还可以称为什么?

2. 单片机主要使用汇编语言,而编写汇编语言程序要求设计人员除了熟练掌握指令系统外,还必须精通什么?

3. 8051、8751、8031单片机的主要区别是什么? 4. 与8051比较,80C51的最大特点是什么? 5. AT89系列单片机的最大优点是什么? 6. 单片机发展方向是什么?

第三讲

一、授课内容:

进位计数制及相互转换 二、授课类型:讲授 三、授课时数:2学时

四、教学目标:掌握各数制之间的相互转换 五、教学重、难点:

重点/难点:掌握各数制之间的相互转换 六、教学设想:

借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣. 七、教学过程:(板书) 一、进位计数制

按进位的原则进行计数的方法称之为进位计数制,简称进位制。人们日常生

活中习惯上使用十进制,而二进制使于实现、存储、传输,所以计算机中采用二进制。但二进制不易书写和阅读,因此又引入了八进制和十六进制。 1.十进制(后缀或下标D表示) 十进制计数原则:逢十进一 十进制的基数为:10

十进制的数码为:0 1 2 3 4 5 6 7 8 9 十进制数第K位的权为:10k

(第K位的权为基数的K次方,第K位的数码与第K位权的乘积表示第K位数的值)。

例如:8846.78=8×103+8×102+4×101+6×106+7×10—1+8×10—2

该数中共出现三次数码8,但各自的权不一样,故其代表的值也不一样。 2.二进制(后缀或下标B表示) 二进制计数原则:逢二进一 二进制的基数为:2 二进制的数码为:0 1 二进制数第K位的权为:2K

例如:11010101.01B=1×27+1×26+0×25+1×24+0×23+1×22+0×21+1×20+0×2—

1

+1×2—2=213.25

N位二进制数可以表示2N个数。例如3位二进制数可以表示8个数,如附表1所示: 附表1

二 进 制 数 相应的十进制数 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 3.八进制(后缀或下标O表示) 八进制计计数原则:逢八进一 八进制的基数为:8

八进制的数码为:0 1 2 3 4 5 6 7 八进制数第K位的权为:8K 例如:127O=1×82+2×81+7×80=87D 4.十六进制(后缀或下标H表示) 十六进制计数原则:逢十六进一 十六进制的基数为:16

十六进制的数码为:0 1 2 3 4 5 6 7 8 9 A B C D E F 十六进制第K位的权为: 16k

例如:64.4H=6×161+4×160+4×16—1=100.25D

十六进制数、二进制和十进制数的对应关系如附表2所示: 附表2 二 进 制 数 十 进 制 数 十六进制数 二 进 制 数 十 进 制 数 十六进制数 0000 0001 0010 0011 0100 0101 0110 0111 0 0 8 8 1 1 9 9 2 2 10 A 3 3 11 B 4 4 12 C 5 5 13 D 6 6 14 E 7 7 15 F 1000 1001 1010 1011 1100 1101 1110 1111 二、不同进位制之间的转换。 1.二进制数转换为十制数。 转换原则:按权展开求和。

例如: 10001101.11B=1×27+0×26+0×25+0×24+1×23+1×22+0×21+1×20+1×2—1+1× 2—2 =141.75D

八进制十六进制转换为十进制数也同样遵循该原则,不再单独介绍了。 2.十进制数转换为二进制数

十进制数转换为二进制数的原则:①整数部分:除基取余,逆序排列 ②小数部分:乘基取整,顺序排列 例 将十进数186和0.8125转换成二进制数。

低位 高位

高位 低位

因此 : 186D = 10111010B

0.8125D = 0.11011B

注意:当十进制小数不能用有限位二进制小数精确表示时,根据精度要求,采用“0舍1入”法,取有限位二进制小数近似表示。

十进制数转换为八进制,十六进制数同样遵循该原则。 3.二进制转换为十六进制

由于十六进制的基数是2的幂,所以二进制与十六进制之间的转换是十分方便的,二进制转换为十六进制的原则:整数部分从低位到高位四位一组不足补零,直接用十六进制数来表示;小数部分从高位到低位四位一组不足补零,直接用十六进制数表示。

例附—2 将二进制数 10011110.00111转换成十六进制数。 1001 1110 . 0011 1000

9

E

3 8

所以10011110.00111B=9E.38H。

4.十六进制数转换为二进制数

十六进制数转换为二进制数的原则:十六进制数中的每一位用4位二进制数来表示。

例如:将十六进制数A87.B8转换为二进制数。 A 8 7 . B 8 1010 1000 0111 1011 1000

所以A87.B8H=101010000111.10111000B。

八进制的基数同样是2的幂,因此二进制与十六进制之间的转换也遵循以上的原则,只是将原则中的四位改成三位。

例如:将二进制数11010110.110101B转换成八进制数。 将八进制数746.42O转换成二进制数。

011 010 110 . 110 101 7 4 6 . 4 2

所以,11010110.110101B=326.65O, 746.42O=111100110.100010B 三、八进制数和十六进制数运算 1.二进制数的运算

加法法则 乘法法则 0+0=0 0+1=1 1+0=1

1+1=0(进位1)

0 X 0=0 0 X 1=0 1 X 0=0 1 X 1=1

3

2

6 6 5 111 100 110 100 01

注意:二进制数加法运算中1+1=0(进位1)和逻辑运算中1∨1=1的不同含义。

2.十六进制数的运算

十六进制数的运算遵循“逢十六进一”的原则。 ① 十六进制加法:

十六进制数相加,当某一位上的数码之和S小于16时与十进制数同样处理,如果数码之各S≧16时,则应该用S减16及进位1来取代S。

例如:

0 8 A 3 H

+ 4 B 8 9 H 5 4 2 CH

② 十六进制减法

十六进制减法也与十进制数类似,够减时直接相减,不够减时服从向高位借1为16的原则。

例如:

0 5 C 3 H

-3 D 2 5 H

C 8 9 E H

十六进制数的乘除运算同样根据逢十六进一的原则处理,这里不再繁述。

第四讲

一、授课内容:

计算机中数和字符的表示 二、授课类型:讲授 三、授课时数:2学时

四、教学目标:熟悉计算机中数和字符的表示 五、教学重、难点:

重点/难点:计算机中数和字符的表示 六、教学设想:

借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣. 七、教学过程:(板书) 一、计算机中有符号数的表示。

计算机中的数是用二进制来表示的,有符号数中的符号也是用二进制数值来表示,0表示“+”号,1表示“-”号,这种符号数值化之后表示的数称之为机器数,它表示的数值称之为机器数的真值。

为将减法变为加法,以方便运算简化CPU的硬件结构,机器数有三种表示方法:即原码、反码和补码。 1.原码

最高位为符号位,符号位后表示该数的绝对值。 例如:

[+112]原=01110000B [—112]原=11110000B

其中最高位为符号位,后面的7位是数值(字长为8位,若字长为16位,则后面15位为数值)。

原码表示时+112和-112的数值位相同,符号位不同。 说明:

① 0的原码有两种表示法: [+0 ]原=00000000B [-0]原=10000000B

② N位原码的表示范围为:1-2N—1 ~ 2N—1-1。 例如8位原码表示的范围为:-127~+127 2.反码

最高位为符号位,正数的反码与原码相同,负数的反码为其正数原码按位求反。

[+112 ]反=01110000B [–112]反=10001111B 说明:

① 0的反码有两种表示法:

[+0 ]反=00000000B [-0]反=11111111B

② N位反码表示的范围为: 1-2n—1-2n—1-1; 例如8位反码表示的范围为 –127-+127。 ③ 符号位为1时,其后不是该数的绝对值。 例如反码11100101B的真值为–27,而不是–101。 3.补码

最高位为符号位,正数的补码与原码相同;负数的补码为其正数原码按位求反再加1。

例如: [+112]补 =01110000B [—112]补 =10010000B

说明:

① 0的补码只有一种表示法:[+0]=[—0]=00000000B; ② n位补码所能表示的范围为—2n—1-2n—1—1; 例如8位补码表示的范围为-128-+127。

③ 八位机器数中:[—128]补=10000000B,[-128]原,[-128]反不存在。

④ 符号位为1时,其后不是该数的绝对值。

例如:补码11110010B的真值为–14,而不是–114。

有符号数采用补码表示时,就可以将减法运算转换为加法运算。因此计算机中有符号数均以补码表示。

例如:

X=84-16=(+84)+(–16)→[X]补=[+84]补+[–16]补

(+84)补 =01010100B (–16)补=11110000B

0 1 0 1 0 1 0 0B + 1 1 1 1 0 0 0 0B 0 1 0 0 0 1 0 0B 1

所以 [X]补=01000100B,即X=68。

在字长为8位的机器中,第7位的进位自动丢失,但这不会影响运算结果。 机器中这一位并不是真正丢失,而是保存在程序状态字PSW中的进位标志Cy中。

又如:X=48-88=(+48)+(-88)→[X]补=[+48]补+[—88]补

[+48]补 =00110000B [-88]补=10101000B 0 0 1 1 0 0 0 0B + 1 0 1 0 1 0 0 0B

1 1 0 1 1 0 0 0B

所以 [X]补=11011000B,即X=-40。

为进一步说明补码如何将减法运算转换为加法运算,我们举一日常的例子:对于钟表,它所能表示的最大数为12点,我们把它称之为模,即一个系统的量程或所能表示的最大的数。若当前标准时间为6点,现有一只表为9点,可以有两种调时方法:

① 9-3=6(倒拨) ② 9+9=6(顺拨)

即有9+9=9+3+6=12+6=9-3

因此对某一确定的模,某数减去小于模的一数,总可以用加上该数的负数与其模之各(即补码)来代替。故引入补码后,减法就可以转换为加法。

补码表示的数还具有以下特性: [X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补+[-Y]补

附表3为n=8和n=16时n位补码表示的数的范围。 附表3 n位二进制补码数的表示范围

十进制数 +127 +126 . +2 +1 二进制数 N=8 01111111 01111110 . 00000010 00000001 十六进制数 7F 7E . 02 01 十进制数 n=16 +32767 +32766 . +2 +1 7FFF 7FFE . 0002 0001 十六进制数

0 -1 -2 . -126 -127 -128 00000000 11111111 11111110 . 10000010 10000001 10000000 00 FF EE . 82 81 80 0 -1 -2 . -32766 -32767 -32768 0000 FFFF FFFE . 8002 8001 8000 二、无符号整数

在某些情况下,处理的全是正数时,就不必须再保留符号位。我们把最高有效位也作为数值处理,这样的数称之为无符号整数。8位无符号数表示的范围为:0-255。

计算机中最常用的无符号整数是表示存储单元地址的数。 三、字符表示

字母、数字、符号等各种字符(例如键盘输出的信息或打印输出的信都是按字符方式输出输出)按特定的规则,用二进制编码在计算中表示。字符的编码方式很多,最普遍采用的是美国标准信息交换码ASCⅡ码。

ASCⅡ码是7位二进制编码。计算机中用一个字节表示一个ASCⅡ码字符,最高位默认为0,可用作校验位。

第五讲

一、授课内容:

MCS―51系列单片机 二、授课类型:讲授 三、授课时数:2学时 四、教学目标:

掌握MCS―51系列单片机的结构引脚功能 六、教学重、难点:

重点/难点:80C51单片机的引脚功能。 七、教学设想:

借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣. 八、教学过程:(板书)

一、MCS-51单片机的基本组成(如下图所示)

T0时钟电路T1ROMRAM定时/计数器CPU并行接口串行接口中断系统P0P1P2P3TXDRXDINT0INT1(1)一个8位微处理器CPU。

(2)数据存储器RAM和特殊功能寄存器SFR。 (3)内部程序存储器ROM。

(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。 (5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。

(6)一个串行端口,用于数据的串行通信。 (7)中断控制系统。 (8)内部时钟电路。

二、80C51单片机的引脚功能结构框图(如下图所示)

1.主电源引脚VCC和VSS 2.外接晶振引脚XTAL1和XTAL2

3.控制或其他电源复用引脚RST/ VPD、ALE/、和/VPP 4.输入/输出引脚P0、P1、P2、P3(共32根) 三、引脚功能

(1) 主电源引脚Vcc和Vss VCC: 接+5 V电源正端; VSS: 接+5 V电源地端。 (2) 外接晶体引脚XTAL1和XTAL2

XTAL1: 接外部石英晶体的一端。 在单片机内部, 它是一个反相放大器的输入端, 这个放大器构成了片内振荡器。 当采用外部时钟时, 对于HMOS单片机, 该引脚接地; 对于CHMOS单片机, 该引脚作为外部振荡信号的输入端。 XTAL2: 接外部晶体的另一端。 在单片机内部, 接至片内振荡器的反相放大器的输出端。 当采用外部时钟时, 对于HMOS单片机, 该引脚作为外部振荡信号的输入端; 对于CHMOS芯片, 该引脚悬空不接。 图一 内部振荡方式 图二 外部振荡方式

图一 图二

(3)输入/输出(I/O)引脚P0口、 P1口、 P2口及P3口 (a) P0口(39脚~32脚): P0.0~P0.7统称为P0口。

(b) P1口(1脚~8脚): P1.0~P1.7统称为P1口, 可作为准双向I/O接口使用。

(c) P2口(21脚~28脚): P2.0~P2.7统称为P2口, 一般可作为准双向I/O接口。

(d) P3口(10脚~17脚): P3.0~P3.7统称为P3口

第六讲

一、授课内容:

MCS―51系列单片机 二、授课类型:讲授 三、授课时数:2学时 四、教学目标:

掌握MCS―51系列单片机的结构引脚功能

六、教学重、难点:

重点/难点:80C51单片机的引脚功能。 七、教学设想:

借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣. 八、教学过程:(板书)

下面将这40条引脚按功能分为四部分叙述其功能。 1. 主电源引脚Vcc和Vss Vcc(40脚):接+5V电压 Vss(20脚):接地 2. 外接晶体引脚XTAL1和XTAL2

XTAL1(19脚):接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。

XTAL2(18脚):接外部晶体管的另一个引脚。在单片机内部,接至上述振荡器的反相放大器的输出端。当采用外部振荡器时,对于HMOS单片机,此引脚应接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对于CHMOS单片机,此引脚应悬浮。

3. 控制或其他电源复用引脚RST/VPD、ALE/PROG、PSEN、EA/VPP

RST/VPD(9脚):振荡器运行时,在此引脚上出现两个机器周期的高电平使单片机复位。建议在此引脚与Vss之间连接一个约8.2kΩ的下拉电阻,与Vcc引脚之间连接一个约10μF的电容,以保证可靠的复位(详见复位电路内容)。Vcc掉电期间,此引脚可接上备用电源,以保持内部RAM的数据不丢失。

ALE/ PROG(30脚):当访问外部存储器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍然以不变的频率周期性地出现正脉冲信号,此频率为振荡器的1/6。因此,它可以用作对外输出的时钟,或用于定时。

对于EPROM型的单片机(如8751),在EPROM编程期间,此引脚用于输入编程脉冲。

PSEN(29脚):此引脚的输出是外部程序存储器的读选通信号。在从外部程序存储器取指令(或常数)期间,每个机器周期它二次有效。但在此期间,每当访问外部数据存储器时,这二次有效信号将不出现。它同样可以驱动(吸收或输出电流)8个LS型的TTL输入电路。

EA/VPP(31脚):当这引脚保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(对8051/8751)或1FFFH(对8052)时将自动转向执行外部程序存储器内的程序。当这引脚保持低电平时,则只访问外部程序存储器。

对于8031来说,无内部程序存储器,端口必须保持低电平,即接地,才能只选择外部程序存储器。对于EPROM型的单片机(如8751),在EPROM编程期间,此引脚也用于施加21V的编程电源(VPP)。

4. 输入/输出(I/O)引脚P0、P1、P2、P3(共32根)

P0口(39脚~32脚):是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL输入负载。

P1口(1脚~8脚):是准双向8位I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。P1口可以驱动(吸收或输出电流)4个LS型的TTL负载。对于8052、8032,P1.0引脚的第二功能为T2定时器/计数器的外部输入,P1.1引脚的第二功能为T2的外部控制端。对EPROM编程和程序验证期间,它接收低8位地址。

P2口(21脚~28脚):是准双向8位I/O口。在访问外部程序存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。在对EPROM编程和程序验证期间,它接收高8位地址。P2口可以驱动(吸收或输出电流)4个LS型的TTL输入负载。

P3口(10脚~17脚):是准双向8位I/O口,在MCS-51中,这8个引脚还用于专门功能,是复用双功能口。P3口可以驱动(吸收或输出电流)4个LS型的TTL输入负载。作为第一功能使用时,为普通I/O口,功能和操作方法与P1口相同。作为第二功能使用时,各引脚的定义见表2.2。值得强调的是,P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。

表6.1 P3口线的第二功能定义

口线 引脚 功能 P3.0 10 RxD(串行输入口) P3.1 11 TxD(串行输出口) P3.2 12 INT0(外部中断0) P3.3 13 INT1(外部中断1) P3.4 14 T0(定时器0外部输入) P3.5 15 T1(定时器1外部输入) WR(外部数据存储器写脉冲) RD(外部数据存储器读脉冲) P3.6 16 P3.7

17 第七讲

一、授课内容:

MCS―51系列单片机 二、授课类型:讲授 三、授课时数:2学时 四、教学目标:

掌握MCS―51系列单片机的内部结构 六、教学重、难点:

重点/难点:80C51单片机的内部结构。

七、教学设想:

借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣. 八、教学过程:(板书)

一、MCS-51单片机的基本结构(如下图所示)

二、 MCS-51单片机硬件结构特点

1.内部程序存储器(ROM)和内部数据存储器(RAM)容量(如下图所示)

2.输入/输出(I/O)端口

3.外部程序存储器和外部数据存储器寻址空间 4.中断与堆栈

5.定时/计数器与寄存器区 6.指令系统

三、MCS-51单片机内部结构 1.运算器

运算器由8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、8位累加器ACC(Accumulator)、8位寄存器B、程序状态字寄存器PSW(Program Status Word)、8位暂存寄存器TMP1和TMP2等组成。 2.控制器

主要由程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指针SP、数据指针DPTR、时钟发生器及定时控制逻辑等组成。 四、MCS-51单片机的存储器配置 (一)内部RAM低128单元

8051低128个单元是真正的内部数据RAM区,是一个多功能复用性数据存储器,其按用途可分为三个区域。如图2—2所示:

1. 工作寄存器区(00H~1FH)

也称为通用寄存器,该区域共有4组寄存器,每组由8个寄存单元组成,每

个单元8 位,各组均以R0~R7作寄存器编号,共32个单元,单元的00H~1FH。

在任一时刻,CPU只能使用其中一组通用寄存器,称为当前通用寄存器组,具体可由程序状态寄存器PSW中RS1,RS0位的状态组合来确定。通用寄存器为CPU提供了就近存取数据的便利,提高了工作速度,也为编程提供了方便。 2. 位寻址区(20H~2FH)

内部RAM的20H~2FH,共16个单元,计16×8=128位,位地址为00H~7FH。位寻址区既可作为一般的RAM区进行字节操作,也可对单元的每一位进行位操作,因此称为位寻址区,是存储空间的一部分。表7—1列出了位寻址区的位地址:

表7—1 位寻址区的位地址

单元地址 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H 20H

MSB 7FH 77H 6FH 67H 5FH 57H 4FH 47H 3FH 37H 2FH 27H 1FH 17H 0FH 07H

位 7EH 76H 6EH 66H 5EH 56H 4EH 46H 3EH 36H 2EH 26H 1EH 16H 0EH 06H

7DH 75H 6DH 65H 5DH 55H 4DH 45H 3DH 35H 2DH 25H 1DH 15H 0DH 05H

地 7CH 74H 6CH 64H 5CH 54H 4CH 44H 3CH 34H 2CH 24H 1CH 14H 0CH 04H

7BH 73H 6BH 63H 5BH 53H 4BH 43H 3BH 33H 2BH 23H 1BH 13H 0BH 03H

址 7AH 72H 6AH 62H 5AH 52H 4AH 42H 3AH 32H 2AH 22H 1AH 12H 0AH 02H

79H 71H 69H 61H 59H 51H 49H 41H 39H 31H 29H 21H 19H 11H 09H 01H

LSB 78H 70H 68H 60H 58H 50H 48H 40H 38H 30H 28H 20H 18H 10H 08H 00H

其中:MSB——最高有效位。

LSB——最低有效位。 3. 用户RAM区(30H~7FH)

所剩80个单元即为用户RAM区,单元地址为30H~7FH,在一般应用中把堆栈设置在该区域中。

对内部RAM低128单元的使用作几点说明:

(1)8051的内部RAM 00H~7FH单元可采用直接寻址或间接寻址方式实现数据

1110 1rrr

其中rrr为Rn的二进制编码。 2. 二字节指令

二字节指令包含两个字节,其中第一个字节为操作码,第二个字节为操作数。

例如立即数传送指令“MOV A,#data”,其中#data表示一个8位二进制操作数,占一个字节,称为立即数。指令码为:

0111 0100 立即数

3. 三字节指令

三字节指令包含三个字节,其中操作码占一个字节,操作数占两个字节,操作数既可为数据,也可是地址。

例如逻辑与操作指令“ANL direct,#data”,其功能是直接寻址单元内容与立即数进行与操作,指令格式为:

0101 0011

直接地址

立即数

二、 指令系统的分类

从占用的存储空间上,MCS-51的指令可分为: ① 一字节指令,共49条; ② 二字节指令,共45条; ③ 三字节指令,共17条。

从执行时间上,MCS-51的指令可分为: ① 单机器周期指令,共64条; ② 双机器周期指令,共45条;

③ 四机器周期指令,共2条,即乘、除指令。 从实现功能上,MCS-51的指令可分为下面5类: ① 数据传送类指令(29条); ② 算术运算类指令(24条);

③ 逻辑运算类指令及移位类指令(24条); ④ 控制转移类指令(17条); ⑤ 位操作类指令(17条)。

第十讲

一、授课内容: MCS―51单片机寻址方式 二、授课类型:讲授 三、授课时数:2学时 四、教学目标:

掌握MCS―51系列单片机的寻址方式 六、教学重、难点:

重点/难点:MCS―51系列单片机的寻址方式 七、教学设想:

借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣. 八、教学过程:(板书) 一、 指令描述符号意义的说明

在指令描述中,使用了如下符号,首先对这些符号意义做简单说明。

Rn——当前寄存器组的8个通用寄存器R0~R7,n=0~7。

Ri——可用作间接寻址的寄存器,只有R0、R1两个寄存器,所以 i=0,1。 direct——8位直接地址,用于寻址内部RAM的低128单元和专用寄存器。 #data——8位立即数。 #data16——16位立即数。

addr16——16位目的地址,只限于在LCALL和LJMP指令中使用。 addr11——11位目的地址,只限于在ACALL和AJMP指令中使用。 rel——补码表示的8位偏移量,用于相对转移指令中。 bit——内部RAM(包括专用寄存器)中的直接寻址位。 @——间接寻址寄存器的前缀标志。

/——加在位地址的前面,表示对该位状态取反。 (×)——某寄存器或某单元的内容。 ((×))——由×间接寻址的单元内容。

← ——箭头左边的内容被箭头右边的内容所取代。

由于大多数指令执行时都需要使用操作数,因此存在怎样取得操作数的问题。所谓寻址就是寻找操作数的地址,而寻址方式就是通过确定操作数的位置(地址),把操作数提取出来的方法。

MCS-51指令系统共有7种寻址方式,下面分别予以介绍: 1、立即寻址

指令中直接给出操作数的寻址方式。立即操作数用前面加有#号的8位或16位数来表示。

例如:MOV MOV MOV

A,# 60H ;A←#60H

DPTR,# 3400H ;DPTR←#3400H 30H,# 40H ;30H单元←#40H

上述三条指令执行完后,累加器A中数据为立即数据60H,DPTR寄存器中数据为3400H,30H单元中数据为立即数40H。 2 、直接寻址

指令中直接给出操作数地址的寻址方式,能进行直接寻址的存储空间有SFR寄存器和内部数据RAM。

累加器A 68H 30H 内部RAM …68H … 例如:MOV PSW,# 20H ; PSW←#20H

PSW为直接寻址寄存器的符号地址。 MOV

A,30H ;A←30H内部RAM单元中的内容

30H为直接给出的内部RAM的地址。 3 、寄存器寻址

以通用寄存器的内容为操作数的寻址方式。通用寄存器指A、B 、DPTR以及R0~R7 。

例如:CLR INC ADD 4 、寄存器间接寻址

以寄存器中内容为地址,以该地址中内容为操作数的寻址方式。间接寻址的存储器空间包括内部数据RAM和外部数据RAM。

能用于寄存器间接寻址的寄存器有R0,R1,DPTR,SP。其中R0、R1必须是工作寄存器组中的寄存器。SP仅用于堆栈操作。

A ;A←0

DPTR ;DPTR←DPTR+1 R5,# 20H ;R5←#20H+R5

R0 30H 累加器A 68H 内部RAM … 30H 68H … 例如:MOV @R0,A ;内部RAM(R0)←A其指令操作过程示意图如图3-1所示。

又如:MOVX A,@R1;A←外部RAM(P2R1)其指令操作过程示意图如图3-2所示。

再如:MOVX @DPTR,A;外部RAM(DPTR)←A 其指令操作过程示意图如图3-3所示。 5、 变址寻址

变址寻址只能对程序存储器中数据进行操作。由于程序存储器是只读的,因此变址寻址只有读操作而无写操作,在指令符号上采用MOVC的形式。

DPTR 22F1H 累加器A 30H ROM … 2321H 7FH … 例如:MOVC A,@ A+DPTR;A←(A+DPTR) 又如,MOVC A,@ A+PC ;A←(A+PC) 这条指令与上条指令不同的是,基址寄存器是PC。 6 、相对寻址

以当前程序计数器PC的内容为基础,加上指令给出的一字节补码数(偏移量)形成新的PC值的寻址方式。

相对寻址用于修改PC值,主要用于实现程序的分支转移。

PC→ 2000H PC+1 →2001H PC+2 →2002H 2042H

ROM …JZ 40H 2002H PC … …

本文来源:https://www.bwwdw.com/article/fwog.html

Top