单片机原理及应用-习题及答案 高惠芳 ch01单片机概述-ch09 单片机应用系统的开发与设计_第1页
单片机原理及应用-习题及答案 高惠芳 ch01单片机概述-ch09 单片机应用系统的开发与设计_第2页
单片机原理及应用-习题及答案 高惠芳 ch01单片机概述-ch09 单片机应用系统的开发与设计_第3页
单片机原理及应用-习题及答案 高惠芳 ch01单片机概述-ch09 单片机应用系统的开发与设计_第4页
单片机原理及应用-习题及答案 高惠芳 ch01单片机概述-ch09 单片机应用系统的开发与设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章单片机概述

1.按照自己的理解用一句话回答“什么是单片机”。

单片机就是一块组件独立构成的微型计算机,即在一块芯片上集成了CPU、RAM.ROM,

定时器和多种I/O接口等一台完整微型计算机的全部基本单元。

2.概述单片机的应用特点。

(1)单片机体积小,应用系统结构简单,能满足很多应用领域对硬件功能的要求。(2)单片

机的可靠性高。(3)单片机的指令系统简单,易学易用。(4)单片机的发展迅速,特别是最近几

年,单片机的部结构越来越完善。

3.概述单片机的主要应用领域。

医用设备:呼吸机、分析仪、电子温度计等。

家用电器:电冰箱、空调、电饭煲、音响雾化器等。

工业控制:智能管理报警系统、数据采集、控制系统等。

计算机网络通信:无线对讲机、远程监控交换机、手机等设备。

4.MCS51系列单片机的CPU是几位的?数据总线是几位的?地址总线是几位

的?

8、8、16o

5.简述单片机的组成结构。

单片机由核心单元、存储器、输入输出接口、计数定时器、串行接口、中断程序和时钟

电路等部分组成。

6.简述现阶段单片机的发展趋势。

1、主流机型发展趋势:8位单片机成为市场低端主流机型。4位机主要用于玩具市场。

32位成为高端的主流市场。

2、内部结构发展趋势:程序存储器的容量不断扩大,外围电路集成到单片机内部。

3、制造工艺发展趋势:在制造工艺上,实现CMOS化、低功耗化、低压化。

4、开发环境发展趋势:单片机开发软件有Wave、Keil、Proteus等,Proteus是目前唯

一能仿真单片机的电子设计软件。

第二章MCS-51单片机的结构和原理

1.MCS-51单片机芯片包含哪些主要功能部件?

负责指令的执行,实际是既有控制器的功能,也有运算器的功能。包括:ALU、标志寄

存器、暂存器、寄存器组。

2.MCS-51单片机的欧端有何用途?

略。

3.MCS-51单片机有哪些信号需要芯片引脚以第二功能的方式提供?

P3的8条口线都定义有第二功能,并且应用的最多。P3口线的第二功能见表。口线

第二功能

信号名称

RXD

串行数据接收

TXD

串行数据发送

INTo

外部中断申请

INTi

外部中断1申请

To

定时器/计数器计数输入

Ti

定时器/计数器1计数输入

WR

外部RAM写选通

RD

外部RAM读选通

4.MCS-51单片机的4个V0口在使用上各有什么功能和特点?

MCS-51单片机有P0、Pl、P2、P3四个双向的8位并行I/O口,每个端口可以

按字节输入或输出,每一条I/O线也可以单独用作输入或输出(即按位进行输入或输出)。每

个端口都是由一个锁存器(即特殊功能寄存器P0~P3),一个输出驱动器和两个(P3口为3

个)输入缓冲器组成。并行I/O口作输出时数据可以锁存,作输入时数据可以缓冲,但它们又

各具特点。(1)P0口和P2口构成MCS-51单片机的16位地址总线,P0口还是8位

的数据总线。P3口多用于第二功能输入或输出。通常只有P1口用于一般输入/输出。P3

口各位的第二功能P3口引脚第二功能P3口引脚第二功能P3.0RXD(串行输入端)

P3.4TO(定时器0的外部输入)P3.1TXD(串行输出端)P3.5T1(定时器1的外部输入)

