《单片机原理及应用》期末复习题1(3)

2019-08-01 22:41

(3分)

4、 已知(A)=58H,(30H)=7FH,(P1)=EAH,执行下列程序: MOV SP,#40H PUSH A PUSH 30H MOV A,P1 MOV 30H,A POP 30H POP A 执行后结果:(SP)= 40H ,(A)= 58H ,(30H)= 7FH ,(41H)= 58H 。

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

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

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

答:(1)定时初值:

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

X=216-50000 =15536

(2) MOV TMOD,#01H ;设T0工作方式

MOV DPTR,#15536 ;置定时初值50mS MOV TH0,DPH MOV TL0,DPL

MOV A,#01H ;置A初值 SETB TR0 ;允许定时

LOOP:MOV R7,#20 ;设定时次数 MOV P1,A ;从P1口输出

LOOP1: JNB TF0,$ ;判断定时50mS到没 CLR TF0 ;定时时间到,TF0清0 MOV TH0,DPH ;重新置定时初值50mS MOV TL0,DPL

DJNZ R7,LOOP1 ;判断定时次数到没 RL A ;输出左移

SJMP LOOP ;继续循环输出 END

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

(1)在片内RAM低128字节定义一个有符号整型变量val,初值为100;

(signed) int data val = 100;

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

(3)在片外RAM定义一个指向无符号字节类型的指针变量p; unsigned char xdata *p;

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

判断是否有键按下:先给列线P3.0和P3.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单片机串行双机通信的过程,写明发送和接收时软硬件分别执行的操作。 先

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

数据接收时,允许接收位REN必须置1,接收器开始工作;当接收到起始位(0),启动接收;在波特率的控制下,把接收到的数据依次移入移位寄存器;当接收完一帧数据,将移位寄存器中的数据送入SBUF,同时硬件自动将RI置1,向CPU请求中断。CPU接收到请求信号后,需将RI清0,然后才能正常接收下一帧数据。


《单片机原理及应用》期末复习题1(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:供热管网毕业设计--小区供热管网及换热站设计(含外文翻译)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: