第6章习题答案单片机原理.doc

上传人:PIYPING 文档编号:10637471 上传时间:2021-05-28 格式:DOC 页数:14 大小:111.50KB
返回 下载 相关 举报
第6章习题答案单片机原理.doc_第1页
第1页 / 共14页
第6章习题答案单片机原理.doc_第2页
第2页 / 共14页
第6章习题答案单片机原理.doc_第3页
第3页 / 共14页
第6章习题答案单片机原理.doc_第4页
第4页 / 共14页
第6章习题答案单片机原理.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《第6章习题答案单片机原理.doc》由会员分享,可在线阅读,更多相关《第6章习题答案单片机原理.doc(14页珍藏版)》请在三一文库上搜索。

1、第六章 习题参考答案一、填空题1、当定时器T0工作在方式3时,要占用定时器T1的 TR1 和 TF1 两个控制位。2、在定时器T0工作方式3下,TH0溢出时, TF1 标志将被硬件置1去请求中断。3、在定时器T0工作方式3下,欲使TH0停止工作,应执行一条 CLR TR1 的指令。4、使用定时器/计数器1设置串行通信的波特率时,应把定时器/计数器1设定作方式 2 ,即 自动重新加载 方式。5、当计数器产生计数溢出时,把定时器/计数器的TF0(TF1)位置“1”。对计数溢出的处理,在中断方式时,该位作为 中断标志 位使用;在查询方式时,该位作 状态 位使用。6、在定时器工作方式1下,计数器的宽度

2、为16位,如果系统晶振频率为6MHz,则最大定时时间为 131.072ms ,若系统晶振频率为12MHz,则最大定时时间为 65.536ms 。7、8051单片机内部设有两个16位定时器/计数器,即 T0 和 T1 。8、T0由两个8位特殊功能寄存器 TH0 和 TL0 组成,T1由 TH1 和 TL1 组成。9、定时时间与定时器的 工作方式 、 计数初值 及 振荡周期 有关。10、MCS-51的定时器/计数器作计数器时计数脉冲由外部信号通过引脚 P3.4 和 P3.5 提供。11、MCS-51的定时器/计数器T0的门控信号GATE设置为1时,只有 INT0 引脚为高电平且由软件使 TR0 置

3、1时,才能启动定时器/计数器T0工作。12、当T0为方式 3 ,T1为方式 2 的时候,8051单片机的定时器可提供3个8位定时器/计数器。二、选择题1、在下列寄存器中,与定时/计数控制无关的是( C )A、 TCON B、 TMOD C、 SCON D、 IE2、在工作方式0下,计数器是由TH的全部8位和TL的5位组成,因此其计数范围是( A ) A、 18192 B、 08191 C、 08192 D、 140963、如果以查询方式进行定时应用,则应用程序中的初始化内容应包括( D ) A、 系统复位、设置工作方式、设置计数初值 B、 设置计数初值、设置中断方式、启动定时 C、 设置工作方

4、式、设置计数初值、打开中断 D、 设置工作方式、设置计数初值、禁止中断4、与定时工作方式1和0比较,定时工作方式2不具备的特点是( B ) A、 计数溢出后能自动重新加载计数初值 B、 增加计数器位数 C、 提高定时精度 D、 适于循环定时和循环计数应用5、要想测量INT0 引脚上的一个正脉冲宽度,那么特殊功能寄存器TMOD的内容可以为( A )。 A、 09H B、 87H C、 00H D、 80H6、使用定时器T1时,有几种工作方式( C ) A、 1种 B、 2种 C、 3种 D、 4种7、8031单片机的定时器T1用作定时方式时是( B )。A、由内部时钟频率定时,一个时钟周期加1B

