- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机技术复习答单片机技术复习答
四、简答题
1、单片机是在一块集成电路上把CPU、存储器、定时器/计数器及多种形式的I/O接口集成在一起而构成的微型计算机。
2、单片机的应用范围很广泛,诸如智能化家用电器、仪器仪表、工业控制、计算机外部设备、智能机器人、电信及导航等方面。
3、控制器:由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成。用来协调指挥计算机系统的操作。
4、寻址方式:寻址方式就是寻找指令中操作数或操作数所在地址的方式。也就是如何找到存放操作数的地址,把操作数提取出来的方法。
5、堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以后进先出的结构方式处理的。实质上,堆栈就是一个按照后进先出原则组织的一段内存区域。
6、DPTR是16位数据指针寄存器,它由两个8位特殊功能寄存器DPL(数据指针低8位)和DPH(数据指针高8位)组成,DPTR用于保存16位地址,作间址寄存器用,可寻址外部数据存储器,也可寻址程序存储器。
7、串行通信共有4种工作模式 ,分别是:
模式0:同步移位寄存器;
模式1:波特率可变的8位两机异步通信;
模式2:波特率固定的9位可多机的异步通信;
模式3:波特率可变的9位可多机的异步通信。
8、MCS-51指令系统有7种寻址方式,分别为:寄存器寻址,直接寻址,寄存器间接寻址,立即寻址,相对寻址,基址寄存器加变址寄存器间接寻址(变址寻址),位寻址等方式。
9、中断源(控制位) 自然优先级
外部中断0(PX0) 最 高
定时器/计数器0溢出中断(PT0)
外部中断1(PX1)
定时器/计数器1溢出中断(PT1)
串行口中断(PS) 最 低
若某几个控制位为1,则相应的中断源就规定为高级中断;反之,若某几个控制位为0,则相应的中断源就规定为低级中断。当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序(即自然优先级)。
10、有中断源发出中断请求;
中断总允许位EA=1,即CPU开中断;
申请中断的中断源的中断允许位为1,即中断没有屏蔽;
无同级或更高级中断正在被服务;
当前的指令周期已经结束;
若现在指令为RETI或者是访问IE或IP指令,则该指令以及紧接着的另一条指令已执行完。
11、CPU在每个机器周期的S5P2期间顺序采样每个中断源,在下一个机器周期S6区间按优先级顺序查询中断标志,如查询到某个中断定标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。一旦响应中断,CPU首先置位相应的中断“优先级触发器”,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行。对于有些中断源,CPU在响应中断后会自动清除中断标志。
12、A/D转换接口中采样保持电路的作用是:能把一个时间边续的信号变换为时间离散的信号,并将采样信号保持一段时间。
当外接模拟信号的变化速度相对于A/D转换速度来说足够慢,在转换期间可视为直流信号的情况下,可以省略采样保持电路。
五、编程题
1、解 周期为2ms的方波要求定时间间隔为1ms,每次时间到时,P1.0取反.
(1) 计算波特率初值
(216-x) 1μs=1000μs
X=216-1000
TH0=(65536-1000)/256
TL0=(65536-1000)%256
(2)用定时器0的方式1编程,采用中断方式。
#include reg51.h
sbit P1_0=P1^0;
void timer0(void) interrupt 1 using 1
{
P1_0=!P1_0;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
}
void main(void)
{
TMOD=0x01;
P1_0=0;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
ET0=1;
TR0=1;
do { } while (1);
}
2、程序如下:
#include reg51.h
#define uchar unsigned char
#define uint unsigned
文档评论(0)