MCS51内部结构
- 格式:doc
- 大小:138.50 KB
- 文档页数:1
MCS-51单⽚机的硬件结构MCS-51单⽚机的基本组成MCS-51是Intel公司⽣产的⼀个单⽚机系列的总称.在功能上,该系列单⽚机有基本型和增强型两⼤类,通常以芯⽚型号的末位数字来区别。
末位数字位“1”的型号是基本型,为“2”的信号是增强型。
MCS-51单⽚机的内部结构如图所⽰,基本结构包括:⼀个8位的CPU及⽚内振荡器;4KB掩膜ROM(8051),4KB EPROM(8751),⽆ROM(8031);128B RAM,21个特殊功能寄存器SFK;4个(P0~P3)8位并⾏I/O接⼝,⼀个可编程全双⼯通⽤异步串⾏接⼝(UART);具有5个中断源,2个优先级;可寻址64KB 的⽚外ROM和64KB的⽚外RAM;两个16位的定时/计数器;具有位操作功能的布尔处理机及位寻址功能。
MCS-51单⽚机的引脚及其功能MCS-51单⽚机的引脚封装MCS-51单⽚机有普通的HMOS芯⽚和CMOS低功耗芯⽚。
HMOS芯⽚采⽤双列直插封装⽅式,⽽CMOS芯⽚采⽤的封装⽅式有双列直插也有⽅形封装的。
尽管封装的⽅式不同,但是它们的结构完全⼀样。
输⼊/输出接⼝MCS-51单⽚机有4个双向8位I/O接⼝,它们是P0、P1、P2、P3。
在⽆外接存储器时,这4个I/O接⼝均可以作为通⽤I/O接⼝使⽤,CPU既可以对它们进⾏字节操作也可以进⾏位操作。
当外接程序存储器或数据存储器时,P0⼝和P2⼝不再作为通⽤I/O⼝使⽤。
此时,P0⼝传送存储器地址的低8位以及双向的8位数据,P2⼝传送存储器地址的⾼8位。
P0⼝和P2共同组成MCS-51单⽚机的16位地址总线,⽽低8位地址总线与8位双向数据总线分时复⽤。
P0⼝P0⼝有8位,每⼀位由⼀个锁存器、两个三态输⼊缓冲器、控制电路和驱动电路组成。
P0⼝有两种功能,⼀是作为通⽤I/O⼝;⼆是当外接存储器时,作为低8位地址总线和8位双向数据总线。
P0 ⼝作为通⽤I/O ⼝作为通⽤I/O ⼝时,P0 ⼝既可以做输⼊⼝,也可以做输出⼝,并且每⼀位都可以设定为输⼊或输出。
1、MCS51内部结构:一个8位CPU、片内振荡器及时钟电路、4KBROM程序存储器、128字节RAM数据存储器、可寻址64KB外部数据存储器/外部程序存储空间的控制电路32条可编程的I/O线(4个8位并行I/O端口)、两个16位的定时/计数器、一个可编程全双工串行口、5个中断源、两个优先级嵌套中断结构2、0000H 复位操作后的程序入口0003H 外部中断0服务程序入口000BH 定时/计数器0中断服务程序入口0013H 外部中断1服务程序入口001BH 定时/计数器1中断服务程序入口0023H 串行I/O中断服务程序入口002BH 定时/计数器2中断服务程序入口3、特殊功能寄存器:A1~D B1~D D1~7 IE IP TI IT EX ET REN PS RS OV SM CY F0 TMOD TCON SP DPL DPH SBUF SCON PSW4、复位操作有两种形式:上电复位、开关复位。
上电复位要求接通电源后,自动实现复位操作;开关复位要求在电源接通的条件下在单片机运行期间,如果发生死机,用按钮开关复位5、51单片机的存储器可分为3个空间(片内,片外数据存储器及片内外统一编址的程序存储器)。
片内RAM:当引脚EA接+5V即EA=1时,片内4KB程序范围0000~0FFFH片外1000H~FFFFH;当EA接地即EA=0 片外ROM占0000H~FFFFH全部64KB地址空间使用上片内ROM位寻址占20~2FH的128位,片外则无6、堆栈设在片内RAM存储区,程序存放在程序存储区,I/O接口设置在外部数据存储区,中断服务程序存放在程序存储区7、复位时A=0,PSW=0,SP=07H,P0~P3=FFH。
8、为什么要用接口:计算机中,CPU统一为TTL电平,并行数据格式,信息、电平各异,必须进行转换使之匹配,而且CPU的数据线是外设或存储器与CPU进行数据传输的唯一公共通道为了使数据线的使用对象不产生使用总线的冲突,以及快速的CPU和慢速的外设时间上协调,CPU和外设之间必须有接口9、接口的功能:缓冲、锁存数据、地址译码识别设备、电平转换、信息格式转换、发布命令、传递状态。
10、中断:CPU和外设并行工作,当外设数据准备好或有某种突发事件发生时,向CPU提出请求,CPU暂停正在执行的程序转而为外设服务,处理完毕再回到原断点继续执行原程序中断系统;能实现中断功能并能对中断进行管理的硬件和软件系统中断优先级:当有多个中断源同时向CPU发出申请中断时,CPU优先响应最需紧急处理的请求,再响应级别较低的请求。
中断源:引起中断的原因和发出中断申请的来源。
(三个在片内(软件控制),2个在片外(硬件)。
中断请求、中断响应过程都是由硬件完成的11、中断的允许和禁止控制寄存器IE(地址A8H),中断请求标志及外部中断方式选择寄存器TCON(地址88H),中断优先级管理寄存器IP(地址8BH)12、中断请求的撤除:对定时/计数器T0,T1的溢出中断,CPU响应中断后,硬件清除中断请求标志TF0和TF1,即自动撤除中断请求,除非T0,T1再次溢出,才产生中断对边沿触发的外部中断INT1和INT0,也是CPU响应中断后硬件自动清除IE0和IE1的。
对于串行口和定时/计数器T2中断,CPU响应中断后,没有用硬件清除中断请求标志TI,RI,TF2和EXF2,即这些中断标志不会自动清除,必须用软件清除,。
对电平触发的外部中断,在CPU响应后,应立即撤除¯INT1或INT0的低电平信号13、振荡周期=1/f 状态周期=2/f 机器周期=12/f 指令周期=(1~4)机器周期一个状态周期含2个振荡周期一个机器周期含6个状态周期即12个振荡周期f表示外接晶振频率14、P1:当总线为1 D=1 Q=0 Vcc—VT1=1 P1引脚为1;当总线为0,D=0 Q=1 VT打开P1引脚为0 做输入时:内部总线先对该口写入1,使VT1关闭,线路经下方三态缓冲器△2可以读引脚,△1可以读锁存15、51单片机四个端口:P0作为输入/输出口,作为地址/数据线分时复用P1作为可编程的输入或输出口线P2作为输入/输出口,扩展系统的地址总线P3双功能口,第一与P1相同16、51对外的三总线的分配:P2、P0构成16位地址总线,P0口分时作为数据总线,P3口可用于控制总线17、51的4个I/O口在结构上有何异同,使用时应注意什么?相同:都有两个输入缓冲器,分别受内部读锁存器和读引脚信号的控制,都有锁存器及场效应管输出驱动器。
注意:作为输入口时,应先对该口写入1,使VT2截止,再进行读入操作,作为I/O口时P0需接10KΩ上拉电阻,其他口不必接,P2口作为地址使用时,剩下的P2口不能作为I/O口用。
18、将21H单元的低三位和20H单元的低5位合并为一个字节送30H单元,要求21H的低三位放在高位上。
MOV 30H,20H ANL 30H,#IFH MOV A,21H SWAP A RL A ANL A,#0E0H ORL 30H,A SJMP $19、P1.4~1.7接4个发光二极管LED,P1.0~1.3接4个开关,编程将开关的状态反应到发光二极管上。
ORG 0000H MOV P1,#0FFH ABC:MOV A,P1 SWAP A ANL A,#0F0H MOV P1,A ORL P1,#OFH SJMP ABC20、P1接有8个发光二极管,编程使8个管轮流点亮,每个管亮100ms,设晶振为6MHZ.机器周期MC=12/f=2us 应计脉冲个数100ms/2us=50000=C350H 求补(C350H)补=10000H—C350H=3CB0HC 语言:(1)查询方式:#include<reg51.h> void main(void) { P1=0xfe; TMOD=0x10 TR1=1; for(;;) { TH1=0x3c; TL1=0xb0; do{} while(! TF1); P1<<=1; P1=P1|0x01; TF1=0; }}(2)中断方式:#include<reg51.h> timer1()interrupt 3 using1 { P1<<=1;P1=P1|0x01; TH1=0x3c;TL1=0xb0;} void main(void) { TMOD=0x10; P1=0xfe; TH1=0x3c;TL1=0xb0;EA=1;ET1=1; TR1=1; do{} while(1); }21、在P1.7端接一个发光二极管LED,要求利用定时器控制,使LED亮一秒灭一秒周而复始,设f=6MHZ.16位定时最大为2^16x2us=131.072ms,显然不能满足定时1s的要求。
方法一:采用T0产生周期为200ms脉冲,即P1.0每100ms取反一次作为T1计数脉冲,5个脉冲刚好1000ms.ORG 0000H MAIN: CLR P1.7 SETB P1.0 MOV TMOD,#61H MOV TH1,#0FBH MOV TL1,#0FBH SETB TR1 LOOP1:CPL P1.7LOOP2:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 LOOP3:JBC TF0,LOOP4 SJMP LOOP3 LOOP4:CPL P1.0 JBC TF1,LOOP1 AJMP LOOP2 END22、一个用51单片机扩展一片8255的电路,8255的A口接输出设备(8个发光二极管)、B口接输出设备(8个开关)、PC口不用,均采用方式0,将8255B口输入的开关置的数从A口输出,要求开关闭合上的对应LED亮。
分析:由图知,P2.7=0选中该8255,A1A0(P2.1、P2.0)为00,01对应A口和B口、为11时对应控制口。
其余地址位写1,控制口地址分别为7CFFH、7DFFH、7FFFH.设定A口方式0输出,B口方式0输入,控制字10000010B=82HMOV DPTR,7FFFH MOV A,82H MOVX @DPTR,A MOV DPTR,7DFFH MOVX A,@DPTR CPL A DEC DPL MOVX @DPTR,A SJM P $C语言:#include<absacc.h> #include<reg51.h> #define COM8255 XBYTE[0X7fff] #define PA8255 XBYTE[0x7cff] #define PB8255 XBYTE[0X7dff] Mian( ) { unsigned char a; COM8255=0x82; a=PB8255; a=~a; PA8255=a; }23、用8Kx8的存储器芯片组成容量为64Kx8的存储器,需几个芯片?多少根地址线寻址?其中几根作为字选,几根作为片选线?若用线选法,能组成多大容量存储器,各线选的地址范围(64KBx8)÷(8Kx8)=8,即需要8片8K×8的存储器芯片,64K=65536=2^16,所以组成64KB的存储器需要16根地址线寻址。
8K=8192=2^13,即8K ×8的存储器每片有13根作为线字选,选择存储器芯片片内的单元。
16–13=3,即3根作为片选线,选择8片存储器芯片。
如果用线选法:A15~A13 3根地址线各选一片8K×8的存储器芯片,只能接3个芯片,故仅能组成容量为24K×8的存储器,A15。
A14和A13所选芯片的地址范围:6000H~7FFFH、A000H~BFFFH、和C000H~DFFFH24、25、电力系统电压等级:额定电压低于3KV和3KV及以上的。
低于3KV系统额定电压包括三相、单相交流、及直流三种。
为使变压器在额定负载下工作,二次侧绕组的电压比同级电网的额定电压高5%,26、电压等级选择:一般来说,传输功率愈大,输送距离愈远,则选择较高的电压等级比较有利。
发电:风力、太阳能、地热、海洋能、核能、火力、水力27、电力系统的特点;1电能不能大量存储2过渡过程十分短暂3电能生产与国民经济和人民生活关系密切4电力系统的地区性特点较强28、对电力系统的要求:1保证供电可靠2保证良好的电能质量3为用户提供充足的电力4提高电力系统运行经济性29、电能质量的指标:电压、频率、波形、接地分:工作接地、保护接地、保护接零、防雷接地、防静电接地30、中性点接地主要分4中:中性点绝缘(不接地)3~60KV、中性点经消弧线圈接地、中性点直接接地(110KV以上)和经电阻接地。
前两种称小电流接地,后是大电流接地31、开关电器是断开或接通电路的电气设备总称。