5、、由内部时钟频率定时,一个机器周期加 1 C、由外部时钟频率定时,一个时钟周期加1 D、由外部时钟频率定时,一个机器周期加18、8031单片机的定时器T0用作计数方式时是( C )。 A、由内部时钟频率定时,一个时钟周期加1B、由内部时钟频率定时,一个机器周期加 1C、由外部计数脉冲计数,下降沿加1 D、由外部计数脉冲计数,一个机器周期加19、8031单片机的定时器T1用作计数方式时计数脉冲是( A )。A、外部计数脉冲由T1(P3.5)输入 B、外部计数脉冲由内部时钟频率提供 C、外部计数脉冲由T0(P3.4)输入 D、由外部计数脉冲计数10、8031单片机的定时器T0用作定时方式时是( D

6、 )。A、由内部时钟频率定时,一个时钟周期加1 B、由外部计数脉冲计数,一个机器周期加 1 C、外部定时脉冲由T0(P3.4)输入定时 D、由内部时钟频率计数,一个机器周期加111、8031单片机的机器周期为2s,则其晶振频率fosc为( C )MHz.A、1 B、2 C、6 D、1212、用8031的定时器T1作定时方式,用模式1,则工作方式控制字为( C )。A、01HB、05H C、10HD、50H13、用8031的定时器T1作计数方式,用模式2,则工作方式控制字为( A )。A、60H B、02H C、06H D、20H14、用8031的定时器T1作定时方式,用模式1,则初始化编程为(

7、 C )。A、MOV TMOD,#01H B、MOV TMOD,#50H C、MOV TMOD,#10H D、MOV TCON,#02H 15、用8031的定时器T1作定时方式,用模式2,则工作方式控制字为( D )。A、60H B、02H C、06H D、20H16、用8031的定时器T1作定时方式,用模式2,则初始化编程为( B )。A、MOV TMOD,#06H B、MOV TMOD,#20H C、MOV TMOD,#10H D、MOV TMOD,#60H 17、启动定时器0开始计数的指令是使TCON的( B )。A、TF0位置1 B、TR0位置 1 C、TR0位置0 D、TR1位置0

8、18、启动定时器1开始定时的指令是( D )。A、CLR TR0 B、CLR TR 1 C、SETB TR0 D、SETB TR119、使8031的定时器T0停止计数的指令是( A )。A、CLR TR0 B、CLR TR1 C、SETB TR0 D、SETB TR120、使8031的定时器T1停止定时的指令是( B )。A、CLR TR0 B、CLR TR1 C、SETB TR0 D、SETB TR1 21、使8031的定时器T1停止计数的指令是使TCON的( D )。A、TF0位置1 B、TR0位置 1 C、TR0位置0 D、TR1位置0 22、8031的定时器T0作计数方式,用模式1(1

9、6位计数器)则应用指令( C )初始化编程。A、MOV TMOD ,#01H B、MOV TMOD ,10H C、MOV TMOD ,#05H D、MOV TCON ,#05H23、下列指令判断若定时器T0计满数就转LP的是( D )。A、JB T0,LP B、JNB TF0,LP C、JNB TR0, LP D、JB TF0,LP 24、下列指令判断若定时器T0未计满数就原地等待的是( B )。A、JB T0,$ B、JNB TF0,$ C、JNB TR0,$ D、JB TF0,$ 25、当CPU响应定时器T1的中断请求后,程序计数器PC的内容是( D )。A、0003H B、000BH C

10、、0013H D、001BH26、用8031的定时器T0作计数方式,用模式1(16位),则工作方式控制字为( D )。A、01H B、02H C、04H D、05H27、用8031的定时器T0作定时方式,用模式2,则工作方式控制字为( B )。A、01H B、02H C、04H D、05H28、8031的定时器T0作定时方式,用模式1(16位计数器)则应用指令( A )初始化编程。A、MOV TMOD ,#01H B、MOV TMOD ,01H C、MOV TMOD ,#05H D、MOV TCON ,#01H29、用定时器T1方式1计数,要求每计满10次产生溢出标志,则TH1、TL1的初始值

