简述51系列单片机中断响应的条件。
●有中断源发出中断请求;●中断总允许位EA=1,即CPU开中断;●申请中断的中断源的中断允许位为1,即中断没有屏蔽;●无同级或更高级中断正在被服务;●当前的指令周期已经结束;●若现在指令为RETI或者是访问IE 或IP指令,则该指令以及紧接着的另一条指令已执行完简述定时/计数器4种工作模式的特点。
模式1:是16位的定时器/计数器;模式2:把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器;模式3:对T0和T1大不相同。
若将T0设置为模式3,则TL0和TH0被分为两个相互独立的8位计数器。
定时器T1无工作模式3状态。
模式0:与模式1几乎完全相同,唯一的差别是模式0中,寄存器TL0用5位,TH0用8位。
单片机原理及应用试卷3一、填空题1、MCS—51单片机的运算电路包括了算术逻辑运算单元ALU 累加器A B 寄存器以及状态字寄存器PSW和暂存寄存器等部件。
2、MCS—5l单片机的最大程序寻址空间是 64K ,该空间的地址范围为: 0000H至FFFFH 系统上电及复位的程序人口地址为 0000H 。
3、MCS-51单片机的一个机器周期包含了 6 个状态周期,每个状态周期又可划分为 2 拍节,一个机器周期实际又包含了 12 个振荡器周期。
4、单片机与普通计算机的不同之处在于其将 CPU、存储器、I/O口三部分集成于一块芯片上。
5、8031单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW= 00H 。
这时当前的工作寄存器区是 0 组工作寄存器区。
6、片内RAM低128个单元划分为工作寄存器区、位寻址区、数据缓冲区 3个主要部分。
7、指令格式是由操作码、操作数、和所组成,也可能仅由操作码组成。
8、8031单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把 pc 的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送 pc ,使程序执行转向程序存储器中的中断地址区。
9、在MCS-51中,PC和DPTR都用于提供地址,但PC是为访问程序存储器提供地址,而DPTR是为访问数据存储器提供地址。
10、假定,SP=60H,A=30H,B=70H,执行下列指令:PUSH APUSH B后,SP的内容为 62h ,61H单元的内容为 30h ,62H单元的内容为 70h 。
二、选择题1.当MCS-51单片机接有外部存储器,P2口可作为( ) D.输出高8位地址2.MCS—5l单片机的堆栈区是设置在( )中。
C.片内RAM区3.片内RAM 的20H ~2FH 为位寻址区,所包含的位地址是( B. 00H ~7FH 4.在寄存器间接寻址方式中,间址寄存器中存放的数据是( B .操作数的地址值 5、十进制数89.75其对应的二进制可表示为( ) C 、1011001.11 6、CPU 主要的组成部部分为( ) A 、运算器、控制器 7、对于INTEL 8031来说,EA 脚总是( ) A 、接地 8、 8、数据指针DPTR 在( )中 A 、CPU 控制器 9、进位标志CY 在( )中 C 、程序状态字寄存器PSW 10、单片机的堆栈指针SP 始终是( ) B 、指示堆栈顶 11、一个EPROM 的地址有A0----A11引脚,它的容量为( ) B 、4KB 12、8031单片机中既可位寻址又可字节寻址的单元是( A 、20H 13、执行指令MOVX A ,﹫DPTR 时,WR .RD 脚的电平为( ) A 、WR 高电平,RD 低电平 B 、W R 低电平,RD 高电平 14、当标志寄存器P S W 的R S O 和R S I 分别为1和0时,系统选用的工作寄存器组为( ) 注意RS0和RS1的顺序A 、组0B 、组1C 、组2D 、组315、下列指令中不影响标志位CY 的指令有( ) D 、INC A16、8051单片机共有( )个中断优先级 A 、2 14、17、累加器A 的位地址为( ) A 、E 7 H18、提高单片机的晶振频率,则机器周期( ) C 、变短 19、8051单片机中,唯一一个用户不能直接使用的寄存器是 C 、P C20、执行如下三条指令后,30H 单元的内容是( ) M O V R 1,#30H M O V 40H ,#0 E HM O V ﹫R 1,40H C 、0 E H 三、判断题1、程序计数器PC 不能对它进行读写操作( )2、8051单片机对最高优先权的中断响应是无条件的( )3、在一般情况8051单片机允许同级中断嵌套( )4、单片机系统扩展时使用的锁存器,是用于锁存高8位地址( )5、MOV A ,30H 为立即寻址方式( )6、如JC rel 发生跳转时,目标地址为当前地址加上偏移量rel( )7、MUL AB 的执行结果是高8位在A 中,低8 位在B 中( )8、在A/D 变换时,抽样频率越高越好( )9对于8051单片机,当CPU 对内部程序存储器寻址超过4K 时,系统会自动在外芯片上的WR 和RD上面都有一杠,所以选A 而不是选B部程序存储器中寻址( )10、外加晶振频率越高,系统运算速度也就越快,系统性能也就越好( ) 四、简答题1、如果采用晶振的频率为3MHz ,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少?2、为什么MCS-51串行口的方式0帧格式没有起始位(0)和停止位(1)?3、简述串行口接收和发送数据的过程。
五、编程画图题1.现有8031单片机、74LS373锁存器、1片2764EPROM 和2片6116RAM ,请使用他们组成一个单片机系统,要求:(1)画出硬件电路连线图,并标注主要引脚;(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。
2.采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。
定时1ms 后,又转为计数方式,如此循环不止。
假定MCS-51单片机的晶体振荡器的频率为6MHz ,请使用方式1实现,要求编写出程序。
:因为机器周期)(410312126s f T OSC cy μ=⨯==, 所以定时器/计数器工作方式0下,其最大定时时间为)(192.81042261313ms T T C MAX =⨯⨯=⨯=-;同样可以求得方式1下的最大定时时间为262、144ms ;方式2下的最大定时时间为1024ms 。
2、解答:串行口的方式0为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并行I/O 口,一般不用于两个MCS-51之间的串行通信。
该方式以fosc/12的固定波特率从低为位到高位发送或接受数据。
3、答:以方式一为例。
发送:数据位由TXT 端输出,发送1帧信息为10为,当CPU 执行1条数据写发送缓冲器SBUF 的指令,就启动发送。
发送开始时,内部发送控制信号/SEND 变为有效,将起始位想TXD 输出,此后,每经过1个TX 时钟周期,便产生1个移位脉冲,并由TXD 输出1个数据位。
8位数据位全部完毕后,置1中断标志位TI ,然后/SEND 信号失效。
接收:当检测到起始位的负跳变时,则开始接收。
接受时,定时控制信号有2种,一种是位检测器采样脉冲,它的频率是RX 时钟的16倍。
也就是在1位数据期间,有16个采样脉冲,以波特率的16倍的速率采样RXD 引脚状态,当采样到RXD 端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。
五、编程画图题1、解:(1)电路图如下所示: (2)2764的地址为C000H-DFFFH ;实用标准文案第一个6116的地址为A000H-A7FFH ;第二个6116的地址为6000H-67FFH ;事实上,由于采用的是线选法,导致了地址不连续,地址空间利用不充分。
建议在实际工作中要具体情况具体分析。
在两种地址分配中选一种较好的来应用。
2、解答:定时器/计数器T0在计数和定时工作完成后,均采用中断方式工作。
除了第一次计数工作方式设置在主程序完成外,后面的定时或计数工作方式分别在中断程序完成,用一标志位识别下一轮定时器/计数器T0的工作方式。
编写程序如下:ORG 0000HU 474L S 373347813141718111256912151619D 0D 1D 2D 3D 4D 5D 6D 7O C GQ 0Q 1Q 2Q 3Q 4Q 5Q 6Q 7U 28031313938373635343332212223242526272817162930E A /V P P 0.0P 0.1P 0.2P 0.3P 0.4P 0.5P 0.6P 0.7P 2.0P 2.1P 2.2P 2.3P 2.4P 2.5P 2.6P 2.7R DW R P S E N A L E /PU 5H M 611687654321232219182021910111314151617A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A 10C S O E W E D 0D 1D 2D 3D 4D 5D 6D 7U 3276410987654325242123220222711112131516171819A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A 10A 11A 12C EO E P G M V P P O 0O 1O 2O 3O 4O 5O 6O 7U 6H M 611687654321232219182021910111314151617A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A 10C S O E W E D 0D 1D 2D 3D 4D 5D 6D 7LJMP MAINORG 000BHLJMP IT0PMAIN: MOV TMOD,#06H ;定时器/计数器T0为计数方式2MOV TL0,#156 ;计数100个脉冲的初值赋值MOV TH0,#156SETB GATE ;打开计数门SETB TR0 ;启动T0,开始计数SETB ET0 ;允许T0中断SETB EA ;CPU开中断CLR F0 ;设置下一轮为定时方式的标志位WAIT: AJMP WAITIT0P: CLR EA ;关中断JB F0,COUNT ;F0=1,转计数方式设置MOV TMOD,#00H ;定时器/计数器T0为定时方式0MOV TH0,#0FEH ;定时1ms初值赋值MOV TL0,#0CHSETB EARETICOUNT: MOV TMOD,#06HMOV TL0,#156SETB EARETI四、参数计算 (每小题5分,共10分)已知一MCS51单片机系统外接晶体振荡器频率为12MHZ,计算:(1)单片机系统的拍节P、状态S、机器周期所对应的时间是多少?(2)指令周期中的单字节双周期指令的执行时间是多少?五、改错 (每小题2分,共10分)请判断下列各条指令的书写格式是否有错,如有错说明原因: 1.MUL R0R1 2.MOV A,@R7 3.MOV A,#3000H 4.MOVC @A+DPTR, A 5.LJMP #1000H六、使用简单指令序列完成以下操作(每题5分,共10分) 1.请将片外RAM20H-25H单元清零 2.请将ROM3000单元内容送R7 七、编程题(共14分)已知MCS-51单片机系统片内RAM20H单元存放一个8位无符号数7AH,片外扩展RAM 的8000H存放了一个8位无符号数86H,试编程完成以上两个单元中的无符号数相加,并将和值送往片外RAM的01H、00H单元中,同时将所编写程序运行完成后的数据和状态添入下表中给出的PSW的有关位以及寄存器A、DPTR和RAM单元中。