
#include<reg51h>
sfr p2=0xa0;
sfr p1=0x90;
sbit p1_0=0x90;
sbit p1_1=0x91;
int kk[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; DELAY();
int a,b;
int main()
{
if(p1_0==0)
{
while(1)
{
b=1;
for(a=0;a<10;a++)
{p2=kk[a];
DELAY();
}
if(p1_1==0)
{b=0; break;}
if(p1_1==0)
{
while(1)
{b=0;
for(a=9;a>=0;a--)
{p2=kk[a];
DELAY();
} } }
if(p1_0==0)
{b=1;break;}
}
}
}
DELAY()
{
unsigned char i,j,p;
for(i=10;i>0;i--)
for(j=100;j>0;j--)
{if(p1_1==0)
{b=0;a=10;break;}
if(p1_0==0)
{b=1;a=-1;break;}
for(p=200;p>0;p--)
;
}
}
你看这样对么。
#include <stdioh>
#define GREAT_THAN(a, b) ((a) > (b))
#define LESS_THAN(a, b) ((a) < (b))
#define GREAT_OR_EQUAL(a, b) ((a) >= (b))
#define LESS_OR_EQUAL(a, b) ((a) <= (b))
#define NOT_EQUAL(a, b) ((a) != (b))
#define EQUAL_TO(a, b) ((a) == (b))
static int test(void)
{
int x;
int y;
printf("> operation:\n");
for (x = 0; x < 2; x++) {
for (y = 0; y < 2; y++) {
printf("%x > %x --> %x\n", x, y, GREAT_THAN(x, y));
}
}
printf("\n< operation:\n");
for (x = 0; x < 2; x++) {
for (y = 0; y < 2; y++) {
printf("%x < %x --> %x\n", x, y, LESS_THAN(x, y));
}
}
printf("\n>= operation:\n");
for (x = 0; x < 2; x++) {
for (y = 0; y < 2; y++) {
printf("%x >= %x --> %x\n", x, y, GREAT_OR_EQUAL(x, y));
}
}
printf("\n<= operation:\n");
for (x = 0; x < 2; x++) {
for (y = 0; y < 2; y++) {
printf("%x <= %x --> %x\n", x, y, LESS_OR_EQUAL(x, y));
}
}
printf("\n!= operation:\n");
for (x = 0; x < 2; x++) {
for (y = 0; y < 2; y++) {
printf("%x != %x --> %x\n", x, y, NOT_EQUAL(x, y));
}
}
printf("\n== operation:\n");
for (x = 0; x < 2; x++) {
for (y = 0; y < 2; y++) {
printf("%x == %x --> %x\n", x, y, EQUAL_TO(x, y));
}
}
return 0;
}
int main(void)
{
test();
return 0;
}
你用的什么单片机?
看你说的应该是跑马灯,给你一个最常见的,51单片机,跑马灯C程序。
若有需要可以给你更多,本人硬件开发工程师。
望采纳。
例,这是一个51单片机的跑马灯C程序,已经在PROTEUS软件上仿真通过
#include<reg51h>
void delay(int);
void main()
{
int i;
P0=0x01;
delay(500);
while(1)
{
for(i=0;i<7;i++)
{
P0<<=1;
delay(500);
}
P0=0x01;
delay(500);
}
}
void delay(intx)
{
int i,j;
for(i=x;i>0l;i--)
for(j=110;j>0;j--);
}
:
#include<reg51h>
void delay(int);
void main()
{
int i;
P0=0x01;
delay(500);
while(1)
{
for(i=0;i<7;i++)
{
P0<<=1;
delay(500);
}
P0=0x01;
delay(500);
}
}
void delay(intx)
{
int i,j;
for(i=x;i>0l;i--)
for(j=110;j>0;j--);
}
如下图
可编程逻辑控制器(Programmable Logic Controller,简称PLC),一种具有微处理机的数字电子设备,用于自动化控制的数字逻辑控制器,可以将控制指令随时加载内存内储存与执行。可编程控制器由内部CPU,指令及资料内存、输入输出单元、电源模组、数字模拟等单元所模组化组合成。
广泛应用于目前的工业控制领域。在可编程逻辑控制器出现之前,一般要使用成百上千的继电器以及计数器才能组成具有相同功能的自动化系统,而现在,经过编程的简单的可编程逻辑控制器模块基本上已经代替了这些大型装置。可编程逻辑控制器的系统程序一般在出厂前已经初始化完毕,用户可以根据自己的需要自行编辑相应的用户程序来满足不同的自动化生产要求。
最初的可编程逻辑控制器只有电路逻辑控制的功能,所以被命名为可编程逻辑控制器,后来随着不断的发展,这些当初功能简单的计算机模块已经有了包括逻辑控制,时序控制、模拟控制、多机通信等许多的功能,名称也改为可编程控制器(Programmable Controller),但是由于它的简写也是PC与个人电脑(Personal Computer )的简写相冲突,也由于多年来的使用习惯,人们还是经常使用可编程逻辑控制器这一称呼,并在术语中仍沿用PLC这一缩写。
char LED;
sbit key1down=P1^0 ; // 设开关key1连接此端口
sbit key2down=P1^1 ; // 设开关key2连接此端口
void main(){
P0=0xff; // 输出低电平LED亮
LED=0xfe;
while(1){
P0=LED; delay();
if(key1){ LED <<= 1 ; } // 将LED左移一位;
if(key2){ LED >>= 1 ; LED |=0x80; } // 将LED右移一位;
if(key1down==0) { key1=1; key2=0;}
if(key2down==0) { key1=0; key2=1;}
}
以上就是关于51单片机四灯闪烁c程序全部的内容,包括:51单片机四灯闪烁c程序、求一个闪光灯C语言程序,、求教通过按键控制单片机LED灯闪烁周期的程序怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)