11、是( A )。A、FFH、F6H B、F6H、F6H C、F0H 、F0H D、FFH、F0H30、启动定时器0开始定时的指令是( C )。A、CLR TR0 B、CLR TR1 C、SETB TR0 D、SETB TR131、MCS51单片机的两个定时器作定时器使用时TMOD的D6或D2应分别为( A )。 A、D6=0,D2=0 B、D6=1,D2= 0 C、D6=0,D2=1 D、D6=1,D2=132、MCS51单片机的TMOD模式控制寄存器是一个专用寄存器,用于控制T1和T0的操作模式及工作方式,其中C/T表示的是( C )。A、门控位 B、操作模式控制位 C、功能选择位 D、启动位

12、33、8031单片机晶振频率fosc=12MHz,则一个机器周期为( B )S。A、12 B、 1 C、2 D、3 34、MCS51单片机定时器溢出标志是( D )。 A、TR1和TR0 B、IE1和IE 0 C、IT1和IT0 D、TF1和TF035、用定时器T1方式2计数,要求每计满100次,向CPU发出中断请求,TH1、TL1的初始值是( A )。 A、9CH B、20H C、64H D、A0H36、MCS51单片机定时器T1的溢出标志TF1,若计满数产生溢出时,如不用中断方式而用查询方式,则应( B )。 A、由硬件清零 B、由软件清零 C、由软件置于 D、可不处理37、MCS51单片

13、机定时器T0的溢出标志TF0,若计满数产生溢出时,其值为( C )。 A、00H B、FFH C、1 D、计数值38、MCS51单片机定时器T0的溢出标志TF0,若计满数在CPU响应中断后( A )。 A、由硬件清零 B、由软件清零 C、A和B都可以 D、随机状态39、8051单片机计数初值的计算中,若设最大计数值为M,对于模式1下的M值为( D )。 A、M=213=8192 B、M=28= 256 C、M=24=16 D、M=216=65536三、多项选择题1、MCS51单片机内部设置有两个16位可编程的定时器/计数器,简称定时器T0和T1,它们的( ABE )等均可通过程序来设置和改变。

14、 A、工作方式 B、定时时间 C、量程 D、启动方式 E、计数时间2、8051单片机定时器T0作定时用,采用模式1,编程时需有下列步骤( ACD )。 A、TMOD初始化 B、选择电平触发还是边沿触发 C、置入计数初值D、启动定时器 E、串行计数是否溢出及转移3、MCS51单片机中定时/计数器的工作模式有(ABCE)。 A、8位自动重装计数器 B、13位计数器 C、16位计数器 D、32位计数器E、两个独立的8位计数器4、用8031的定时器T1作定时方式,用模式2,则初始化编程为(BD )。A、置TMOD为05H B置TMOD为20H C置TMOD为02H D、置TH0、TL0相同初值,以后不

15、须重新置数 E、置TH0、TL0相同初值,以后须重新置数四、判断题1、特殊功能寄存器SCON,与定时器/计数器的控制无关。( )2、特殊功能寄存器TCON,与定时器/计数器的控制无关。( )3、特殊功能寄存器IE,与定时器/计数器的控制无关。 ( )4、特殊功能寄存器TMOD,与定时器/计数器的控制无关。( )5、在MCS51单片机内部结构中,TMOD为模式控制寄存器,主要用来控制定时器的启动与停止。( )6、在MCS51单片机内部结构中,TCON为控制寄存器,主要用来控制定时器的启动与停止。( )7、MCS51单片机的两个定时器的均有两种工作方式,即定时和计数工作方式。( )8、MCS51单

