单片机个人知识点总结

时间:2024.4.20

◆波特率公式:TH1=256-f/(波特率*12*32/2^SMOD)

MCS-51系列单片机内部有哪些主要的逻辑部件?答案:一个8位的CPU、一个布尔处理机、一个片内振荡器、128B的片内RAM、21个特殊功能寄存器、4个8位并行I/O接口、一个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级。

机器周期是指:完成MCS-51一个典型的指令花费的振荡周期称为一个机器周期 一个机器周期由  个状态组成,包含有  12  振荡周期;

当外部中断采用低电平触发方式时,为了避免在中断返回后再次响应该中断,要求外部中断源在执行的中断程序返回前撤销中断请求信号(使引脚电平变高)

程序计数器PC是用来存放下一条将要执行的指令地址,共16  位。单片机上电复位后,PC =0000H;

当单片机的P1口做为一般的I/O口使用时,为8位准双向口的意思是指:  当输入信号时,需先向P1口锁存器写1,以保证读引脚的正确性  ;

何谓堆栈?它设置在哪个存储区?在实际编程中,它有何应用价值?

答:堆栈是一个后进先出的特殊的数据缓冲区,并由栈指针SP指示堆栈中的数据深度。在MCS-51系列单片机中,堆栈设置在内部RAM数据存储区内。在实际编程中,可用于数据的传递,数据的交换、保存CPU现场等作用

简述MCS-51单片机程序存储器的几个特殊入口地址的含义。

0000H:复位入口地址

0003H:外部中断0中断服务程序入口地址

000BH:定时器/计数器0溢出中断服务程序入口地址

0013H:外部中断1中断服务程序入口地址

001BH:定时器/计数器1溢出中断服务程序入口地址

0023H:串行口中断服务程序入口地址

何谓静态显示?何谓动态显示?两种显示方式有何优缺点?

所谓静态显示,是指当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,公共端接固定的电平。

LED动态显示是将所有位的段选线并接在一个I/O接口上,称为段口,共阴极端或共阳极端分别由相应的I/O接口线控制,称为位口。

静态显示显示稳定,但软件简单;动态显示硬件简单,但软件需要不断地刷新。

编程将片内RAM 30H39H单元中的内容送到以3000H为首的存储区中。

MOV      R0,#30H

MOV      DPTR,#3000H

MOV      R7,#10

L1:  MOV      A,@R0

MOVX  @DPTR,A

INC     R0

INC     DPTR

DJNZ  R7,L1

RET

片内RAM 60H开始存放20个数据,试统计正数、负数及为零的数据个数,并将结果分别存在50H51H52H单元中。

           MOV      50H,#0

        MOV      51H,#0

        MOV      52H,#0

        MOV     R7,#20

        MOV      R0,#60H

   L3:     MOV      A,@R0

        JZ    L1

        JB    ACC.7,L2

        INC     50H

        SJMP LEND

   L2:  INC     51H

        SJMP  LEND

   L1:  INC     52H

   LEND: INC     R0

        DJNZ  R7,L3

RET

从片外RAM 2000H单元开始存有20个有符号数,要求把它们传送到片外RAM 3000H开始的单元,但负数不传送,试编写程序。

           MOV      DPTR,#2000H

        MOV      R0,#20H

        MOV      R7,#20

   L1:     MOVX  A,@DPTR

        MOV      @R0,A

        INC     DPTR

        INC     R0

        DJNZ  R7,L1

        MOV      DPTR,#3000H

        MOV     R0,#20H

        MOV      R7,#20

   L2:     MOV      A,@R0

        JB    ACC.7,L3

        MOVX  @DPTR,A

   L3:     INC     DPTR

        INC     R0   

         DJNZ  R7,L2

        RET

在片外RAM 2000H2001H3000H3001H中分别存放两个字数据(高8位在偶地址),试比较两个数的大小,把大数存放在4000H4001H单元中。

           MOV      DPTR,#2000H

        MOVX  A,@DPTR

        MOV      20H,A

        INC     DPTR

        MOVX  A,@DPTR

        MOV      21H,A

        MOV      DPTR,#3000H

        MOVX  A,@DPTR

        MOV      30H,A

        INC     DPTR

        MOVX  A,@DPTR

        MOV      31H,A

        CLR     C

        MOV      A,21H

        SUBB  A,31H

        MOV      A,20H

        SUBB  A,30H

        JNC     L1

        MOV      A,20H

        MOV      B,21H

        SJMP  L2

   L1:  MOV      A,30H

        MOV      B,31H

   L2:  MOV      DPTR,#4000H

        MOVX  @DPTR,A

        INC     DPTR
        MOV      A,B

        MOVX  @DPTR,A

                     RET

