单片机教案(中职打印)_第1页
单片机教案(中职打印)_第2页
单片机教案(中职打印)_第3页
单片机教案(中职打印)_第4页
单片机教案(中职打印)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

单片机教案(中职打印) 教学目的 1、了解单片机及计算机的基础知识 2、掌握不同数制和码制之间的转换方法重难点二进制,十进制,十六进制数之间的转换教学内容见下面第一章单片机基础知识单片微型计算机是70年代初期发展起来的,它的产生、发展和壮大以及对国民经济的巨大贡献引起了人们的高度重视,下面对单片微型计算机进行全面、概括的叙述。 1.1概述单片微型计算机简称为单片机。 它是微型计算机发展中的一个重要分支,它以其独特的结构和性能,越来越广泛的应用到工业、农业、国防、网络、通信以及人们日常工作、生活领域中。 单片机是在一块芯片上集成了中央处理部件(CPU)、存储器(RAM、ROM)、定时器/计数器和各种输入/输出(I/O)接口(如并行I/O口、串行I/O口和A/D转换器)等。 由于单片机通常是为实时控制应用而设计制造的,因此,又称为微控制器(MCU)。 1.1.1单片机的基本知识每一种单片机的设计都包括以下几个方面 1、指令及与指令对应的电路(芯片)和代码; 2、固化程序的编程器; 3、硬件仿真器。 设计完成后,由有关生产厂家生产出产品(芯片、编程器、仿真器),再由开发人员开发出市场所需要的应用产品。 在这些开发的芯片中,有些芯片是公开使用的,在市场上能买到的芯片就属这种类型,这种芯片分为两类,一类不能加密;一类可加密;有些芯片是不公开的,如军工产品和各大公司开发的专用产品。 单片机种类很多,但不管哪种单片机,厂家都要配套提供编程器(固化程序用)、硬件仿真器(调试程序用)、指令系统,芯片使用说明书,没有这些很难进行二次开发,除非你能破解芯片。 因而,对产品开发人员来说,所要做的工作就是按厂家提供的方法使用芯片;按产品功能要求设计电路、编写程序、做成产品。 对产品维修使用人员来说,知道芯片使用的方法,产品电路的工作原理,会维修使用。 1.1.2单片机的发展概况单片机自问世以来,性能不断提高和完善,其资源不仅能满足很多应用场合的需要,而且具有集成度高、功能强、速度快、体积小、功耗低、使用方便、性能可靠、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、网络系统、汽车工业、国防工业、高级计算器具、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统,单片机的潜力越来越被人们所重视。 特别是当前用CMOS工艺制成的各种单片机,由于功耗低,使用的温度范围大、抗干扰能力强、能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促进了单片机技术的发展。 自1976年9月Intel公司推出MCS-48单片机以来,单片机就受到了广大用户的欢迎。 因此,有关公司都争相推出各自的单片机。 如GI公司推出PIC1650系列单片机,Rockwell公司推出了与6502微处理器兼容的R6500系列单片机。 它们都是8位机,片内有8位中央处理器(CPU)、并行I/O口、8位定时器/计数器和容量有限的存储器(RAM、ROM)以及简单的中断功能。 1978年下半年Motorola公司推出M6800系列单片机,Zilog公司相继推出Z8单片机系列。 1980年Intel公司在MCS-48系列基础上又推出了高性能的MCS-51系列单片机。 这类单片机均带有串行I/O口,定时器/计数器为16位,片内存储容量(RAM,ROM)都相应增大,并有优先级中断处理功能,单片机的功能、寻址范围都比早期的扩大了,它们是当时单片机应用的主流产品。 目前国际市场上8位、16位单片机系列已有很多,但是,在国内使用较多的系列是Intel公司的产品,其中又以MCS-51系列单片机应用尤为广泛,二十几年经久不衰,而且还在更进一步发展完善,价格越来越低,性能越来越好。 单片机技术正以惊人的速度向前发展,就市场上已出现的单片机而言,其技术革新与进步主要表现在以下几个方面、CPU的发展增加CPU的字长或提高时钟频率均可提高CPU的数据处理能力和运算速度。 CPU的字长目前有8位、16位和32位。 时钟频率高达20MHz的单片机也已出现。 还有的8位单片机其算术逻辑运算部件(ALU)却是16位,内部采用16位数据总线。 如NEC公司的PD7800系列的8位单片机,Mitsubishi公司的M37700系列单片机,它们的数据处理能力和速度比一般8位单片机强,如PD7800系列单片机作一次16位乘以16位的乘法用3.2s。 16位除以8位的除法用3.0s。 32位除以16位的除法用8.3s。 另外,单片机内部采用双CPU结构能大大提高处理能力,如Rockwell公司的R6500/21和R65C29单片机。 由于片内有两个CPU能同时工作,可能更好地处理外围设备的中断请求,克服了单CPU在多重高速中断响应时的失效问题。 同时,由于双CPU可以共享存储器和I/O接口的资源,因此,还可更好地解决信息通信问题。 如Intel公司的8044,它的内部实际上是8051和SIU通信处理机组成,由SIU来管理SDLC的通信,这样既加快了通信处理的速度,同时,还减轻了8051的处理负担。 2、片内存储器的发展、扩大存储容量早期单片机的片内存储器,一般RAM为64128字节,ROM为1K2K字节,寻址范围为4K字节。 新型单片机片内RAM为256字节,ROM多达16K字节。 如Intel公司的8052,片内ROM为8K字节。 通用仪器公司的70120片内ROM容量为12K字节。 片内ROM容量最大的是日立公司的MC6301Y为16K字节。 新型单片机的寻址范围可扩大到64K字节,甚至128K字节(其中随机存储器RAM容量为64K字节,只读存储器ROM容量64K字节)。 这类单片机有Intel公司的MCS-51系列和Zilog公司的Z8601,Z8603,Z8611,Z8681等。 内部ROM分可擦除和一次性可编程(OTP)两种,前者价高,技术开发时使用,后者价低,开发成功后,一次性固化在产品上使用,须注意的是一次性固化在产品上使用的必须是成熟产品,否则会造成经济损失。 如PIC系列。 内、片内EPROM开始E2PROM化早期单片机内ROM有的采用可擦式的只读存储器EPROM,然而EPROM必须要高压编程,紫外线擦除,给使用带来不便。 近年来,推出的电擦除可编程只读存储器E2PROM可在正常工作电压下进行读写,并能在断电的情况下,保持信息不丢失。 因此,有些厂家已开始用E2PROM替代原来的片内EPROM。 如TI公司和Seeq公司的72710(1K字节E2PROM),72720(2K字节E2PROM),Motorola公司的68HC11A2(2K字节E2PROM),68HC805C4(4K字节的E2PROM),TEXAS仪器公司的77C82(8K字节E2PROM)。 由于写入E2ROM的数据能永久保存,因此,有些厂家已开始将E2PROM用作片内ROM,甚至用作片内通用寄存器。 这样就可省去备用电池了。 目前,单片机种类繁多,功能多样,将外围电路尽量集中在芯片内,使其成为名符其实的单片机,这也成为一种发展趋势。 单片机是在一块芯片上集成了一台微型计算机所需的CPU、存储器、输入/输出部件和时钟电路等。 因此它具有体积小,使用灵活、成本低、易于产品化、抗干扰能力强,可在各种恶劣环境下可靠地工作等特点。 特别是它应用面广,控制能力强,使它在工业控制、智能仪表、外设控制、家用电器、机器人、军事装置等方面得到了广泛的应用。 单片机主要可用于以下几方面 1、测控系统中的应用控制系统特别是工业控制系统的工作环境恶劣,各种干扰也强,而且往往要求实时控制,故要求控制系统工作稳定、可靠、抗干扰能力强。 单片机是最适宜用于控制领域。 例如炉子恒温控制、电镀生产线自动控制等。 2、智能仪表中的应用用单片机制作的测量、控制仪表,能使仪表向数字化、智能化、多功能化、柔性化发展,并使监测、处理、控制等功能一体化,使仪表重量大大减轻,便于携带和使用,同时降低了成本,提高了性能价格比。 如数字式RLC测量仪、智能转速表、计时器等。 3、智能产品单片机与传统的机械产品结合,使传统机械产品结构简化、控制智能化,构成新型的机、电、仪一体化产品。 如数控车床、智能电动玩具、各种家用电器和通信设备等。 4、在智能计算机外设中的应用在计算机应用系统中,除通用外部设备(键盘、显示器、打印机)外,还有许多用于外部通信、数据采集、多路分配管理、驱动控制等接口。 如果这些外部设备和接口全部由主机管理,势必造成主机负担过重、运行速度降低,并且不能提高对各种接口的管理水平。 如果采用单片机专门对接口进行控制和管理,则主机和单片机就能并行工作,这不仅大大提高系统的运算速度,而且单片机还可对接口信息进行预处理,以减少主机和接口间的通信密度、提高接口控制管理的水平。 如绘图仪控制器,磁带机、打印机的控制器等等。 综上所述,单片机在很多应用领域都得到了广泛的应用。 目前国外的单片机应用已相当普及,国内虽然从1980年开始才着手开发应用,但至今也已拥有数十家专门生产单片机开发系统的工厂或公司,愈来愈多的科技工作者投身到单片机的开发和应用中,并且在程序控制、智能仪表等方面涌现出大量科技成果,可以预见,单片机在我国必将有着更为广阔的发展前景。 1.2数制和码制计算机中的数字电路具有两种不同的稳定状态且能相互转换,即“0”和“1”两种状态。 计算机处理的一切信息均用二进制数表示,但是二进制数冗长、易错、难记,所以微型计算机中的二进制数都采用十六进制来缩写。 十六进制数用0 9、AF等16个数码表示十进制数015。 为了区别十进制数、八进制数制、二进制数及十六进制数4种数制,在数的后面加一个字母进行区别。 用B(binary)表示二进制数制;D(decimal)或不带字母表示十进制数制;H(hexadecimal)表示十六进制数制。 另外,用O(octal)表示八进制数制。 为什么计算机用二进制数 (1)二进制数在物理上最容易实现。 例如,可以只用高、低两个电平表示“1”和“0”,也可以用脉冲的有无或者脉冲的正负极性表示它们。 二进制需要的电路简单、耗电少和速度快。 (2)二进制数用来表示的二进制数的编码、计数、加减运算规则简单 (3)二进制数的两个符号“1”和“0”正好与逻辑命题的两个值“是”和“否”或称“真”和“假”相对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利的条件。 二进制数转换到十六进制数将二进制数从右(最低位)向左每4位为1组分组,若最后一组不足4位,则在其左边添加0,以凑成4位,每组用1位十六进制数表示。 如1111111000111B1111111000111B0001111111000111B1FC7H十六进制数到二进制数转换十六进制数转换位二进制数,只需用4位二进制数代替1位十六进制数即可。 如3AB9H=0011101010111001B=11101010111001B十六进制数转换到十进制数将十六进制数按权展开、相加即可,如11H=16111601=16111=171F3DH=163116215161316013=4096125615163113=409638404813=7997十进制数到十六进制数的转换十进制整数转换为十六进制数可用除16取余法,即用16不断地去除待转换的十进制数,直至商等于0为止。 将所得的各次余数,依倒叙排列,即可得到所转换的十六进制数。 如将38947转换为十六进制数,其方法及算式如下38947=9823H1.机器数与真值机器数机器中数的表示形式,它将数的正、负符号和数值部分一起进行二进制编码,其位数通常为8的整数倍。 真值机器数所代表的实际数值的正负和大小,是人们习惯表示的数。 有符号数最高位为符号位。 “0”表示正,“1”表示负无符号数最高位不作为符号位,而作为数值位。 2、数的单位位(bit)一个二进制数中的1位,其值不是1便是0。 字节(Byte)一个字节,就是一个8位的二进制数。 字(Word)两个字节,就是一个16位的二进制数。 双字(Double Word)两个字,即四个字节,一个32位二进制数。 只有8位、16位或32位机器数的最高位才是符号位。 有符号数有原码、反码和补码三种表示法。 1.原码数值部分用其绝对值,正数的符号位用“0”表示,负数的符号位用“1”表示。 如X1=5=+00000101BX1原=00000101B X2=-5=-00000101BX2原=10000101B8位原码数的范围为FFH7FH(-127127)。 原码数00H和80H的数值部分相同、符号位相反,它们分别为+0和-0。 16位原码数的数值范围为FFFFH7FFFH(-3276732767)。 原码数0000H和8000H的数值部分相同、符号位相反,它们分别为+0和-0。 原码表示简单易懂,而且与真值的转换方便。 但若是两个异号数相加,或两个同号数相减,就要做减法。 为了把减运算转换为加运算,从而简化计算机的结构,就引进了反码和补码。 (2)反码正数的反码与原码相同;负数反码符号位不变,数值部分按位取反。 例求8位反码机器数x1=+4x1原=00000100Bx1反=00000100B04H x2=-4x2原=10000100Bx2反=11111011B=FBH (3)补码正数的补码与原码相同;负数补码为其反码加1。 例求8位补码机器数x1=+4x1原=x1反=x1补=00000100=04H x2=-4x2原=10000100x2反=11111011x2补=x2反+1=1111100=FCH8位补码数的数值范围为-128127(80H7FH)。 16位补码数的数值范围为8000H7FFFH(-3276832767)。 字节80H和字8000H的真值分别是-128(-80H)和-32768(-8000H)。 补码数80H和8000H的最高位既代表了符号为负,又代表了数值为1。 快速求法将负数原码的最前面的1和最后一个1之间的每一位取反。 例如x=-4x原=10000100x补=11111100=FCH取反两数互补是针对一定的“模”而言,“模”即计数系统的过量程回零值,例如时钟以12为模(12点也称0点),4和8互补,一位十进制数3和7互补(因为3710,个位回零,模为10110),两位十进制数35和65互补(因为3567100,十进制数两位回零,模为102100),而对于8位二进制数,模为28100000000B=100H,同理16位二进制数,模为21610000H由此得出求补的通用方法一个数的补数模该数,这里补数是对任意的数而言,包括正、负数。 而补码是针对符号机器数而言。 设有原码机器数X,X0,X补=X原当X0,X补=模-X例如对于八位二进制数x1=+4x1补=00000100B=04H;x2=-4x2补=100H-4=FCH对于16二进制位数x2=+4x2补=0004H;x2=-4x2补=10000H-4=FFFCH几点说明根据两数互为补的原理,对补码求补码就可以得到其原码,将原码的符号位变为正、负号,即是它的真值例如求补码数FAH的真值。 因为FAH为负数求补码FAH补86H=-6例如求补码数78H的真值。 因为78H为正数求补码78H补78H=+120一个用补码表示的机器数,若最高位为0,则其余几位即为此数的绝对值;若最高位为1,其余几位不是此数的绝对值,必须把该数求补(按位取反(包括符号位)加1),才得到它的绝对值。 如X=-15-15补F1H11110001B求补得:00001110100001111B=15当数采用补码表示时,就可以把减法转换为加法。 例164-10=64+(-10)=5464补=40H=01000000B10补=0AH=00001010B-10补=11110110B做减法运算过程用补码相加过程结果相同,其真值为36H(=54)。 由于数的八位限制,最高位的进位是自然丢失的(在计算机中,进位被存放在进位标志CY中的。 )用补码表示后,减法均可以用补码相加完成。 因此,在微机中,凡是符号数一律是用补码表示的。 用加法器完成加、减运算,用加法器和移位寄存器完成乘、除运算,简化计算机硬件结构。 小结 1、单片机的特点及应用。 2、不同数制之间的转换方法。 (1)二十进制数之间的转换 (2)二十六进制数之间的转换 3、补码和反码 4、BCD码 5、ASC码习题与思考题1-1什么是单片机?它与一般微型计算机在结构上何区别?1-2单片机的发展大致可分为几个阶段?各阶段的单片机功能特点是什么?1-3二十进制数之间的转换(见教材)1-4二十六进制数之间的转换(见教材)教学目的 1、熟悉单片机的基本结构 2、掌握单片机引脚功能重难点P3口的第二功能教学内容见下面第2章MCS-51单片机结构MCS-51系列单片机产品有8051,8031,8751,80C51,80C31等型号(前三种为CMOS芯片,后两种为CHMOS芯片)。 它们的结构基本相同,其主要差别反映在存储器的配置上。 8051内部设有4K字节的掩模ROM程序存储器,8031片内没有程序存储器,而8751是将8051片内的ROM换成EPROM。 由ATMEL公司生产的89C51将EPROM改成了4K的闪速存储器,他们的结构大同小异,本章将对8051单片机的结构作一介绍。 21MCS-51单片机内部结构2.1. 1、MCS-51单片机组成21MCS-51单片机内部结构2.1. 1、MCS-51单片机组成MCS-51单片机是在一块芯片中集成了CPU,RAM,ROM、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件。 MCS-51单片机内包含下列几个部件一个8位CPU;一个片内振荡器及时钟电路;4K字节ROM程序存储器;128字节RAM数据存储器;两个16位定时器/计数器;可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;32条可编程的I/O线(四个8位并行I/O端口);一个可编程全双工串行口;具有五个中断源、两个优先级嵌套中断结构。 1、CPU CPU是单片机的核心部件。 它由运算器和控制器等部件组成。 运算器运算器的功能是进行算术运算和逻辑运算。 可以对半字节(4位)、单字节等数据进行操作。 例如能完成加、减、乘、除、加 1、减 1、BCD码十进制调整、比较等算术运算和与、或、异或、求补、循环等逻辑操作,操作结果的状态信息送至状态寄存器。 8051运算器还包含有一个布尔处理器,用来处理位操作。 它是以进位标志位C为累加器的,可执行置位、复位、取反、等于1转移、等于0转移、等于1转移且清0以及进位标志位与其他可寻址的位之间进行数据传送等位操作。 也能使进位标志位与其他可位寻址的位之间进行逻辑与、或操作。 2、存储器MCS-51单片机的程序存储器和数据存储器空间是互相独立的,物理结构也不同。 程序存储器为只读存储器(ROM)。 数据存储器为随机存取存储器(RAM)。 单片机的存储器编址方式采用与工作寄存器、I/O口锁存器统一编址的方式。 有关存储器的内容将在下一节中详述。 3、I/O端口I/O端口又称为I/O接口,也叫做I/O通道或I/O通路,I/O端口是MCS-51单片机对外部实现控制和信息交换的必经之路,I/O端口有串行和并行之分,串行I/O端口一次只能传送一位二进制信息,并行I/O端口一次能传送一组二进制信息。 、并行I/O端口MCS-51单片机设有四个8位双向I/O端口(P 0、P 1、P 2、P3),每一条I/O线都能独立地用作输入或输出。 P0口为三态双向口,能带8个LSTTL电路。 P 1、P 2、P3口为准双向口(在用作输入线时,口锁存器必须先写入“1”,故称为准双向口),负载能力为4个LSTTL电路。 1)、P0端口功能(P0.0P0. 7、3239脚)P0口位结构,包括1个输出锁存器,2)P1口(P1.0P1. 7、18脚)准双向口P1口作通用I/O端口使用P1口是一个有内部上拉电阻的准双向口,位结构入图2-5所示,P1口的每一位口线能独立用作输入线或输出线。 作输出时,如将“0”写入锁存器,场效应管导通,输出线为低电平,即输出为“0”。 因此在作输入时,必须先将“1”写入口锁存器,使场效应管截止。 该口线由内部上拉电阻提拉成高电平,同时也能被外部输入源拉成低电平,即当外部输入“1”时该口线为高电平,而输入“0”时,该口线为低电平。 P1口作输入时,可被任何TTL电路和MOS电路驱动,由于具有内部上拉电阻,也可以直接被集电极度开路和漏极开路电路驱动,不必外加上拉电阻。 P1口可驱动4个LSTTL门电路。 P1口其他功能和P1.1是多功能的,P1.0可作定时器/计数器2的外部计数触发输入端T2,P1.1可作定时器/计数器2的外部控制输入端T2EX。 3)P2口(P2.0P2.7,2128脚)准双向口P2口的位结构如图2-6所示,引脚上拉电阻同P1口。 在结构上,P2口比P1口多一个输出控制部分。 当P2口作通用I/O端口使用时,是一个准双向口,此时转换开关MUX倒向左边,输出级与锁存器接通,引脚可接I/O设备,其输入输出操作与P1口完全相同。 4)P3口(P3.0P3. 7、1017脚)双功能口P3口是一个多用途的端口,也是一个准双向口,作为第一功能使用时,其功能同P1口。 P3口的位结构如图2-7。 当作第二功能使用时,每一位功能定义如表2-1所示。 P3口的第二功能实际上就是系统具有控制功能的控制线。 此时相应的口线锁存器必须为“1”状态,与非门的输出由第二功能输出线的状态确定,从而P3口线的状态取决于第二功能输出线的电平。 在P3口的引脚信号输入通道中有两个三态缓冲器,第二功能的输入信号取自第一个缓冲器的输出端,第二个缓冲器仍是第一功能的读引脚信号缓冲器。 P3口可驱动4个LSTTL门电路。 P3口的第二功能端口功能第二功能P3.0RXD-串行输入(数据接收)口P3.1TXD-串行输出(数据发送)口P3.20INT-外部中断0输入线P3.31INT-外部中断1输入线P3.4T0-定时器0外部输入P3.5T1-定时器1外部输入P3.6WR-外部数据存储器写选通信号输出P3.7RD-外部数据存储器读选通信号输入2.1.2MCS-51单片机存储器结构MCS-51存储器结构与常见的微型计算机的配置方式不同,它把程序存储器和数据存储器分开,各有自已的寻址系统,控制信号和功能,程序存储器用来存放程序和始终要保留的常数,例如所编程序经汇编后的机器码。 数据存储器通常用来存放程序运行中所需要的常数或变量。 例如做加法时的加数和被加数、做乘法时的乘数和被乘数、模/数转换时实时记录的数据等等。 1、程序存储器程序存储器用来存放程序和表格常数。 程序存储器以程序计数器PC作地址指针,通过16位地址总线,可寻址的地址空间为64K字节。 片内、片外统一编址。 2、数据存储器、内部数据存储器MCS-51单片机的数据存储器无论在物理上或逻辑上都分为两个地址空间,一个为内部数据存储器,访问内部数据存储器用MOV指令,另一个为外部数据存储器,访问外部数据存储器用MOVX指令。 MCS-51系列单片机各芯片内部都有数据存储器,是最灵活的地址空间,它分成物理上独立的且性质不同的几个区00H-7FH(0-127)单元组成的128字节地址空间的RAM区;80H-FFH(128-255)单元组成的高128字节地址空间的特殊功能寄存器(又称SFR)区。 注意:8032/8052单片机将这一高128字节作为RAM区。 在8051,8751和8031单片机中,只有低128字节的RAM区和128字节的特殊功能寄存器区,两区地址空间是相连的,特殊功能寄存器(SFR)地址空间为80H-FFH。 注意:128字节的SFR区中只有26个字节是有定义的,若访问的是这一区中没有定义的单元,则得到的是一个随机数。 内部RAM区中不同的地址区域功能结构如上图2-8所示。 其中00H-1FH(0-31)共32个单元是四个通用工作寄存器区,每一个区有八个工作寄存器,编号为R0-R7,每一区中R0-R7,地址见表2-2。 22单片机的外部结构221MCS-51单片机引脚功能22单片机的外部结构221MCS-51单片机引脚功能MCS单片机都采用40引脚的双列直插封装方式。 图2-9为引脚排列图,40条引脚说明如下 1、主电源引脚Vss和VVss接地V正常操作时为+5伏电源 2、外接晶振引脚XTAL1和XTAL2XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。 当采用外部振荡器时,此引脚接地。 XTAL2内部振荡电路反相放大器的输出端。 是外接晶体的另一端。 当采用外部振荡器时,此引脚接外部振荡源。 3、控制或与其它电源复用引脚RST/VPD,ALE/PROG,PSEN和EA/VppRST/VPD当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在V掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。 ALE/PROG正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE引脚以不变的频率(振荡器频率的61)周期性地发出正脉冲信号。 因此,它可用作对外输出的时钟,或用于定时目的。 但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE端可以驱动(吸收或输出电流)八个LSTTL电路。 对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(PROG功能)PSEN外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,PSEN在每个机器周期内两次有效。 PSEN同样可以驱动八LSTTL输入。 EA/Vpp、EA/Vpp为内部程序存储器和外部程序存储器选择端。 当EA/Vpp为高电平时,访问内部程序存储器,当EA/Vpp为低电平时,则访问外部程序存储器。 对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。 4、输入/输出引脚P0.0-P0.7,P1.0-P1.7,P2.0-P2.7,P3.0-P3.7。 P0口(P0.0-P0.7)是一个8位漏极开路型双向I/O口,在访问外部存储器时。 P1口(P1.0-P1.7)是一个带有内部提升电阻的8位准双向I/O口。 能驱动(吸收或输出电流)四个LSTTL负载。 P2口(P2.0-P2.7)是一个带有内部提升电阻的8位准双向I/O口,在访问外部存储器时,它输出高8位地址。 P2口可以驱动(吸收或输出电流)四个LSTTL负载。 P3口(P3.0-P3.7)P3口还用于第二功能请参看表2-12.2. 2、复位和复位电路见下图(a)(b)图2-10复位电路要实现复位操作,必须使RES引脚至少保持两个机器周期MCS-51RE MCS-51R(24个振荡器周期)的高电平,直至RES端电平变低。 复位期间不产生ALE及PSEN信号。 内部复位操作使堆栈指示器SP为07H,各端口都为1(P0-P3口的内容均匀0FFH),特殊功能寄存器都复位为0,但不影响RAM的状态。 当RES引脚返回低电平以后,CPU从0地址开始执行程序。 复位后,各内部寄存状态下如下见教材223单片机最小系统 1、最小系统(老三件)一个最小的单片机微机系统由三片集成块组成,它们是CPU (8031)、8位3态D锁存器74LS 373、ROM或RAM。 习惯上将这三样称作老三件。 当然有了这三件单片机还是不能工作,还要加上一个时钟电路和复位电路,由这些基本电路组成一个完整的最小系统,见图2-11,该电路可提供P1口、P3口作为用户的输入、输出口(I/O),在图2-11中,最多可接16个指示灯,作为一个实用彩灯控制器产品。 小结 1、单片机的各个部件及其功能 2、CPU的结构及功能 3、存储器的结构及功能 4、I/O的特点 5、MCS-51单片机引脚功能习题与思考题2-1MCS-51系列单片机内部有哪些主要的逻辑部件?2-2MCS-51设有4个8位进行端口(32条I/O线),实际应用中8位数据信息由哪一个端口传送?16位地址线怎样形成?P3口有何功能?2-3试分析MCS-51端口的两种读操作(读端口引脚和读锁存器),读修改写操作是按哪一种操作进行的?结构上的这种安排有何功用?2-4MCS-51的存储器结构与一般的微型计算机有何不同?程序存储器和数据存储器各有何功用?2-5MCS-51内部RAM区功能结构如何分配?4组工作寄存器使用时如何选用?位寻址区域的字节地址范围是多少?2-6特殊功能寄存器中哪些寄存器可以位寻址?它们的字节地址是什么?2-7简述程序状态字PSW中各位的含义。 教学目的 1、掌握单片机指令的功能 2、熟悉各指令对PSW的影响重难点控制转移指令教学内容见下面第三章MCS-51指令系统计算机是高度自动化的机器,它能在程序控制下自动进行运算和事务处理。 整个过程是由CPU中的控制器控制的。 一般情况下,控制器按顺序自动连续地执行存放在存储器中的指令,而每一条指令执行某种操作。 计算机能直接识别的只能是由0和1编码组成的指令,也称为机器语言指令,这种编码称为机器码,由机器码编制的计算机能识别和执行的程序称为目的程序。 3.1概述单片机的每一条指令包含两个基本部分操作码和操作数。 操作码表明指令要执行的操作性质;操作数表明参与操作的数据或数据所存放的地址。 MCS-51机器语言指令根据其指令编码长短的不同有单字节指令、双字节指令和三字节指令三种格式。 1、单字节指令单字节指令格式由8位二进制编码表示。 有两种形式 2、双字节指令双字节指令格式中,指令的编码由两个字节组成,该指令存放在存储器时需占用两个存储器单元。 3.2寻址方式在带有操作数的指令中,数据可能就在指令中,也有可能在寄存器或存储器中,甚至在I/O口中。 对这此设备内的数据要正确进行操作就要在指令中指出其地址,寻找操作数地址的方法称为寻址方式。 寻址方式的多少及寻址功能强弱是反映指令系统性能优劣的重要。 MCS-51指令系统的寻址方式有下列几种立即寻址直接寻址寄存器寻址寄存器间接寻址基寄存器加变址寄存器间接寻址相对寻址下面逐一介绍各种寻址方式。 1、立即寻址立即寻址方式是操作数包含在指令字节中,指令操作码后面字节的内容就是操作数本身,汇编指令中,在一个数的前面冠以#符号作前缀,就表示该数为立即寻址。 例如机器码助记符注释7470MOV A,#70H;70HA 2、直接寻址在指令中含有操作数的直接地址,该地址指出了参与操作的数据所在的字节地址或位地址。 3、寄存器寻址由指令指出某一个寄存器中的内容作为操作数,这种寻址方式称为寄存器寻址。 寄存器寻址按所选定的工作寄存器R0R7进行操作,指令机器码的低3位的八种组合000,001,110,111分别指明所用的工作寄存器R0,R1,R6,R7。 如MOV A,Rn(n=07),这8条指令对应的机器码分别为E8HEFH。 例如INC R0;(R0)1R0指令功能是对寄存器R0进行操作,使其内容加1。 4、寄存间接寻址由指令指出某一个寄存器的内容作为操作数的地址,这种寻址方式称为寄存器间接寻址。 这里要注意,在寄存器间接寻址方式中,存放在寄存器中的内容不是操作数,而是操作数所在的存储器单元地址,寄存器起地址指针的作用,寄存器间接寻址用符号“”表示。 5、基址寄存器加变址寄存器间接寻址这种寻址方式用于访问程序存储器中的数据表格,它把基址寄存器(DPTR或PC)和变址寄存器A的内容作为无符号数相加形成16位的地址,访问程序存储器中的数据表格。 6、相对寻址这类寻址方式是以当前PC的内容作为基地址,加上指令中给定的偏移量所得结果作为转移地址,它只适用于双字节转移指令。 偏移量是带符号数,在-128+127范围内,用补码表示。 例如JC rel;C=1跳转7.位寻址位地址表示一个可作位寻址的单元,它或者在内部RAM中(字节32至47)或者是一个硬件的位。 有两种方法在一个操作数中表示一个位地址。 够用一个DATA类型地址规定一个含有该位的字节,并用位选择符号点(.),尾随一个位的识别符(0-7)单独指出该字节中特定的位。 例如,FLAGS.3,40.5。 21.5。 21H.0及ACC.7是位选择符的有效用法。 要明确规定位地址。 此时该表达式表示该位空间中(它必须有一个BIT段类型)的位地址。 注意位地址0至127映象到片内RAM的字节32至47,而位128至226映象至硬件寄存器空间可作位寻址的单元。 3.3指令系统共构成111种指令。 3.3.1指令分类按指令的功能,MCS-51指令系统可分为下列五类 1、数据传送类 2、算术运算类 3、逻辑操作类 4、位操作类 5、控制转移类表4-1数据转送类指令见教材灵活,它可以把数据方便地传送到数据存储器和I/O口中。 数据传送类指令用到的助记符有MOV,MOVX,MOVC,XCHD,PUSH,POP。 数据传送类指令源操作数和目的操作数的寻址方式及传送路径如图3-1所示。 数据传送类指令见表4-1。 数据传送类指令比较简单,由图4-1和表4-1很容易理解各种指令的功能,故不作详细叙述,下面作一些必要的说明。 最好理解每一条指令的方法是用软件仿真一下,就知道每条指令的意义。 1、以直接地址为目标操作数和源操作数的传送指令MOV direct1,direct2;(direct2)direct 12、累加器与外部数据存储器之间数据传送指令 3、字节交换指令4.3.3算术运算类指令 1、加法指令 2、带进位加法指令 3、带进位减法指令 6、减1指令 7、乘法指令 8、除法指令4.3.4逻辑操作类指令 1、单逻辑操作指令 2、逻辑与指令 3、位变量逻辑与指令 4、位变量逻辑或指令 5、位变量条件转移指令4.3.6控制转移类指令 1、无条件转移指令 2、条件转移指令 5、调用及返回指令 4、空操作指令3.4伪指令计算机不能直接执行。 因为计算机只认识机器指令(二进制编码)。 因此必须把汇编语言源程序通过汇编程序翻译成机器语言程序(称为目标程序),计算机才能执行,这个翻译过程称为汇编。 汇编程序对用汇编语言写的源程序进行汇编时,还要提供一些汇编用的控制指令,例如要指定程序或数据存放的起始地址;要给一些连续存放的数据确定单元等等。 但是,这些指令在汇编时并不产生目标代码,不影响程序的执行,所以称为伪指令。 常用的有下列几种伪指令 1、ORG(Origin起点) 2、DB(Define Byte定义字节) 3、DW(Dwfine Word定义一个字) 4、EQU(Equate等值) 5、END(汇编结束)小结 1、数据传送指令 2、算术运算指令 3、逻辑运算指令 4、位操作指令 5、控制转移指令 6、各指令的功能及对PSW的影响习题与思考题3-1数据传送指令对PSW的影响3-2算术运算传送指令对PSW的影响3-3逻辑指令对PSW的影响3-4位操作指令对PSW的影响3-5控制转移指令对PSW的影响3-6设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?3-7请选用合适的指令对P0口内容作修改(例如使P0.03不变,P0.47为0)教学目的 1、了解程序设计的基本方法 2、能熟练地对一些比较简单的程序进行设计。 重难点分支程序设计教学内容见下面第四章MCS51程序设计程序设计的过程大致可以分为以下几个步骤 1、编制说明要解决问题的程序框图。 2、确定数据结构、算法、工作单元、变量设定。 3、根据所用计算机的指令系统,按照已编制的程序框图用汇编语言编制出源程序。 4、将编制出的程序在计算机上调试,直至实现预定的功能。 程序编写是一个较复杂艰难的过程,要有较强的抽象思维和逻辑思维能力,学习编程一般先看程序,分析程序。 程序看懂了,再编一些短的,容易的程序,特别是一些专用语句的编程方法要记下,慢慢逐步编长程序,编多了,熟能生巧。 编好的程序要用软件仿真或硬件仿真检验其正确性。 以下程序为了学习的方便都可全软件仿真,每一个程序可在仿真软件中检验它的正确性。 5.1简单程序设计简单程序又称顺序程序。 计算机是按指令在存储器中存放的先后次序来顺序执行程序的。 除非用特殊指令让它跳转,不然它会在PC控制下执行。 例例1编写1+2的程序流程图如图5-1所示。 此程序也可这样写,用子程序调用的方法写。 将加的这一部分写成通用程序AD1MOV R0,#40H;设R0为数据指针MOV A,R0;取N1INC R0;修改指针ADD A,R0;N1+N2INC R0MOVR0,A;存结果RET使用这个程序之前,先将加数、被加数送入40H、41H单元,完整的程序如下ORG0000H MOV40H,#01H MOV41H,#02H开始R040H A(R0)A送(42H)(40H)+(41H)和送A返回ACALL AD1AD1MOV R0,#40H;设R0为数据指针MOV A,R0;取N1INC R0;修改指针ADD A,R0;N1+N2INC R0MOVR0,A;存结果RET END5.2分支程序设计在处理实际事务中,只用简单程序设计的方法是不够的。 因为大部分程序总包含有判断、比较等情况。 根据判断、比较的结果转向不同的分支。 下面举两个分支程序的例子。 例例2两个无符号数比较大小设两个连续外部RAM单元ST1和ST2中存放不带符号的二进制数,找出其中的大数存入ST3单元中。 流程图见图5-3程序如下ORG8000H ST1EQU8040H START1CLR C;进位位清零MOV DPTR,#ST1;设数据指针MOVX A,DPTR;取第一数MOV R2,A;暂存R2INC DPTRMOVX A,DTPR;取第二个数SUBB A,R2;两数比较始设置指针DPTR初始值取第一个数存R2取第二个数后者减前者进位标志是否为0?存后者结束存前者JNC BIG1XCH A,R2;第一数大BIG0INC DPT

温馨提示

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

评论

0/150

提交评论