单片机产生周期为2ms的方波信号
- 格式:docx
- 大小:328.27 KB
- 文档页数:1
单⽚机原理及应⽤习题及参考答案《单⽚机原理及应⽤》复习题⼀、选择题1、MCS-51响应中断时,下⾯哪⼀个条件不是必须的()(A)当前指令执⾏完毕(B)中断是开放的(C)没有同级或⾼级中断服务(D)必须有RETI2、执⾏PUSH ACC指令,MCS-51完成的操作是()(A)SP+1→SP,(ACC)→(SP);(B)(ACC)→(SP),SP-1→SP(C)SP-1→SP,(ACC)→(SP);(D)(ACC)→(SP),SP+1→SP3、89C51是()(A)CPU (B)微处理器(C)单⽚微机(D)控制器4、关于MCS-51的堆栈操作,正确的说法是()(A)先⼊栈,再修改栈指针(B)先修改栈指针,再出栈(C)先修改栈指针,再⼊栈(D)以上都不对5、MOV C,#00H的寻址⽅式是()(A)位寻址(B)直接寻址(C)⽴即寻址(D)寄存器寻址6、必须进⾏⼗进制调整的⼗进制运算()(A)有加法和减法(B)有乘法和除法(C)只有加法(D)只有减法7、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H 当执⾏完左边的程序后,PC的值是()(A)0040H (B)0041H (C)0042H (D)0043H 8、MCS-51复位时,下述说法正确的是()(A)(20H)=00H (B)SP=00H (C)SBUF=00H (D)TH0=00H9、可以为访问程序存储器提供或构成地址的有()(A)只有程序计数器PC (B)只有PC和累加器A(C)只有PC、A和数据指针DPTR (D)PC、A、DPTR和SP10、对程序存储器的读操作,只能使⽤()(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令11、下⾯哪种设备不是输⼊设备()(A)A/D转换器(B)键盘(C)打印机(D)扫描仪12、要访问MCS-51的特殊功能寄存器应使⽤的寻址⽅式是()(A)直接寻址(B)寄存器间接寻址(C)变址寻址(D)相对寻址13、执⾏MOVX A,@DPTR指令时,MCS-51产⽣的控制信号()(A)/PSEN (B)ALE (C)/RD (D)/WR14、下⾯哪种指令将MCS-51的⼯作寄存器置成3区()(A)MOV PSW,#13H (B)MOV PSW,#18H(C)SETB PSW.4 CLR PSW.3 (D)SETB PSW.3 CLR PSW.415、各中断源发出的中断请求信号,都会标记在MCS-51系统的()(A)TMOD (B)TCON/SCON (C)IE (D)IP16、在中断服务程序中,⾄少应有⼀条()(A)传送指令(B)转移指令(C)加法指令(D)中断返回指令17、ORG 2000HLCALL 3000H0RG 3000HRET 左边程序执⾏完RET指令后,PC= ()(A)2000H (B)3000H (C)2003H (D)3003H18、下⾯哪种外设是输出设备()(A)打印机(B)纸带读出机(C)键盘(D)A/D转换器19、下⾯哪⼀个部件不是CPU的指令部件()(A)PC (B)IR (C)PSW (D)ID20、以下运算中对溢出标志OV没有影响或不受OV影响的运算是()(A)逻辑运算(B)符号数加减法运算(C)乘法运算(D)除法运算21、以下指令中,属于单纯读引脚的指令是()(A)MOV P1,A (B)ORL P1,#0FH(C)MOV C,P1.5 (D)DJNZ P1,short-lable⼆、填空题1、⼀个机器周期= 时钟周期,⼀个时钟周期= 振荡周期,⼀个振荡周期= 节拍。
单片机原理与应用习题六一、回答问题1.MCS-51单片机外部程序存储器和数据存储器地址复盖范围都是0000H ~FFFFH,在实际使用时如何区分?2.MCS-51 单片机堆栈有何特点?若SP=60H,PC=2346H,标号LABEL所在的地址为3466H,问执行长调用指令LCALL LABEL后,堆栈指针和堆栈的内容发生什么变化?PC的值等于什么?3.当MCS-51单片机配有12MHz晶振时,一个机器周期为几微秒?执行一条最长的指令需几微秒?二、当系统选用6MHz晶体振荡器时,由CTC0控制产生周期为2ms(脉冲宽度为1ms)的方波序列,并由P1.0输出,请编写程序。
三、实验题假定甲乙机以方式1进行串行数据通信,晶振=6MHz,要求波特率为1200。
甲机发送,乙机接收。
请计算出波特率,写出初始化发送和接收程序。
四、若8255芯片的片选端与8031的P2.7相连,A1A0端与地址总线A1A0相连,现要求8255工作在方式0,A口作为输入,B口作为输出,且将C口的第6位PC5置1,请编写初始化工作程序。
五、选用DAC0832芯片,设计有三路模拟量同时输出的MCS—51系统,画出硬件结构框图,编写数模转换程序。
六、已知8279与单片机的连接如课本P186图所示。
试编写程序实现下列功能:1.显示字符“HELLO”;2.编写中断服务子程序,完成读键值功能,将键值放入20H单元。
七、ADC0809与8051单片机的硬件接口如下图所示,模拟量输入选择7通道,编制A/D八、简述主—从结构式多机通讯工作原理。
绘出一台主机与三台从机实现多机通信的接口连线图,分别对主机和从机SCON控制寄存器进行初始化设置。
选择题1、主频为12MHz的单片机他的机器周期为(c)。
A、1/12微秒B、0.5微秒C、1微秒D、2微秒2、MCS-51系列单片机是属于(C)体系结构。
A、冯诺依曼B、普林斯顿C、哈佛D、图灵3、定时器/计数器工作方式0为(A)。
A、13位定时/计数方式B、16位定时/计数方式C、8位可自动装入计数初值方式D、2个8位方式6、MCS-51单片机每个机器周期都要进行中断查询,查询的是(A)。
A、中断标志位B、中断允许控制位C、中断优先级控制位D、外部中断触发方式控制位7、当外部中断被设置为下降沿触发时,对触发信号的要求是高、低电平的持续时间均应大于(B)。
A、1个机器周期B、2个机器周期C、4个机器周期D、8个机器周期8、在下列寄存器中,与定时器/计数器无关的是(C)。
scon是控制寄存器A、TCONB、TMODC、SCOND、IE9、若欲将T0设置为定时器方式2、T1设置为计数器方式1,T0、T1均采用软件启/停控制,则方式寄存器TMOD的方式控制字为(B)。
A、00100101B、01010010C、10101101 C、110110101010、当晶振频率为6MHz、定时/计数器工作于方式1,最大定时时间为(D)。
A、8.192msB、16.384msC、65.53msD、131.07211、当晶振频率为6MHz,定时/计数器T0工作于定时器方式2,若要求定时值为0.2ms,则定时初值为(A)。
A、156B、56C、100D、20012、设MCS-51单片机的晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率为(C)。
A、2MHzB、1MHzC、500KHzD、250KHz13、利用下列(D)关键字可以改变工作寄存器组。
A、interruptB、sfrC、whileD、using14、(D)是c语言提供的合法的数据类型关键字。
A、FloatB、signedC、integerD、Char15、12MHz晶振的单片机在定时器工作方式下,定时器中断记一个数所用的定时时间是(A)。
作业答案0-1绪论1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。
2.什么叫单片机其主要特点有哪些解:将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。
单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。
第1章 MCS-51单片机的结构与原理15. MCS-51系列单片机的引脚中有多少根I/O线它们与单片机对外的地址总线和数据总线之间有什么关系其地址总线和数据总线各有多少位对外可寻址的地址空间有多大解:MCS-51系列单片机有4个I/O端口,每个端口都是8位双向口,共占32根引脚。
每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输入驱动器和输入缓冲器。
通常把4个端口称为P0~P3。
在无片外扩展的存储器的系统中,这4个端口的每一位都可以作为双向通用I/O端口使用。
在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。
MCS-51系列单片机数据总线为8位,地址总线为18位,对外可寻址空间为64KB。
25. 开机复位后,CPU使用的是哪组工作寄存器(R0-R n)它们的地址是什么CPU如何确定和改变当前工作寄存器组(R0-R n)解:开机复位后,CPU使用的是第0组工作寄存器。
它们的地址是00H-07H。
CPU通过对程序状态字PSW中RS1和RS0的设置来确定和改变当前工作寄存器组。
27. MCS-51单片机的时钟周期、机器周期、指令周期是如何定义的当主频为12MHz的时候,一个机器周期是多长时间执行一条最长的指令需要多长时间解:时钟周期又称为振荡周期,由单片机内部振荡电路OSC产生,定义为OSC时钟频率的倒数。
《单片机原理与应用》练习题练习题一一、填空题。
1、8051最多可以有_____个并行输入输出口,最少也可以有1个并行口,即____。
P3口的第二功能有________________________________。
2、MOV A,40H 指令对于源超作数的寻址方式是 __________寻址。
3、指令JB 0A7H,ABC的作用是_________________________。
(0A7H是P2.7的地址)4、将CY与A的第0位的非求或的指令是___________________,若原A=0,执行后A=______。
5、MCS—51单片机外部中断请求信号有电平方式和____________ ,在电平方式下,当采集到INT0,INT1的有效信号为________ 时,激活外部中断。
6、定时器/计数器的工作方式3是指的将_________ 拆成两个独立的8位计数器.而另一个定时器/计数器此时通常只可作为_______ 使用.7、8031(8051)单片机具有_____位CPU,_____位并行I/O口,_____个十六位定时计数器,_____字节内部RAM,_____个中断源,最大可扩展_____K字节外部程序存储器,最大可扩展______K字节外部数据存储器。
8、当单片机运行内部程序存储器的程序时,/EA端接______;当没有内部程序存储器而运行外接程序存储器的程序时,/EA端接______。
9、按照串行数据的同步方式,串行通信可分为______和______两类。
按传送方向,可分为________和________两种制式。
10、8051ALE信号的作用是_____________________,当不接片外RAM/ROM时,ALE线上输出的脉冲频率为___________。
11、堆栈指示器SP有_____位,单片机复位后SP中的值为_____;数据指针DPTR有____位,复位后其值为_____,复位后程序计数器PC中内容为_______。
定时器/计数器的应用实例
在实时系统中,定时通常使用定时器,这与软件循环的定时完全不同。
虽然两者都是依赖系统时钟,但是在定时器计数时,其它指令可以继续进行,但软件定时时不允许其它任何事件发生。
对许多连续计数和持续时间操作,最好使用16位定时/计数器。
当计数器翻转后,它会继续计数。
若在计数开始或定时时间间隔开始读出计数器的值,在计数或时间间隔结束时从读出值中减去开始时的读出值,则所得计数数值为其间的计数或持续的时间间隔。
假设定时器用于V-F(电压到频率)转换器信号的周期测量。
若当逻辑1到来时计数值为3754,下一个逻辑1到达时是4586,则V-F转换器的周期是832个机器周期。
使用12MHz晶振为
832μs(1.202kHz),使用11.0592MHz晶振,计数值近似
903μs(1.071kHz)。
当计数值有翻转时,只要计数值以16位无符号整数对待就无算术问题。
例1 设单片机的fosc=12MHz,要求在P1.0脚上输出周期为2ms的方波。
解周期为2ms的方波要求定时间隔1ms,每次时间到P1.0取反。
定时器计数率=fosc/12。
机器周期=12/fosc=1μs
每个机器周期定时器加1,1ms=1000μs。
《单片机应用技术》模拟试卷(C)答案一、填空题(25分,每空1分)1.在MCS-51系列单片机中,片内ROM的配置有三种常见的形式,片内无ROM的是8031,片内有4KB ROM的是8051,片内有4KB EPROM的是8751。
2.程序状态字寄存器PSW中,PSW.1是保留位,其余各位有进位标志位Cy、辅助进位标志位AC、用户标志位F0、寄存器组选择位RS1和RS2、奇偶标志位P及溢出标志位OV。
3.若累加器A中的数据为01110110B,则PSW中的P=1。
4.可以用来间接寻址的寄存器有三个,即:R0、R1和DPTR。
5.单片机与扩展的存储器或I/O接口的连接,主要是指三组信号线的连接,即地址线、数据线和控制线。
6.堆栈是遵循先进后出的原则来安排数据。
针对堆栈有两种操作,即入栈操作和出栈操作。
7.MCS-51单片机共有4个8位的并行I/O端口,分别记为:P0、P1、P2、P3。
二、选择题(20分,每题2分)1.能够用紫外光擦除ROM中程序的只读存储器称为( C )。
A. 掩膜ROMB. PROMC. EPROMD. EEPROM2.MCS-51单片机的位寻址区位于内部RAM的( D )单元。
A. 00H~7FHB. 20H~7FHC. 00H~1FHD. 20H~2FH3.MCS-51单片机可扩展的片外数据存储器的最大容量为(A )。
A. 64 KBB. 32 KBC. 8 KBD. 4 KB4.系统复位后,堆栈指针SP的内容是( B )。
A. 08HB. 07HC. 30HD. 50H5.以下伪指令中,用于规定程序块或数据块的起始位置的是(A )。
A. ORGB. DBC. DWD. EQU6.MCS-51单片机的定时器/计数器的工作方式1是( B )。
A. 8位计数器结构B. 16位计数器结构C. 13位计数器结构D. 2个8位计数器结构7.无条件跳转指令AJMP的跳转范围是(C )。
A. 256BB. 1KBC. 2KBD. 64KB8.MCS-51单片机向外扩展存储器时,片内4个I/O口中作为数据总线的是(B )。
一、例题例4—1 使用定时器/计数器T0的方式0,设定1 ms的定时。
在P1.0引脚上产生周期为2 ms 的方波输出.晶体振荡器的频率为fosc=6 MHz。
(p100)解:①定时常数计算振荡器的频率fosc=6 MHz=6×106 Hz方式0计数器长度L=13,2L=213=8 192定时时间t=1 ms=1×10-3 s定时常数TC=2L—fosc×t/12=8192-6×106×10—3/12=8 192—500=7 692定时常数TC转换成二进制数TCB=1 1110 0000 1100 B所以TCH=0F0H,TCL=0CH②TMOD的设定(即控制字)#00H③编程MOV TMOD,#00H ;写控制字MOV TH0,#0F0H ;写定时常数MOV TL0,#0CHSETB TR0 ;启动T0SETB ET0 ;允许T0中断SETB EA ;开放CPU中断AJMP $ORG 000BH ;T0中断矢量地址AJMP INQPORG 00××H ;中断服务程序INQP:MOV TH0,#0F0H ;重写定时常数MOV TL0,#0CHCPL P1。
0 ;P1.0变反输出RETI ;中断返回例4—2使用定时器/计数器T1的方式1,设定1 ms的定时.同样,在P1.0引脚上产生周期为2 ms的方波输出。
晶体振荡器的频率为fosc=6 MHz。
(p101)解:①定时常数计算振荡器的频率fosc=6 MHz=6×106 Hz,方式1计数器长度L=16,2L=216=65 536定时时间t=1 ms=1×10—3 s定时常数TC=2L—fosc×t/12=65536-6×106×10-312= 65 536—500=65 036定时常数TC转换成二进制TCB=1111 1110 0000 1100 B=0FE0CH所以TCH=0FEH (高8位),TCL=0CH(低8位)②TMOD的设定(即控制字)#10H③编程ORG 001BH ;T1中断矢量地址AJMP INQPORG 100H ;主程序入口MOV TMOD,#10H ;写控制字MOV TH1,#0FEH ;写定时常数MOV TL1,#0CHSETB TR1 ;启动T1SETB ET1 ;允许T1中断SETB EA ;开放CPU中断AJMP $ORG 00××H ;中断服务程序INQP:MOV TH1,#0FEH ;重写定时常数MOV TL1,#0CHCPL P1.0 ;P1。
单片机复习题1一、填空题。
1、对程序存储器的读操作,只能使用MOVC.2、执行中断返回命令,要从堆栈弹出断点地址,以便去执行被中断的主程序。
从堆栈弹出的断点地址送给PC .3、在寄存器间址寻址方式中,指定寄存器中存放的是操作数地址4、某串行通信中有1个起始位、8个数据位和1个停止位,应选择的异步串行通信方式为方式15、当优先级的设置相同时,若以下几个中断同时发生,中断优先响应的是外部中断06、某单片机中,若fosc=12MHz,则定时器T1的最大定时时间可为65536μs。
7、若原来工作寄存器0组为当前寄存器组,现要改为1组,可以使用的指令是SETB RS08、设堆栈指针SP的值为37H,在子程序调用时把断点地址进栈保护后,SP的值为39H9、串行通信的传送速率单位是波特,波特的单位是位/秒10、当使用8031单片机时,需要扩展外部程序存储器,此时EA应为接地。
11、单片机内有组成微机的主要功能部件___CPU_______、____存储器_______和___I/O口________。
12、用户在堆栈区中进行数据存取时,按照先进后出的原则。
13、51系列基本型单片机有___5___个中断源,其中外部中断0的入口地址为____0003H________。
14、写出符号所表示的含义:PSW: 程序状态字RAM:数据存储器CPU: 中央处理器ROM: 程序存储器SP: 堆栈指针 I/O:输入/输出口15、写出MCS-51指令系统的常用寻址方式为:立即寻址、直接寻址、间接寻址、寄存器寻址。
.16、若由程序设定RS1、RS0=11,则选择的当前工作寄存器组为第___D组_____。
17、8051按指令的功能可分为数据传送类,算术运算类,控制转移类,位操作类等类型18、中断源的自然优先级由高到低排序为: INTO 、 TO 、INT1、T1、 RX或TX 。
19、8051的定时器/计数器有______T0__________、____T1__________两个16位的定时器/计数器。
单⽚机练习题⼀、单选题。
1.计算机中最常⽤的字符信息编码是()A ASCIIB BCD码C 余3码D 循环码2.要MCS-51系统中,若晶振频率屡8MHz,⼀个机器周期等于( ) µsA 1.5B 3C 1D 0.53. 以下不是构成的控制器部件():A 程序计数器、B指令寄存器、C指令译码器、D存储器4.以下不是构成单⽚机的部件()A 微处理器(CPU)、B存储器C接⼝适配器(I\O接⼝电路) D 打印机5.16位⼆进制所表⽰的⽆符号整数,其相应的⼗进制数范围是()A.0~65536B.1~65536C.1~65535D.0~655356.-49D的⼆进制补码为.( )A 11101111B 11101101C 0001000D 111011007.⼗进制29的⼆进制表⽰为原码()A 11100010B 10101111C 00011101D 000011118. ⼗进制0.625转换成⼆进制数是()A 0.101B 0.111C 0.110D 0.1009使⽤8255可以扩展出的I/O⼝线是()16根(B)24根(C)22根(D)32根10.PSW=18H时,则当前⼯作寄存器是()(A)0组(B)1组(C)2组(D)3组11.控制串⾏⼝⼯作⽅式的寄存器是()(A)TCON (B)PCON (C)SCON (D)TMOD12.MCS-51的中断允许触发器内容为83H,CPU将响应的中断请求是( )(A) T1, (B)T0,T1 (C)T1,串⾏接⼝(D) ,T013、MOVX A,@DPTR指令中源操作数的寻址⽅式是()(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)⽴即寻址14、ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是()(A)0003H (B)2000H (C)000BH (D)3000H15、执⾏PUSH ACC指令,MCS-51完成的操作是()(A ) SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP (C)SP-1 SP (ACC)(SP) (D)(ACC)(SP)SP+1 SP16、CALL指令操作码地址是2000H,执⾏完相⼦程序返回指令后,PC=()(A)2000H (B)2001H (C)2002H (D)2003H17、6264芯⽚是()(A) EEPROM (B)RAM(C)FLASH ROM (D)EPROM18、下⾯条指令将MCS-51的⼯作寄存器置成3区()(A)MOV PSW,#13H (B)MOV PSW,#18H(C)SETB PSW.4 CLR PSW.3 (D) SETB PSW.3 CLR PSW.419、⽤MCS-51⽤串⾏扩展并⾏I/O⼝时,串⾏接⼝⼯作⽅式选择()(A) ⽅式0 (B)⽅式1 (C)⽅式2 (D)⽅式320、当8031外出扩程序存储器8KB时,需使⽤EPROM 2716()(A) 2⽚(B)3⽚(C)4⽚(D)5⽚21、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H当执⾏完左边的程序后,PC的值是()(A) 0040H (B)0041H (C)0042H (D)0043H22、对程序存储器的读操作,只能使⽤()(A) MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令23某种存储器芯⽚是8KB*4/⽚,那么它的地址线根线是()(A) 11根(B)12根(C)13根(D)14根24要使MCS-51能够响应定时器T1中断、串⾏接⼝中断,它的中断允许寄存器IE的内容应是()(A)98H (B)84H (C)42 (D)22H25. MCS-51外扩ROM,RAM和I/O⼝时,它的数据总线是()(A) P0 (B)P1 (C)P2 (D)P326.⽤MCS-51串⾏接⼝扩展并⾏I\O⼝时,串⾏接⼝⼯作⽅式应选择( )(A)⽅式0 (B)⽅式1 (C)⽅式2 (D)⽅式327.MCS-51有中断源()(A)5个(B)2个(C)3个(D)6个28.使⽤定时器T1时,有⼏种⼯作模式()(A)1种(B)2种(C)3种(D)4种29、MCS-51的中断源全部编程为同级时,优先级最⾼的是()(A) INT1 (B)TI (C)串⾏接⼝(D)INT030.MCS—51系列单⽚机8031⽚内EPROM有()A.0KBB.4KBC.2KBD.8KB31.⼗进制数215转换成⼆进制数表⽰,是()A.11010111BB.10001101BC.11011111BD.11110101B32.8031单⽚机所⽤的电源是()A.±15VB.+15VC.+5VD.±5V33.8031单⽚机内有_________定时器/计数器。
选择题1、主频为12MHz的单片机他的机器周期为(c)。
A、1/12微秒B、0.5微秒C、1微秒D、2微秒2、MCS-51系列单片机是属于(C)体系结构。
A、冯诺依曼B、普林斯顿C、哈佛D、图灵3、定时器/计数器工作方式0为(A)。
A、13位定时/计数方式B、16位定时/计数方式C、8位可自动装入计数初值方式D、2个8位方式6、MCS-51单片机每个机器周期都要进行中断查询,查询的是(A)。
A、中断标志位B、中断允许控制位C、中断优先级控制位D、外部中断触发方式控制位7、当外部中断被设置为下降沿触发时,对触发信号的要求是高、低电平的持续时间均应大于(B)。
A、1个机器周期B、2个机器周期C、4个机器周期D、8个机器周期8、在下列寄存器中,与定时器/计数器无关的是(C)。
scon是控制寄存器A、TCONB、TMODC、SCOND、IE9、若欲将T0设置为定时器方式2、T1设置为计数器方式1,T0、T1均采用软件启/停控制,则方式寄存器TMOD的方式控制字为(B)。
A、00100101B、01010010C、10101101 C、110110101010、当晶振频率为6MHz、定时/计数器工作于方式1,最大定时时间为(D)。
A、8.192msB、16.384msC、65.53msD、131.07211、当晶振频率为6MHz,定时/计数器T0工作于定时器方式2,若要求定时值为0.2ms,则定时初值为(A)。
A、156B、56C、100D、20012、设MCS-51单片机的晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率为(C)。
A、2MHzB、1MHzC、500KHzD、250KHz13、利用下列(D)关键字可以改变工作寄存器组。
A、interruptB、sfrC、whileD、using14、(D)是c语言提供的合法的数据类型关键字。
A、FloatB、signedC、integerD、Char15、12MHz晶振的单片机在定时器工作方式下,定时器中断记一个数所用的定时时间是(A)。
第6章MCS51得定时器/计数器1.如果晶振得频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大得定时时间各为多少?2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?3.定时器/计数器作计数器模式使用时,对外界计数频率有何限制?4.定时器/计数器得工作方式2有什么特点?适用于什么应用场合?5.一个定时器得定时时间有限,如何实现两个定时器得串行定时,来实现较长时间得定时?6.定时器/计数器测量某正单脉冲得宽度,采用何种方式可得到最大量程?若时钟频率为6MHz,求允许测量得最大脉冲宽度就是多少?7.判断下列说法就是否正确?(1)特殊功能寄存器SCON,与定时器/计数器得控制无关。
(2)特殊功能寄存器TCON,与定时器/计数器得控制无关。
(3)特殊功能寄存器IE,与定时器/计数器得控制无关。
(4)特殊功能寄存器TMOD,与定时器/计数器得控制无关。
8.设定1ms得定时,可以在P1、0引脚上产生周期为2ms得方波输出,设晶体振荡器得频率为6MHz,分别写出在方式0与方式1时,赋给T0得常数。
9.设MCS51单片机得晶振频率为12MHz,请编程使P1、O端输出频率为20kHz得方波。
10.要求采用定时中断得方式,实现下图所示流水灯得双向循环(D1—D8—D1)流动功能。
其中流水灯得闪烁速率为每秒1次。
11.设单片机得fosc = 12MHz,使P1、O与P1、1分别输出周期为1ms与lOms得方波,请用定时器TO方式2编程实现。
附录2:作业及答案1.如果晶振得频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大得定时时间各为多少?(12/3×8192=32、768ms;12/3*65636=262、144ms; 12/3*256=1、024ms)2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?(定时得计数脉冲来自于单片机内部,即每个机器周期产生一个计数脉冲,也就就是每个机器周期计数器加1。
选择题1、主频为12MHz 的单片机他的机器周期为(c )。
A 、1/12 微秒B 、0.5 微秒C 、1 微秒D 、2 微秒2、MCS-51系列单片机是属于(A 、冯诺依曼B 、普林斯顿C )体系结构。
C 、哈佛D 、图灵3、定时器 / 计数器工作方式 0 为( A )。
A 、13 位定时 / 计数方式B 、16 位定时 / 计数方式C 、8 位可自动装入计数初值方式D 、 2 个 8 位方式6、MCS-51单片机每个机器周期都要进行中断查询,查询的是(A 、中断标志位B 、中断允许控制位C 、中断优先级控制位D 、外部中断触发方式控制位A )。
7、当外部中断被设置为下降沿触发时,对触发信号的要求是高、低电平的持续时间均应大于(B )。
A 、1 个机器周期B 、2 个机器周期C 、4 个机器周期D 、8 个机器周期 8、在下列寄存器中,与定时器 / 计数器无关的是(A 、TCONB 、TMODC 、SCOND 、IEC )。
scon 是控制寄存器9、若欲将 T0 设置为定时器方式 2、T1 设置为计数器方式寄存器 TMOD 的方式控制字为( B )。
A 、00100101B 、010100101, T0、T1 均采用软件启/ 停控制,则方式C 、10101101C 、110110101010、当晶振频率为 6MHz 、定时 / 计数器工作于方式 1,最大定时时间为( D )。
A 、8.192msB 、16.384msC 、65.53msD 、 131.07211、当晶振频率为 6MHz ,定时 / 计数器 T0 工作于定时器方式 2,若要求定时值为 0.2ms ,则定时初值为( A )。
A 、156B 、56C 、100D 、200 12、设 MCS-51单片机的晶振频率为 12MHz ,定时器作计数器使用时, 其最高的输入计数频率为 (C )。
A 、2MHzB 、1MHzC 、500KHzD 、250KHz13、利用下列( D )关键字可以改变工作寄存器组。
《单片机原理及应用》编程题题库1、内部RAM 30H和31H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD 码(高位在前)并存入外部RAM 2300H单元中。
2、设单片机的晶体震荡频率为12MHz,利用定时器T0编程由P1.2输出周期为10mS的方波。
(要求:T0工作在方式1下,采用中断方式工作)3、将存放在内部RAM 30H-35H单元的压缩型BCD码转换成相应的ASCII码,依次存放到外部RAM 2100H 开始的单元区中。
4、已知8051单片机应用系统的晶体振荡频率为12MHz,请利用定时器T0实现在P1.0引脚上输出周期为100mS的方波。
(要求:采用中断方式,T0工作在方式1下)5、设8031单片机应用系统的晶振频率为12MHz,请利用T0在P1.0和P1.1引脚上输出频率为20Hz、互补(两个波形互为反相)的方波。
要求:采用中断方式,T0工作在方式1。
6、内部RAM 20H和30H开始的单元分别存放着16个16进制数,请将对应单元的内容相加(不考虑溢出),并将和存入外部RAM 2000H开始的单元中。
7、8031单片机应用系统的晶体振荡器频率为12MHz,请利用定时器T0编程实现在P1.7引脚输出频率为20Hz的方波。
要求:采用中断方式,T0工作在方式1下。
8、请编写多字节无符号数减法程序。
被减数存放在内部RAM 20H开始的8个单元中,减数存放在内部RAM 30H开始的8个单元,请将差存放到外部RAM 2000H开始的8个单元中,借位存放到OV标志中。
注意:所有数据均按照从低字节到高字节的顺序存放。
9、内部RAM 40H和41H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD 码(高位在前)并存入外部RAM 2000H单元中。
10、设单片机的晶体振荡频率为12MHz,利用定时器T0编程由P1.0和P1.1输出周期为10mS、互补(互为反相)的方波。
利用PWM产生特定周期方波的方法2017/4/11产生特定周期方波的方法聂向前所用单片机为飞思卡尔MC9S12XS128PLL时钟频率及由PLL产生的总线时钟频率的计算公式(+??)????????= ????????=???????? ?????????=当时钟后分频寄存器POSTDIV(确定振荡器频率和锁相环频率之间的比率)。
如果POSTDIV=0x00则=(一般POSTDIV都等于0)。
POSTDIV不等于0,就是上面第二个公式。
利用PWM产生精确2ms方波的方法(采用PWM模块能够产生精确脉冲序列并且极少占用CPU资源)反推计算:周期为2ms的方波,频率是0.5kHz,看代码注释吧代码://产生2ms的方波#include <hidef.h> /* common defines and macros */#include "derivative.h" /* derivative-specific definitions */#define BUS_CLOCK 24000000 //总线频率#define OSC_CLOCK 16000000 //晶振频率/*************************************************************/ /* 初始化锁相环*/ /*************************************************************/ voidPLL_Init(void){CLKSEL &= 0x7f; //设置OSCCLK作为系统时钟PLLCTL &= 0x8F; //禁止锁相环//PLLCLK=2×OSCCLK×(SYNDIV+1)/(REFDIV+1), fbus=PLLCLK/2#if(BUS_CLOCK == 120000000)SYNR = 0xcd;#elif(BUS_CLOCK == 104000000)SYNR = 0xcc;#elif(BUS_CLOCK == 96000000)SYNR = 0xcb;#elif(BUS_CLOCK == 88000000)SYNR = 0xca;#elif(BUS_CLOCK == 80000000)SYNR = 0xc9;#elif(BUS_CLOCK == 72000000)SYNR = 0xc8;#elif(BUS_CLOCK == 64000000)SYNR = 0xc7;#elif(BUS_CLOCK == 56000000)SYNR = 0xc6;#elif(BUS_CLOCK == 48000000)SYNR = 0xc5;#elif(BUS_CLOCK == 40000000)SYNR = 0x44;#elif(BUS_CLOCK == 32000000)SYNR = 0x43;#elif(BUS_CLOCK == 24000000)SYNR = 0x42;#elif(BUS_CLOCK == 16000000)SYNR = 0x01;#endifREFDV = 0x81;PLLCTL |=0x70; //使能锁相环asm NOP;asm NOP;while(!(CRGFLG&0x08)); //PLLCLK锁定CLKSEL |= 0x80; //设置PLLCLK为系统时钟}voidPWM_Init(void){PWME_PWME3=0x00; // PWW is disabled 禁止PWMPRCLK=0x33; // 0x0011 0011 .011对应的是8分频--A=B=24M/8=3M 时钟预分频寄存器设置PWMSCLA=15; // SA=A/2/15=100k 时钟设置PWMSCLB=15; // SB=B/2/15 =100k 时钟设置PWMCTL=0x00; // 用于级联和停止:控制寄存器PWMCLK_PCLK3=1; // PWM3-----SB 时钟源的选择PWMPOL_PPOL3=1; // Duty=High Time 开始输出为高电平!极性设置PWMCAE_CAE3=0; // left-aligned 对齐方式设置PWMPER3=200; // Frequency=SB/200=0.5kHz 周期寄存器设置PWMDTY3=100; // Duty cycle = 50% 占空比寄存器设置PWME_PWME3=1; // enable使能}void main(void){/* put your own code here */PLL_Init();PWM_Init();EnableInterrupts;for(;;) {_FEED_COP(); /* feeds the dog */} /* loop forever *//* please make sure that you never leave main */ }。