嵌入式开发交流网论坛

标题: 单片机学习问题集,都搞懂你就厉害了 [打印本页]

作者: 觋牧    时间: 2018-6-27 05:14
标题: 单片机学习问题集,都搞懂你就厉害了
吴鉴鹰单片机开发板地址
店铺:【吴鉴鹰的小铺】

地址:【http://item.taobao.com/item.htm?_u=ukgdp5a7629&id=524088004171】

[attach]2345[/attach]

答:先了解一下什么是时钟电路?
时钟电路就是产生像时钟一样准确运动的振荡电路,任何工作都按时间顺序。用于产生这个时间的电路就是时钟电路。
组成:晶体振荡器、晶震控制芯片和电容组成。
现在流行的串行时钟电路有:DS1302、DS1307、PCF8485等
它们的特点:接口简单、价格低廉、使用方便。
DS1302:具有涓细电流充电能力的电路,主要特点:采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768KHz晶振。
PLL(PhaseLocked Loop):锁相环电路。用来统一整合时脉讯号,使高频器件正常工作。如:内存的存取资料等。PLL用于振荡器中的反馈技术。许多电子设备要正常工作,通常需要外部的输入信号与内部的振荡信号同步。一般的晶振由于工艺与成本原因,做不到很高的频率,而在需要高频应用时,有相应的器件VCO,实现转成高频,但不稳定,故利用锁相环路就可以实现稳定且高频的时脉冲讯号。
什么是时脉:指同步电路中时钟的基础频率,它以(若千次周期每秒)来度量,单位是(Hz)
总之:PLL可以同步频率,相位正交。倍频、变频。
1、立即寻址,寻址空间为ROM;
2、直接寻址,寻址空间为片内RAM的低128B和特殊功能寄存器;
3、寄存器寻址,寻址空间为A、B、DPTR、CY、通用工作寄存器等;
4、寄存器间接寻址,片内RAM低128B、片外RAM;
5、相对寻址,寻址空间为ROM;
6、变址寻址,寻址空间为ROM;
7、位寻址,寻址空间为片内RAM低128B的位寻址区的128个位,其字节地址为20H~2FH;以及部分可以位寻址的特殊功能寄存器。

参考:AT89C51单片机能直接认识和执行的机器指令有255条,有7种寻址方式,即立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。

1.直接寻址:
指令中直接给出参与操作的数据的地址,该地址一般用direct表示。
汇编指令:MOV A,direct
该指令的功能是将片内RAM地址direct单元中的内容(参与操作的数据)传送到累加器A中,双字节指令。

2.立即寻址:
指令中直接给出参与操作的数据,称立即数,用data表示。在汇编语言中,为标明立即数,为data加前缀”#”。立即数可以是8位和16位二进制数,分别用#data和#data16表示。
汇编语言指令:MOV A,#data
该指令将立即数data传送到累加器A中,双字节指令。

3.寄存器寻址:
参与操作的数据存放在寄存器中,汇编指令中直接以寄存器名来表示参与操作的数据地址,寄存器包括工作寄存器R0~R7、累加器A、AB、数据指针DPTR和位运算寄存器C。
汇编语言指令:MOV A,Rn ;n=0~7
该指令将Rn中的内容传送到累加器A中,单字节指令。

4.寄存器间接寻址:
寄存器间接寻址为二次寻址,第一次寻址得到寄存器的内容为(Ri)或(DPTR),第二次寻址是将第一次寻址得到的寄存器内容作为地址,并在其中存、取参与操作的数据。汇编语言中,寄存器前缀@是寄存器间接寻址的标志,有@Ri、@DPTR等。
汇编语言指令:MOV A,@Ri ;i=0、1
该指令是将Ri中的内容作为地址,再将该地址中的内容传送到累加器A中,单字节指令。

5.变址寻址:
间接寻址由两个寄存器提供。若由A、PC提供,在汇编语言指令中寻址地址表示为@A+PC;若由A和DPTR提供,在汇编语言指令中寻址地址为@A+DPTR。其中,PC或DPTR被称为基址寄存器,A被称为变址寄存器,基址与变址相加为16位无符号加法。若变址寄存器A中内容加基址寄存器DPTR(或PC)中内容时,低8位有进位,则该进位直接加到高位,不影响进位标志。因变址寻址指令多用于查表,故常称为查表指令。
汇编语言指令:MOVC A,@A+DPTR
该指令将DPTR中的内容加上A中的内容作为地址,再将该地址中的内容传送到累加器A中,单字节指令。

6.相对寻址:
相对寻址是以相对寻址指令的下一条指令的程序计数器PC的内容为基值,加上指令机器代码中的“相对地址”,形成新的PC值(要转移的指令地址)的寻址方式。指令机器代码中“相对地址”指的是用一个带符号的8位二进制补码表示的偏移字节数,其取值范围为-128~+127,负数表示向后转移,正数表示向前转移。
若(PC)表示该指令在ROM中的首地址,该指令字节数为2,执行时分两步操作:(PC)←(PC)+2,(PC)←(PC)+相对地址。第一步完成后,PC中的值为该指令的下一条指令的首地址;第二步完成后,PC中的内容(PC)为转移的目标地址。所以,转移的目标地址范围是该相对寻址指令的下一条指令首址加上-128~—+127字节的地址。
汇编语言指令:SJMP rel
汇编语言相对寻址指令中的”rel”往往是一个标号地址,表示ROM中某转移目标地址。汇编软件对该汇编语言指令进行汇编时,自动算出“相对地址”并填入机器代码中,应将”rel”理解为“带有相对意义的转移目标地址”。
Rel=(PC)+相对寻址指令字节数+相对地址
其中,(PC)为该指令所在ROM中的首地址。

7.位寻址:
参与操作的数据为“位”,而不是字节,是对片内数据存储器RAM和SFR中可位寻址单元的位进行操作的寻址方式。
汇编语言指令:ANL C,bit
该指令将bit(位地址)中的内容(0或1)与C中的内容进行与操作,再将结果传送到PSW中的进位标志C中。
看门狗相关问题:
复位相关问题:
堆栈相关问题:
中断相关问题:

其它


喜欢本文的亲们欢迎点赞


[attach]2346[/attach][attach]2347[/attach]

技术源于积累,成功来自执着
——单片机精讲吴鉴鹰





欢迎光临 嵌入式开发交流网论坛 (http://www.dianzixuexi.com/bbs/) Powered by Discuz! X3.2