试编写一段对中断系统初始化的程序,允许外部中断0、外部中断1、定时器/计数器T0溢出中断、串行口中断,且使定时器/计数器T0溢出中断为高优先级中断。

           SETB  EA

        SETB  EX0

        SETB  EX1

        SETB  ET0

        SETB  ES

        SETB  PT0

IE名称:EA:中断允许总控制位;ES:串行口中断;ET1:定时器/计数器1中断;EX1:外部中断1中断;

IP名称:PS:串行口中断;PT1:定时器/计数器1中断; PX1:外部中断1中断。

MCS-51单片机时钟为12MHz,利用定时器T0编程令P1.0引脚输出2ms的矩形波程序,要求占空系数为1:2(高电平时间短)。

           ORG     0000H

        LJMP MAIN

        ORG     000BH

        LJMP  T0INT

        ORG     0030H

   MAIN:   MOV     SP,#60H

        MOV     R7,#0

        MOV     TMOD,#01H       ;初始化

        MOV     TH0,#0FDH       ;定时666微妙

        MOV     TL0,#66H

        SETB  EA

        SETB  ET0

        SETB  TR0

   L1:  SJMP  L1;中断服务程序

   T0INT:MOV    TH0,#0FDH       ;重载初始值

        MOV     TL0,#66H

        INC     R7

        CJNE R7,#1,LL1

        CLR     P1.0

        SJMP LLEND

   LL1: CJNE  R7,#3,LLEND

        SETB  P1.0

        MOV     R7,#00H

   LLEND:RETI

如果MCS-51单片机系统的晶振频率为12MHz,分别指出定时器/计数器方式1和方式2的最长定时时间。

方式1:65536us;   方式2:256us

MCS-51单片机的晶振频率为12MHz,要求在P1.0输出周期是200ms的方波,试编写程序。

           ORG      0000H

        LJMP  MAIN

        ORG      001BH

        LJMP  T1INT

        ORG      0030H

   MAIN: MOV      SP,#70H

        MOV      TMOD,#10H        ;T1方式1

        MOV      TH1,#3CH        ;定时50ms

        MOV      TL1,#0B0H

        MOV      R7,#2           ;50ms*2=100ms

        SETB  EA

        SETB  ET1

        SETB  TR1

        SJMP  $

   T1INT:  MOV      TH1,#3CH

        MOV      TL1,#0B0H

        DJNZ  R7,L1

        MOV      R7,#2

        CPL     P1.0

   L1:  RETI

设串行异步通信的传送速率为2400波特,传送的是带奇偶校验的ASCII码字符,每个字符包含10位(1个起始位,7个数据位,1个奇偶校验位,1个停止位),试编程初始化程序。

设定串行口位方式1.

           MOV      SCON,#40H

        MOV      PCON,#80H

        MOV      TMOD,#20H

        MOV      TH1,#0F4H

        MOV      TL1,#0F4H

        SETB  TR1

设外部晶频率振为11.0592MHz串行口工作在方式1波特率为4800b/s。编写用T1作为波特率发生器的方式字并计算T1的计数初值。

TMOD:20H

TH1=TL1=0FAH

设计一个单片机的双机通信系统,串行口工作在方式1,编写通信程序将甲机内部RAM 30H3FH存储区的数据块通过串行口传送到乙机内部RAM 40H4FH存储区中。

甲机发送(采用查询方式):

       MOV    SCON,#80H    ;设置工作方式2

       MOV    PCON,#00H    ;置SMOD = 0,波特率不加倍

       MOV    R0,#30H          ;数据区地址指针

       MOV    R2,#10H          ;数据长度

LOOP: MOV    A,@R0        ;取发送数据

       MOV    C,P              ;奇偶位送TB8

       MOV    TB8,C

       MOV    SBUF,A       ;送串行口并开始发送数据

WAIT:  JBC    TI,NEXT          ;检测是否发送结束并清TI

       SJMP   WAIT         

NEXT:  INC    R0            ;修改发送数据地址指针

       DJNZ   R2,LOOP

       RET

乙机接收(采用查询方式):

       MOV    SCON,#90H    ;工作方式2,并允许接收

       MOV    PCON,#00H    ;置SMOD = 0

       MOV    R0,#40H          ;置数据区地址指针

       MOV    R2,#10H          ;等待接收数据长度

LOOP:  JBC    RI,READ          ;等待接收数据并清RI

       SJMP   LOOP