P3.2INTO(外部中断0输入)P3.6WR(片外数据存储器写选通控制输出)P3.3INT1(外部

中断1输入)P3.7RD(片外数据存储器读选通控制输出)(2)系统复位后,P0~P3口的

32个管脚均输出高电平,因此在系统的设计过程中,应保证这些管脚控制的外设不会因为系

统复位而发生误动作。(3)PO~P3口输出级的电路结构有所不同。P0口是三态输出,

其每个管脚均可以驱动8个LSTTL输入,而Pl~P3口的输出级均有上拉电阻,每个管脚

可驱动4个LSHL输入。(4)每个并行口,可定义一部分管脚为输入脚,另一部分管脚为

输出脚,没有使用的管脚可以悬空。

5.MCS-51单片机的存储器分为哪几个空间?试述各空间的作用。

MCS-51单片机有4个存储空间,它们是片内程序存储器和数据存储器,在片外能够扩展

的程序存储器和数据存储器。这4个存储空间能够分成三类:片内数据存储空间(256B的RAM

和128B的特殊功能寄放器)、片外数据存储空间(64KB)、片内和片外统一编址的程序存储空

间(64KB)o

6.简述内部RAM中包含哪些可位寻址单元?

片内RAM区从00H~FFH(256B)。

其中20Hs2FH(字节地址)是位寻址区。

对应的位地址是00H-7FH。

7.什么叫堆栈?堆栈指针CSP)的作用是什么?在程序设计中为何要对SP重

新赋值?

堆栈是在内部RAM区开辟的一个区域,用来保存程序运行过程中的一些特殊的数据。堆

栈指针寄存器的作用是指定栈顶的位置。单片机在复位时SP=07H,堆栈实际位置从08H开

始,即在工作寄存器区内。为此,用户在初始化程序中要给SP重新赋值,以指定堆栈的起

始位置。

8.程序状态字寄存器PSW的作用是什么?简述各位的作用。

程序状态字PSW是一个8位寄存器,用于寄存程序运行的状态信息;各位的作用如下:

位序

PSW.7

PSW.6

PSW.5

PSW.4

PSW.3

PSW.2

PSW.1

PSW.

位标志

CY

AC

F

RS1

RSO

0V

/

P

①CY:进位标志位。

②AC:辅助进位标志位。

③F0:用户标志位。

@RS1和RSO:寄存器组选择位。用于设定通用寄存器的组号。

⑤0V:溢出标志位。

⑥P:奇偶标志位。

9•位地址65H与字节地址65H如何区别?位地址65H具体在内部R心J中的什

么位置?

MCS-51的位存储器由以内部RAM中20H~2FH单元和特殊功能寄存器中地址为8的倍数

的特殊功能寄存器两部分组成。其中每个单元的每一位都有一个位地址映像,它们既可以像

普通内部RAM单元一样按字节存取,也可以对单元中的任何一位单独存取。字节地址是内部

RAM中和特殊功能寄存器中每个存储单元的地址。位地址2011是内部RAM24H中的D0位。

10.什么是振荡周期、时钟周期、机器周期和指令周期?如何计算机器周期的确

切时间?

时钟周期也称为振荡周期,定义为时钟脉冲频率(fosc)的倒数,它是计算机中最基本的、

最小的时间单位。

时钟周期经2分频后成为内部的时钟信号,用作单片机内部各功能部件按序协调工作的

控制信号,称为状态周期,用S表示。

完成一个基本操作所需要的时间称为机器周期。

指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,指令不同,所需要

的机器周期数也不同。

11.单片机工作过程中在运行出错或进入死循环时,如何处理?

左交错律70;一百二十万;4205700;弱稳定性590;12203500。

解;一百二十万写作:1200030

所以9980正则图一百二十万V4205700V42中断过程0V12203500。

12.使单片机复位的方法有几种?复位后机器的初始状态如何?

(1)单片机复位方法

单片机复位方法有:上电自动复位、按键电平复位和外部脉冲三种方式

(2)复位后的初始状态

复位后机器的初始状态,即各寄存器的状态:PC之外,复位操作还对其他一些特殊功能

寄存器有影响。

13.开机复位后,单片机使用的是哪组工作寄存器?它们的地址是什么?如何改

变当前工作寄存器组?

