《单片机原理及应用》期末复习题1 下载本文

WORD格式

专业资料整理

WORD格式

1. AT98S51单片机P1口上接8只发光二极管(高电平亮,低电平灭),若晶振频率是12MHz, 用定时/计数器T0以工作方式 1工作,使 8只发光二极管每 1S单循环点亮。

( 1)计算定时初值,写出过程 ( 2)根据相关注释,填写程序 ( 3)

答:(1)定时初值:

( 2-X)×1μS=50mS

X=2-50000 =15536

(2)MOV

MOV MOV MOV MOV SETB

LOOP:MOV

MOV LOOP1:JNB

CLR

MOV MOV DJNZ RL SJMP END

A LOOP TMOD,#01H DPTR,#15536 TH0,DPH TL0,DPL A,#01H TR0 R7,#20 P1,A TF0,$ TF0 TH0,DPH TL0,DPL R7,LOOP1

16

16

(3分)

4、已知(A)= 58H,(30H)=7FH,(P1)=EAH,执行下列程序:

MOV PUSH PUSH MOV MOV POP POP

SP,#40H A 30H A,P1 30H,A 30H A

,(41H)= 58H 。

执行后结果:(SP)= 40H ,(A)= 58H ,(30H)= 7FH

五、根据题意,按要求答题。

;设T0工作方式 ;置定时初

50mS 值

;置A初值 ;允许定时

;设定时次数 ;从P1口输出 ;判断定时50mS到没 ;重新置定时初值50mS

;判断定时次数到没 ;输出左移 ;继续循环输出

;定时时间到,TF0清0

2、根据给定存储类型和数据类型,声明下列变量:

(1)在片内RAM低128字节定义一个有符号整型变量 (signed) int data val=100;

val,初值为 100;

专业资料整理

WORD格式

(2)在ROM定义一个 3元素的无符号字节数组 num,数组内容分别为: 12H,34H,56; unsigned char code num[3]={0x12,0x34,56}; (3)在片外RAM定义一个指向无符号字节类型的指针变量

p;

unsigned char xdata *p;

P1口连P3.0P3.1连2根 6、简述矩阵8行2列键盘的工作过程,其8根行线,

接 和 接 式 中

列线。

P3.0P3.1送低电平,然后读行P1的值,判P1是否为 判断是否有键按下:先给列

线 和 线 断

0xff;若P1为0xff则表示没有键按下,则返回重新判断是否有键按下;若 P1不为0xff则表 示有键按下,则延时 10ms去抖动,再重新读行线 P1口,再次判断是否有键按下。

若确实有键按下, 则判断哪一个键按下: 先给第一根列线 P3.0送低电平,而P3.1送高电平, 然后读行线 P1,判断P1是否为0xff;若是则表示按下的键在这第一列;否则给第二列 这第二列;找到按键所在列后,再根据读到的行线值中

P3.1

送低电平,而 P3.0送高电平,然后读行线 P1,判断P1是否为0xff,若是则表示按下的键在

0的位置从而判断按键所在行线。

确定按键后,执行按键所对应的服务程序;然后等待键释放;按键释放通过给所有的列线 P3.0和P3.1送低电平,然后读行线P1的值来进行判断;按键释放后再次延时去抖动,然后返回重新判断是否有键按下。

7、简述51单片机串行双机通信的过程,写明发送和接收时软硬件分别执行的操作。 先

SBUF,启动发送;数据由TXD引脚按位送

数据发送时,在 TI=0时,CPU将待发送数据送入

出,发送时钟由 T1控制,最先送出起始位(0),然后依次是 8位数据位(低位在前),最后 是停止位(1);一帧数据发送完毕后,硬件自动将 TI置1,向CPU请求中断;CPU接收到 请求信号后,需 TI清0,然后才能启动下一次发送。 将

数据接收时,允许接收位REN必须置1,接收器开始工作;当接收到起始位(0),启动接收; 在波特率的控制下,把接收到的数据依次移入移位寄存器;

当接收完一帧数据,将移位寄存

器中的数据送入 SBUF,同时硬件自动将RI置1,向CPU请求中断。CPU接收到请求信号后,

需将RI清0,然后才能正常接收下一帧数据。

专业资料整理