READ:  MOV    A,SBUF       ;读一帧数据

       MOV    C, P

       JNC    LP0           ;C不为1转LP0

       JNB    RB8,ERR          ;RB8 = 0,即RB8不为P转ERR

       AJMP   LP1

LP0:   JB     RB8ERR         

LP1:   MOV    @R0A       

       INC    R0

       DJNZ   R2LOOP

       RET

在一个8031应用系统中扩展一片2764、一片8255A和一片6264。试画出系统框图,并指出所扩展的各个芯片的地址范围。

将图8-23中的/CE1接74LS138译码器的/Y0端。

2764的地址空间范围:0000H~1FFFH

6464的地址空间范围:0000H~1FFFH

82552A的口地址:PA口:0FFFCH;PB口:0FFFDH;PC口:0FFFEH;控制口0FFFFH。

单片机采用晶振6MHZP1口接有8个发光管,围成圆形(跑马灯)。要求:

①  发光管每次只亮一个,一次从P1.0~P1.7循环发光,切换时间为1秒(低电平亮);

②  延时采用T0定时器,工作于自动装入时间常数的定时器工作方式,允许T0中断,试写出完整的可调试程序。

ORG   0000H

LJMP  start

ORG   000BH

LJMP  timer0

ORG  30H

start:MOV  TMOD,#02H  ;T0工作于方式2—自动重装载

MOV  TL0,#06      ;定时器自动重装初值

MOV  TH0,#06

MOV  R7,#100     

MOV  R6,#20       ;R6、R7中断次数,一次中断500uS,即500*100*20=1s

MOV  A,#0FEH     ;循环送出的控制字节

MOV  P1,A         ;送出控制字节,P1.0灯亮

SETB  TR0

SETB  ET0

SETB  EA

wait:SJMP  wait            ;主程序,无限循环

timer0:DJNZ  R7,EXIT

MOV  R7,#100

DJNZ  R6,EXIT

MOV  R6,#20

RL  A                 ;左循环一位

MOV  P1,A

EXIT:RETI

END

一个单片机系统,时钟频率fosc=11.059Mhz,现要求串行口通信的波特率为9600bps,采用T1作为波特率发生器,试计算出定时器T1的自动重装载值、实际波特率并验算实际波特率与理论波特率的相对误差?

取:SMOD=0;

T1  自动重装载值:   

演算:   

误差计算:

程序段:MOV  TMOD,#20H

MOV  TH1,#0FDH

MOV  TL1,#0FDH

SETB  TR1

8255初始化:PORTA EQU (A口地址)

              PORTB EQU (B口地址)

              PORTC EQU (C口地址)

              CS8255 EQU  (/CS地址)

              ORG 0000H

              MOV DPTR #CS8255

              MOV A,#10010000B

              MOVX @DPTR,A

编制一个计算符号函数y=SGN(x)的完整的可调试的程序。

Y=

设自变量已经存入外部数据存储区的100h单元,范围-128≤x≤127;y存入外部数据区的200h单元。

答案:ORG 0000H              SUL: MOV DPTR,#200H

LJMP START                 MOVX @DPTR,A

ORG 0030H                  RET

START: MOV DPTR,#100H       NEG: MOV A,#0FFH   

      MOVX A,@DPTR;             SJMP SUL

      JZ SUL               WAIT: LJMP WAIT

JB ACC.7,NEG               END

MOV A,#01

用一片2764和一片6264扩展8k的程序存储器(从2000H~3FFFH)和8K的数据存储器(6000H~7FFFH),不采用线译码,试完成用8051与之连接的连接图。


第二篇:单片机知识点总结 考试大题


单片机考点总结及考试大题

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=07HP0~P3=FFH

6. 程序计数器PC:存放着下一条要执行指令在程序存储器中的地址,即当前PC值或现行值。程序计数器PC是16位寄存器,没有地址,不是SFR.

7. PC与DPTR的区别:PC和DPTR都用于提供地址,其中PC为访问程序存储器提供地址,而DPTR为访问数据存储器提供地址。

8. MCS-51内部有2个16位定时/计数器T0、T1,1个16位数据指针寄存器DPTR,其中MOVE DPTR, #data16 是唯一的16位数据传送指令,用来设置地址指针DPTR。

9.程序状态字寄存器PSW(16页)

(2)PSW寄存器中各位的含义;

Cy:进位标志位,也可以写为C。

Ac:辅助进位标志位。

RS1、RS0:4组工作寄存区选择控制位。