一般开机复位后都是选择第一组通用工作寄存器作为工作寄存器的,一共有4组,分别

为0_L2.3连续位于00h至ij1FH地址,然后在机器中有个程序状态字PSW,它的第四和第三

位RSI,RSO是用来选择工作寄存器组的,可能不同机器地址稍有不同。她们俩的值和寄存

器组的关系:

RS1/RS00/00/11/01/1

使用的工作寄存器0123

地址00-0708-0F10-1718-1F

写程序的时候就是经过定义程序状态字来选择使用不同的寄存器组。也能够直接对

RS1和RSO赋值。

第三章KeiI与Proteus软件的使用

1.输入并编译图3.1.10中的HeII。程序,其编译结果占用多少单片机RAM空间?

程序代码占用多少单片机ROM空间?调试时如何观察该程序的输出结果?

略。

2.如图3.1.15所示示例程序,在Memory窗口中观察定时器。的计数值和状态

寄存器的变化情况。

略。

3.试用定时中断方式改写图3.1.15所示示例程序并在调试模式中观察0.5s定

时间隔是否准确。

略。

4.不用定时中断方式,试将图3.1.15所示示例程序的0.5s定时间隔优化到最

接近0.5so

略。

5.完成本章示例原理图和示例程序的仿真实验,并在此基础上实现本章最后附

加数码管显示LED灯状态的功能。

略。

第四章MCS-51单片机汇编语言指令系统及其编

1.简述MCS-51单片机的指令格式及每部分的作用。

1、单片机的核心部分是CPU,CPU是单片机的大脑和心脏。

2、程序存储器用于存放编好的程序或表格常数。

3、数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。

4、定时/计数器实质上是加法计数器,当它对具有固定时间间隔的内部机器周期进行计

数时,它是定时器;当它对外部事件进行计数时,它是计数器。

5、I/O接口的主要功能包括:缓冲与锁存数据、地址译码、信息格式转换、传递状态(外

设状态)和发布命令等。

6、中断控制可以解决CPU与外设之间速度匹配的问题,使单片机可以及时处理系统中

许多随机的参数和信息,同时,它也提高了其处理故障与应变能力的能力。

2.MCS-51单片机有哪几种寻址方式?各有什么特点?每种寻址方式的寻址范

围是什么?

①寄存器寻址②直接寻址③寄存器间接寻址④立即寻址⑤基址加变址

⑥位寻址⑦相对寻址。

3.对片内RAM可以用哪几种寻址方式?对片外RAM可以用哪几种寻址方式?

共7种寻址方式,分别为:寄存器寻址,直接寻址,寄存器间接寻址,立即寻址,变址寻址,

位寻址和相对寻址。

寄存器寻址方式:由指令指出某一寄存器的内容做为操作数。

直接寻址方式:指令中操作数直接以单元地址的形式给出。

寄存器间接寻址方式:寄存器间接寻址方式,寄存器中存放的则是操作数的地址,即操作

数是通过寄存器间接得到的。立即寻址方式:操作数在指令中直接给出。变址寻址方式:变址

寻址是为了访问程序存储器中的数据和表格。MCS-51的变址寻址是以DPTR或PC作基址寄

存器,以累加器A作变址寄存器,并以两者内容相加形成的16位地址做为操作数地址,以达

到访问数据和表格的目的。位寻址方式:指对片内RAM的位寻址区和某些可寻址的特殊功能

寄存器进行位操作的寻址方式。相对寻址方式:相对寻址方式是为解决程序转移而专门设置

的,为转移指令所采用。

4.在对片外RAM单元的寻址中,用ri间接寻址与用DPTR间接寻址有什么区别?

片外数据存储器寻址中,用Ri间接寻址只能访问低端的256字节单元,而用DPTR作指针

间接访问可访问整个64K字节。

5.指出下列指令源操作数的寻址方式:

