第章单片机的硬件结构本章内容SingleChipMicrocomputer2.1AT89C51单片机的逻辑结构及信号引脚2.2AT89C51的内部存储器2.3实训1:单片机复位、晶振、ALE信号的观测2.1.1AT89C51单片机的逻辑结构时钟电路CPUROMRAMT0T1中断系统串行接口并行接口P0P1P2P3TXDRXDINT0INT1定时计数器结构框图•中央处理器CPU:8位,运算和控制功能•内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。•内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。•定时/计数器:两个16位的定时/计数器,实现定时或计数功能。•并行I/O口:4个8位的I/O口P0、P1、P2、P3。•串行口:一个全双工串行口。•中断控制系统:5个中断源(外部中断2个,定时/计数中断2个,串行中断1个)•时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ1、AT89C51单片机的基本组成1.中央处理器CPU:8位,运算和控制功能2.内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。3.内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。4.定时/计数器:两个16位的定时/计数器,实现定时或计数功能。5.并行I/O口:4个8位的I/O口P0、P1、P2、P3。6.串行口:一个全双工串行口。7.中断控制系统:5个中断源(外中断2个,定时/计数中断2个,串行中断1个)8.时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ2.89C51芯片逻辑结构图指令寄存器译码地址译码程序计数器地址寄存器累加器A运算器①②存储器内部数据总线外部地址总线AB数据缓冲器外部数据总线DB寄存器区外部控制总线CB内部控制信号时钟及清零3.单片机的工作过程取指过程例:MOVA,#09H74H09H;把09H送到累加器A中执行过程PC=0000H0001H0000H0002H0111010000001001(PC)(PC)0001H0002H0000H外部控制总线CB取指过程(PC)执行过程你知道PC的作用吗?2.1.3AT89C51的信号引脚P3口线的第二功能VCCVSSXTAL2XTAL1RSTP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.72、振荡电路:XTAL1、XTAL23、复位引脚:RST4、并行口:P0、P1、P2、P37、ALE:地址锁存控制信号1、电源线:VCC(+5V)、VSS(地)EAPSEN5、EA:访问程序存储控制信号6、PSEN:外部ROM读选通信号RXD/TXD/INT0/INT1/T0/T1/WR/RD/123456789101112131415161718192040393837363534333231302928272625242422218031AT89C5187513.控制、选通和复位引脚(1)(9脚):复位信号输入端。当振荡器工作时,RST引脚出现两个周期以上高电平将使单片机复位。(2)(30脚):地址锁存使能端/编程脉冲。当访问外部器件时的负跳变将低8位地址写入地址锁存器;在Flash编程时输入编程脉冲。在非访问外部器件期间,引脚仍以1/6振荡频率的脉冲输出,可用于外部计数或时钟信号。(3)(29脚):访问外部程序存储器读选通信号。在访问外部程序存储器读取指令码时,每个机器周期产生两次有效信号,即输出两个有效脉冲,有效信号作为外部ROM芯片输出允许OE的选通信号。在读内部ROM或片内外RAM时,信号无效。(4)(31脚):访问内部或外部程序存储器选择信号/编程电源。当端保持高电平(接Vcc)时则CPU首先从片内0000H单元开始执行内部程序存储器程序,如果外部还有扩展程序存储器,则CPU在执行完内部程序存储器的程序后自动转向执行外部程序存储器的程序;端保持低电平(接GND端)时,只访问片外ROM,即从0000H~FFFFH单元顺序访问(MCS-51系列芯片8031无片内ROM,则直接接低电平);如果保密位被编程,则复位时内部会锁存端的状态。•为Flash编程电压。在对片内Flash编程时,此引脚施加12V编程允许电压(如果选用的Flash编程电压是12V允许值的话)。RSTPROG/ALEPSENVpp/EAVppP3口线的第二功能•P3.0(10脚):(串行接收端口)。•P3.1(11脚):(串行发送端口)。•P3.2(12脚):(外部中断0请求端)。•P3.3(13脚):(外部中断1请求端)。•P3.4(14脚):(定时/计数器0外部计数输入端)。•P3.5(15脚):(定时/计数器1外部计数输入端)。•P3.6(16脚):(外部数据写选通)。•P3.7(17脚):(外部数据读选通)。芯片引脚的第二功能(1)80C51的引脚复用P3口的8条口线都定义有第二功能。有的芯片还有与编程相关的第二功能。(2)引脚复用不会引起混乱第一功能与第二功能是不同工作方式下的信号,不会发生使用上的矛盾。4、并行输入/输出电路结构P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.74个8位并行I/O口:P0,P1,P2,P3;均可作为双向I/O端口使用。(1)特点:P0:访问片外扩展存储器时,复用为低8位地址线和数据线P2:高8位地址线。P1:双向I/O端口P3:第二功能123456789101112131415161718192040393837363534333231302928272625242422218031AT89C518751111111110000000011111111010101011ALEWRRDP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7指令1:MOVP1,#00H指令2:MOVP1,#0FFH指令3:MOVP1,#0AAH(2)输出举例指令4:CLRP1.0指令5:SETBP1.0+5V下一页1111111111111111(3)输入举例S0+5V4.7kWALEWRRDP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7读端口:MOVP3,#11111111BMOVA,P389C51××××××××寄存器A注:当I/O端口作为输入使用时,需先向端口写入“1”,使内部的FET截止,再读入引脚的状态。你知道P3.4对应寄存器A哪一位吗?P3.4你知道这是为什么吗?11111111012.1.4(1)时钟电路1.振荡电路石英晶体作为感性元件,与电容构成振荡回路,为片内放大器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器,如下图。(a)内部时钟方式(b)外部时钟方式2.分频电路振荡电路产生的振荡信号并不直接为单片机所用,而要进行分频,以得到单片机各种相关的时钟信号。定时单位1.拍节与状态即振荡周期,时钟脉冲频率的倒数,定义为拍节(P)。时钟信号的周期定义为状态(S)。1S=2P2.机器周期规定一个机器周期的宽度为6个状态,S1~S6。3.指令周期执行一条指令所需要的时间,可包含1个、2个或4个机器周期。单片机复位条件:必须使RST引脚持续10ms以上高电平即2机周(外部时钟12MHz)2.1.4(2)复位电路谁知道复位电路怎么起到复位的作用?2.初始化状态复位后的片内状态为•PC0000H•ACC00H•B00H•PSW00H•SP07H•DPTR0000H•P0~P30FFH•IPxxx00000B完成复位操作需24个状态周期•IE0x000000B•TMOD00H•TCON00H•TH0,TL0,TH1,TL100H•SCON00H•SBUF不定•PCON0xxxxxxxB12345678910111213142827262524232221201918171615EPROM276412345678910111213142827262524232221201918171615EPROM27641234567891011121314151617181920403938373635343332313029282726252424222112345678910111213142827262524232221201918171615RAM626412345678910111213142827262524232221201918171615RAM62642.2存储器80318751AT89C5189C51片内RAM片内ROM256B(字节)4K64K64K0000HFFFFH(64K)内部外部2.2.1数据存储器数据存储器00HFFH7FH80H(高128B)(低128B)RAM专用寄存器00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F78070030H7FH数据缓冲区/堆栈区内部RAM存储器11第3区18H~1FH01第1区08H~0FHRS1RS0寄存器区片内RAM地址00第0区00H~07H10第2区10H~17H工作寄存器区选择位RS0、RS1PSW位地址CYACF0RS1RS0OVF1PMSB——MostSignificantBit(最高有效位)LSB——LeastSignificantBit(最低有效位)单元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07MSB位地址LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800RAM位寻址区位地址表高128个单元☆离散分布有21个特殊功能寄存器SFR。☆11个可以进行位寻址。☆特别提示:对SFR只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。2.2.2内部数据存储器高128单元区1.专用寄存器简介(1)累加器A(或ACC----ACCumulator)累加器是最常用的专用寄存器(2)B寄存器(Bregister)在乘除指令中用到B寄存器乘MULAB;A与B相乘,高字节放在B中,低字节放在A中。除DIVAB;A除以B,商放在A中,余数放在B中。其他指令中,B同一般的RAM。(3)程序状态字(PSW----ProgramStatusWord)是8位寄存器,它包含了程序状态信息。–CY:进位标志。在执行某些算术和逻辑运算时,可被硬件或软件置位或清除。–AC:辅助进位标志。当低4位数向高4位数进位或借位时,AC将被硬件置1,否则就被清除。–RS0,RS1:用软件置位或清除来确定工作寄存器区。(0,0)——区0(00H~07H)(0,1)——区1(08H~0FH)(1,0)——区2(10H~17H)(1,1)——区3(18H~1FH)–OV:溢出标志。执行算术运算时,由硬件置位或清除。加减法时OV=C’6异或C’7乘除也会影响OV,积大于255或除数为0,OV置位否则清零。–P:奇偶标志。每个指令周期都由硬件来置位