视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
单片机原理及接口技术答案[1]
2025-09-30 19:50:38 责编:小OO
文档
章1    绪 论

 

1.答:第一台电子数字计算机ENIAC问世,标志着计算机时代的到来。与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。

2.答:由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU。

3.答:微型计算机由微处理器、存储器和I/O接口电路构成。各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。

4.答:微处理器集成了运算器和控制器(即CPU);而微型计算机包含微处理器、存储器和I/O接口电路等。

5.答:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。

6.答:微型计算机有三种应用形式:多板机(系统机)、单板机和单片机。

多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。

单板机,I/O设备简单,软件资源少,使用不方便。早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。

单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。

7.答:多年来的应用实践已经证明,80C51的系统结构合理、技术成熟。因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有:

●       ATMEL公司融入Flash存储器技术推出的AT系列单片机;

●       Philips公司推出的80C51、80C552系列高性能单片机;

●       华邦公司推出的  W78C51、W77C51系列高速低价单片机;

●       ADI公司推出的ADμC8xx系列高精度ADC单片机;

●       LG公司推出的GMS90/97系列低压高速单片机;

●       Maxim公司推出的DSC420高速(50MIPS)单片机;

●       Cygnal公司推出的C8051F系列高速SOC单片机等。

 

8.答:系统需求分析,硬件方案设计,软件编程,仿真调试,实际运行。

9.答:在系统编程(ISP)技术,在应用编程(IAP)技术。

 

章2  80C51的结构和原理

 

1答:功能上分为基本型和增强型;

工艺上分为HMOS工艺和CHMOS工艺;

在片内程序存储器的配置上有掩膜ROM、EPROM和Flash、无片内程序存储器形式。

2答:采用哈佛结构,在物理上设计成程序存储器和数据存储器两个的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR。

3. 答:作为通用I/O口时,P0、P1、P2和P3都是准双向口。

P0可以作为地址/数据总线,此时是一个真正的双向口;P2口可以作为地址线的高8位;P3口是双功能口,每条口线还具有不同的第二功能。

另外,P0口的驱动能力为8个TTL负载,而其它口仅可驱动4个TTL负载。

4.答:机器周期分别为2μs,1.085μs,1μs。

5.答:复位后,PC内容为0000H,P0口~P3口内容为FFH,SP内容为07H,SBUF内容不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态均为00H。复位方法一种是上电复位,另一种是上电与按键均有效的复位。

6.答:80C51的 引脚为访问片内、片外程序存储器的选择端。访问片内、片外数据存储器需要采用不同的指令加以区分。

7.答:CY:进位、借位标志。有进位、借位时 CY=1,否则CY=0;

AC:辅助进位、借位标志(高半字节与低半字节间的进位或借位);

F0:用户标志位,由用户自己定义;

RS1、RS0:当前工作寄存器组选择位;

OV:溢出标志位。有溢出时OV=1,否则OV=0;

P:奇偶标志位。存于ACC中的运算结果有奇数个1时P=1,否则P=0。

8.答:当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RS1、RS0来决定。

9.答:RST/VPD:复位信号输入引脚/备用电源输入引脚;ALE/ :地址锁存允许信号输出引脚/编程脉冲输入引脚; /VPP:内外存储器选择引脚/片内EPROM(或FlashROM)编程电压输入引脚; :外部程序存储器选通信号输出引脚。

10.答:0000H:单片机复位入口地址;0003H:外部中断0的中断服务程序入口地址;000BH:定时/计数器0溢出中断服务程序入口地址;0013H:外部中断1的中断服务程序入口地址;001BH:定时/计数器1溢出中断服务程序入口地址;0023H:串行口的中断服务程序入口地址。

 

章3    80C51的指令系统

 

1.答:执行时间短。1个机器周期指令有条,2个机器周期指令有45条,而4个机器周期指令仅有2条(即乘法和除法指令);

指令编码字节少。单字节的指令有49条,双字节的指令有45条,三字节的指令仅有17条;

位操作指令丰富。这是80C51单片机面向控制特点的重要保证。

2.答:80C51单片机的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。

这些寻址方式所对应的寄存器和存储空间如下表所示。