P为奇偶标志位:该标志位用来表示累加器A中为1的位数的奇偶数

P=1, A中1的个数为奇数;

P=0, A中1的个数为偶数。

另:使用加法指令时,累加器A中的运算结果对各个标志位的影响:

(1)如果位7有进位,则置1进位标志位Cy,否则清0 Cy;

(2)如果位3有进位,置1辅助进位标志位Ac,否则清0 Ac;

(3)如果位6有进位,而位7没有进位,或者位7有进位,而位6没有,则溢出标志位OV置1,否则清0 OV。即只要位7和位6中有一个进位,而另一个没进位,OV就置1.

10. MCS-51指令系统的七种寻址方式,熟练掌握各寻址方式。(40页)。

12. MCS-51有5个中断源,2级中断优先级。5个中断源名称及其中断入口地址分别是什么?哪些中断源的中断请求标志位在响应中断时由硬件自动清除?那些中断源的中断请标志位必须使用软件清除?记住各个中断请求标志位,优先级标志位,触发方式标志位。(102页—108页)

前面4种都是硬件自动清0,串行中断必须使用软件清除,因为串行接收和发送共享串行中断,在中断处理中必须使用T1和R1判断串行接收还是发送中断。

13. MCS-51的串行口为全双工的异步串行通信口,串行口有几种工作方式?每种工作方式的帧格式和波特率是什么?

串行口有4种工作方式:

SM0、SM1:串行口4中工作方式的选择位

TXD P3.1 RXD P3.0  REN 允许串行接收   设240字符每秒 异步通讯240*10=2400bit

SCON:串行口控制 PCON 波特率设置

15.系统总线

按其功能通常把系统总线分为三组:(1)、地址总线(Address Bus ,简写AB)

地址总线用于传送单片机发出的地址信号,以便进行存储单元和I/O端口的选择。地址总线是单向的,只能由单片机向外送出。地址总线的数目决定着可直接访问的存储单元数目。

MCS-51单片机最多可以扩展64KB,即65536个地址单元,因此,地址总线为16条。

(2)、数据总线(Data Bus,简写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芯片既能读出又能写入,所以通常都有读写控制引脚,记为 O E和 W E。外扩的RAM的读写控制引脚分别与MCS-51的R D和 WR引脚相连。

外扩的EPROM在正常使用中只能读出,不能写入,故EPROM的芯片没有写入控制引脚,只有读出引脚,记为OE,该引脚与MCS-51 的PSEN相连。

17.在MCS-51单片机系统中,外接程序存储器和数据存储器共用16位地址线和八8位数据线,为何不发生冲突?

外接程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于访问外扩程序存储器时是PSEN信号有效, 而访问数据存储器时是R D或 WR  信号有效。而这些控制信号是由MCS-51执行访问外部外序存储器和或访问外部数据存储器的指令产生,任何时候只能执行1种指令,只产生1种控制信号,所以不会产生数据冲突的问题。

已知8051单片机的fosc=12MHZ,用T1定时,试编程P1.1周期为2ms的方波

MOV  TMOD,#20H    ;T1方式2定时

MOV  TH1,#06H      ;定时250μs

MOV  TL1,#06H

SETB  TR1

L2:    MOV  R2,#04H

L1:    JNB  TF1,$

        CLR  TF1

DJNZ R2,L1

CPL  P1.1

SJMP  L2

请回答:(共16分)

1.下图中外部扩展的程序存储器和数据存储器容量各是多少?(2分)

2.两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1)  (6分,)

3.请编写程序,要求:

(1)将内部RAM 30H~3FH中的内容送入1#  6264的前16个单元中;(4分)

(2)将2#  6264的前4个单元的内容送入40H~43中;(4分)

解:  1. 外扩程序存储器的容量是8K,外扩数据存储器的容量是16K

2.    2764范围:       C000H~DFFFH

1#范围: A000H~BFFFH

2#范围: 6000H~7FFFH

3.请编写程序

(1)         MOV                R1 ,#10H

           MOV                DPTR,@0A000H

           MOV                R0,#30H

   LOOP: MOV                  A,@R0

           MOVX    @DPTR,A

INC          DPTR       

INC                   R0

           DJNZ               R1,LOOP

RET

(2)        MOV                R1,#04H

               MOV                DPTR,#6000H

               MOV                R0  ,#40H

LOOP:MOVX        A  ,@DPTR

                   MOV                 @R0  ,A

                   INC                   DPTR

                   INC                   R0

                   DJNZ                R1,LOOP

                   RET

