51单片机使用注意事项:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011-10-7
开始做
利用51控制继电器
1.51的IO上电时为高电平,所以用7420+ULN2803;1—0—1,则继电器的电感两端均为
5v,所以继电器不导通
2.利用两个继电器控制给电机的电流方向——jdq3=0;jdq4=1—正转;jdq3=1;jdq4=0—
反转;正反转相互切换时一定要加入停转的状态——jdq3=1;jdq4=1,并且保持停转不小于1s。
3.一定注意电源,gnd,晶振,ale,rest;在本次设计中rest的电容焊反了,所以导致单片
机工作不正常。
4.添加key和led作为程序指示。
5.51单片机使用注意事项:
1)keil新建工程时,选好单片机类型
2)#include对应选好的单片机
3)工程中别忘了设定生成hex文件
4)读取P1/2/3.x口时一定要用&(1<<x),而不要用P3^2
5)key要消抖(30ms)
6)Delay_nms()要加入EA=0;……EA=1;
7)P0口作输出口使用时,输出级属漏极开路,必须外接上拉电阻,才有高电平输出。
P0口作输入口读引脚时,应先向锁存器写1,使T2截止,不影响输入电平。
MUX与锁存器的Q端接通,与门输出为0,T1截止,输出驱动级就工作在需外接上拉电阻的漏极开路方式。
①P0口用作输出口
CPU在执行输出指令时,内部数据总线的数据在“写锁存器”信号的作用下,由D端进入锁存器,取反后出现在Q端,再经过T2反向,则P0.X引脚上的数据就是内部总线的数据。
由于T2为漏极开路输出,故此时必须外接上拉电阻。
②P0口用作输入口
数据可以读自端口的锁存器,也可以读自端口的引脚,这要看输入操作执行的是“读锁存器”指令还是“读引脚”指令。
⏹方式1:读引脚。
CPU在执行“MOV”类输入指令时(如:MOV A , P0),内部产生的
操作信号是“读引脚”。
P0.X引脚上的数据经过缓冲器2读入到内部总线。
注意,在读引脚时,必须先向电路中的锁存器写入1,使T2截止,P0.X引脚处于悬浮状态,可作为高阻抗输入。
⏹方式2:读锁存器。
CPU在执行“读-改-写”类输入指令时(如:ANL P0, A ),内部产
生的操作信号是“读锁存器”,锁存器中的数据经过缓冲器1送到内部总线,然后与A的内容进行逻辑“与”,结果送回P0的端口锁存器并出现在引脚。
除了MOV类指令外,其他的读口操作指令都属于这种情况。
8)P0/1/2/3作为输入口时,必须先向锁存器写“1”,使场效应管T截止。
再读。
8)P0口驱动能力较强
9)注意com一般用T1工作在方式2,在com初始化时涉及到TMOD,如果在code 中涉及T0等其他计数器,在设置TMOD时不要影响com的TMOD。
10)为了用串口9600bps,晶振最好用11.0592MHZ的。
51mcu汇编编程注意事项:
1.一律大写
2.INT0 / INT1不能作为标号
3.一定要用英文输入法
4.注意0和O
5.关键字显蓝色
6.立即数,字母前要加0如#0aaH,前要加#
7.新建工程时不用start.asm
8.PUSH ACC ;POP ACC 而不能用A
9.debug view C:地址—程序空间;D:地址—数据空间;X:地址—片外数据空间
10.一个工程下只能有一个汇编文件
11.SJMP $ 而不是S
12.汇编语言框架:
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:……
…
…
SJMP $
;子程序1
L1:……
RET
;子程序2
L2:……
RET
END。