(DMOVA,#00H

⑵MOVA,50H

⑶MOVA,@R0

(4)MOVA戊5

⑸MOVCA,@A+DPTR

(6)SJMP70H

⑺CLRA

略。

6.已知片内RAM中,(30H)=38H,(38H)二40H,(40H)=48H,(48H)二90H。请分析下列

指令,说明源操作数的寻址方式及按顺序执行每条指令的结果。

MOVA,40H

MOVRO,A

MOVPI,#OFOH

MOV@RO,30H

MOVDPTR,#3848HM0V40H,38H

MOVRO,30H

MOVPO,RO

M0V18H,#30H

MOVA,@RO

MOVP2,PI

略。

7.区分下列指令有什么不同:

(1)MOVA,00H和MOVA,#00Ho

⑵MOVA,@R0和MOVXA,@R0。

(3)MOVA,RI和MOVA,@RI0

(4)MOVXA,@R0和MOVXA,@DPTRO

⑸MOVXA,@DPTR和MOVCA,@A+DPTRO

略。

8.如果PSW的RSI、RSO为0和1,分析指令MOVA,RO与指令MOVA,08H有何不同。

执行时间长短不同。

9.已知(A)二7AH,(R0)二30H,(30H)=A5H,(PSW)=80H,(SP)=65H,试分析下面每条

指令的执行结果及对标志位的影响。

(I)ADDA,@R0⑵ADDA,#30H⑶ADDA,(4)ADDCA,30H⑸SUBBA,(6)DAA(7)RLCA(8)

RRA(9)PUSH30H(10)XCHA,30H@R0(11)ANLA,R030H

略。

10.写出完成如下要求的指令,但是不得改变未涉及位的内容。

(1)使ACC.2、人(^.3置“1”。

(2)使累加器高4位清零。

⑶使ACC.3、ACC.4、ACC.5^ACC.6清零。

略。

11.写出完成下列要求的指令:

(1)累加器A的低2位清零,其余位不变;

(2)累加器A的高2位置其余位不变;

(3)累加器A的高4位取反,其余位不变;

(4)累加器A的第0位、2位、4位、6位取反,其余位不变。

略。

12.已知(A)二78H(R1)二78H,⑻=04H,CY=I,片内RAM(78H)=ODDH,(80H)=6CH,试分

别写出下列指令执行后目标单元的结果和相应标志位的值。

⑴ADDA,@RI(2)SUBBA,#77H⑶MULAB(4)DIVAB⑸ANL78H,#78H(6)ORLA,#OFH⑺

XRL80H,A

略。

13.写出下列指令的执行结果。

MOVA,#7FH

CPLA

RPA

SWAPA

MOVRO,#45H

XCHA,RO

SWAPA

XCHA,RO

R0=54H

14.说明LJMP指令与AJMP指令的区别。

SJMP提供了以SJMP的下一条指令的起始地址为中心的256字节范围的转移

(-128>127),AJMP的转移目标地址必须在与AJMP的下一条指令的第一字节相同的2KB区的

程序储存器中。短转移方便了可重定位编码。SJMP方便了PC可重定位编码,但转移范围小。

而ASJMP转移范围大,但存在跳区的限制,AJMP指令只能位于2KB区的最后2个字节处时,才

可跳到下一个区去。因此用AJMP指令来代替SJMP指令是有条件的,乜就是目标地址必须与

它下面的指令存放地址在同一个2KB区域内。

15.设当前指令CJNEA,#IOH,20H的地址是OFFEH,若累加器A的值为12H,则该指

令执行后的PC值为多少?若累加器A的值为I0H,又如何?

略。

16.用位处理指令实现PI.4:PLO/\(PI.IVPI.2)V/PI.3的逻辑功能。

略。

17.试编写程序将片内RAM从INBUF开始存放的10个数据传送到片外RAM以

OUIBUF开始的区域。

MOVRO,#2011

MOVDPTR,#100011

M0VR7,#10

LOOP:MOVA,©R0

MOVX@DPTR,A

INCRO

INCDPTR

DJNZR7,LOOP

SJMP$

18.在外部数据存储器首地址为TABLE的数据表中存有I0B的数据,编程将每个

字节的最高位置1,并送回原来的单元。

略。

19.编程将片内35H-55H单元中的内容送到以3000H为首的存储区中。

M0VR1,#40H

MOVRO,#20H

MOVDPTR,#3000H

L1:MOVA,@R1

INCR1

INCDPTR

DJNZRO,LI

20.设内部RAM5AH单元中有一非0变噩X,请编写计算下述函数式的程序,其结

果存入5BH单元中。

略。

21.编程设计计算片内RAM区50H~57H八个单元中数的算术乎均值,结果存于54H

开始的单元中。

MOVRO,#50H

MOVR2,#10

MOVA,#0

LP:ADDA,©RO

INCRO

DJNZR2,LP

MOVB,#10

DIVAB

M0V5AH,A

SJMP$

22.编写对一个多字节数做乘以10的运算子程序。

略。

23.设有两个长度均为15的数组,分别存放在以2000H和2100H为首的存储区

中,试编程求其对应项之和,结果存于以2200H为首的存储区中。

MOVDPH,#02H

MOVR1,#15

M0VR2,#00H;数组1首地址低位

M0VR3,#10H;数组2首地址低位

M0VR4,#20H;和首地址低位

L1:MOVDPL,R2

MOVXA,@DPTR

M0VR1,A

MOVDPL,R3

MOVXA,©DPTR

ADDA,RI

MOVDPL,R4

MOVX@DTPR,A

INCR2

INCR3

INCR4

DJNZR1,L1

SJMP$

24.试编程把以2000H为首地址的连续50个单元中的内容按升序排列,存于以

3000H为首地址的存储区中。

■OVDPIK,#2OOOH

■OVRO,#3OH;读到片内的30H开始的单元

■OVR7,#50

LI:;将208丘开始的电元数据存储到30遍]内部单元

■OVXA,«DPn<

■0V«0,A

INCRO

INCDm

DJNZR7LI

START:;排序

CLROOH

CLRC

10VR7,#49

■OVRO,«30H

■OVA,ORO

L3:INCRO

K>VR2,A

SUBB&©RO

10V&R2

JCNEXT

SETBOOH

XCH&®R0

DECRO

10V播0,A

INCRO

NEXT:

■OVA,额0

DJNZR7,L3

JB00START

■OVDHK,«3000H,送到片外3000所始的单元

■OVRO,#20H

■OVR7,#50

L2:«0VA,ORO

■OVXOPTR,A

INCDPTE

INCRO

DJNZR7L2

RET

25.设有100个无符号数,连续存放在以2000H为首地址的外部数据存储区中,

试编程统计奇数和偶数的个数。

略。

26.将片外数据存储器地址为1000H~1030H的数据块,全部搬迁到片内

RAM30H~60H中,并将原数据块区域全部清零。

略。

27.从20H单元开始有一个无符号数据块,其长度在20H单元中。求出数据块中

最小值,并存入21H单元中。

M0V@R0,#21H;数据块首地址

MOVR1,2OH;取数据块长度

M0VA,@R0;取一个数

M0V21H,A;存数

DDD:DJNZR1,KKK;判断是否取完

SJMP$;W完结束

KKK:INCR0;指向下一个数

M0VA,@R0;取数

MOVB,A;暂存

CLRC

SUBBA,21H;比较

JNCDDD;C=0,21H中数小,转移

MOV21H,B;存小数

SJMPDDD

28.在以2000H为首地址的存储区中,存放着20个用ASCII码表示的0~9之间

的数,试编程将它们转换成BCD码,并以压缩BCD码(即一个单元存放二位BCD

码)的形式存于3000H~3009H单元中。

略。

29.试编写一个双字节有符号数除法子程序。

略。

30.试编写一个多字节BCD码加法子程序。

略。

第五章单片机C51程序设计基础

1.编写函数htoi(s),把由十六进制数字组成的字符串(前面可能包含Ox或0X)

转换成等价的整数值。字符串中允许的数字为0~9,a~f和A~F。

BOOLHexToDec(LPCTSTRshex,intidec){inti,mid;intlen=lstrlen(shex);if(len>8)re

turnFALSE;mid=0;idec=0;for(i=0;i<len;i++){if(shex[i]>=,0*shex[i]<=,9')mid=shex[

i]_,0*jelseif(shex[i]>=,a*shex[i]<=,f*)mid=shex[i]-'af+10;elseif(shex[i]>=>A*sh

ex[i]<=,F')mid=shex[i]->A*+10;elsereturnFALSE;mid<〈=((len-iT)<<2);〃移位表示变

为2的n次方倍

idee二idc+mid;}returnTRUE;}

2.编写函数bitcount(x),用于统计整数变量x中值为1的位的个数。

略。

3.编写函数strend(s,t),如果字符串t出现在字符串s的尾部,则返回1;否则

返回Oo

略。

4.利用定时器/计数器TI产生定时时钟,由PI口控制8个发光二极管,使8

个指示灯依次一个一个闪动,闪动频率为8次俐)(8个灯依次亮一遍为一个周期),