16、片机的TMOD模式控制寄存器不能进行位寻址,只能用字节传送指令设置定时器的工作方式及操作模式。( )9、MCS51单片机系统复位时,TMOD模式控制寄存器为00H。( )10、启动定时器T0工作,可使用SETB TR0启动。( )11、指令JNB TF0,LP的含义是:若定时器T0未计满数,就转LP。( )12、 若置8031的定时器/计数器T1于定时模式,工作于方式2,则工作方式字为20H。( )13、 若置8031的定时器/计数器T1于计数模式,工作于方式1,则工作方式字为50H。( )14、当8031的定时器T0计满数变为0后,溢出标志位(TCON的TF0)也变为0。( )五、解答题1、

17、按下列要求设置TMOD。T0计数器、方式1,运行与INTO有关;T1定时器、方式2,运行与INT1无关;T0定时器、方式0,运行与INTO有关;T1计数器、方式2,运行与INT1有关;T0计数器、方式2,运行与INTO无关;T1计数器、方式1,运行与INT1有关;T0定时器、方式3,运行与INTO无关;T1定时器、方式2,运行与INT1无关。解:TMOD=00101101B=2DH;TMOD=11101000B=E8HTMOD=11010110B=D6HTMOD=00100011B=23H2、已知TMOD值,试分析TO、T1工作状态。TMOD=93H; TMOD=68H; TMOD=CBH;

18、TMOD=52H解:TMOD=93H=10010011B,T1定时器,方式1,运行与INT1有关; T0定时器,方式3,运行与INT0无关。 TMOD=68H=01101000B,T1计数器,方式2,运行与INT1无关; T0定时器,方式0,运行与INT0有关。 TMOD=CBH=11001011B;T1计数器,方式0,运行与INT1有关; T0定时器,方式3,运行与INT0有关。 TMOD=52H=01010010B;T1定时器,方式1,运行与INT1无关; T0定时器,方式2,运行与INT0无关。3、试归纳小结80C51定时/计数器4种工作方式的特点。答:方式0是13位计数器,最大计数值2

19、13=8192,计数范围比方式1小,计算定时初值比较麻烦,容易出错,与方式1比较无任何优点。方式1是16位计数器,最大计数值为216=65536,计数范围大,适用于定时范围较大的应用场合。方式2是8位计数器,最大计数值是28=256,缺点是计数范围小,优点是定时初值可自动恢复,适用于需要重复定时,而定时范围还不大的应用场合。方式3是8位计数器,仅适用于T0,T1无方式3。T0方式3时,被拆成两个独立的8位计数器TH0、TL0:TL0使用T0原有的控制寄存器组成一个8位的定时/计数器;TH0借用T1的TF1、TR1,只能对机内机周脉冲计数,组成另一个8位定时器。T0方式3时T1方式2作串行口波特

20、率发生器。4、如何判断T0、T1定时/计数溢出?答:判断T0、T1定时/计数溢出的方法有两种: 查询方式。不断查询T0、T1溢出标志TF0、TF1:TF0或TF1=0时,未溢出;TF0或TF1=1时,溢出。 中断方式。T0、T1定时/计数溢出时,在CPU、T0、T1中断开放前提下能自动产生中断。六、按要求编写程序1、单片机用内部定时方式产生频率为100KHz等宽矩形波,假定单片机的晶振频率为12MHz,请编程实现。解:f=100kHz,t=1*10-5(采用定时器T0选择工作方式0) 0.5*10-5 =(213-X)*12/(12*106) 213-X=5 X=8187=1111111111

21、011BT0低5位:1BH T0高8位:FFH MOV TMOD,#00H ;设置定时器T0工作于方式0 MOV TL0,#1BH ;设置5us定时时间 MOV TH0,#0FFH SETB TR0 ;启动T0LOOP: JBC TF0,L1 ;查询定时时间到?时间到转L1 SJMP LOOP ;时间未到转LOOP,继续查询 L1: MOV TL0,#1BH ;重新装入定时时间 MOV TH0,#0FFH CPL P1.0 ;输出取反,形成等宽矩形波 SJMP LOOP2、以定时器/计数器1进行外部事件计数,每计数1000个脉冲后,定时器/计数器转为定时工作方式,定时10ms后又转为计数工作方

