51单片机 管脚 初始化

51单片机 管脚 初始化,第1张

这就要看你想初始化为高电平有效还是低电平有效,只要在数值里面反一下就可以了,即0变1或1变0,不懂你是学汇编语言还是C语言,我举个例子你看看吧。

ORG 100H ;单片机起始地址

MOV A,31H ;分配存储空间

M0:MOV A,#0EFH ;P2口赋初值( 即P2口管脚初始化)

MOV R0,#08H ;循环次数

M1:MOV P2,A ;给P2口赋值,从而点亮LED

LCALL DELAY ;LED点亮延迟时间

LCALL DELAY

LCALL DELAY

RR A ;LED右移循环显示

DJNZ R0,M1 ;循环结构语句

JMP M0

DELAY: MOV R6,#0FFH ;延迟时间设定

DL1: MOV R7,#0F0H

DJNZ R7,$

DJNZ R6,DL1

RET

END

只用来下程序,你的程序中不用串口就不需要初始化。凡是能够用串口下载程序的单片机,内部都有自举程序,这个程序是隐藏的,不占用用户程序空间,在自举程序中会对串口初始化,但一旦脱离自举程序把权限交给用户,进行了一次类似手机恢复出厂设置的动作,你程序中再次使用串口时还是得初始化。

RS BIT P25

RW BIT P26

E BIT P27

WRCMD EQU 30H

TIME EQU 31H

ORG 0000H

AJMP MAIN

ORG 0040H

MAIN: MOV P0,#01H ;清除屏幕

CALL ENABLE ;写到指定寄存器

MOV P0,#38H ;功能设定(8位,2行,57点阵式)

CALL ENABLE ;写到指定寄存器

MOV P0,#0CH ;显示器ON,光标OFF,闪烁OFF

CALL ENABLE ;写到指定寄存器

MOV P0,#80H ;第一行起始地址

CALL ENABLE ;写到指定寄存器

MOV DPTR,#TABLE1

CALL WRITE1 ;到TABLE1取码并写到数据寄存器

CALL DISPLAY

AJMP $

DISPLAY: MOV P0,#0C0H

CALL ENABLE

MOV DPTR,#TABLE2

CALL WRITE3

RET

ENABLE: CLR RS ;RS=0,写到旨令寄存器

CLR RW ;R/W=0

CLR E ;E=1--0使能

CALL DELAY ;调用延时子程序

SETB E ;E=1禁止

RET

WRITE1: MOV R1,#00H ;取码指针

A1: MOV A,R1 ;到TABLE取码

MOVC A,@A+DPTR

CALL WRITE2 ;调用写入到数据寄存器子程序

INC R1 ;取码指针加1

CJNE A,#00H,A1 ;是否取到结束码00H

RET

WRITE3:

MOV R1,#0 ;从左至右显示

A2: MOV A,R1

MOVC A,@A+DPTR

CALL WRITE2

INC R1

CJNE A,#00H,A2

RET

WRITE2: MOV P0,A ;将数据码写入数据寄存器

SETB RS ;RS=1

CLR RW ;R/W=0

CLR E ;E=1--0 使能

CALL DELAY

SETB E ;E=1 禁止

RET

DELAY: MOV R4,#05 ;延时子程序

D1: MOV R5,#0FFH

DJNZ R5,$

DJNZ R4,D1

RET

TABLE1: DB 'Temperature is :',00H

TABLE2: DB '3~9',00H

END

能实现你所要求的功能的51单片机的C语言程序是:

#include<reg51h>

void main(void)

{

while(1);

}

这是最简单的,就是51单片机上电啥都不干直接进入死循环就行了。因为51单片机的各个IO口上电就是高电平。它自己就默认置1了。

如果硬要写清楚那就是:

#include<reg51h>

void main(void)

{

P0 = 0xFF;

P1 = 0xFF;

P2 = 0xFF;

P3 = 0xFF;

while(1);

}

这样单片机的32个IO口肯定全部置一了(那四句赋值语句简直多此一举)。

以上就是关于51单片机 管脚 初始化全部的内容,包括:51单片机 管脚 初始化、51单片机中串口如果只用来下载程序程序,还要初始化吗、51单片机驱动1602初始化问题(汇编)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9414052.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存