循环。

ORGOOOOHLJMPMAINORGOOOBHLJMPDVTOORGO1OOHMOVAO1HMAIN:MOVTMOD,#O1HMOVTHO,#03C

HMOVTLO,#OBOHSETBETOSETBEASETBTROSJMP$DVTO:MOVP1,ARLAMOVTHO,tt03CHM0VTL0,#OBOHRE

TIEND

5.已知inta=12,"S,请计算以下表达式运算后a的值:

24;10;60;0;0:

6.华氏温度F与摄氏温度C的转换公式为:C—(F-32)x5/9,则以下语句:

floatc,F;c=S/9*(F-32);是其对应的C语言表达式吗?如果不是,为什么?

不是,一定要以分号结束

c=5/9*(F-32);

7.简述C51中bit和sbit的区别,以及unsignedchar和sfr的不同点?

略。

8.C51中断函数和普通C语言函数的区别在哪里?中断函数主要用于什么操

作?

中断函数要中关键字Interrupt,中断函数执行时,系统会进行状态的压栈保存,就是进

行当前运行状态的保护,函数结束后恢复。

第六章单片机内部资源及编程

1.什么是中断?MCS-51单片机有几个中断源?中断诸求如何提出?单片机如何

进行中断的响应?

中断是中间打断某一工作过程去处理一些与本工作过程无关或间接相关的事件,处理完