22、式,如此循环不止。假定fosc为6MHz。解:T1为定时器时初值: 10*10-3=(216-X)*12/(6*106) X=216 - 10*10-3*6*106 /12=65536-5000=60536=EC78H T1为计数器时初值: X+1000=216 X=65536-1000=64536=FC18H L1: MOV TMOD,#50H ;设置T1为计数方式且工作于方式1 MOV TH1,#0FCH ;装入计数初值 MOV TL1,#18H SETB TR1 ;启动T1计数LOOP1: JBC TF1,L2 ;查询计数是否溢出?有溢出(计满1000个)转L2 SJMP LOOP1 ;

23、无溢出转LOOP1,继续查询L2: CLR TR1 ;关闭T1 MOV TMOD,#10H ;设置T1为定时方式且工作于方式1 MOV TH1,#0ECH ;装入定时10ms初值 MOV TL1,#78H SETB TR1 ;启动T1定时LOOP2: JBC TF1,L1 ;查询10ms时间到?时间到,转L1 SJMP LOOP ;时间未到,转LOOP2,继续查询3、已知MCS-51单片机的fosc=6MHz,利用T0和P1.0输出矩形波,矩形波高电平宽50us,低电平宽300 us。 解:T0采用工作方式2作50us定时时的初值: 50*10-6=(28-X)*12/(6*106) X=25

24、6 - 50*10-6*6*106 /12=231=E7H 作300us定时时的初值:300*10-6=(28-X)*12/(6*106) X=256 - 300*10-6*6*106 /12=106=6AH MOV TMOD,#02H ;设置定时器T0工作于方式2 L2:CLR TR0 ;关闭T0 CLR P1.0 ;P1.0输出低电平 MOV TH0,#6AH ;装入定时300us初值 MOV TL0,#6AH SETB TR0 LOOP1:JBC TF0,L1 ;查询300us时间到?时间到,转L1 SJMP LOOP1 ;时间未到,转LOOP1,继续查询 L1:SETB P1.0 ;P

25、1.0输出高电平 CLR TR0 ;关闭T0 MOV TH0,#0E7H ;装入定时50us初值 MOV TL0,#0E7H SETB TR0 ;启动T0 LOOP2:JBC TF0,L2 ;查询50us时间到?时间到,转L2 SJMP LOOP2 ;时间未到,转LOOP2,继续查询4、已知MCS-51单片机的fosc=12MHz,试编程由P1.0和P1.1引脚分别输出周期为2ms和500us的方波。 解:P1.0和P1.1引脚输出的波形如下图所示:采用方式0作250us定时初值: 250*10-6=(213-X)*12/(12*106) X=213 - 250*10-6*12*106 /12

26、=8192-250=7492=1111100000110B T0低5位:06H T0高8位:F8H MOV R2,#04H ;R2为“250us”计数器,装入初值4(计1ms) CLR P1.0 ;P1.0输出低电平 CLR P1.1 ;P1.1输出低电平 MOV TMOD,#00H ;设置定时器T1工作于方式0 L2: MOV TH1,#0F8H ;装入250us定时初值 MOV TL1,#06H SETB TR1 ;启动T1LOOP: JBC TF0,L1 ;查询250us时间到?时间到,转L1 SJMP LOOP ;时间未到,转LOOP,继续查询 L1: CPL P1.1 ;P1.1输出

27、取反,形成周期为500us方波 DJNZ R2,L2 ;“250us”计数器减1,到1ms吗?未到转L2 CPL P1.0 ;到1ms,P1.0取反,形成周期为2ms方波 MOV R2,#04H ;重置“250us”计数器初值 LJMP L2 ;重复循环5、单片机8051的时钟频率为6MHz,若要求定时为0.1ms,1ms,10ms,定时器工作在方式0、方式1、方式2,其定时器初值各应是多少?解:(1)0.1ms 方式0:0.1*10-3=(213-X)*12/(6*106) X=8142=1111111001110B T0低5位:01110B=0EH T0高8位:11111110B=FEH

