求一个8051单片机的简单程序段
这问题提的,就好像:你要吃你喜欢的菜,让大家随便做一道给你,这怎么下手
这人太懒了,鉴定完毕
百度吧
这个是什么问题呢?我研究几个月先。
这个还是自己百度吧
......我实在是要的急。不然我能上来问么?我C语言实在是不行
给你 这是P1.0口 控制LED一闪一灭的程序 希望能帮到你吧 想问啥你就回复吧
#include "reg51.h"
sbit LED = P1^0;
void delay(void);
void main()
{
LED = 1;
delay();
LED = 0;
delay();
}
void delay(void)
{
unsigned int i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
}
谢谢了。
这孩子,做啥菜啊,不告诉人家怎么知道你喜欢吃啥啊
#include<reg52.h>
unsigned char code table[16]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
};
sbit dula=P2^6;
sbit wela=P2^7;
unsigned int z,tt;
void display(unsigned int z);
void delay(int num);
void timer0();
/***************************************
每当定时器0进入中断后才执行tt++,没进入中断时一直执行display(z)子函数。
****************************************/
void main()
{
tt=0;
z=0;
timer0();
while(1)
{
if(tt==20)
{
tt=0;
z++;
if(z == 100) z=0;
}
display(z);//判断放在外面就会在未进入中断时执行这个语句。
}
}
void display(unsigned int z)
{
int temp,bai,shi,ge;
temp=z;
bai=temp/100;
shi=temp%100/10;
ge=temp%10;
// while(1)
//{
dula=1;
P0=table[bai];
dula=0;//送百位
P0=0xff;//消隐关闭位选全部高电平
wela=1;
P0=0xfe;
wela=0;
delay(5);
dula=1;
P0=table[shi];
dula=0;
P0=0xff;//消隐,短时间内位选打开,此时段选信号还未改变
wela=1;
P0=0xfd;
wela=0;
delay(5);
dula=1;
P0=table[ge];
dula=0;
P0=0xff;//消隐,短时间内位选打开,此时段选信号还未改变
wela=1;
P0=0xfb;
wela=0;
delay(5);
}
void delay(int num)
{
int x,y;
for(x=num;x>0;x--)
for(y=110;y>0;y--);
}
void timer0()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
void inter0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
}
数码管自动加1,慢慢来一步步的看
此问题无解啊。
从摇摇棒开始吧