后继续原工作过程。

2.MCS-51的中断源中,哪些中断请求信号在中断响应时可以自动清除?哪些不

能自动清除?不能清除的如何处理?

外部中断/INTO、定时器/计数器中断外部中断INT1.定时器/计数器中断T0、对于有些

中断源,CPUT1串行口中断。在响应中断后会自动清除中断标志,如定时器溢出标志TFO、TF1

和边沿触发方式下的外部中断标志IE0、IE1;而有些中断标志不会自动清除,只能由用户用

软件清除,如串行口接收发送中断标志RLTI;在电平触发方式下的外部中断标志IE0和IE1

则是根据引脚/NTO和/INT1的电平变化的,CPU无法直接干预,需在引脚外加硬件(如D触发

器)使其自动撤销外部中断请求。

3.8051的中断优先级有几级?在形成中断嵌套时各级有何规定?

8051的中断优先级有两级;形成中断嵌套时规定(1)正在进行的中断过程不能被新的同

级或低优先级的中断请求所中断,直到该中断服务程序结束,返回了主程序且执行了主程序

中的一条指令后,CPU才响应新的中断请求。(2)正在进行的低优先级中断服务程序能被高优

先级中断请求所中断,实现两级中断嵌套。(3)CPU同时接收到几个中断请求时,首先响应优

先级最高的中断请求。

4.MCS-51单片机响应中断后,各中断入口地址是什么?

中断服务程序的入口地址如下表:中断源中断矢量外部中断0(INT0)0003H定时器T0中

断OOOBH外部中断1(INT1)O013H定时器T1中断001BH。

5.简述MCS-51单片机中断响应的全过程。

答:CPU在每个机器周期S5P2期间顺序采用每个中断源,CPU在下一个机器周期S6期间

按优先级顺序查询中断标志,如查询到某个中断标志为1,将在接下来的机器周期S1期间按

优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应

的中断服务程序。一旦响应中断,MCS-51首先置位相应的中断“优先级生效”触发器,然后

由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的

入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行。对于有些中断源,CPU

在响应中断后会自动清除中断标志。

6.MCS-51单片机内部有几个定时器/计数器?它们由哪些功能寄存器组成?怎

样实现定时功能?怎样实现计数功能?

80c51单片机内部有两个16位的可编程定时/计数器,由THO,丁以),丁阳,111,丁乂01)和1'。^

