致出错。而双向口则不需要做此动作,因为双向口有悬浮态。准双向口就是做输入用的时候要有向锁存器写1的这个准备动作,所以叫准双向口。真正的双向口不需要任何预操作可直接读入读出。1:准双向一般只能用于数字输入输出,输入时为弱上拉状态(约50K上拉),端口只有两种状态:高或低。2:双向除用于数字输入输出外还可用于模拟输入输出,模拟输入时端口通过方向控制设置成为高阻输入状态。双向端口有三种状态:高、低或高阻。3:初始状态和复位状态下准双向口为1,双向口为高阻状态
第六章
1、若寄存器(IP) = 00010100B,则优先级最高者为(外部中断1),最低者为 (定时器T1)。
2、下列说法正确的是( D )。
A.各中断源发出的中断请求信号,都会标记在AT89S51的IE寄存器中 B.各中断源发出的中断请求信号,都会标记在AT89S51的TMOD寄存器中 C.各中断源发出的中断请求信号,都会标记在AT89S51的IP寄存器中
D.各中断源发出的中断请求信号,都会标记在AT89S51的TCON与SCON寄存器中
3、在AT89S51的中断请求源中,需要外加电路实现中断撤销的是( A )。
A.电平方式的外部中断请求 B.下跳沿触发的外部中断请求 C.外部串行中断 D.定时中断
4、下列说法正确的是( A、C、D )。
A.同一级别的中断请求按时间的先后顺序响应
B.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应
C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求
D.同级中断不能嵌套
5、中断响应需要满足哪些条件?
答:一个中断源的中断请求被响应,必须满足以下必要条件:(1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。(2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。
(3)该中断源的中断允许位=1,即该中断被允许。(4)无同级或更高级中断正在被服务。
第七章
1、如果采用的晶振频率为24MHz,定时器计数器工作在方式0、1、2下,其最大定时时间各为多少?
答:方式0最长可定时16.384ms; 方式1最长可定时131.072ms; 方式2最长可定时512us。
2、定时器、计数器作计数器模式使用时,对外界计数器频率有何限制?
答:对于12振荡周期为1个机器周期的51单片机,外界信号频率必须小于晶振频率的1/24。对于单振荡周期为1个机器周期的51单片机,外界信号频率必须小于晶振频率(或系统时钟频率)的1/4。
3、定时器、计数器的工作方式2有什么特点?适用于哪些场合?
打:定时器、计数器的工作方式2具有自动回复初值的特点,适用于精确定时,比如波特率的产生。
第八章
1、帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式( 1 )。
2、下列选项中,( ABDE )是正确的。
(A) 串行口通信的第9数据位的功能可由用户定义。(对)
(B) 发送数据的第9数据位的内容在SCON寄存器的TB8位中预先准备好的。(对)
(C) 串行通信帧发送时,指令把TB8位的状态送入发送SBUF中。(错) (D)串行通信接收到的第9位数据送SCON寄存器的RB8中保存。(对)
(E)串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。(对)
3、串行口工作方式1的波特率是: (C)
(A)固定的,为fosc/32。 (B)固定的,为fosc/16。
(C)可变的,通过定时器/计数器T1的溢出率设定。(D)固定的,为fosc/64。 4、在异步串行通信中,接收方是如何知道发送方开始发送数据的?
答:当接收方检测到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。
5、为什么定时器/计数器T1用作串行口波特率发生器时,常采用方式2?若已知时钟频率,串行通信的波特率,如何计算装入T1的初值? 参P128答:因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了执行重装参数的指令所带来的时间误差。
设定时器T1方式2的初值为X,计算初值X可采用如下公式:
fosc2SMOD2SMOD?定时器T1的溢出率?3212(256?X) 波特率 = 32定时器T1的溢出率=计数速率/(256-X)=fosc/[(256-X)*12]
故计数器初值为256-X = 2SMOD ×fosc/[12×32×波特率]
6、 若晶体振荡器为11、0592MHZ,串行口工作于方式1,波特率为4800b/s,写出用T1作为波特率发生器的方式控制字和计数初值。
fosc2SMOD?答:方式1的波特率 =3212(256?X) = 4800 bit/s(T1工作于方式2)
X=250=FAH
经计算,计数初值为FAH,初始化程序如下:
ANL TMOD,#0F0H ;屏蔽低4位 ORL TMOD,#20H ;T1定时模式工作方式2 MOV TH1,#0FAH ;写入计数初值,波特率为4800b/s
MOV TL1,#0FAH MOV SCON,#40H ;串行口工作于方式1
2SMOD方式1的波特率??定时器T1的溢出率32f122SMOD??osc?48003265536?X (T1工作于方式2) 解法2:由
11.0592?2X?65536??65536?12?65524?FFF4H384?4800 得
初始化程序如下:
ORG 0000H ANL TMOD,#0F0H ;屏蔽低4位 ORL TMOD,#10H ;T1定时模式方式1 MOV TH1,#0FFH ;写入计数初值,为4800b/s MOV TL1,#0F4H MOV SCON,#40H ;串行口工作于方式1 MOV PCON,#80H ;串行通信波特率加倍
7、为什么AT89S51单片机串行口的方式0帧格式没有起始位(0)和停止位(1)? 答:串行口的方式0为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并行I/O口,一般不用于两个MCS-51之间的串行通信。该方式以fosc/12的固定波特率从低位到高位发送或接收数据。
8、直接以TTL电平串行传输数据的方式有什么缺点?为什么在串行传输距离较远时,常采用RS-232C、RS-422A和RS-485标准串行接口,来进行串行数据传输。比较RS-232C、RS-422A和RS-485标准串行接口各自的优缺点。
答:直接以TTL电平串行传输数据的方式的缺点是传输距离短,抗干扰能力差。因此在串行传输距离较远时,常采用RS-232C、RS-422A和RS-485标准串行接口。主要是对传输的电信号不断改进,如RS-232C传输距离只有几十米远,与直接以TTL电平串行传输相比,采用了负逻辑,增大“0”、“1”信号的电平差。而RS-422A和RS-485都采用了差分信号传输,抗干扰能力强,距离可达1000多米。RS-422A为全双工,RS-485为半双工。
第九章
1、单片机存储器的主要功能是存储(程序)和(数据)。
2、在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的片选端提供(片选)控制。
3、起止范围为0000H-3FFFH的存储器的容量是(16)KB。
4、在AT89S51单片机中,PC和DPTR都用于提供地址,但PC是为访问(程序)存储器提供地址,而DPTR是为访问(数据)存储器提供地址。
5、11根地址线可选(2KB)个存储单元,16KB存储单元需要(14)根地址线。 6、4KB RAM存储器的首地址若为0000H,则末地址为( 0FFF)H
7、试编写一个程序(例如将05H和06H拼为56H),设原始数据放在片外数据区2001H单元和2002H单元中,按顺序拼装后的单字节数放入2002H。
解:本题主要考察正确使用MOVX指令对外部存储器的读、写操作。编程思路:首先读取2001H的值,保存在寄存器A中,将寄存器A的高四位和低四位互换,再屏蔽掉低四位,然后将寄存器A的值保存到30H中,然后再读取2002H的值,保存在寄存器A中,屏蔽掉高四位,然后将寄存器A的值与30H进行或运算,将运算后的结果保存在2002H中。 ORG 1000H MAIN: MOV DPTR,#2001H ;设置数据指针的初值 MOVX A,@DPTR ;读取2001H的值 SWAP A ;A的高四位和低四位互换 ANL A,#0F0H ;屏蔽掉低四位 MOV 30H,A ;保存A INC DPTR ;指针指向下一个 MOVX A,@DPTR ;读取2002H的值 ANL A,#0FH ;屏蔽掉高四位 ORL A,30H ;进行拼合 MOVX @DPTR,A ;保存到2002H END
8、编写程序,将外部数据存储器中的4000H~40FFH单元全部清零。
答:本题主要考察对外部数据块的写操作;编程时要注意循环次数和MOVX指令的使用。
ORG 1000H MAIN: MOV A,#0 ;送预置数给A MOV R0,#00H ;设置循环次数 MOV DPTR,#4000H ;设置数据指针的初值 LOOP: MOVX @DPTR,A ;当前单元清零 INC DPTR ;指向下一个单元 DJNZ R0,LOOP ;是否结束 END 9、在AT89S51单片机系统中,外接程序存储器和数据存储器共16位地址线和8位数据线,为何不会发生冲突?参P159答:因为控制信号线的不同:
外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为和。外扩RAM的读、写控制引脚分别与AT89S51的和引脚相连。
外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为,该引脚与AT89S51单片机的相连。 10、
11、判断下列说法是否正确,为什么?
A、由于82C55不具有地址锁存功能,因此在与AT89S51的接口电路中必须加地址锁存器
B、在82C55芯片中,决定各端口编址的引脚是PA1和PA0
C、82C55具有三态缓冲器,因此可以直接挂在系统的数据总线上 D、82C55的PB口可以设置成方式2
答: (A)错; (B)错;
(C)错,82C55不具有三态缓冲器;
(D)错,82C55的B口只可以设置成方式0和方式1。
12、I/O接口和I/O 端口有什么区别?I/O接口的功能是什么?
I/O端口简称I/O口,I/O答:常指I/O接口电路中具有端口地址的寄存器或缓冲器。接口是指单片机与外设间的I/O接口芯片;I/O接口功能:(1) 实现和不同外设的速度匹配;(2) 输出数据缓存;(3) 输入数据三态缓冲。一个I/O 接口芯片可以有多个I/O 端口,传送数据的称为数据口,传送命令的称为命令口,传送状态的称为状态口。当然,并不是所有的外设都需要三种接口齐全的I/O接口。 13、I/O 数据传送有哪几种方式?分别在哪些场合下使用?
答:3种传送方式: (1) 同步传送方式:同步传送又称为有条件传送。当外设速度可与单片机速度相比拟时,常常采用同步传送方式。(2) 查询传送方式:查询传送方式又称为有条件传送,也称异步传送。单片机通过查询得知外设准备好后,再进行数据传送。异步传送的优点是通用性好,硬件连线和查询程序十分简单,但是效率不高。 (3) 中断传送方式:中断传送方式是利用AT89S51本身的中断功能和I/O接口的中断功能来实现I/O数据的传送。单片机只有在外设准备好后,发出数据传送请求,才中断主程序,而进入与外设进行数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。因此,中断方式可大大提高工作效率。
14、常用的I/O端口编址有哪两种方式?他们各有什么特点?MCS—51的I/O端口编址采用的是哪种方式? 答:两种。
(1) 独立编址方式:独立编址方式就是I/O地址空间和存储器地址空间分开编址。独立编址的优点是I/O地址空间和存储器地址空间相互独立,界限分明。但却需要设置一套专门的读写I/O的指令和控制信号。
(2) 统一编址方式:这种方式是把I/O端口的寄存器与数据存储器单元同等对待,统一进行编址。统一编址的优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作。AT89S51单片机使用的是I/O和外部数据存储器RAM统一编址的方式。
15、82C55的“方式控制字”和“PC按位置位∕复位控制字”都可以写入82C55的同一个控制寄存器,82C55是如何来区分这两个控制字的?答: 82C55通过写入控制字寄存器的控制字的最高位来进行判断,最高位为1时,为方式控制字,最高位为0时,为C口的按位置位/复位控制字。
第十章