2019-07-15 23:21发布
暗夜游侠 发表于 2013-8-2 03:30 //====================================================== //假设单片机针脚输出高电平点亮LED,单片机针 ...
wzq1230231 发表于 2013-8-3 00:35 我的文本格式有问题,能不能传一个文本附件给我啊?谢谢!
最多设置5个标签!
//假设单片机针脚输出高电平点亮LED,单片机针脚输出低电平使LED灭掉
//当K键按下时,对应K键的单片机针脚收到低电平
//=======================================================
#include<reg52.h>
#include<intrins.h>
//===========定义D1~D5,K对应针脚===============
sbit D1=P2^0;//定义D1对应针脚
sbit D2=P2^1;//定义D2对应针脚,以下类似
sbit D3=P2^2;
sbit D4=P2^3;
sbit D5=P2^4;
sbit K=P0^0;
//==========延时1s函数==================
void delay() //误差 0us
{
unsigned char a,b,c;
for(c=167;c>0;c--)
for(b=171;b>0;b--)
for(a=16;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}
//==========单片机初始化程序============
void init()
{
D1=D2=D3=D4=D5=0;//各个LED为全灭状态
while(!K);//等待K键放开;一开始按住K键,单片机不能正常工作
}
//=========D1到D5依次点亮程序===========
void on()
{
D1=1;
delay();
D2=1;
delay();
D3=1;
delay();
D4=1;
delay();
D5=1;
delay();
}
//=============D5到D1熄灭程序=============
void off()
{
D5=0;
delay();
D4=0;
delay();
D3=0;
delay();
D2=0;
delay();
D1=0;
delay();
}
//==========================================
// 主函数
//==========================================
void main()
{
init();//等待单片机初始化完成
while(1)
{
while(K);//等待K键被按下
on();
while(K);
off();
}
}
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit k1=P2^0;
uint num;
uchar cishu;
uchar 0xfe,0xfd,0xfb,0xf7,0xef,0x00;
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
EA=1;
TR0=1;
num=0;
while(1)
{
if(k1==0)
{
while(k1==0);
cishu++;
if(cishu==1)
{
if(num==0)
{
P1=0xfe;
}
if(num==20)
{
P1=0xfc;
}
if(num==40)
{
P1=0xf8;
}
if(num==60)
{
P1=0xf0;
}
if(num==80)
{
P1=0xe0;
}
if(num==100)
{
P1=0x00;
}
if(cishu==2)
{
if(num==120)
{
P1=0xf0
}
if(num==140)
{
P1=0xf8;
}
if(num==160)
{
P1=0xfc;
}
if(num==180)
{
P1=0xfe;
}
if(num==200)
{
P1=0xff; num=0;
}
}
if(cishu==3)
{
cishu=0;
}
}
}
}
void t0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
num++;
}
我的文本格式有问题,能不能传一个文本附件给我啊?谢谢!
自己粘贴复制吧,实在不行就直接打,程序的注释我也都写有在上面,看懂应该不难
一周热门 更多>