找回密码
 注册会员
img_loading
智能检测中
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

新手请大家指教

[复制链接]
admin 发表于 2012-9-2 13:15:50 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
单片机有十天了,还在流水灯阶段打转,进步实在太慢了,
用三种方式写了流水灯程序如下:
1采用位操作的流水灯方式
#include<reg52.h>
sbit D1=P1^0;
sbit D2=P1^1;
sbit D3=P1^2;
sbit D4=P1^3;
sbit D5=P1^4;
sbit D6=P1^5;
sbit D7=P1^6;
sbit D8=P1^7;
unsigned long int a;
void main(void)
{
while(1)
{
a=5000;
D1=0;
while(a--);
a=5000;
D1=1;
while(a--);
a=5000;
D2=0;
while(a--);
a=5000;
D2=1;
while(a--);
a=5000;
D3=0;
while(a--);
a=5000;
D3=1;
while(a--);
a=5000;
D4=0;
while(a--);
a=5000;
D4=1;
while(a--);
a=5000;
D5=0;
while(a--);
a=5000;
D5=1;
while(a--);
a=5000;
D6=0;
while(a--);
a=5000;
D6=1;
while(a--);
a=5000;
D7=0;
while(a--);
a=5000;
D7=1;
while(a--);
a=5000;
D8=0;
while(a--);
a=5000;
D8=1;
while(a--);
}
}
2采用总线操作的流水灯
#include<reg52.h>
unsigned int i;
void main()
{
while(1)
{
i=50000;
P1=0xfe;
while(i--);
i=50000;
P1=0xfd;
while(i--);
i=50000;
P1=0xfb;
while(i--);
i=50000;
P1=0xf7;
while(i--);
i=50000;
P1=0xef;
while(i--);
i=50000;
P1=0xdf;
while(i--);
i=50000;
P1=0xbf;
while(i--);
i=50000;
P1=0x7f;
while(i--);

}
}
3采用位移操作的流水灯
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int //宏定义
#define uchar unsigned char// 宏定义
uchar a ;
void Delay(uint );
void main()

{
a=0xfe;
P1=a;
while(1)
{
a=_crol_(a,1);
Delay(500);
P1=a;
}
void Delay (uint) --------就是这里!!!
{
uint x,y;
for(x=100;x>0;x--)
for(y=z;y>0;y--);
}
}
其中第三种方式编译的时候出错,请各位老师指教。
永登一男. 发表于 2013-5-31 21:52:05 | 显示全部楼层
void Delay (uint) --------就是这里!!!
{
uint x,y;
for(x=100;x>0;x--)
for(y=z;y>0;y--);
}
}

这部分定义了一个Delay函数,起延时作用,最后一个“}”明显是多余的;
另外,函数体内出现了形参z,建议定义函数的时候写在形参的位置上。
void Delay (uint z)
{
uint x,y;
for(x=100;x>0;x--)
for(y=z;y>0;y--);
}
永登一男. 发表于 2013-5-31 21:53:17 | 显示全部楼层
多多加油,我也是从零起步的!
您需要登录后才可以回帖 登录 | 注册会员

*滑块验证:
img_loading
智能检测中
本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2025-1-12 11:00 , Processed in 0.052586 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表