28、方式1:0.1*10-3=(216-X)*12/(6*106) X=65486=FFCEH 方式2:0.1*10-3=(28-X)*12/(6*106) X=206=CEH(2)1ms 方式0: 1*10-3=(213-X)*12/(6*106) X=7692=1111000001100B T0低5位:01100B=0CH T0高8位:11110000B=F0H 方式1: 1*10-3=(216-X)*12/(6*106) X=65036=FE0CH 方式2: 在fosc=6MHz时,最长定时时间为512us,无法一次实现定时1ms,可用0.1ms循环10次。(3)10ms 方式0: 10*1

29、0-3=(213-X)*12/(6*106) X=3192=110001111000B T0低5位:11000B=18H T0高8位:01100011B=63H 方式1: 10*10-3=(216-X)*12/(6*106) X=60536=EC78H 方式2: 在fosc=6MHz时,最长定时时间为512us,无法一次实现定时10ms,可用0.1ms循环100次。6、试编制一段程序功能为:当P1.2引脚的电平上跳时,对P1.1的输入脉冲进行计数;当P1.2引脚的电平下跳时停止计数,并将数值写入R6,R7。 解: MOV TMOD,#05H ;T0为计数方式且工作于方式1 JNB P1.2,$

30、 ;等待P1.2引脚电平上跳 MOV TH0,#00H ;P1.2电平上跳,置入计数初值 MOV TL0,#00H SETB TR0 JB P1.2,$ ;等待P1.2引脚电平下跳 CLR TR0 ;电平下跳,关闭T0 MOV R7,TH0 ;计数值写入R6、R7 MOV R6,TL07、 设时钟频率为6MHz,试编写利用T0产生1s定时的程序。解: ORG 0000H LJMP MAIN ORG 000BH AJMP SERVE主程序: ORG 0100H MAIN:MOV SP,#60H MOV R0,#0AH MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3C

31、H SETB TR0 SETB ET0 SETB EA SJMP $ 中断服务程序: ORG 0200H SERVE:MOV TL0,#0B0H MOV TH0,#3CH ;重新赋计数值 DJNZ R0,LOOP CLR TR0 LOOP:RETI END8、 设单片机的振荡频率为6MHz,用定时器0的方式0编程,在P1.0脚上产生周期为500us的方波,定时器T0采用中断处理的方式。ORG 0000HLJMP MAINORG 000BHLJMP WBORG 0100H MAIN:MOV TMOD,#00H CLR P1.0 MOV TH0,#0FCH MOV TL0,#03H SETB EA

32、 SETB ET0 SETB TR0 WAIT:SJMP WAIT WB:CPL P1.0 MOV TH0,#0FCH MOV TL0,#03H RETI END 9、利用定时器T1产生一个50Hz的方波,由P1.1输出,采用12MHz的时钟,采用查询方式进行控制(查询方式下,CPU不能做其他工作) ORG 0000H AJMP MAIN ORG 0100H MAIN:MOV TMOD,#10H MOV IE,#00HSETB TR1 CLR P1.1 LOOP:MOV TH1,#0D8H MOV TL1,#0F0H LOOP1:JNB TF1,LOOP1 CLR TF1 CPL P1.1 SJMP LOOP END10、利用定时器T1的模式2对外部信号计数,要求每计满100次,将P1.0端取反。ORG 0000HLJMP MAINORG 0001BHLJMP SERVEORG 0100H MAIN:MOV TMOD,#60H MOV TH1,#9CH MOV TH1,#9CH MOV IE,#88H SETB TR1 HERE:SJMP HERE 中断服务程序: ORG 0200H SERVE: CPL P1.0 RETI

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1