功能寄存器组成。通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择对外部脉

冲计数实现计数功能。

7.定时器/计数器的4种工作方式各自的计数范围是多少?如果要计10个单位,

不同的方式初值应为多少?

依据题意,只要使P1.0引脚每隔5us取反一次即可得到10us的方波,因此定是时间

T=5us,可选择定时器/计数器TO,以中断方式工作。

1,设定TMOD

TMOD的低4位控制T0,设定T0定时模式,即=0;工作在方式0,即M1MOOOH;软件启动定

时器,即GAME=0oTMOD的高4位与T0无关,一般取0,所以TMOD控制字为001U

2,计算定时初值

晶振频率为12MHz,机器周期=lus

定时初值二8192-5=8187=1FFB卞000111111111101IB

因TLO的高3位未用,对计算出的初值要进行修正,即低5位前插入3个0构成低8位初

值,从低6位向前取8位构成高8位初值,BP11111111OOO11O11B=FF1BH

ORGOOOOH

AJMPMAIN;转主程序

ORGOOOBH;TO中断矢量地址

AJMPISER;转中断服务程序

0RG100H

MAIN:MOVSP,#60H;设堆栈指针

MOVTMOD,#00H;写控制字

MOVTLO,#1BH;置T0初值

MOVTIIO,#OFFH

SETBETO;允许TO中断

SETBEA;CPU开中断

SETBTRO;启动T0

5口W$;等待中断

ISER:MOVTLO,#1BH;TO中断服务子程序,重置T0初值

MOVTHO,#OFFH

CPLPl.OjPl.1取反

RETI

END

8.设单片机外接晶振,晶振频率为12M应,如果用定时器/计数器T0产生频率

为10kHz的方波,可以选择哪几种方式,初值分别设为多少?

#include<reg51.h>〃包含特殊功能寄存器库

sbitPl_仁P11;

chari;

voidmainO

(

TMOD=OxlO;

THl=0xD8;TLl=0xf0;

EA=1;ET1=1;

i=0;

TR1=1;

while(l)

{

if(i==0){P1_C1;}

if(i==l)(Pl_l=0;)

if(i==2){Pl_l=0;}

)

)

voidtimeOint(void)interr」pt3〃中断服务程序

{

THl=0xD8;TLl=0xf0;

i++;

if(i==3){i=0;}

9.已知振荡频率为12M压,用定时器/计数器TO,实现从P2.0口产生周期为

lOOms的方波。要求分别用汇编语言和C语言编程实现。

略。

10.已知振荡频率为6MHz,用定时器/计数器T0,实现从PLO口产生周期为Is.

占空比30%的波形。要求分别用汇编语言和C语言编程实现。

略。

11.设8051单片机的时钟频率为6MHz,请编写程序在P1.7口输出周期为2s方波

的程序。

略。

12.通过外部中断。,触发一个延时过程,假定延时时间为Is,延时期间可以点亮

一个LED及让蜂鸣器发出声音。已知单片机晶振频率为6.00M应,画出电路图,

并编程实现。

略。

13.利用单片机内部定时器/计数器TI产生定时时钟,由PI口输出信号控制8

个LED指示灯。试编程使8个指示灯依次轮流点亮,每个指示灯的点亮时间为

lOOms©

略。

14.利用定时器/计数器测堡某正脉冲宽度,已知此脉冲宽度小于10ms,试编程

测量脉宽,并把结果存入内部RAM的50H和51H单元中。

略。

15.设某异步通信接口,每帧信息格式为10位,当接口每秒传送960个字符时,

其波特率为多少?

9600波特。

16.MCS-51单片机串行口有几种工作方式?各自的特点是什么?

有四种工作方式,分别是方式0、方式1、方式2和方式3。其中:方式0,称为同步移位

寄存器方式,一般用于外接移位寄存器芯片扩展I/O接口。方式1,称为8位的异步通信方式,

通常用于双机通信。方式2和方式3,称为9位的异步通信方式,通常用于多机通信。

17.串行口数据寄存器CSBUF)有什么特点?

发送数据存放器和接收数据存放器合起用一个特殊功能存放器SBUF(串行口数据存放

器),执行MOVSBUF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论