51单片机的一个简单程序如下:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,P0
ANL A,#1EH
CJNE A,#02H,MAIN1
SETB P1.1
CLR P1.2
CLR P1.8
SJMP MAIN
MAIN1:
CJNE A,#04H,MAIN2
CLR P1.1
SETB P1.2
CLR P1.8
SJMP MAIN
MAIN2:
CJNE A,#1EH,MAIN3
CLR P1.1
CLR P1.2
SETB P1.8
SJMP MAIN
MAIN3:
CLR P1.1
CLR P1.2
CLR P1.8
LJMP MAIN
END
名称:IO
口高低电平控制
功能:点亮
P1
口的一个
LED
灯
就像我们学习英语时第一个要学字母
A
通过程序了解如何控制端口的高低电平
:
1278088276
日期:
2012.8
------------------------------------------------*/
#include<reg52.h>//
头文件,无需改动。时间学久了就会明白它的作用了。
//
就好比我们走路时一定要先穿双鞋。
sbit LED=P1^0
// sbit
是系统默认的一个关键字,
LED
则是自己给
P1^0
端口取的名字
//
这句话的功能就是给
P1^0
取个名字叫
LED
unsigned char i,j
//
定义变量
/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
while (1)
//
主循环
{
For(i=1000i>0i--)
{
LED=1
//
将
P1.0
口赋值
1
,对外输出高电平
,
若二极管共阴,则点亮
//
二极管
}
For(i=1000i>0i--)
{
LED=0
//
将
P1.0
口赋值
0
,对外输出低电平
}
}
}
程序
2
:点亮一个二极管的第二个方法
/*-----------------------------------------------
名称:
IO
口高低电平控制
功能:点亮
P1
口的一个
LED
灯
说明:该程序是学习单片机入门的第一个程序
就像我们学习英语时第一个要学字母
A
通过程序了解如何控制端口的高低电平
:
1278088276
日期:
2012.8
------------------------------------------------*/
#include<reg52.h>
/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
P1 = 0xFF
//P1
口全部为高电平,对应的
LED
灯全灭掉,
//FF
换算成二进制是
1111 1111
P1 = 0xFE
//P1
口的最低位点亮,可以更改数值是其他的灯点亮
//0xfe
是
16
进制,
0x
开头表示
16
进制数,
//fe
换算成二进制是
1111 1110
while (1)
//
主循环
{
//
主循环中添加其他需要一直工作的程序
}
}
程序
3
:点亮多个二极管
/*-----------------------------------------------
名称:点亮多个二极管
功能:点亮多个二极管
说明:该程序是学习单片机入门的第一个程序
就像我们学习英语时第一个要学字母
A
通过程序了解如何控制端口的高低电平
:
1278088276
日期:
2012.8
#include<reg52.h>
sbit LED0=P1^0//
用
sbit
关键字
定义
LED
到
P1.0
端口,
sbit LED1=P1^1//LED
是自己任意定义且容易记忆的符号
sbit LED2=P1^2
sbit LED3=P1^3
sbit LED4=P1^4
sbit LED5=P1^5
sbit LED6=P1^6
sbit LED7=P1^7
/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
LED0=0
//
将
P1.0
口赋值
0
,对外输出低电平
LED1=1
//
将
P1.1
口赋值
1
,对外输出低电平
LED2=0
LED3=1
LED4=0
LED5=1
LED6=0
LED7=1
while (1)
//
主循环
{
//
主循环中添加其他需要一直工作的程序
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)