#include"STC12C5A60S2H"
sbit Key=P2^7;
unsigned char LED_TAB[8]=
{0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void main()
{
unsigned char i=0;
while(1)
{
if(Key==0)
{
P0=~(LED_TAB[i]);
i++;
if(i>=8)i=0;
}
}
}
for(m=0;m<5;m++)
{
P1=0x0;
delay(300);
P1=0xff;
delay(300);
}
是这里吧
#include
<reg51h>
void
delay()
{
unsigned
char
n,
m;
for(
n
=
0;
n
<
100;
n++
)
for(
m
=
0;
m
<
130;
m++
);
}
void
main()
{
int
loop;
unsigned
char
temp
=
0x01;
for(
loop
=
0;
loop
<
8;
loop++
)
{
P1
=
temp;
temp
=
temp
<<
1;
delay();
}
}
哥对你很失望,单片机不同换头文件不就可以了。你得学的灵活些。
#include <reg51h>
void delay(unsigned int i); char LED;
char TAB[16]={0xC0,0xF9,0xA4,0xB0,0x99,//共阳极0~4数码管显示数据
0x92,0x82,0xF8,0x80,0x98,//共阳极4~9数码管显示数据
0xA0,0x83,0xa7,0xa1,0x84,0x8e};
main()
{
unsigned char i;
while (1)
{ LED = 0xfe;
for (i = 0 ;i < 8 ; i++)
{
P0 = LED;
delay(500);
LED = LED << 1; LED = LED | 0x01; if (LED == 0x7f) break; }
for (i = 0 ;i < 8 ; i++)
{
P0 = LED;
delay(500);
LED = LED >> 1; LED = LED | 0x80;
}
}
}
while(1)
{
a[0]=s%10; //给显示数组赋值
a[1]=s/10;
a[2]=10;
a[3]=m%10;
a[4]=m/10;
a[5]=10;
/延时函数/
void delay(unsigned int i)
{
unsigned char j;
for(i; i > 0; i--)
for(j = 255; j > 0; j--);
}
51单片机是单片机接触最早的,下边这个程序希望能帮到你。(只有主函数,就不进行硬件什么定义以及头文件包含什么的了)
void delay(int times){//延时函数,times控制延时时间
int i, j;
for(i = 0; i < times; i++)
for(j = 0; j < 210; j++)
;
}
int main(void){
unsigned char data, i;
while(1){
data = P1;//把开关值读回来
for(i = 0; i < 8; i++){
P0 = ~(0x01 << i); //某位为高电平某位对应的灯亮
delay(data);//把读取的开关值用来控制延时
}
}
}
给个示例程序看看
/-----------------------------------------------
名称:流水灯
公司:上海浩豚电子科技有限公司
编写:师访
日期:20095
修改:无
内容:循环点亮P1口对应的8个LED灯,造成循环流水点亮的效果
------------------------------------------------/
#include<reg52h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
/------------------------------------------------
延时子程序
------------------------------------------------/
void delay(unsigned int cnt)
{
while(--cnt);
}
/------------------------------------------------
主函数
------------------------------------------------/
main()
{
P1=0xfe; //给初始化值 换算成二进制是1111 1110
while(1)
{
delay(30000);//延时程序
P1<<=1; //左移一位 该语句等效于 P1=P1<<1
P1|=0x01; //最后一位补1,该语句等效于 P1=P1|0x01 符号"|"表示"或"
if(P1==0x7f) //检测是否移到最左端?"=="表示检测符号2端的值是否相等
{
delay(30000);
P1=0xfe; //重新赋值
}
}
}
以上就是关于用c语言如何编写按一下开关跑马灯左移一下,按另一个开关右移一下全部的内容,包括:用c语言如何编写按一下开关跑马灯左移一下,按另一个开关右移一下、单片机C语言花式跑马灯程序有一问题解决不了,求大神详解!、求一个八路跑马灯程序(c语言的 )等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)