单片机原理及应用教学教案_第1页
单片机原理及应用教学教案_第2页
单片机原理及应用教学教案_第3页
单片机原理及应用教学教案_第4页
单片机原理及应用教学教案_第5页
已阅读5页,还剩141页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一讲一、授课内容:1、什么是单片机2、单片机的发展二、授课类型:讲授三、授课时数:2学时四、教学目标:了解单片机的发展,应用领域和应用模式,掌握单片机的特点五、教学重、难点:重点/难点:单片机的特点六、教学设想:借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣.七、教学过程:(板书)一、什么是单片机随着微电子技术的不断发展,计算机技术也得到迅速发展,并且由于芯片的集成度的提高而使计算机微型化,出现了单片微型计算机(SingleChipComputer),简称单片机,也可称为微控制器MCU(MicrocontrollerUnit)。单片机,即集成在一块芯片上的计算机,集成了中央处理器CPU(CentralProcessingUnit)、随机存储器RAM(RandomAccessMemory)、只读存储器(ReadOnlyMemory)、定时器/计数器以及I/O接口电路等主要计算机部件。二、单片微型计算机发展概况单片机出现的历史并不长,但发展十分迅猛。它的产生与发展和微处理器的产生与发展大体同步,自1971年美国Intel公司首先推出4位微处理器(4004)以来,它的发展到目前为止大致可分为5个阶段:第1阶段(1971~1976):单片机发展的初级阶段。1971年11月Intel公司首先设计出集成度为2000只晶体管/片的4位微处理器Intel4004,并配有RAM、ROM和移位寄存器,构成了第一台MCS—4微处理器,而后又推出了8位微处理器Intel8008,以及其它各公司相继推出的8位微处理器。第2阶段(1976~1980):低性能单片机阶段。以1976年Intel公司推出的MCS—48系列为代表,采用将8位CPU、8位并行I/O接口、8位定时/计数器、RAM和ROM等集成于一块半导体芯片上的单片结构,虽然其寻址范围有限(不大于4KB),也没有串行I/O,RAM、ROM容量小,中断系统也较简单,但功能可满足一般工业控制和智能化仪器、仪表等的需要。第3阶段(1980~1983):高性能单片机阶段。这一阶段推出的高性能8位单片机普遍带有串行口,有多级中断处理系统,多个16位定时器/计数器。片内RAM、ROM的容量加大,且寻址范围可达64KB,个别片内还带有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从4KB增至8KB;片内数据存储器由128个字节增至256个字节;定时器/计数器增加了一个;中断源增加了1~2个。另外,对于制造工艺为CHMOS的单片机,由于采用CMOS技术制造,因此具有低功耗的特点,如8051功耗约为630mW,而80C51的功耗只有120mW。MCS-51是一个单片机系列产品,具有多种芯片型号。具体说,按其内部资源配置的不同,MCS-51可分为两个子系列和四种类型.MCS-51子系列包含4个产品,这4个产品具有不同的应用特性。8051:单片机8051内部包含了4KB的ROM、128B的RAM、21个特殊功能寄存器、4个8位并行口、一个全双工串行口、两个16位定时器/计数器以及一个处理功能很强的中央处理器,是一台完整的微型计算机8751:是以4KB的EPROM代替4KBROM的8051。8951:是以4KB的E2PROM(或FlashROM)代替4KBROM的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十进制的数码为:0123456789十进制数第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二进制的数码为:01二进制数第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.25N位二进制数可以表示2N个数。例如3位二进制数可以表示8个数,如附表1所示:附表13.八进制(后缀或下标O表示)八进制计计数原则:逢八进一八进制的基数为:8八进制的数码为:01234567八进制数第K位的权为:8K例如:127O=1×82+2×81+7×80=87D4.十六进制(后缀或下标H表示)十六进制计数原则:逢十六进一十六进制的基数为:16十六进制的数码为:0123456789ABCDEF十六进制第K位的权为:16k例如:64.4H=6×161+4×160+4×16—1=100.25D十六进制数、二进制和十进制数的对应关系如附表2所示:附表2二、不同进位制之间的转换。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=10111010B0.8125D=0.11011B注意:当十进制小数不能用有限位二进制小数精确表示时,根据精度要求,采用“0舍1入”法,取有限位二进制小数近似表示。十进制数转换为八进制,十六进制数同样遵循该原则。3.二进制转换为十六进制由于十六进制的基数是2的幂,所以二进制与十六进制之间的转换是十分方便的,二进制转换为十六进制的原则:整数部分从低位到高位四位一组不足补零,直接用十六进制数来表示;小数部分从高位到低位四位一组不足补零,直接用十六进制数表示。例附—2将二进制数10011110.00111转换成十六进制数。10011110.001110009E38所以10011110.00111B=9E.38H。4.十六进制数转换为二进制数十六进制数转换为二进制数的原则:十六进制数中的每一位用4位二进制数来表示。例如:将十六进制数A87.B8转换为二进制数。A87.B810101000011110111000高位低位低位高位所以A87.B8H=101010000111.10111000B。八进制的基数同样是2的幂,因此二进制与十六进制之间的转换也遵循以上的原则,只是将原则中的四位改成三位。例如:将二进制数11010110.110101B转换成八进制数。将八进制数746.42O转换成二进制数。011010110.110101746.423266511110011010001所以,11010110.110101B=326.65O,746.42O=111100110.100010B三、八进制数和十六进制数运算1.二进制数的运算加法法则乘法法则0+0=00X0=00+1=10X1=01+0=11X0=01+1=0(进位1)1X1=1注意:二进制数加法运算中1+1=0(进位1)和逻辑运算中1∨1=1的不同含义。2.十六进制数的运算十六进制数的运算遵循“逢十六进一”的原则。①十六进制加法:十六进制数相加,当某一位上的数码之和S小于16时与十进制数同样处理,如果数码之各S≧16时,则应该用S减16及进位1来取代S。例如:08A3H+4B89H542CH②十六进制减法十六进制减法也与十进制数类似,够减时直接相减,不够减时服从向高位借1为16的原则。例如:05C3H-3D25HC89EH十六进制数的乘除运算同样根据逢十六进一的原则处理,这里不再繁述。第四讲一、授课内容:计算机中数和字符的表示二、授课类型:讲授三、授课时数: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~+1272.反码最高位为符号位,正数的反码与原码相同,负数的反码为其正数原码按位求反。[+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)补=11110000B01010100B+11110000B01000100B1所以[X]补=01000100B,即X=68。在字长为8位的机器中,第7位的进位自动丢失,但这不会影响运算结果。机器中这一位并不是真正丢失,而是保存在程序状态字PSW中的进位标志Cy中。又如:X=48-88=(+48)+(-88)→[X]补=[+48]补+[—88]补[+48]补=00110000B[-88]补=10101000B00110000B+10101000B11011000B所以[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位补码表示的数的范围。附表3n位二进制补码数的表示范围二、无符号整数在某些情况下,处理的全是正数时,就不必须再保留符号位。我们把最高有效位也作为数值处理,这样的数称之为无符号整数。8位无符号数表示的范围为:0-255。计算机中最常用的无符号整数是表示存储单元地址的数。三、字符表示字母、数字、符号等各种字符(例如键盘输出的信息或打印输出的信都是按字符方式输出输出)按特定的规则,用二进制编码在计算中表示。字符的编码方式很多,最普遍采用的是美国标准信息交换码ASCⅡ码。ASCⅡ码是7位二进制编码。计算机中用一个字节表示一个ASCⅡ码字符,最高位默认为0,可用作校验位。第五讲一、授课内容:MCS―51系列单片机二、授课类型:讲授三、授课时数:2学时四、教学目标:掌握MCS―51系列单片机的结构引脚功能六、教学重、难点:重点/难点:80C51单片机的引脚功能。七、教学设想:借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣.八、教学过程:(板书)一、MCS-51单片机的基本组成(如下图所示)(1)一个8位微处理器CPU。(2)数据存储器RAM和特殊功能寄存器SFR。(3)内部程序存储器ROM。(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。(5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。(6)一个串行端口,用于数据的串行通信。(7)中断控制系统。(8)内部时钟电路。二、80C51单片机的引脚功能结构框图(如下图所示)1.主电源引脚VCC和VSS2.外接晶振引脚XTAL1和XTAL23.控制或其他电源复用引脚RST/VPD、ALE/、和/VPP4.输入/输出引脚P0、P1、P2、P3(共32根)三、引脚功能(1)主电源引脚Vcc和VssVCC:接+5V电源正端;VSS:接+5V电源地端。(2)外接晶体引脚XTAL1和XTAL2XTAL1:接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,对于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和VssVcc(40脚):接+5V电压Vss(20脚):接地2.外接晶体引脚XTAL1和XTAL2XTAL1(19脚):接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。XTAL2(18脚):接外部晶体管的另一个引脚。在单片机内部,接至上述振荡器的反相放大器的输出端。当采用外部振荡器时,对于HMOS单片机,此引脚应接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对于CHMOS单片机,此引脚应悬浮。3.控制或其他电源复用引脚RST/VPD、ALE/PROG、PSEN、EA/VPPRST/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.1P3口线的第二功能定义第七讲一、授课内容: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(ArithmeticLogicUnit)、8位累加器ACC(Accumulator)、8位寄存器B、程序状态字寄存器PSW(ProgramStatusWord)、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只能使用其中一组通用寄存器,称为当前通用寄存器组,RS0位的状态组合来确定。通用寄存器为具体可由程序状态寄存器PSW中RS1,CPU提供了就近存取数据的便利,提高了工作速度,也为编程提供了方便。2.位寻址区(20H~2FH)内部RAM的20H~2FH,共16个单元,计16×8=128位,位地址为00H~7FH。位寻址区既可作为一般的RAM区进行字节操作,也可对单元的每一位进行位操作,因此称为位寻址区,是存储空间的一部分。表7—1列出了位寻址区的位地址:表7—1位寻址区的位地址单元地址MSB位地址LSB2FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H其中:MSB——最高有效位。LSB——最低有效位。3.用户RAM区(30H~7FH)所剩80个单元即为用户RAM区,单元地址为30H~7FH,在一般应用中把堆栈设置在该区域中。对内部RAM低128单元的使用作几点说明:(1)8051的内部RAM00H~7FH单元可采用直接寻址或间接寻址方式实现数据传送。(2)内部RAM20H~2FH单元的位地址空间可实现位操作。RS0位的状态设置来选择。当前工作寄存器组可通过软件对PSW中的RS1,(3)8051的堆栈是自由堆栈,单片机复位后,堆栈底为07H,在程序运行中可任意设置堆栈。堆栈设置通过对SP的操作实现,例如用指令MOVSP,#30H将堆栈设置在内部RAM30H以上单元。(二)内部RAM高128单元内部RAM高128单元是供给专用寄存器使用的,因此称之为专用寄存器区(也称为特殊功能寄存器区(SFR)区),单元地址为80H~0FFH。8051共有22个专用寄存器,其中程序计数器PC在物理上是独立的,没有地址,故不可寻址。它不属于内部RAM的SFR区。其余的21个专用寄存器都属于内部RAM的SFR区,是可寻址的,它们的单元地址离散地分布于80H~0FFH。表7—2为21个专用寄存器一览表。表7—28051专用寄存器一览表注:带“·”专用寄存器表示可以位操作。(三)8051内部程序存储器(ROM)大多数51系列单片机内部都配置一定数量的程序存储器ROM,如8051芯片内有4KB掩膜ROM存贮单元,AT89C51芯片内部配置了4KBFlashROM,它们的地址范围均为0000H~0FFFH。内部程序存储器有一些特殊单元,使用时要注意。其中一组特殊单元是0000H~0002H。系统复位后,(PC)=0000H,单片机从0000H单元开始执行程序。如果不是从0000H开始,就要在这三个单元中存放一条无条件转移指令,以便转去执行指定的应用程序。另外,在程序存储器中有各个中断源的入口向量地址,分配如下:0003H~000AH:外部中断0中断地址区000BH~0012H:定时器/计数器0中断地址区0013H~001AH:外部中断1中断地址区001BH~0022H:定时器/计数器1中断地址区0023H~002AH:串行中断地址区中断地址区首地址为各个中断源的入口向量地址,每个中断地址区有8个地址单元。在中断地址区中应存放中断服务程序,但8个单元通常难以存下一个完整的中断服务程序,因此往往需要在中断地址区首地址中存放一条无条件转移指令,转去中断服务程序真正的入口地址。从002BH开始的的单元才是用户可以随意使用的程序存储器。对程序存储器的操作作以下说明:(1)程序指令的自主操作。CPU按照PC指针自动的从程序存储器中取出指令。(2)用户使用指令对程序存储器中的常数表格进行读操作,可用MOVC指令实现。五、单片机复位电路及复位状态1.复位电路单片机复位电路包括片内、片外两部分。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的。MCS-51单片机通常采用上电自动复位和按键手动复位两种方式。如图4-3所示。图4-32.单片机复位后的状态单片机运行出错或进入死循环时,可按复位键重新运行。3.时钟电路(1)振荡周期/时钟周期:为单片机提供时钟信号的振荡源的周期。(3)机器周期:通常将完成一个基本操作所需的时间称为机器周期。(4)指令周期:是指CPU执行一条指令所需要的时间。一个指令周期通常含有1~4个机器周期。八、作业:P47页4,6,10,11(a)上电复位(c)按键脉冲复位(b)按键电平复位第八讲一、授课内容:MCS―51系列单片机二、授课类型:讲授三、授课时数:2学时四、教学目标:掌握MCS―51系列单片机的内部结构六、教学重、难点:重点/难点:80C51单片机的内部结构。七、教学设想:借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣.八、教学过程:(板书)一、内部数据存储器低128单元片内RAM(内部数据存储器)的地址范围是00H~FFH。内部数据存储器低128单元的地址范围是00H~7FH。分三个区。(1)工作寄存器区00H~1FH单元共32B,是4个通用工作寄存器组,每组含8个寄存器(R0~R7)。切换CPU的工作寄存器组,只要CPU执行一条单周期指令改变程序状态字PSW(特殊功能寄存器)的第3、4位,见表8-1。若程序中不需要4组工作寄存器,那么剩下的工作寄存器组所对应的单元也可以作一般的数据缓冲器使用。表8-1工作寄存器组的选择(2)位寻址区20H~2FH单元共16个字节。这16个RAM单元具有双重功能。它们既可以像普通RAM单元一样按字节存取,也可以单独存取,这就是位寻址。20H~2FH单元用作位寻址时,共有16×8=128位,每位分配了一个特定的地址,即00H~7FH,这些地址称为位地址,如图2.3所示。位地址在位寻址时使用。例如:把24H单元中最高位(位地址为27H)置位成1,则可以使用如下置位指令:SETB27H;27H←1,SETB为置位指令的操作码位地址的另一种表示方法是采用字节地址和位地址结合的表示方法。位地址05H可以表示成20H.5。(3)用户数据区30~7FH总共有80个RAM单元,存放用户数据或作堆栈操作使用。中断系统中的堆栈一般都设在这一区域内,MCS-51对用户数据区中的每个RAM单元是按字节存取的。二、内部数据存储器高128单元在MCS-51系列单片机中,内部RAM的高128单元是供给特殊功能寄存器SFR(Specialfunctionregister)使用的。所谓特殊功能寄存器是指有特殊用途的寄存器集合,也称专用寄存器。它们位于片内数据存储器之上,离散地分布在80H~FFH的地址空间范围内。特殊功能寄存器的实际个数和单片机的型号有关:8051或8031的SFR有21个,8052的SFR有26个。它们在80H~FFH的地址空间范围内,不为SFR占用的RAM单元实际并不存在,访问它们是没有意义的。表8-2列出了这些SFR的助记符号、名称和地址。表8-2特殊功能寄存器地址映像表1.特殊功能寄存器下面简单介绍SFR块中的部分寄存器,其他SFR寄存器将在有关章节中介绍。(1)程序计数器PC程序计数器PC用于存放下一条要执行的指令地址,是一个16位专用寄存器,可寻址范围为0~65535(64K)。PC在物理上是独立的,不属于SFR。(2)累加器A累加器A是一个最常用的专用寄存器,属于SFR,也称ACC。大部分单操作数指令的操作数取自累加器,很多双操作数指令的一个操作数取自累加器,加、减、乘、除算术运算指令的运算结果都存放在累加器A或A和B寄存器中。(3)B寄存器在乘除指令中,用到了B寄存器。乘除指令的两个操作数分别取自A和B,其结果存放在A和B寄存器中。例如除法指令中,被除数取自A,除数取自B,商数存放于A,余数存放于B。(4)堆栈指针SP堆栈指针SP是一个8位专用寄存器。它指示出堆栈顶部在内部RAM块中的位置。系统复位后,SP初始化为07H,使得堆栈事实上由08H单元开始。08H~1FH单元分别属于工作寄存器组1~3,在程序设计中用到这些区,最好把SP值改置为1FH或更大的值。MCS-51的堆栈是向上生成的,若SP=60H,CPU执行一条调用指令或响应中断后,PC进栈,PCL保护到61H,PCH保护到62H,SP=62H。(5)数据指针DPTR数据指针DPTR是一个16位的SFR,其高字节寄存器用DPH表示,低字节寄存器用DPL表示。DPTR可以作为一个16位的寄存器DPTR来用,也可以作为两个独立的8位寄存器DPH和DPL来用。(6)程序状态字(PSW——Programstatusword)程序状态字是一个8位的寄存器用于寄存指令执行的状态信息。其中有些位状态是根据指令执行结果,由硬件自动设置的,而有些位状态则是用软件方法设定的。PSW的位状态可以用专门的指令进行测试,也可以用指令读出。一些条件转移指令将根据PSW中有关位信息来进行程序转移。PSW的各位定义如下:表8-3PSW各位的定义除PSW.1位保留未用外,对其余各位的定义及使用介绍如下:①CY或C(PSW.7)——进位标志位。CY(或C)是PSW中最常用的标志位,其功能有二:一是存放算术运算的进位标志;二是在位操作中,作累加位使用。在位传送、位与、位或等操作中,都要使用进位标志位。②AC(PSW.6)——辅助进位标志位。在加减运算中,当有低4位向高4位进位或借位时,AC由硬件置位,否则AC位被清“0”。在进行十进制数运算时需要十进制调整,此时要用到AC位状态进行判断。③F0(PSW.5)——用户标志位。这是一个由用户自定义的标志位,用户根据需要用软件方法置位或复位。例如用它来控制程序的转向。④RS1和RS0(PSW.4和PSW.3)——寄存器组选择位。它用于设定当前通用寄存器的组号。通用寄存器共有4组,其对应关系见表2.2。这两个选择位的状态是由软件设置的,被选中的寄存器组即为当前通用寄存器。⑤OV(PSW.2)——溢出标志位。在带符号数的加减运算中,OV=1表示加减运算结果超出了累加器A所能表示的符号数有效范围(-128~+127),因此运算结果是错误的。在乘法运算中,OV=1表示乘积超过255,即乘积分别在寄存器B与A中;反之,OV=0表示乘积只在A中。在除法运算中,OV=1表示除数为0,除法不能进行;反之OV=0,表示除数不为0,除法能正常进行。⑥P(PSW.0)——奇偶标志位。其表明累加器A中1的个数的奇偶性,在每个指令周期由硬件根据A的内容对P位进行置位或复位,若1的个数为奇数,P=1,反之P=0。(7)、堆栈堆栈是一种数据结构。所谓堆栈就是只允许在其一端进行数据插入和数据删除操作的线性表。其结构如图2.4所示。堆栈的功能堆栈是为了子程序调用和中断操作而设立的,其作用有两个:保护断点和保护现场。2、内部程序存储器MCS-51单片机的程序计数器PC为16位,因此可以寻址的地址空间为64KB。8051和8751单片机内部有4KB字节ROM/EPROM程序存储器(0000H~0FFFH),1000H~FFFFH是外部扩展程序存储器地址空间。而8052单片机内部有8KBROM程序存储器,同样可以扩展到64KB。在64KB程序存储器中,有6个地址单元具有特殊功能。(1)程序计数器PCMCS-51单片机在复位后PC的内容为0000H,所以系统必须从0000H开始取指令,执行程序。因为0000H是系统的启动地址,所以用户在设计程序时,一般会在这一单元中存放一条绝对跳转指令,而主程序则从跳转到的新地址处开始存放。(2)中断源除0000H外,其余5个特殊功能单元分别对应6种中断源的中断服务子程序的入口地址,见表2.6。通常在程序设计时会在这些入口地址处都安放一条绝对跳转指令,而真正的中断服务子程序从转移地址开始安放。表8-4中断源入口地址第九讲一、授课内容:MCS―51单片机寻址方式二、授课类型:讲授三、授课时数:2学时四、教学目标:掌握MCS―51系列单片机的寻址方式六、教学重、难点:MCS―51系列单片机的寻址方式中断源入口地址外部中断00003H定时器0溢出中断000BH外部中断10013H定时器1溢出中断001BH串行口中断0023H七、教学设想:借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣.八、教学过程:(板书)一、指令格式一台计算机的指令系统是指它所有的指令集合。MCS-51的指令系统共有111条指令,由42个助记符和7种寻址方式组合而成。指令的表示方法称为指令格式,一条指令通常由操作码和操作数两部分组成。操作码规定指令进行什么操作,采用助记符表示;而操作数表示指令的操作对象,操作数可能是一个具体的数据,也可能是指出到哪里取得数据的地址或符号。根据指令的不同,可以有一个或多个操作数。汇编语言指令的基本形式是:操作码助记符目的操作数,源操作数操作码助记符与操作数分段书写,操作数中的目的操作数在前,源操作数在后,操作数之间用逗号分隔。MCS-51的指令系统中,根据指令的长度有一字节、二字节和三字节三种指令。1.一字节指令一字节指令只有一个字节,操作码中包含了操作数的信息。在两种情况下,其指令为一字节。①操作数固定,无须附加的空间来指定即可完整明确地表示出指令的功能。例如指令“INCDPTR”,其功能为数据指针加“1”,其指令码为:10100011②操作数在通用寄存器中,而寄存器编码只需3位二进制,故可以把寄存器编码与操作数“挤”在一个字节中,此时操作码占5位,操作数占3位。例如指令“MOVA,Rn”,其功能为寄存器向累加器送数据,其指令码为:11101rrr其中rrr为Rn的二进制编码。2.二字节指令二字节指令包含两个字节,其中第一个字节为操作码,第二个字节为操作数。例如立即数传送指令“MOVA,#data”,其中#data表示一个8位二进制操作数,占一个字节,称为立即数。指令码为:01110100立即数3.三字节指令三字节指令包含三个字节,其中操作码占一个字节,操作数占两个字节,操作数既可为数据,也可是地址。例如逻辑与操作指令“ANLdirect,#data”,其功能是直接寻址单元内容与立即数进行与操作,指令格式为:01010011直接地址立即数二、指令系统的分类从占用的存储空间上,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位数来表示。例如:MOVA,#60H;A←#60HMOVDPTR,#3400H;DPTR←#3400HMOV30H,#40H;30H单元←#40H上述三条指令执行完后,累加器A中数据为立即数据60H,DPTR寄存器中数据为3400H,30H单元中数据为立即数40H。2、直接寻址指令中直接给出操作数地址的寻址方式,能进行直接寻址的存储空间有SFR寄存器和内部数据RAM。例如:MOVPSW,#20H;PSW←#20HPSW为直接寻址寄存器的符号地址。MOVA,30H;A←30H内部RAM单元中的内容30H为直接给出的内部RAM的地址。3、寄存器寻址以通用寄存器的内容为操作数的寻址方式。通用寄存器指A、B、DPTR以及R0~R7。例如:CLRA;A←0INCDPTR;DPTR←DPTR+1ADDR5,#20H;R5←#20H+R54、寄存器间接寻址以寄存器中内容为地址,以该地址中内容为操作数的寻址方式。间接寻址的存储器空间包括内部数据RAM和外部数据RAM。能用于寄存器间接寻址的寄存器有R0,R1,DPTR,SP。其中R0、R1必须是工作寄存器组中的寄存器。SP仅用于堆栈操作。例如:MOV@R0,A;内部RAM(R0)←A其指令操作过程示意图如图3-1所示。又如:MOVXA,@R1;A←外部RAM(P2R1)其指令操作过程示意图如图3-2所示。再如:MOVX@DPTR,A;外部RAM(DPTR)←A其指令操作过程示意图如图3-3所示。5、变址寻址变址寻址只能对程序存储器中数据进行操作。由于程序存储器是只读的,因此变址寻址只有读操作而无写操作,在指令符号上采用MOVC的形式。例如:MOVCA,@A+DPTR;A←(A+DPTR)又如,MOVCA,@A+PC;A←(A+PC)这条指令与上条指令不同的是,基址寄存器是PC。6、相对寻址以当前程序计数器PC的内容为基础,加上指令给出的一字节补码数(偏移量)形成新的PC值的寻址方式。相对寻址用于修改PC值,主要用于实现程序的分支转移。例如,SJMP08H;PC←PC+2+08H指令操作示意图如图3-5所示。7、位寻址位寻址只能对有位地址的单元作位寻址操作。位寻址其实是一种直接寻址方式,不过其地址是位地址。例如:SETB10H;将10H位置1若22H单元中存放着数据40H,22H单元的D0位的位地址为10H,执行上述指令后(22H)=41H。又如:MOV32H,C;32H←进位位CORLC,32H;C←C∨32H在MCS-51中,位地址的表示方式可采用下面几种形式:①直接使用位地址。例如PSW寄存器的位5的位地址为0D5H。②单元地址加位数的表示方法。例如0D0H.5,表示字节单元地址0D0H(即PSW寄存器)的位5。③对可位寻址的专用寄存器可直接用寄存器名称加位数的方法。例如PSW.5表示PSW寄存器的位5。④使用位名称。在可位寻址的专用寄存器中,一些位是有符号名称的,例如PSW寄存器的位5是F0标志位,则可使用F0表示该位。MCS-51指令系统的7种寻址方式,可以概括为表3.1。表10-1MCS-51寻址方式寻址方式寻址空间寄存器寻址R0~R7、A、AB、C、DPTR直接寻址内部RAM低128单元和专用寄存器寄存器间接寻址内部RAM低128单元使用@R0、@R1、SP作为操作数外部RAM使用@R0、@R1、@DPTR作为操作数立即寻址程序存储器ROM变址寻址程序存储器使用@A+DPTR、@A+PC作为操作数相对寻址程序存储器使用PC+偏移量rel作为操作数位寻址内部RAM和专用寄存器的位地址空间由表10-1中可以看出:①内部数据存储器使用频繁,寻址方式较多,有寄存器寻址、直接寻址、寄存器间接寻址、位寻址。直接寻址是访问专用寄存器的惟一方法。②对外部数据存储器,只能使用寄存器间接寻址。③对程序存储器可使用变址寻址、相对寻址和立即寻址。④在两个操作数的指令中,把左边操作数称为目的操作数,而右边操作数称为源操作数。前面所讲的各种寻址方式都是针对源操作数的。但实际上源操作数和目的操作数都有寻址问题,例如指令:MOV30H,R0其源操作数是寄存器寻址方式,而目的操作数则是直接寻址方式,因此指令的功能是把按寄存器寻址取出的R0内容再以直接寻址方式存放于内部RAM的30H单元中。数据传送类指令共有29条。这类指令的一般操作是把源操作数传送到目的操作数,指令执行后,源操作数不改变,目的操作数修改为源操作数。源操作数可以采用寄存器寻址、寄存器间接寻址、直接寻址、立即寻址、变址寻址5种寻址方式。目的操作数可以采用寄存器寻址、寄存器间接寻址、直接寻址3种寻址方式。第十一讲一、授课内容:MCS―51单片机指令系统二、授课类型:讲授三、授课时数:4学时四、教学目标:掌握并熟练运用MCS―51系列单片机的数据传送指令五、教学重、难点:熟练运用MCS―51系列单片机的数据传送指令六、教学设想:借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣.七、教学过程:(板书)(一)数据传送类指令数据传送类指令共28条,是将源操作数送到目的操作数。指令执行后,源操作数不变,目的操作数被源操作数取代。数据传送类指令用到的助记符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP8种。源操作数可采用寄存器、寄存器间接、直接、立即、变址5种寻址方式寻址,目的操作数可以采用寄存器、寄存器间接、直接寻址3种寻址方式。1.以A为目的操作数MOVA,Rn;A←RnMOVA,direct;A←(direct)MOVA,@Ri;A←(Ri)MOVA,#data;A←#data2.以Rn为目的操作数MOVRn,A;Rn←AMOVRn,direct;Rn←(direct)MOVRn,#data;Rn←#data3.以直接地址为目的操作数MOV@Ri,A;(Ri)←AMOV@Ri,direct;(Ri)←(direct)MOV@Ri,#data;(Ri)←#data4.以间接地址为目的操作数MOV@Ri,A;(Ri)←AMOV@Ri,direct;(Ri)←(direct)MOV@Ri,#data;(Ri)←#data例如:设(30H)=6FH,R1=40H,执行MOV@R1,30H后,30H单元中数据取出送入R1间接寻址的40H单元,(40H)=6FH。5.以DPTR为目的操作数MOVDPTR,#data16;DPTR←#data16例如执行MOVDPTR,#2000H后,(DPTR)=2000H。6.访问外部数据RAMMOVXA,@DPTR;A←(DPTR)MOVX@DPTR,A;(DPTR)←AMOVXA,@Ri;A←(P2Ri)MOVX@Ri,A;(P2Ri)←A7.读程序存储器MOVCA,@A+DPTR;A←(A+DPTR)MOVCA,@A+PC;A←(A+PC)例如已知A=30H,DPTR=3000H,程序存储器单元(3030H)=50H,执行MOVCA,@A+DPTR后,A=50H。8.数据交换(1)字节交换XCHA,Rn;A<=>RnXCHA,direct;A<=>(direct)XCHA,@Ri;A<=>(Ri)(2)半字节交换XCHDA,@Ri;A0~3<=>(Ri)0~3SWAPA;A0~3<=>A4~79.堆栈操作所谓堆栈是在片内RAM中按“先进后出,后进先出”原则设置的专用存储区。数据的进栈出栈由指针SP统一管理。堆栈的操作有如下两条专用指令:PUSHdirect;SP←(SP+1),(SP)←(direct)POPdirect;(direct)←(SP),SP←SP-1PUSH是进栈(或称为压入操作)指令。【例3.1】将片内RAM30H单元与40H单元中的内容互换。方法1(直接地址传送法):MOV31H,30HMOV30H,40HMOV40H,31HSJMP$方法2(间接地址传送法):MOVR0,#40HMOVR1,#30HMOVA,@R0MOVB,@R1MOV@R1,AMOV@R0,BSJMP$方法3(字节交换传送法):MOVA,30HXCHA,40HMOV30H,ASJMP$方法4(堆栈传送法):PUSH30HPUSH40HPOP30HPOP40HSJMP$第十二讲一、授课内容:MCS―51单片机指令系统二、授课类型:讲授三、授课时数:4学时四、教学目标:掌握并熟练运用MCS―51系列单片机的算术运算指令五、教学重、难点:熟练运用MCS―51系列单片机的算术运算指令六、教学设想:借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣.七、教学过程:(板书)算术运算类指令1.加法指令ADDA,Rn;A←A+RnADDA,direct;A←A+(direct)ADDA,@Ri;A←A+(Ri)ADDA,#data;A←A+#data2.带进位加指令ADDCA,Rn;A←A+Rn+CADDCA,direct;A←A+(direct)+CADDCA,@Ri;A←A+(Ri)+CADDCA,#data;A←A+#data+CC为来自PSW状态寄存器中的进位位C。例如,设A=20H,R0=21H,C=1,执行指令ADDCA,R0后,A=42H。3.带借位减指令SUBBA,Rn;A←A-Rn-CSUBBA,direct;A←A-(direct)-CSUBBA,@Ri;A←A-(Ri)-CSUBBA,#data;A←A-#data–C例如,设A=39H,R0=20H,(20H)=32H,C=1,执行指令SUBBA,@R0后,A=06H。4.乘法指令MULAB;BA←A×BA和B中各存放一个8位无符号数,指令执行后,16位乘积的高8位在B中,低8位存A中。例如,A=30H,B=60H,执行MULAB后,A=00H,B=12H。5.除法指令DIVAB;A÷B→商在A中,余数在B中A和B中各存放一个8位无符号数,A放被除数,B放除数。指令执行后,A中存放商,B中存入余数。若B=00H,则指令执行后OV=1,A与B不变。例如,A=30H,B=07H,执行DIVAB后,A=06H,B=06H。6.加1指令INCA;A←A+1INCRn;Rn←Rn+1INCdirect;(direct)←(direct)+1INC@Ri;(Ri)←(Ri)+1INCDPTR;DPTR←DPTR+1例如,(30H)=22H,执行INC30H后,(30H)=23H。7.减1指令DECA;A←A-1DECRn;Rn←Rn-1DECdirect;direct←(direct)-1DEC@Ri;(Ri)←(Ri)-1例如,R0=30H,(30H)=22H,执行DEC@R0后,(30H)=21H。8.十进制调整指令DAA;把A中按二进制相加的结果调整成按BCD码相加的结果例如,A=65BCD,B=78BCD,C=0,执行下列语句ADDA,BDAA后,A=43BCD,C=1。例如,试把存放在R1R2和R3R4中的两个16位数相加,结果存于R5R6中。解:参考程序如下:MOVA,R2;取第一个数的低8位ADDA,R4;两数的低8位相加MOVR6,A;保存和的低8位MOVA,R1;取第一个数的高8位ADDCA,R3;两数的高8位相加,并把低8位相加时的进位位加进来MOVR5,A;把相加的高8位存入R5寄存器中SJMP$第十三讲一、授课内容:80C51单片机的指令系统二、授课类型:讲授三、授课时数:4学时四、教学目标:掌握并熟练运用单片机的逻辑运算指令五、教学重、难点:熟练运用单片机的逻辑运算指令六、教学设想:借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣.七、教学过程:(板书)(一)逻辑运算与循环类指令1.“与”操作指令逻辑“与”运算的特点是:①X∧1=X;②X∧0=0利用这个特点可以对某个操作数的某一位或某几位清零。2.“或”操作指令逻辑“或”运算的特点是:①X∨1=1;②X∨0=X利用这个特点,可以对某个操作数的某一位或几位置“1”。3.“异或”操作指令逻辑异或运算的特点是:利用这个特点,可以对某个操作数的某一位或某几位取反。4.求反与清除指令5.循环指令“RRA”指令和“RLA”指令的功能分别是将累加器A的内容循环左移或右移一位;“RRCA”指令和“RLCA”指令的功能分别是将累加器A的内容带进位位Cy循环左移或右移一位。有时可运用“RLCA”指令实现无符数乘2运算,用“RRCA”指令实现除2运算(商为非整数时向下取整)。(二)程序转移类指令1.无条件转移指令绝对(短)转移指令AJMPaddr11;PC10~0←addr11长转移指令LJMPaddr16;PC←addr16短(相对)转移指令SJMPrel;PC←PC+2+rel间接转移指令JMP@A+DPTR;PC←A+DPTR累加器为零(非零)转移指令减1非零转移指令两数不等转移指令相对偏移量rel的求法(三)调用子程序及返回指令1.调用子程序指令LCALLaddr16;PC←PC+3,SP←SP+1,(SP)←PC7~10;SP←SP+1,(SP)←PC15~8,PC←addr16ACALLaddr11;PC←PC+2,SP←SP+1,(SP)←PC7~0;SP←SP+1,(SP)←PC15~8,PC10~0←addr112.返回指令RET;PC15~8←(SP),SP←SP-1;PC7~0←(SP),SP←SP-1RETI;PC15~8←(SP),SP←SP-1;PC7~0←(SP),SP←SP-1(四)位操作指令1.位数据传送指令MOVC,bit;C←(bit)MOVbit,C;bit←C2.位状态修改指令CLRC;C←0CLRbit;(bit)←0CPLC;C←CPLbit;(bit)←(bit)SETBC;C←1SETBbit;(bit)←1ANLC,bit;C←C∧(bit)ANLC,/bit;C←C∧(bit)ORLC,bit;C←C∨(bit)ORLC,/bit;C←C∨(bit)4.位转移指令JCrel;若C=1,则转移(PC←PC+2+rel);否则程序顺序执行JNCrel;若C=0,则转移(PC←PC+2+rel);否则程序顺序执JBbit,rel;若(bit)=1,则转移(PC←PC+3+rel);否则程序顺序执行JNBbit,rel;若(bit)=0,则转移(PC←PC+3+rel);否则程序顺序执行JBCbit,rel;若(bit)=1,则PC←PC+3+rel,(bit)←0;否则程序顺序执行功能:分别检测指定位是1还是0,若条件符合,则CPU转向指定的目标地址去执行程序;否则,顺序执行下条指令。(五)空操作指令NOP;PC←PC+1这是一条单字节指令。执行时,不作任何操作(即空操作),仅将程序计数器PC的内容加1,使CPU指向下一条指令继续执行程序。这条指令常用来产生一个机器周期的时间延迟。思考题与习题1.试解释指令系统,机器语言和汇编语言。2.何谓寻址方式?MCS-51单片机有哪几种寻址方式?相应的寻址空间在何处?3.变址寻址方式有什么特点?应用于什么场合?采用DPTR或PC作基址寄存器时其寻址范围有何不同?4.设(A)=8FH,(R0)=40H,内部RAM的(40H)=38H,(41H)=0A8H,(42H)=74H,试写出下列各指令执行后各单元内容的变化。MOVA,@R0MOV@R0,42HMOV42H,AINCR0MOVA,@R0第十四讲一、授课内容:汇编语言程序二、授课类型:讲授三、授课时数:4学时四、教学目标:掌握简单汇编语言程序五、教学重、难点:运用简单汇编语言编写简单程序六、教学设想:借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论