《单片机基础》电子教案知识模块一单片机基础知识•主要介绍单片机的发展,基本的结构和特点,单片机的应用模式和领域,单片机的供应状态等。•单片微型计算机就是将CPU、RAM、ROM、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此,一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。1.1单片机的发展概况•综上所述,我们可以把单片机的发展历史划分为四阶段:•第一阶段(1976~1978年):低性能单片机的探索阶段。以Intel公司的MCS-48为代表,采用了单片结构,即在一块芯片内含有8位CPU、定时/计数器、并行I/O口、RAM和ROM等。主要用于工业领域。•第二阶段(1978~1982年):高性能单片机阶段,这一类单片机带有串行I/O口,8位数据线、16位地址线可以寻址的范围达到64K字节、控制总线、较丰富的指令系统等。这类单片机的应用范围较广,并在不断的改进和发展。•第三阶段(1982~1990年):16位单片机阶段。16位单片机除CPU为16位外,片内RAM和ROM容量进一步增大,实时处理能力更强,体现了微控制器的特征。例如Intel公司的MCS-96主振频率为12M,片内RAM为232字节,ROM为8K字节,中断处理能力为8级,片内带有10位A/D转换器和高速输入/输出部件等。•第四阶段(1990年~):微控制器的全面发展阶段,各公司的产品在尽量兼容的同时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。1.2单片机的结构特点•(1)片内的RAM采用寄存器结构形式,这样可以提高存取的速度;•(2)在存储器结构上,严格的将程序存储器ROM和数据存储器RAM在空间上分开;•(3)它的引出管脚一般都设计成多功能的;•(4)增加了一个全双工的串行接口,以扩充I/O口和外接同步输入和输出设备;•(5)有21个特殊功能寄存器;•(6)有丰富的指令系统,内部设置了可以位寻址的位地址空间。1.3单片机的主要品种及系列•一、4位单片机•二、8位单片机表格1-1MCS-51系列型号型号制造技术片内程序存储器片内数据存储器8051AHHMOSROM(4k)128字节8031AHAHMOS无128字节8751HHMOSEPROM(4K)128字节80C51CHMOSROM(4K)128字节80C31CHMOS无128字节8051HMOSROM(8K)256字节8031HMOS无256字节1.4单片机的应用•一、单片机在仪器仪表中的应用•二、单片机在机电一体化中的应用•三、单片机在智能接口和多机系统中的应用•四、单片机在生活中的应用知识模块二MCS-51单片机的基本结构和工作原理•本章主要介绍MCS-51系列的8051的基本结构、工作原理、存储器结构、P0、P1、P2、P3四个I/O口的基本工作原理和操作特点。单片机的各种工作方式、单片机的时序等。2.1MCS-51单片机的结构原理•一、8051单片机的结构内部总线时钟电路CPUINT0T1T0并行接口串行接口P0P1P2P3TXDRXD中断系统ROMRAM定时/计数器INT1图2-1MCS-51单片机的基本结构二、8051单片机的内部结构和工作原理•8051单片机的内部结构框图如图2-2所示,下面分别进行介绍:图2-28051的内部结构框图FFFFH1000H外部ROM0FFFH0000H内部ROMEA=1外部ROMEA=0工作寄存器0~3组位寻址区RAMSFR00H20H30H80HFFH外部RAM0000HFFFFH图2-38051存储器组织结构字节地址位地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20HD7D6D5D4D3D2D1D07FH7EH7DH7CH7BH7AH79H78H77H76H75H74H73H72H71H70H6FH6EH6DH6CH6BH6AH69H68H67H66H65H64H63H62H61H60H5FH5EH5DH5CH5BH5AH59H58H57H56H55H54H53H52H51H50H4FH4EH4DH4CH4BH4AH49H48H47H46H45H44H43H42H41H40H3FH3EH3DH3CH3BH3AH39H38H37H36H35H34H33H32H31H30H2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H1FH1EH1DH1CH1BH1AH19H18H17H16H15H14H13H12H11H10H0FH0EH0DH0CH0BH0AH09H08H07H06H05H04H03H02H01H00H图2-48051内部RAM位地址区图2-48051内部RAM位地址区表格2-2特殊功能寄存器表符号单元地址名称位地址符号地址*ACCE0H累加器ACC.7~ACC.0E7H~E0H*BF0H乘法寄存器B.7~B.0F7H~F0H*PSWD0H程序状态字PSW.7~PSW.0D7H~D0HSP81H堆栈指针DPL82H数据存储器指针(低8位)DPH83H数据存储器指针(高8位)*IEA8H中断允许控制器IE.7~IE.0AFH~A8H*IPB8H中断优先控制器IP.7~IP.0BFH~B8H*P080H通道0P0.7~P0.087H~80H*P190H通道1P1.7~P1.097H~90H*P2A0H通道2P2.7~P2.0A7H~A0H*P3B0H通道3P3.7~P3.0B7H~B0HPCON87H电源控制及波特率选择*SCON98H串行口控制SCON.7~SCON.09FH~98HSBUF99H串行数据缓冲器*TCON88H定时控制TCON.7~TCON.08FH~88HTMOD89H定时器方式选择TL08AH定时器0低8位TL18BH定时器1低8位TH08CH定时器0高8位TH18DH定时器1高8位*:可位寻址的特殊功能寄存器P0.n锁存器P0.nQQD读锁存器写锁存器内部总线读引脚T1T2VCCMUX地址/数据控制图2-5P0口的位结构(1)P0口位的结构(2)P1口位的结构P1.n锁存器P1.nQQD读锁存器写锁存器内部总线读引脚内部上拉电阻TVCC图2-6P1口的位结构图2-6P1口的位结构图2-6P1口的位结构图2-6P1口的位结构图2-6P1口的位结构(3)P2口的位结构P2.n锁存器P2.nQQD读锁存器写锁存器内部总线读引脚TVCC地址控制内部上拉电阻MUX图2-7P2口的结构图(4)P3口的位结构P3.n锁存器P3.nQQD读锁存器写锁存器内部总线读引脚TVCC第二输入功能第二输出功能内部上拉电阻图2-8P3口的结构图(4)P3口的位结构P3.n锁存器P3.nQQD读锁存器写锁存器内部总线读引脚TVCC第二输入功能第二输出功能内部上拉电阻图2-8P3口的结构图表格2-3P3口的第二功能表I/O口第二功能注释P3.0RXD串行口数据接收端P3.1TXD串行口数据发送端P3.2INT(————)0外部中断请求0P3.3INT(————)1外部中断请求1P3.4T0定时/计数器0P3.5T1定时/计数器1P3.6WR(———)外部RAM写信号P3.7RD(———)外部RAM读信号一、时钟周期、机器周期和指令周期S机器周期1取指令、译码指令周期机器周期2取操作数、执行图2-9基本定时时序关系2.2MCS-51单片机的时序1.时钟周期ALE时钟S1S4S6S5S3S2读操作码读操作码(无效)(a)1字节1周期指令读下一指令S1S4S6S5S3S2读操作码读第二字节(b)2字节1周期指令读下一指令S1S4S6S5S3S2读操作码读操作码(无效)(c)1字节2周期指令读下一指令S1S4S6S5S3S2图2-10MCS-51的取指/执行时序2.机器周期3.指令周期二、MCS-51单片机指令的取指和执行的时序三、访问外部ROM和RAM的时序ALE时钟S1S4S6S5S3S2PSENA15~A8A15~A8P2P0A7~A0A7~A0指令指令图2-11访问外部ROM的时序1.访问外部ROM的时序2.访问外部RAM的时序ALES1S4S6S5S3S2PSENPCH输出P2P0PCL输出地址输出指令输入数据输入S1S4S6S5S3S2RDPCH输出PCH输出DPH输出或P2输出PCL输出指令输入图2-12访问外部RAM的时序2.3MCS-51单片机的时钟和复位电路一、时钟电路TTL(a)内部振荡器方式XTAL1R外部振荡器XTAL2VCCXTAL2XTAL1VSS(b)8051外时钟源接法8051NC外部振荡器XTAL1XTAL2VSS(c)80C51外时钟源接法80C51C1C2图2-13MCS-51时钟接法1.内部振荡器方式2.外部时钟方式二、复位电路及复位状态1.内部复位电路D1D2RST/VPDVCCVSSRAM斯密特触发器复位电路图2-148051复位电路结构2.外部复位电路VCC8051VCCRST/VPDVSSR1kC22μFVCC8051VCCRST/VPDVSSR11kC122μFR21kC222μFRESET(a)上电复位(b)按键脉冲复位VCC8051VCCRST/VPDVSSR1200C22μFR21kRESET(c)按键电平复位图2-15复位电路3.复位状态表格2-4各专用寄存器的复位值专用寄存器复位值PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0~P3FFHIPXXX00000BIE0XX00000BTMOD00HTCON00HTH000HTL000HTH100HTL100HSCON00HSBUF不定PCON(CHMOS)0XXX0000B2.4MCS-51单片机的低功耗工作方式一、电源控制寄存器PCONPCOND7D6D5D4D3D2D1D0SMOD———GF1GF0FDIDL三、掉电方式二、等待工作方式知识模块三MSC-51单片机的指令系统3.1指令系统概述一、机器码指令与汇编语言指令机器码指令:汇编语言指令:二、指令格式汇编语言格式为:[标号:]操作码助记符[目的操作数,][源操作数][;注释]单字节指令双字节指令三字节指令操作码24H操作数22HINCAADDA,#22HMOV5EH,4FH操作码04H操作码85H源操作数4FH目的操作数5EH图3-1机器码指令格式3.2寻址方式一、寄存器寻址二、直接寻址三、立即寻址四、寄存器间接寻址五、变址寻址六、相对寻址七、位寻址3.3MSC-51单片机的指令系统按照指令的功能,可以把MSC-51的111条指令分成五类:l数据传送类指令(29条)l算术运算类指令(24条)l逻辑操作类指令(24条)l控制转移类指令(17条)l位操作类指令(17条)80H下一条指令ALU54Hrel=54H2000H2001H2002H2056H操作码PC当前值2002H修正后转移目标地址(PC)=2056H∶∶图3-2相对寻址过程知识模块四MCS-51单片机的应用程序设计过程A过程B是否入口出口条件满足?P2入口出口P1P3过程是否入口出口条件满足?(a)顺序结构(b)分支结构(c)循环结构图4-1基本程序结构4.1运算程序一、多字节数加法1.多字节无符号数加法CLRCMOVR0,#40H;指向加数最低位MOVR1,#5OH;指向另一加数最低位MOVR2,#04H;字节数作计数初值LOOP1:MOVA,@R0;取被加数ADDCA,@R1;两数相加,带进位MOV@R0,AINCR0;修改地址INCR1DJNZR2,LOOPl;未加完转LOOP1JNCLOOP2;无进位转LOOP2MOV@R0,#01HLOOP2:DECR0RET2.多字节有符号数加法MOVA,R0;复制保存地址指针MOVR2,AMOVA,R3MOVR7,ACLRCLOOP1:MOVA,@R0ADDCA,@R1;相加MOV@R0,AINCR0INCR1;地址指针加1DJNZR7,LOOP1JBOV,ERR;若溢出,转溢出处