将外部数据存储器中的5000H—50FFH单元全部清零(10分)。

  :       ORG 0100H        (1

              MOV  DPTR  #5000H

MOV   R0,#00H

CLR     A        (3

     LOOP :  MOVX @DPTR,A   

                INC  DPTR          (3

              DJNZ  R0,LOOP      (2

HERE:  SJMP  HERE  (RET或SJMP  $ 等)(1分)

题 9.9电路图可以参考图9-10,PA口每一位接二极管的正极,二极管的负极接地。PB口每1位接一开关和上拉电阻,开关另一端直接接地。这样只需要将读到的PB口的值送给PA口就可以满足题目要求了。

                     ORG       0100H

MIAN: MOV      A,#10000010B           ;设置PA口方式0输出,PB口方式0输入

                     MOV      DPTR,#0FF7FH  ;控制口地址送DPTR

                     MOVX    @DPTR,A          ;送方式控制字

                     MOV      DPTR,#0FF7DH  ;PB口地址送DPTR

                     MOVX    A,@DPTR          ;读入开关信息

                     MOV      DPTR,#0FF7CH  ;PA口地址送DPTR

                     MOVX    @DPTR,A          ;PA口的内容送PB口点亮相应的二极管

                     END

更多相关推荐:
单片机知识点总结(1)

单片机知识点总结第一章:微型计算机基础1、微型计算机数制及他们之间的相互转换2、微型计算机码制和编码第二章:MCS-51单片机结构和时序1、单片机的内部结构第三章:MCS-51单片机指令系统1、指令及其表示方法…

单片机知识点总结

单片机考点总结1.单片机由CPU、存储器及各种I/O接口三部分组成。2.单片机即单片微型计算机,又可称为微控制器和嵌入式控制器。3.MCS-51系列单片机为8位单片机,共40个引脚,MCS-51基本类型有803…

单片机重点总结

第1章1、微型计算机通常由哪些部分组成?各有哪些功能?答:微型计算机通常由控制器、运算器、存储器、输入/输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令并对指令进行分析、判断、并根…

单片机知识点总结

第一部分硬件基础1单片机的组成2单片机的并行IO口在使用时有哪些注意的地方3单片机的存储器程序存储器和数据存储器的寻址范围地址总线和数据总线的位数数据存储器内存空间的分配特殊功能寄存器区4时钟及机器周期5单片机...

51单片机初学知识点总结

51单片机初学知识点总结经过这半个月的学习我对于单片机的定时器对IO口的随意操作输入检测中断定时器的中断单片机的外部中断串口通信等几大学习模块有了一定了解和掌握1软件我主要是在keiluvision3实现用C语...

单片机课程知识点归纳

单片微型计算机原理及应用

单片机原理及应用期末考试必考知识点重点总结

单片机概述单片机是微单片微型计算机的简称微型计算机的一种它把中央处理器CPU随机存储器RAM只读存储器ROM定时器计数器以及IO接口串并通信等接口电路的功能集成与一块电路芯片的微型计算机字长在计算机中有一组二进...

单片机知识点总结 考试大题

单片机考点总结及考试大题1234单片机由CPU存储器及各种IO接口三部分组成单片机即单片微型计算机又可称为微控制器和嵌入式控制器MCS51系列单片机为8位单片机共40个引脚MCS51基本类型有80318051和...

51单片机知识点总结

51单片机知识点总结第二章存储器空间组成各区间特点及访问方式工作寄存器区的设定程序状态字的位结构及其功能堆栈的操作P0P3各端口的功能特点使用方法单片机复位信号的产生及复位之后的状态振荡周期状态周期机器周期及指...

单片机期末复习重点总结

1一单片机就是在一片半导体硅片上集成了中央处理单元存储器并行接口IO串行IO口定时器计数器终端系统系统时钟电路及系统总线的微型计算机二单片机的硬件结构8位微处理器数据存储器128B程序存储器4个8位可编程并行I...

单片机知识点

单片机就是一片半导体硅片上集成了中央处理单元CPU存储器RAMROM并行IO串行IO定时器计数器中断器系统时钟电路及系统总线的用于测控领域的微型计算机简称单片机何谓单片机单片机与一般微型计算机相比具有哪些特点答...

九年级物理 第十一章简单机械和功 知识点

九年级物理第十一章简单机械和功111杠杆1在物理学中将一根在力的作用下可绕一固定点转动的硬棒叫做杠杆2杠杆的平衡条件F1L1F2L23若L1L2F1F2则是省力杠杆费距离若L1L2F1F2则是费力杠杆省距离若L...

单片机知识点总结(27篇)