序号寻址方式寄存器或存储空间 
1寄存器寻址寄存器R0~R7,A、AB、DPTR和C(布尔累加器)

 
2直接寻址片内RAM低128字节、SFR

3寄存器间接寻址片内RAM(@R0,@R1,SP)

片外RAM(@R0,@R1,@DPTR)

4立即寻址ROM
5变址寻址ROM(@A+DPTR,@A+PC)

6相对寻址ROM(PC当前值的+127~-128字节)

7位寻址可寻址位(内部RAM20H~2FH单元的位和部分SFR的位)

 

3.答:直接寻址和位寻址方式。

4.答:直接寻址、寄存器间接寻址和位寻址方式。

5.答:寄存器间接寻址。

6.答:立即寻址、变址寻址和相对寻址方式。

7.答:单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统,它可对位(bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作。在实现位操作时,借用了程序状态标志器(PSW)中的进位标志Cy作为位操作的“累加器”。

8.寄存器间接寻址方式。

9. (1)MOV A,#88H----------------74H, 88H

 (2)MOV R3,50H----------------ABH,50H

 (3)MOV P1,#55H----------75H,90H,55H

 (4)ADD  A,@R1---------------------27H

 (5)SETB 12H----------------------D2H,12H

10.答:

(1)MOV A,R0

    MOV R1,A

(2)MOV R2,60H

(3)MOV  DPTR,#1000H

    MOVX A,@DPTR

    MOV 60H,A

(4)MOV  DPTR,#1000H

    MOVX A,@DPTR

    MOV R2,A    

(5)MOV  DPTR,#1000H

    MOVX A,@DPTR

MOV  DPTR,#2000H

    MOVX @DPTR, A

11.答:(R1)=7FH

(A)=60H

(30H)=08H

(40H)=60H

12.答:(1)(A)=2CH

(2)(40H)=0CH

(3)(A)=22H,(CY)=1,(AC)=1,(OV)=0

(4)(A)=8EH

(5)(20H)=0EH,P=1

(6)(A)=EFH,(20)=08H

13.答:(A)=3BH,(R0)=40H,(40H)=00H,(41H)=3BH,(42H)=3BH。

14.答:(1)SETB ACC.0

 (2)ANL  A,#0FH

 (3)ANL  A,#87H

15.答:MOV 2FH,20H

   MOV 2EH,21H

MOV 2DH,22H

16.答:CLR  CY

MOV 30H,#7FH

MOV 31H,#4DH

MOV R0,#31H

MOV A,@R0

SUBB A,#4E

MOV @R0,A   ;保存低字节相减结果

DEC  R0

MOV A,@R0

SUBB A,#2BH

MOV @R0,A   ;保存高字节相减结果

 

17.答:MOV A,R2

ANL  A,#0F0H

ORL  R1,A

18.答:MOV A,20H

MOV B,21H

MUL AB

MOV R3,A

MOV R2,B

19.答:(CY)=1,(P1)=10111011B,(P3)=00111100B

章4  80C51的汇编语言程序设计

 

1.答:汇编语言结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运行速度快、实时性强等优点。它是面向机器的语言,对于单片机硬件的操作直接、方便,有利于初学者对单片机结构的认知。

但它与高级语言相比移植性不好、编程复杂、对编程人员的基础要求高。

2.答:一、任务分析

首先,要对单片机应用系统的设计目标进行深入分析,明确系统设计任务:功能要求和技术指标。然后对系统的运行环境进行调研。这是应用系统程序设计的基础和条件。

二、算法设计

经过任务分析和环境调研后,已经明确的功能要求和技术指标可以用数学方法(或模型)来描述,进而把一个实际的系统要求转化成由计算机进行处理的算法。并对各种算法进行分析比较,并进行合理的优化。

三、流程描述

程序的总体构建。先要确定程序结构和数据形式,资源分配和参数计算等。然后根据程序运行的过程,规划程序执行的逻辑顺序,用图形符号将程序流程绘制在平面图上。应用程序的功能通常可以分为若干部分,用流程图将具有一定功能的各部分有机地联系起来。

流程图可以分为总流程图和局部流程图。总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系;局部流程图反映程序模块的具体实施细节。

3.答:顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的;

分支程序:可以改变程序的执行顺序;

循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务。

4.答:利用累加器或寄存器;

利用存储器;

利用堆栈。

5.答:伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的伪指令包括:

ORG,功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址;

END,功能是结束汇编;

DB,功能是从标号指定的地址单元开始,在程序存储器中定义字节数据;

DW,功能是从标号指定的地址单元开始,在程序存储器中定义字数据空间;

EQU,功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名;

BIT,功能是将位地址赋给指定的符号名。

6.答:程序如下:

ORG  0000H

MOV  R0,#21H

MOV  R1,#23H

MOV  A,@R0

ADD  A,@R1

MOV  25H,A

DEC   R0

DEC   R1

MOV  A,@R0

ADDC A,@R1

MOV  24H,A

SJMP  $

END

7.答:ORG 0000H

     MOV DPTR,#1000H

     MOV R0,#30H

     MOV R7,#32

LOOP:MOVX A,@DPTR

     MOV @R0,A

     INC R0

     INC DPTR

     DJNZ R7,LOOP

     RET

8.答:ORG 0000H

MOV  A,R1

ADD  A,R7

MOV  61H,A

MOV  A,R0

     ADDC A,R6

     MOV  60H,A

     SJMP $

     END

9.答:延时时间: 2µs*{[1+((1+2*250+2)*246)+2]+2}=0.247486秒(含调用指令2个机器周期)

 

10.答: ORG  0000H

      BIG DATA 2FH

      ONE DATA 2AH

      TWO DATA 2BH

 

START:MOV  R7,#7    ;比较次数

     MOV  R0,#30H  

 LOOP:MOV  A,@R0    

     MOV  ONE,A   

     INC  R0

     MOV  TWO,@R0 

     CLR  C

     SUBB A,@R0  

     JC   NEXT       ;ONE小,TWO大继续比下一对数

     MOV  @R0,ONE    ;ONE大放后面(交换)

     DEC  R0             

     MOV  @R0,TWO    ;TWO小放前面

     INC  R0         ;

 NEXT:DJNZ R7,LOOP

     MOV  BIG,37H

     SJMP $

         END

11.答:单字节二进制数转换为压缩的BCD码仅需要2个字节;在将压缩的BCD码拆分存于3个单元。

            org  0

            MOV  52H,#0

            MOV  51H,#0

            MOV  50H,#0

            MOV  A,#0FDh

            LCALL DCDTH

            SJMP $

 

  DCDTH:MOV  R7,#8

        MOV  R0,A  ;暂存于R0  

   LOOP:CLR  C    

        MOV  A,R0

        RLC  A

        MOV  R0,A

            MOV  R1,#51H;

        

        MOV  A,@R1 ;  

        ADDC A,@R1 ;

        DA   A     ;

        MOV  @R1,A ;

            DEC  R1

        MOV  A,@R1  

        ADDC A,@R1  

        DA   A      

        MOV  @R1,A   

        DJNZ R7,LOOP 

            INC  R1     ;50H已是结果,R1指向51H,51H单元需拆分

            MOV  A,#00H

            XCHD A,@R1

            MOV  52H,A

            MOV  A,@R1

            SWAP A

            MOV  @R1,A        

            RET

            END

12.答: ORG    0

     MOV    R1,#5BH  

     MOV    A,R1

     ANL    A,#0F0H

     SWAP   A

     ACALL  ASCII

     MOV    R3,A   

     MOV    A,R1

     ANL    A, #0FH

     ACALL  ASCII

     MOV    R4, A

     SJMP    $

ASCII:PUSH   ACC

     CLR    C

     SUBB   A, #0AH

     POP    ACC

     JC     LOOP

     ADD    A, #07H

LOOP: ADD    A, #30H

     RET

     END

13.答:ORG  0000H

     MOV  R7,#10

     MOV  R0,#50H

     MOV  B,#10

     CLR  C

     CLR  A

 LOOP:ADDC A,@R0

     INC  R0

     DJNZ R7,LOOP

     DIV  AB

     MOV  5AH,A

     SJMP $

    END

14.答:实现程序如下:

TEMP EQU  30H

     ORG  0000H

     JMP  START

   ORG  0100H

START:MOV  SP,#5FH

     MOV  P0,#8CH         ;正序显示"P"

     MOV  P3,#0FFH        ;输入方式

     CLR  CY

NOKEY:MOV  A,P3

     CPL  A

     JZ   NOKEY           ;无键按下

     MOV  TEMP,P3         ;有键按下

     CALL D10ms

     MOV  A,P3

     CJNE A,TEMP,NOKEY     ;去抖动

     MOV  R2,#0           ;键号计数器复位

     MOV  A,TEMP

  LP:RRC  A

    JNC  DONE

     INC  R2

     SJMP LP

 DONE:MOV  A,R2

     MOV  DPTR,#CODE_P0

     MOVC A,@A+DPTR

     MOV  P0,A

    JMP  NOKEY

D10ms:MOV  R5,#10   ;10MS

D1ms:MOV  R4,#249  

    DL:NOP

       NOP

DJNZ R4,DL

       DJNZ R5,D1ms

       RET

 CODE_P0:

       DB   0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H

       DB   80H,90H,88H,83H,0C6H,0A1H,86H,8EH

       END  

章5  80C51的中断系统及定时/计数器

 

1.答:5个中断源,分别为外中断和、T0和T1溢出中断、串口中断。

电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中断后由硬件自动复位。

T0和T1,CPU响应中断时,由硬件自动复位。

RI和TI,由硬件置位。必须由软件复位。

另外,所有能产生中断的标志位均可由软件置位或复位。

各中断入口地址:―0003H,T0—000BH,—0013H,T1—001BH,RI和TI—0023H。

2.答:将3个中断信号经电阻线或,接。

ORG  0000H

LJMP  MAIN

ORG   00013H

LJMP  ZDFZ      

ORG   0040H

MAIN:SETB  EA

      SETB  EX1      

      SJMP  $

 

      0RG   0200H

ZDFZ:PUSH  PSW

    PUSH  ACC

    JB    P1.0,DV0

    JB    P1.1,DV1

    JB    P1.2,DV2

INRET:POP   ACC

     POP   PSW

RETI

ORG   2000H

  DV0:------------

JMP   INRET

ORG   2100H

DV1:------------

JMP   INRET

ORG   2200H

   DV2:------------

JMP   INRET

3答:当IT0=0时,为电平触发方式。电平触发方式时,CPU在每个机器周期的S5P2采样引脚电平,当采样到低电平时,置IE0=1向CPU请求中断;采样到高电平时,将IE0清0。在电平触发方式下,CPU响应中断时,不能自动清除IE0标志。

电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然就会漏掉;在中断服务结束之前,中断源的有效的低电平必须撤除,否则中断返回之后将再次产生中断。该方式适合于外部中断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况。

当IT0=1时,为边沿触发方式。边沿触发方式时,CPU在每个机器周期的S5P2采样引脚电平,如果在连续的两个机器周期检测到引脚由高电平变为低电平,即第一个周期采样到=1,第二个周期采样到=0,则置IE0=1,产生中断请求。在边沿触发方式下,CPU响应中断时,能由硬件自动清除IE0标志。

边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1。若CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清0。另外,为了保证下降沿能够被可靠地采样到,和引脚上的负脉冲宽度至少要保持一个机器周期(若晶振频率为12MHz,为1微秒)。边沿触发方式适合于以负脉冲形式输入的外部中断请求。

4.答:定时/计数器实质是加1计数器。

不同点:设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值乘以机器周期就是定时时间。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。

相同点:它们的工作原理相同,它们都有4种工作方式,由TMOD中的M1M0设定,即

方式0:13位计数器;

方式1:16位计数器;

方式2:具有自动重装初值功能的8位计数器;

方式3:T0分为两个的8位计数器,T1停止工作。

 

5.答:方式0位13位计数器,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。

计数初值计算的公式为:

        X=213-N

方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器。计数个数与计数初值的关系为:

X=216-N

方式2为自动重装初值的8位计数方式。TH0为8位初值寄存器。当TL0计满溢出时,由硬件使TF0置1,向CPU发出中断请求,并将TH0中的计数初值自动送入TL0。TL0从初值重新进行加1计数。周而复始,直至TR0=0才会停止。计数个数与计数初值的关系为:

 

X=28-N

方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。方式3时,T0分成为两个的8位计数器TL0和TH0,TL0使用T0的所有控制位。当TL0计数溢出时,由硬件使TF0置1,向CPU发出中断请求。而TH0固定为定时方式(不能进行外部计数),并且借用了T1的控制位TR1、TF1。因此,TH0的启、停受TR1控制,TH0的溢出将置位TF1。

6答:TMOD中GATE的值不同:完全由TR1、TR0确定时GATE为0;完全由、高低电平控制时GATE为1。

7.答:T0用作方式3时,T1可以工作在方式0、1和2。T1的开启由TR1控制,即TR1=1时,T1开始工作;TR1=0时或者定时/计数器工作在方式3时,T1停止工作。

8.答:采用定时20ms,然后再计数1、49次的方法实现。

a、T0工作在定时方式1时,控制字TMOD配置:

      M1M0=01,GATE=0,C/=0,可取方式控制字为01H;

b、计算计数初值X:

晶振为12 MHz,所以机器周期Tcy为1。

N=t/ Tcy=20×10-3/1×10-6=20000

X=216-N=65536-20000=45536=4E20H

     即应将4EH送入TH1中,20H送入TL1中。

   c、实现程序如下:

      ORG  0000H

      AJMP MAIN         ;跳转到主程序

 

      ORG  0030H

 MAIN:MOV  TMOD,#01H     ;设T1工作于方式2

      MOV  TH0,# 4EH     ;装入循环计数初值

      MOV  TL0,#20H      ;首次计数值

  LP0:SETB P1.0

      ACALL NT0

      CLR  P1.0

      MOV  R7,#49        ;计数49次

  LP1:ACALL NT0

      DJNZ R7,LP1

      AJMP LP0 

  NT0:MOV  TH0,# 4EH

      MOV  TL0,#20H

      SETB TR0

     JNB  TF0,$

     CLR  TR0

     CLR  TF0

      RET

      END

9.答:采用T0实现

a、T0工作在定时方式1时,控制字TMOD配置:

      M1M0=01,GATE=0,C/=0,可取方式控制字为01H;

b、计算计数初值X:

晶振为12 MHz,所以机器周期Tcy为1。1/1000=1×10-3

N=t/ Tcy=0.5×10-3/1×10-6=500

X=216-N=65536-500=65036=FE0CH

     即应将FEH送入TH0中,0CH送入TL0中。

   c、实现程序如下:

      ORG  0000H

      AJMP MAIN         ;跳转到主程序

      ORG  000BH        ;T0的中断入口地址

      LJMP DVT0

      ORG  0030H

  MAIN:MOV  TMOD,#01H    ;设T0工作于方式2

      MOV  TH0,#0FEH   ;装入循环计数初值

      MOV  TL0,#0CH     ;首次计数值      

      SETB ET0          ;T0开中断

      SETB EA           ;CPU开中断

      SETB TR0          ;启动T0

      SJMP  $            ;等待中断

 DVT0:CPL  P1.1         

      MOV  TH0,#0FEH

      MOV  TL0,#0CH

      SETB TR0

      RETI

     END

10.答:a、T1工作在计数方式2时,控制字TMOD配置:

      M1M0=10,GATE=0,C/=1,可取方式控制字为60H;

      T1工作在定时方式1时,控制字TMOD配置:

        M1M0=01,GATE=0,C/=0,可取方式控制字为10H;

b、计算初值X:

  定时10ms时:

晶振为12 MHz,所以机器周期Tcy为1。

N=t/ Tcy=10×10-3/1×10-6=10000

X=216-N=65536-10000=55536=D8F0H

     即应将D8H送入TH1中,F0H送入TL1中。

      计数100时:

N=100

 X=28-N=256-100=156=9CH

   c、实现程序如下:

       ORG  0000H

       AJMP MAIN         ;跳转到主程序 

       ORG  001BH        ;T1的中断入口地址

       LJMP DVT1 

       ORG  0030H

  MAIN:MOV  TMOD,#60H     ;T1工作于计数方式2

       MOV  TH1,#9CH     ;装入计数初值

       MOV  TL1,#9CH     ;

       CLR  P1.7

       SETB ET1          ;T1开中断

       SETB EA           ;CPU开中断

       SETB TR1          ;启动T1

       SJMP  $            ;等待中断

 

  DVT1:SETB P1.7

       CLR  ET1

       CLR  TR1     

       MOV  TMOD,#10H     ;T1工作于定时方式1

       MOV  TH1,#0D8H     ;装初值

       MOV  TL1,#0F0H    

       SETB TR1

      JNB  TF1,$         ;查询等待10ms

      CLR  TF1

       CLR  TR1

       CLR  P1.7

       MOV  TMOD,#60H     ;T1工作于计数方式2

       MOV  TH1,#9CH      ;装初值

       MOV  TL1,#9CH      ;

       SETB ET1           ;T1开中断    

       SETB TR1           ;启动T1

       RETI

       END

 

11.答:采用定时20ms,计数50次实现1秒定时。编制1秒延时子程序,由主程序调用。

a、T0工作在定时方式1时,控制字TMOD配置:

      M1M0=01,GATE=0,C/=0,可取方式控制字为01H;

b、计算计数初值X:

晶振为12 MHz,所以机器周期Tcy为1。

N=t/ Tcy=20×10-3/1×10-6=20000

X=216-N=65536-20000=45536=4E20H

     即应将4EH送入TH1中,20H送入TL1中。

   c、实现程序如下:

      ORG  0000H

      AJMP MAIN         ;跳转到主程序 

      ORG  0030H

 MAIN:CLR  CY

MOV  A,#01H

  LP0:MOV  P1,A

      CALL D1SEC

      RL   A

      AJMP LP0

 

 D1SEC:MOV  R7,#50        ;计数50次

MOV  TMOD,#01H

DL:MOV  TH0,#4EH

      MOV  TL0,#20H

      SETB TR0

     JNB  TF0,$

     CLR  TR0

     CLR  TF0

      DJNZ  R7,DL

      RET

      END

章6  80C51的串行口

 

1.答:四种工作方式,由SCON中的SM0、SM1进行定义:

方式0:同步移位寄存器的输入输出方式,主要用于扩展并行输入或输出口,波特率固定。

方式1:10位数据的异步通信口,波特率可变。

方式2:11位数据的异步通信口,波特率固定。

方式3:11位数据的异步通信口,波特率可变。

2.答:RS-232C接口、RS-422A接口、RS-485接口

3.答:最大距离与传输速率及传输线的电气特性有关。当传输线使用每0.3m(约1 ft)有50PF电容的非平衡屏蔽双绞线时,传输距离随传输速率的增加而减小。当波特率超过1000 bps时,最大传输距离将迅速下降。

4.答:在波特率一定的情况下,带负载数的多少,与信号能传输的最大距离是直接相关的。在总线允许的范围内,带负载数越多,信号能传输的距离就越小;带负载数越少,信号能传输的距离就越远。故应减小通信距离或减少负载数量。

5.答:电路图如下:

      ORG   0000H

MOV  SCON,#10H

LOOP:CLR  P1.7

  NOP

  NOP

  NOP

  SETB P1.7

CLR  RI

JNB  RI,$

MOV  A,SUBF

SJMP LOOP

      END

6.答:电路图如下:

 

ORG   0000H

MOV  SCON,#00H

MOV  P1,#0FFH

LOOP:MOV  A,P1

  MOV  SUBF,A

  JNB  TI,$

  CLR  TI

  SJMP LOOP

      END

章7  80C51单片机的系统扩展

 

1.答:

 

2.以80C31为主机,用1片27C512扩展K EPROM,试画出接口电路。

答:

 

3.答:

 

4.答:不会。由于80C51对ROM的读操作由PSEN控制,指令用MOVC类;对RAM读操作用RD控制,指令用MOVX。所以,尽管ROM与RAM的逻辑地址是重叠的,它们内容的读取也不会发生冲突。

5.答:a、

MOV   DPTR,#7E80H

MOVX A,@DPTR

b、

MOV   A,#88H

MOV    DPTR,#7E30H

MOVX   A,@DPTR

6.答:LCD1602模块由控制器HD44780、驱动器HD44100和液晶板组成。HD44780是典型的液晶显示控制器,它集控制和驱动与一体,本身就可以驱动单行16字符或2行8字符。对于2行16字符的显示要增加HD44100驱动器。HD44780由显示缓冲区DDRAM、字符发生器CGROM和自定义字符发生器CGRAM组成。

7、答:0C7H下载本文

显示全文
专题