《【精品】单片机原理与应用(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】单片机原理与应用(可编辑.ppt(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机原理与应用第1章 绪论学习要求掌握单片机基础知识,包括:片内资源与应用指令系统和编程接口技术学习方法理解:理解芯片内资源,指令功能记忆芯片的结构和应用功能每一条指令的格式和功能并行、串行扩展方法接口应用技术实践加深对知识的理解和记忆,真正掌握所学知识。单片机原理课程教学安排课堂教学:第2-7章。上机实习:2次课外项目。PLCC(Plastic Leaded Chip Carrier)塑封J引线芯片封装DIP(Double In-line)双列直插式封装单片机的特点性价比高。应用广泛,生产批量大。集成度高,体积小。有很高的可靠性。控制能力强。低功耗。工作电压大多为24伏特,电流几百微安,功
2、耗很低,适用于便携式系统。系统扩展、系统配置较典型、规范。丰富的通信接口:如异步串行口SCI、同步串行口SPI、I2C、CAN总线、甚至USB接口或以太网接口。单片机的分类根据字长:4位单片机、8位单片机、16位单片机和32位单片机。根据内部程序存储器:ROM型,EPROM型,E2PROM型,Flash Memory型。1.2 常用单片机系列介绍Intel:MCS-48,MCS-51,MCS-96系列TI:MSP430系列Atmel:AT89C51,AT89C52系列Motorola:68HC05,68HC08系列Microship:PIC系列Zilog:eZ80,eZ8系列Intel公司MC
3、S-51系列单片机1976年推出MCS48系列单片机20世纪80年代推出高档8位单片机MCS-51系列,该系列是世界上使用量最大、应用最广泛的几种单片机之一。MCS-51系列单片机又可分为:基本型的51子系列和增强型的52子系列两大类。51子系列主要有8031、8051、8751等机型。它们的指令系统与芯片引脚完全兼容,差别仅在于片内有无ROM或EPROM。52子系列主要有8032、8052、8752等机型。52子系列与51子系列的主要不同之处在于:片内数据存储器增至256字节;片内程序存储器增至8 KB(8032无片内程序);有3个16位定时/计数器,6个中断源。其它性能均与51子系列相同。
4、Intel公司MCS-51系列单片机Atmel公司AT89系列单片机ATMEL公司是世界上高级半导体产品设计、制造和行销的领先者,产品包括了微处理器、可编程逻辑器件、非易失性存储器、安全芯片、混合信号及RF射频集成电路。其生产的AT89系列单片机以8051为内核,分为标准型(以AT89C51为代表)、低档型(以AT89C2051为代表)和高档型(以 AT89S51为代表)三大类。ATMEL生产的单片机除了有与MCS-51兼容的AT89系列,还有与MCS-51不兼容的AVR系列RISC结构单片机,AVR单片机是一种高速、低功耗的单片机产品,端口有较强的驱动负载能力。1 1工业检测与控制工业检测与
5、控制主要应用:主要应用:工业过程控制、智能控制、设备控制、数据采集和传工业过程控制、智能控制、设备控制、数据采集和传输、测试、测量、监控等。在工业自动化的领域中,输、测试、测量、监控等。在工业自动化的领域中,机电一体机电一体化技术化技术将发挥愈来愈重要的作用,在这种集机械、微电子和计将发挥愈来愈重要的作用,在这种集机械、微电子和计算机技术为一体的综合技术(如算机技术为一体的综合技术(如机器人技术机器人技术)中,单片机发挥)中,单片机发挥着非常重要的作用。着非常重要的作用。2 2仪器仪表仪器仪表目前对仪器仪表的目前对仪器仪表的自动化自动化和和智能化智能化要求越来越高。单片机的使用要求越来越高。单
6、片机的使用有助于提高仪器仪表的精度和准确度,简化结构,减小体积而有助于提高仪器仪表的精度和准确度,简化结构,减小体积而易于携带和使用,易于携带和使用,加速仪器仪表向数字化、智能化、多功能化加速仪器仪表向数字化、智能化、多功能化方向方向发展。发展。15单片机的应用153 3消费类电子产品消费类电子产品例如,洗衣机、电冰箱、空调机、电风扇、电视机、微波炉、例如,洗衣机、电冰箱、空调机、电风扇、电视机、微波炉、加湿机、消毒柜等。嵌入了单片机后,功能和性能大大提加湿机、消毒柜等。嵌入了单片机后,功能和性能大大提高,并实现智能化、最优化控制。高,并实现智能化、最优化控制。4 4通讯通讯在调制解调器、各类
7、手机、传真机、程控电话交换机、信息在调制解调器、各类手机、传真机、程控电话交换机、信息网络及各种通讯设备中,单片机也已经得到广泛应用。网络及各种通讯设备中,单片机也已经得到广泛应用。5 5武器装备武器装备在在现代化的武器装备现代化的武器装备中,如飞机、军舰、坦克、导弹、鱼雷中,如飞机、军舰、坦克、导弹、鱼雷制导、智能武器装备、航天飞机导航系统,都有单片机嵌制导、智能武器装备、航天飞机导航系统,都有单片机嵌入其中。入其中。16166 6各种终端及计算机外部设备各种终端及计算机外部设备计算机网络终端(如银行终端)以及计算机外部设备(如打计算机网络终端(如银行终端)以及计算机外部设备(如打印机、硬盘
8、驱动器、绘图机、传真机、复印机等)中都使印机、硬盘驱动器、绘图机、传真机、复印机等)中都使用了单片机作为控制器。用了单片机作为控制器。7 7汽车电子设备汽车电子设备已经广泛地应用在已经广泛地应用在各种汽车电子设备各种汽车电子设备中,中,如如汽车安全系统、汽车安全系统、汽车信息系统、智能自动驾驶系统、卫星汽车导航系统、汽车信息系统、智能自动驾驶系统、卫星汽车导航系统、汽车紧急请求服务系统、汽车防撞监控系统、汽车自动诊汽车紧急请求服务系统、汽车防撞监控系统、汽车自动诊断系统以及汽车黑匣子等。断系统以及汽车黑匣子等。8 8分布式多机系统分布式多机系统在较复杂多节点的测控系统中,常采用在较复杂多节点的
9、测控系统中,常采用分布式多机系统分布式多机系统。1717第2章 89C51系列单片机的结构及原理2.1 89C51单片机的主要特性51系列单片机一般可分为(书P7)普通型:80C31,80C51,87C51,89C51等增强型:80C32,80C52,87C52,89C52等89C51特性由运算器和控制器组成的8位微处理器(CPU)内部时钟电路,频率0-24Mhz4KB的片内程序存储器(ROM)128B片内数据存储器(RAM)64K片外程序和数据存储器控制电路两个16位定时器/计数器T0、T14个8位并行口(P0P3),共32根I/O口线89C51特性5个中断源,可编程为两个优先级一个异步串行
10、通信接口21个特殊功能寄存器(SFR)有节电工作方式2.2 内部总体结构89C51单片机基本结构:p8图2-1有8个部件组成:CPU、片内数据存储器、片内程序存储器、输入/输出接口、可编程串行口、定时/计数器、中断系统和特殊功能寄存器。单片机的基本结构CPU:单片机的最核心部分,它是整个单片机的控制和指挥中心,完成所有的计算和控制任务。程序存储器:程序存储器:用于存放单片机的程序。l数据存储器:数据存储器:用于存放内部待处理的数据和处理后的结果。并口(并口(I/O)/可编程串口可编程串口:数据传输通道,方便CPU从芯片外部取得待处理的对象及将处理结果送到芯片外部。单片机的基本结构中断控制逻辑中
11、断控制逻辑:处理临时到达的突发事件。定时器定时器/计数器计数器:完成对外部输入脉冲的计数或者根据内部的时钟及定时设置,周期性的产生定时信号。特殊寄存器:特殊寄存器:用于存放相应功能部件的控制命令,状态或数据。实现21个特殊功能,例如累加器,堆栈指针等。内部总线:内部总线:内部CPU与程序存储器、数据存储器、并行I/O接口、串行I/O接口和定时器/计数器之间都是通过内部总线联系在一起。MCS-51单片机的内部详细结构如下图所示:2.3 89C51的引脚功能5种封装引脚图40脚DIP封装2条主电源引脚2条外接晶体引脚4条控制引脚32条I/O引脚引脚功能1.电源类引脚电源类引脚VSS(20脚):电源
12、的接地端VCC(40脚):芯片工作电源的输入端,5V2.时钟振荡电路引脚时钟振荡电路引脚XTAL1(19脚)和XTAL2(18脚)的内部是一个振荡电路。当使用内部振荡电路时在这两个管脚上外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。引脚功能3.控制信号引脚(4个)RST(9脚):复位信号输入端ALE/PROG(30脚):地址锁存允许信号输出端。/PSEN:外部程序存储器读选通信号输出端/EA:访问内部/外部程序存储器选择控制信号引脚功能4.I/O引脚(32个)P1/P2:都是带内部上拉电阻的8位双向I/O口P0:三态8位I/O口,内部不带有上拉电阻P3:与P1/P2一样,但
13、是多第二功能。P9,表2-1引脚功能P0口三总线P9,图2-3(B)地址总线:16位,可寻址64K,由P0口(A0A7),P2口(A8A15)组成数据总线:8位,由P0口提供控制总线:由P3口的部分引脚实现(/RD,/WR)及RESET,/EA,/PSEN,ALE4根独立控制线单片机工作原理单片机在电路连接无误后,将程序下载到单片机的程序存储器中,单片机系统就可以上电工作了。上电复位后,从存储器的0000H单元开始取指令,并执行指令。点亮最小单片机系统按图连线,上电工作后,点亮一个发光二极管。由图可见,当P2.0引脚输出低电平时,发光二极管上有电流流过,发光二极管发光。程序:ORG0000HM
14、OVP2,#11111110BAJIMP$END2.4 主要组成部分存储器,CPU,I/O一、CPU单片机的核心部分,包括运算器和控制器。运算器:主要用来实现数据的传送,数据的算术和逻辑运算,位变量处理等。控制器:统一指挥和控制计算机工作的部件二、存储器89C51可寻址范围64KB(16位地址线)89C51有4个独立的存储空间:64K外部程序存储器空间64K外部数据存储器空间128字节内部数据存储空间4K内部程序存储空间89C51单片机存储器结构程序存储器用于存放程序,常数和表格。片内ROM 4KB,片外ROM64KB。地址空间0000HFFFFH。EA接+5V,若PC0FFFH,访问片外RO
15、M(片内ROM 被忽略)。片内数据存储器128B RAM,地址00H7FH。从功能和用途可以划分为三个区域:工作寄存器区:00H1FH,4组工作寄存器。每组有R0R7共8个工作寄存器。位寻址区:20H2FH,不仅可以字节寻址,8个字节的每一位都可以位寻址用户RAM区:30H7FH,可用作堆栈或数据缓冲器。片内数据存储器工作寄存器区任一时刻CPU只能使用其中的一组寄存器由程序状态字寄存器PSW中RS1,RS0位的状态组合来决定。特点:用寄存器直接寻址,指令数量多,均为单周期,执行快,在某一时刻,只能选用一个工作寄存器组。提高现场保护和现场恢复的速度,主程序用一组,进入子程序或中断服务程序切换用一
16、组,返回时重新切换回原来的那组。片内数据存储器位寻址区位 地 址 范 围 00H7FH,字 节 地 址 范 围20H2FH位地址表示方法(2种):位地址,字节地址.位位地址与字节地址的转换关系位地址=(字节地址-20H)*8+Di的i值片内数据存储器用户RAM区30H7FH,可用作堆栈或数据缓冲器。特殊功能寄存器离散地分布在80HFFH中,21个是MCS-51单片机中各个功能部件所对应的寄存器用以存放相应功能部件的控制命令、状态或数据的区域。与片内RAM统一编址(未占用的地址单元无定义)。可以位寻址(部分),也可以字节寻址。其中,带*号的(能被8整除)寄存器即可字节寻址又可位寻址。编程中,可使
17、用符号,也可使用地址。可位寻址的可用位符号,可用位地址,也可用“字节地址.位”,还可用“寄存器名.位”符号单元地址名称位地址符号地址*AE0H累加器ACC.7ACC.0E7HE0H*BF0H乘法寄存器B.7B.0F7HF0H*PSWD0H程序状态字PSW.7PSW.0D7HD0HSP81H堆栈指针DPL82H数据存储器指针(低8位)DPH83H数据存储器指针(高8位)*IEA8H中断允许控制器IE.7IE.0AFHA8H*IPB8H中断优先控制器IP.7IP.0BFHB8H*P080H通道0P0.7P0.087H80H*P190H通道1P1.7P1.097H90H*P2A0H通道2P2.7P2
18、.0A7HA0H*P3B0H通道3P3.7P3.0B7HB0HPCON87H电源控制及波特率选择*SCON98H串行口控制SCON.7SCON.09FH98HSBUF99H串行数据缓冲器*TCON88H定时控制TCON.7TCON.08FH88HTMOD89H定时器方式选择TL08AH定时器0低8位TL18BH定时器1低8位TH08CH定时器0高8位TH18DH定时器1高8位CPU中使用的特殊功能寄存器程序计数器PC(不属于SFR)16位,存放下一条将要从程序存储器中取出的指令的地址。用户无法对其进行读写,只能通过转移、调用和返回等指令来改变其内容。基本的工作方式:每取出1字节机器码后,自动加
19、1执行转移指令时,被置入新的数值。CPU中使用的特殊功能寄存器累加器A8位,最常用的SFR。可用于存放操作数或运算的中间结果。寄存器B8位,主要用于乘除法运算。也可作为一般的寄存器使用。状态字寄存器PSW8位,用于存放程序运行的状态信息。CPU中使用的特殊功能寄存器CY:进位标志。当加减法有进位或借位时为1,否则为0.AC:辅助进位。当低4位有进位或借位时为1,否则为0.F0:用户复位标志。RS1/RS2:工作寄存器组选择位(p.16 表2-4)OV:溢出标志位。当运算结果大于+127或小于-128时为1,否则为0。当乘法时大于255为1,高8位放在B中,低8位放在A中。除法时,除数为0,则为
20、1,其余为0.P:奇偶标记位。A中有奇数个1,P=1;否则为0.在算数运算中,CY,AC,OV,P是随着运算发生变化的。例题假设(PSW)=81H,(A)=5BH,那么A加上立即数#40H之后,请写出程序状态字的状态。加上C3H?。CPU中使用的特殊功能寄存器堆栈指针SP:指示栈底地址。两种堆栈方式,89C51属于向上生长型(P17,图2-5)复位后堆栈指针初始化到内部RAM地址07H数据指针DPTR:16位寄存器,用来存放16位的存储器地址,以实现对外部RAM的访问。可以分为两个8位寄存器:DPH、DPL。小结存储器空间在物理结构上可分为四个空间:片内程序存储器、片外程序存储器、片内数据存储
21、器、片外数据存储器。存储器在逻辑上分为三个空间:片内、片外统一的(地址编排是连续统一的)64K程序存储器地址空间,片内128B数据存储器地址空间、片外64K的数据存储器空间在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选通信号。三、并行I/O口 基本功能P0:I/O口(系统扩展时作为地址/数据总线口,分时复用)。P1:I/O口(特殊输入/输出线)P2:I/O口(系统扩展时作为高8位地址总线口)P3:I/O口(特殊输入/输出线)作为I/O口使用时需注意的问题P0口:字节地址为80H,位地址为80H87H其8位口线具有完全相同但又相互独立的逻辑电路当控制线C=0时,MUX开
22、关向下,P0口作为普通I/O口使用。作为I/O口使用时需注意的问题P0作为输出口通过一条指令将数据写入P0的数据锁存器,然后通过输出驱动器送到端口引脚。MOVP0,A;累加器A中内容送P0口读端口。为适应对口进行“读-修改-写”类指令的需要。ANLP1,#0FH;读P1锁存器中数据,与立即数0FH进行逻辑与操作后,将结果写回P1口。作为I/O口使用时需注意的问题P0作为输入口读引脚。必须保证I/O口锁存器为1,才能读到I/O引脚上的情况。由于P0内部没有上拉电阻,每根口线必须外接上拉电阻。P1P3口内部有上拉电阻,不用外接。P0口作为I/O口使用时需注意的问题P1口的字节地址为90H,位地址为
23、90H97H,只能作为普通I/O口使用。作为I/O口使用时需注意的问题P2口的字节地址为0A0H,位地址为0A0H0A7H,可以作为普通I/O口或高8位地址线。作为I/O口使用时需注意的问题P3口的字节地址为0B0H,位地址为0B0H0B7H,可以作为普通I/O口或特殊输入/输出线。作为第二功能线使用P0口用作系统扩展的地址/数据总线口(无须外接拉高电阻)。P0口分时输出低8位地址A0A7和传送数据D0D7。采用地址锁存器,在ALE信号的作用下,将A0A7锁存起来。P0口低8位地址来源:PCL、DPL、R0、R1。作为第二功能线使用P2口作为系统扩展的地址总线口,输出高8位地址A8A15。P2
24、口高8位地址来源:CPU访问外部程序存贮器时,来源于PC的高8位。CPU访问外部数据存贮器时,来源于DPH。作为第二功能线使用系统扩展时,作为第二功能线使用。若扩展片外程序存储器,P2口输出高8位地址,无法作为I/O口。不需要外接程序存储器,只扩展较小容量的片外数据存储器的系统中,若只使用低8位地址线,P2就可以作为I/O口线。不需要外接程序存储器,但扩展的片外数据存储器容量超过256B,P2 输出高8位地址,不能作为I/O口线。2.5 时钟电路与CPU时序一、振荡器和时钟电路时钟电路用于产生单片机工作所需要的时钟信号。内部时钟方式。MCS-51单片机片内有一个用于构成振荡器的高增益反相放大器
25、,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就构成了内部自激振荡器并产生振荡时钟脉冲。XTAL2XTAL1MCS-51C1C2CYS2.5 时钟电路与CPU时序外部时钟方式:把外部已有的时钟信号引入单片机内。XTAL2XTAL1MCS-51+5VVSSTTL外部时钟源2.5 时钟电路与CPU时序二、CPU的时序及有关概念振荡周期、时钟周期、机器周期和指令周期P1P2S1P2振荡周期时钟周期机器周期机器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2
26、P2P2P2P2P2P2P2P22.5 时钟电路与CPU时序二、CPU的时序及有关概念1振荡周期:为单片机提供时钟信号的振荡源的周期。2时钟周期:是振荡源信号经二分频后形成的时钟脉冲信号。3机器周期:通常将完成一个基本操作所需的时间称为机器周期。4指令周期:是指CPU执行一条指令所需要的时间。一个指令周期通常含有14个机器周期。2.5 时钟电路与CPU时序若MCS-51单片机外接晶振为12MHz时,则单片机的四个周期的具体值为:振荡周期1/12MHz1/12s0.0833s时钟周期1/6s0.167s机器周期1s指令周期14s2.5 时钟电路与CPU时序三、典型指令时序1.单字节单周期指令(I
27、NC A)2.双字节单周期指令(ADD A)3.单字节双周期指令(INC DPTR)4.单字节双周期(MOVX)再读下一条指令再读下一条指令XTAL2(OSC)P2S1ALE读操作码读下一个操作码(丢弃)读第二字节(a)单字节,单周期指令例:MOVAR1(d)单字节,双周期指令,如MOVXP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P2S6P2S1S2P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S1读操作码P1P2S2P1P2S3P1P2S4P1P2S5P1P
28、2S6P1P2S1P1读下一个操作码(丢弃)(b)双字节,单周期指令例:ADDAdir(c)单字节,双周期指令例:INCDPTR读操作码(MOVX)读下一个操作码(丢弃)无取指无ALE无取指地址数据(DATA)访问外部存储器P2S1读操作码P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P12.6 单片机的复位状态与复位电
29、路一、复位状态为什么要复位?使CPU和系统都处于一个确定的初始状态(复位状态)。89C51单片机的复位状态,P25,表2-5。(PC)=0000H,(SP)=07H,P0P3=FFH单片机复位状态寄存器寄存器寄存器寄存器复位状复位状复位状复位状态态态态寄存器寄存器寄存器寄存器复位状复位状复位状复位状态态态态PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON(0XXX0000B)TMOD00H复位的过程在时钟电路工作后,只要在单片机的RESET引脚上出现24个时钟振荡脉冲(两个机器周期)以上的高电平,单片机就能实现复位。当RESET从高电平变为低电平以后,单片机从0000H地址开始执行程序。一般使RESET引脚上保持10ms以上的高电平。二、复位电路三种复位方法P27,图2-17上电自动复位上电自动复位+按键电平复位上电自动复位+按键脉冲复位二、复位电路