一个用C语言做51单片机做流水灯控制向左移动一位,右边补0的一段程序作业.求指教!

一个用C语言做51单片机做流水灯控制向左移动一位,右边补0的一段程序作业.求指教!,第1张

//右边补0,直接移位就可以temp<,=1 如果晌迅流水灯只有一个亮,下面的程序就是斗谨或对的,移位之后补1.

#include "reg51.h"

void delay(unsigned char m)

main()

{

unsigned char temp

temp=0xfe //temp=1111 1110,使得P1口的某个引脚为低电平(亮)

while(1)

{

P1=temp //P1口的数据来自temp,而temp的数据是不断变化的

temp=temp<<1 | 0x01//temp向左移动一位,右边补空伍0

if(temp==0xff)

temp=0xfe //( 这里就是要填补的空!!!!!!!!!)

delay(20)

}

}

void delay(unsigned char m) //延时子程序

{

unsigned char i,j,k //定义字符型变量,范围为0至255

for (i=0i<mi++)

{

for (j=0j<100j++)

{

for (k=0k<100k++)

}

}

//稿搏没有编译过,大概思路就键橘祥这伍烂样

#define P_LED P1//定义到你自己的端口

void main(void)

{

unsigned char circledata=0x01,i=0

while(1)

{

for(i=0i<4i++) //显示范围 P_LED.0:P_LED3

{

P_LED=circledata<<i

Delay_ms(1000)//根据自己的晶振写延时1S的函数

}

circledata=0xfe

for(i=3i>=0i--) //显示范围 P_LED.3:P_LED.0

{

P_LED=circledata<<i

Delay_ms(1000)//根据自己的晶振写延时1S的函数

}

}

return

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12336708.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存