单片机考点总结及考试大题1.单片机由CPU、存储器及各种I/O接口三部分组成。2.单片机即单片微型计算机,又可称为微控制器和嵌入式控制器。3.MCS-51系列单片机为8位单片机,共40个引脚,MCS-51基本类型有8031、8051和8751.4.MCS-51单片机共有16位地址总线,P2口作为高8位地址输出口,P0口可分时复用为低8位地址输出口和数据口。MCS-51单片机片外可扩展存储最大容量为216=64KB,地址范围为0000H—FFFFH。(1.以P0口作为低8位地址/数据总线;2.以P2口作为高8位地址线)5.MCS-51片内有128字节数据存储器(RAM),21个特殊功能寄存器(SFR)。(1)MCS-51片内有128字节数据存储器(RAM),字节地址为00H—7FH;(2)21个特殊功能寄存器(SFR)(21页—23页);(3)当MCS-51上电复位后,片内各寄存器的状态,见34页表2-6。PC=0000H,SP=07H,P0~P3=FFH6.程序计数器PC:存放着下一条要执行指令在程序存储器中的地址,即当前PC值或现行值。程序计数器PC是16位寄存器,没有地址,不是SFR.7.PC与DPTR的区别:PC和DPTR都用于提供地址,其中PC为访问程序存储器提供地址,而DPTR为访问数据存储器提供地址。8.MCS-51内部有2个16位定时/计数器T0、T1,1个16位数据指针寄存器DPTR,其中MOVEDPTR,#data16是唯一的16位数据传送指令,用来设置地址指针DPTR。9.程序状态字寄存器PSW(16页)(2)PSW寄存器中各位的含义;Cy:进位标志位,也可以写为C。Ac:辅助进位标志位。RS1、RS0:4组工作寄存区选择控制位。RS1RS0所选的4组寄存器000区(内部RAM地址00H~07H)011区(内部RAM地址08H~0FH)102区(内部RAM地址10H~17H)113区(内部RAM地址18H~1FH)P为奇偶标志位:该标志位用来表示累加器A中为1的位数的奇偶数P=1,A中1的个数为奇数;P=0,A中1的个数为偶数。另:使用加法指令时,累加器A中的运算结果对各个标志位的影响:(1)如果位7有进位,则置1进位标志位Cy,否则清0Cy;(2)如果位3有进位,置1辅助进位标志位Ac,否则清0Ac;(3)如果位6有进位,而位7没有进位,或者位7有进位,而位6没有,则溢出标志位OV置1,否则清0OV。即只要位7和位6中有一个进位,而另一个没进位,OV就置1.10.MCS-51指令系统的七种寻址方式,熟练掌握各寻址方式。(40页)。寻址方式使用的变量寻址空间寄存器寻址方式R0~R7、A、B、C(位)DPTR、AB4组通用工作寄存区、部分特殊功能寄存器直接寻址方式内部RAM128B、特殊功能寄存器寄存器间接寻址方式@R1,@R0,SP片内RAM@R1,@R0,@DPTR片外数据存储器立即寻址方式#data基址寄存器加变址寄存器间接寻址方式@A+DPTR,@A+PC程序存储器位寻址方式内部RAM20H~2FH单元的128个可寻址位、SFR中的可寻址位(85个)相对寻址方式PC+偏移量程序存储器12.MCS-51有5个中断源,2级中断优先级。5个中断源名称及其中断入口地址分别是什么?哪些中断源的中断请求标志位在响应中断时由硬件自动清除?那些中断源的中断请标志位必须使用软件清除?记住各个中断请求标志位,优先级标志位,触发方式标志位。(102页—108页)中断源入口地址响应中断时中断请求标志位外部中断00003H硬件自动清除IE0定时器/计数器T0000BH硬件自动清除TF0外部中断10013H硬件自动清除IE1定时器/计数器T1001BH硬件自动清除TF1串行口中断0023H软件清除TI或RI前面4种都是硬件自动清0,串行中断必须使用软件清除,因为串行接收和发送共享串行中断,在中断处理中必须使用T1和R1判断串行接收还是发送中断。13.MCS-51的串行口为全双工的异步串行通信口,串行口有几种工作方式?每种工作方式的帧格式和波特率是什么?串行口有4种工作方式:SM0SM1方式功能说明000同步异位寄存器方式(用于扩展I/O口)波特率固定,为fosc/120118位异步收发,波特率可变(有定时器控制)1029位异步收发,波特率为fosc/64或fosc/321139位异步收发,波特率可变(有定时器控制)SM0、SM1:串行口4中工作方式的选择位TXDP3.1RXDP3.0REN允许串行接收设240字符每秒异步通讯240*10=2400bitSCON:串行口控制PCON波特率设置15.系统总线按其功能通常把系统总线分为三组:(1)、地址总线(AddressBus,简写AB)地址总线用于传送单片机发出的地址信号,以便进行存储单元和I/O端口的选择。地址总线是单向的,只能由单片机向外送出。地址总线的数目决定着可直接访问的存储单元数目。MCS-51单片机最多可以扩展64KB,即65536个地址单元,因此,地址总线为16条。(2)、数据总线(DataBus,简写DB)。MCS-51单片机是8位字长,所以,数据总线的位数也是8位的。数据总线是双向的,可以进行2个方向的传送。控制总线)15.单片机外部扩展存储器地址分配的方法线选法和译码法。外部扩展存储器容量大小的确定方法(1)由该存储器芯片上的地址根数决定,如程序存储器芯片27128有A0—A13共14根地址线,故27128的存储容量=214=16KB;(2)用存储器芯片型号后面的数字÷8即可得到该芯片的存储容量,如27128的存储容量=128÷8=16KB;16.P0口作第八位的地址、数据总线,P2口作为高位地址线,PSEN:ALE作为P0口低八位所存控制,EA-ROM的选择控制16.存储器扩展的读写控制:外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为OE和WE。外扩的RAM的读写控制引脚分别与MCS-51的RD和WR引脚相连。外扩的EPROM在正常使用中只能读出,不能写入,故EPROM的芯片没有写入控制引脚,只有读出引脚,记为OE,该引脚与MCS-51的PSEN相连。17.在MCS-51单片机系统中,外接程序存储器和数据存储器共用16位地址线和八8位数据线,为何不发生冲突?外接程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于访问外扩程序存储器时是PSEN信号有效,而访问数据存储器时是RD或WR信号有效。而这些控制信号是由MCS-51执行访问外部外序存储器和或访问外部数据存储器的指令产生,任何时候只能执行1种指令,只产生1种控制信号,所以不会产生数据冲突的问题。已知8051单片机的fosc=12MHZ,用T1定时,试编程P1.1周期为2ms的方波MOVTMOD,#20H;T1方式2定时MOVTH1,#06H;定时250μsMOVTL1,#06HSETBTR1L2:MOVR2,#04HL1:JNBTF1,$CLRTF1DJNZR2,L1CPLP1.1SJMPL2请回答:(共16分)1.下图中外部扩展的程序存储器和数据存储器容量各是多少?(2分)2.两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1)(6分,)3.请编写程序,要求:(1)将内部RAM30H~3FH中的内容送入1#6264的前16个单元中;(4分)(2)将2#6264的前4个单元的内容送入40H~43中;(4分)解:1.外扩程序存储器的容量是8K,外扩数据存储器的容量是16K2.2764范围:C000H~DFFFH1#范围:A000H~BFFFH2#范围:6000H~7FFFH3.请编写程序(1)MOVR1,#10HMOVDPTR,@0A000HMOVR0,#30HLOOP:MOVA,@R0MOVX@DPTR,AINCDPTRINCR0DJNZR1,LOOPRET(2)MOVR1,#04HMOVDPTR,#6000HMOVR0,#40HLOOP:MOVXA,@DPTRMOV@R0,AINCDPTRINCR0DJNZR1,LOOPRET将外部数据存储器中的5000H—50FFH单元全部清零(10分)。答:ORG0100H(1分)MOVDPTR#5000HMOVR0,#00HCLRA(3分)LOOP:MOVX@DPTR,AINCDPTR(3分)DJNZR0,LOOP(2分)HERE:SJMPHERE(RET或SJMP$等)(1分)题9.9电路图可以参考图9-10,PA口每一位接二极管的正极,二极管的负极接地。PB口每1位接一开关和上拉电阻,开关另一端直接接地。这样只需要将读到的PB口的值送给PA口就可以满足题目要求了。ORG0100HMIAN:MOVA,#10000010B;设置PA口方式0输出,PB口方式0输入MOVDPTR,#0FF7FH;控制口地址送DPTRMOVX@DPTR,A;送方式控制字MOVDPTR,#0FF7DH;PB口地址送DPTRMOVXA,@DPTR;读入开关信息MOVDPTR,#0FF7CH;PA口地址送DPTRMOVX@DPTR,A;PA口的内容送PB口点亮相应的二极管END