------------------------------------------------/
#include<reg52h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
void Delay(unsigned int t); //函数声明
/------------------------------------------------
主函数
------------------------------------------------/
void main (void)
{
unsigned char i; //定义一个无符号字符型局部变量 i 取值范围 0~255
Delay(50000);
P2=0xfe; //赋初始值
while (1) //主循环
{
for(i=0;i<8;i++) //加入 for循环,表明for循环大括号中的程序循环执行8次
{
Delay(50000);
P2<<=1;
P2=P1|0x01; //左移后,最右端自动赋值0,所以需要该语句赋值1
}
P2=0xfe; //重新赋初始值
//主循环中添加其他需要一直工作的程序
}
}
/------------------------------------------------
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
------------------------------------------------/
void Delay(unsigned int t)
{
while(--t);
}#include<reg51h> 包含单片机专用头文件
#include<intrinsh> 这个是什么俺也不知道,但这个程序不需要这个头文件
void Delay10ms(unsigned int c); 自定义的延时函数声明
main() 主函数
{
unsigned int LED; 建立一个数值型变量,变量名 LED
LED=0xfe; 给这个变量赋值,0xfe 换成二进制数为 1111 1110
while(1) 主循环
{
P2=LED; 点亮发光管,即先点亮右边的第一个
Delay10ms(50); 延时一段时间
LED=LED<<1; 点亮的发光管,向左移动一位
if (P2==0x00) 判断是否8个全部点亮了
{
LED=0xff; 如果全部点亮,则将全部发光管熄灭
}
}
}
void Delay10ms(unsigned int c)延时函数主程序
{
unsigned char a, b;建立两个变量 a b
for(;c>0;c--)循环语句,不断改变变量数值,已达到延时目的
{
for(b=38;b>0;b--)
{
for(a=130;a>0;a--);
}
}
}
给你翻译了,希望能帮到你#include<reg51h>
sbit key=P1^0;
void delay(int a)
{
while(a--);
}
main()
{
while(1)
{
P0=0xff;
while(key==0)
{
P0=0xff;delay(10000);
P0=0x00;delay(10000);
}
}
}开关,接在 P27 与地之间。
#include <AT89X51H> //预处理命令
void w(unsigned char k)
{
unsigned int a; //定义变量a 为int 类型
if (k) {
while(P2_7); //没有按就循环,等待按下
for (a = 0; a < 600; a++); //延时消抖
while(P2_7); //没有按就循环
}
else while(!P2_7); //按下就循环,等待松开
}
void main(void) //主函数名
{
while(1) {
w(1); P1_0 = 0; w(0); P1_0 = 1;
w(1); P1_1 = 0; w(0); P1_1 = 1;
w(1); P1_2 = 0; w(0); P1_2 = 1;
w(1); P1_3 = 0; w(0); P1_3 = 1;
w(1); P1_4 = 0; w(0); P1_4 = 1;
w(1); P1_5 = 0; w(0); P1_5 = 1;
w(1); P1_6 = 0; w(0); P1_6 = 1;
w(1); P1_7 = 0; w(0); P1_7 = 1;
}
}这是只是百点亮P1口的程序
#include<reg51h>
void
main()
{
while(1)
{
p1=0x00;
}
}
这是闪烁度P1口回程序
#include<reg51h>
void
delay(unsigned
int
i)
//延时函数
{
unsigned
int
k;
for(k=0;k<i;k++);
}
void
main()
//主函数
{
while(1)
//循环函数
{
P1=0x00;
//点亮P1口
delay(2000);
//延时
P1=0xff;
//熄灭P1口
delay(200);
//延时
}
}
纯手打,答对你有帮助的话请采纳
谢谢
单片机流水灯的程序,在百度知道里是最多的,随便搜索一下,就可以搜索到无数个答案,有仿真图和程序,再根据你的仿真图,稍做修改就成了。那两个左右按键,要用按纽BUTTON。如下图所示的接法。要写程序,财富值太少了,恐怕没有人写。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)