|
单片机,初级问题,大家指教。初学者,大家指教了。谢谢了。
[复制链接]
MCS—51系列单片机存储器包括片内ROM(或EPROM)和RAM外, 另外还有128个字节的RAM区作为特殊功能寄
存器(SFR)区。 片内、 片外程序存储器和数据存储器各自总容量为64 KB。
--------------------是总共64k,还是每个64k?
=====================================================================================================
3.25
与DB伪指令一样,当16位数据项或项表超过一行后,下一行同样以DW开始。
--------------什么意思?地址对齐?
=====================================================================================================
【例4-3源程序】
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: CLR C ;利用ADDC指令前一定要考虑CY位
MOV A,31H ;进行加法运算一定要将其中一个加数 存放到A中
ADD A,33H
MOV 35H,A ;低8位相加后存放在35H单元
MOV A,30H
ADDC A,32H ;高位相加必须考虑低位相加后的进位
MOV 34H,A ;高8位相加后存放在34H单元
SJMP $
----------------------ORG 把程序定位到0030H了,也就是下面的代码在0030H开始存放,而其中的运算
还在31H、33H、等存放,那么不是互相冲突了码?
======================================================================================================
试根据R0中的序号 (OOH-0FH), 控制程序转移到不同的分支程序去,设有 16 个分支程序分别为PROG0~
PROG15。
【例4-8源程序】
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV A,R0
RL A
MOV DPTR,#JMPTAB
JMP @A+DPTR
JMPTAB: LJMP PROG0
LJMP PROG1
……….
LJMP PROG15
为什么R0要循环左移一位呢?
====================================================================================================
定时基准:单片机中的晶振提供一个精确的定时基准。由单片机的晶振经过12分频后获得的一个脉冲源,
即采用机器周期作为定时基准,如果晶振为12M,则定时基准为1us
--------------12分频是什么东西?机器周期,定时基准都是什么?
====================================================================================================
例6.4 用T0定时,选择工作模式0,由单片机P1.0输出占空比为50%、周期为2ms的方波,晶振频率为12M
。
源程序如下: ORG 0000H
LJMP MAIN
ORG 000BH
LJMP INT_TIME0
ORG 0030H
MAIN: MOV TMOD, #00H ;设置工作方式
MOV TH0, #0E0H ;设初始值
MOV TL0, #18H
SETB TR0 ;启动定时器
SETB EA ;开放定时器中断
SETB ET0
SETB P1.0
LJMP $
INT_TIME0: MOV TH0, #0E0H ;对定时器重新赋值
MOV TL0, #18H
CPL P1.0
RETI
---------------------50%的占空比,周期为2ms的方波。这个是怎么算出来的?怎么进行设置的?
====================================================================================================
例6.7 用T1定时,选择工作模式1,由单片机P1.0输出50Hz的方波,晶振频率=12M。
源程序如下:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV TMOD,#10H ;设置T1为模式1
SETB TR1 ;启动定时
LOOP: MOV TL1,#0D8H ;送初值
MOV TH1,#0F0H
JNB TF1,$ ;查询定时时间到否
CLR TF1 ;产生溢出,清标志位
CPL P1.1 ;取反
SJMP LOOP ;重复循环
-----------------------------这个把P1.1取反是做什么?50HZ的方波是通过哪里设置的?
====================================================================================================
====================================================================================================
====================================================================================================
各位大侠,指点一下,小弟初学,有很多不懂,有点崩溃,大家帮帮忙吧,谢谢了。
|
|