本帖最后由 237238009 于 2012-12-24 23:20 编辑
学了2天。51 单片机C语言。写了个简单的程序代码,用一个IO口《8个输出端》做16路 LED的流水灯的 程序 <因为玩了一年的PY语言的 手机程序,写了很多程序,跟C语言代码表达方式有很多不同。但思路差不多。所以学起来很快,> 发表一下。跟大家交流门交流。 CPU频率我用24MHZ LED每闪一次是0.3秒。间隔也是0.3秒。 代码:#include //引入AT89C52全部代码功能
***it p1=P1^0;
***it p2=P1^1;
***it p3=P1^2; //声明赋值
***it p4=P1^3;
***it p5=P1^4;
***it p6=P1^5;
***it p7=P1^6;
***it p8=P1^7; //声明赋值
unsigned int a; //单个定义变量
#define xx unsigned int; //简化定义变量,XX就能代表unsigned int
xx x,y,z;
void defab(); //新建一个涵数 必须 先在 主涵数 前面 先声明 不然会出现错误
void defac(); //新建一个涵数 前 先声明
void defac()//新建一个涵数 名叫ac
{
p1=0;
p2=1;
p3=1;
p4=1;
defab();//调用ab涵数 中 所定义 的 全部功能
p1=1;
p2=0;
p3=1;
p4=1;
defab();
p1=1;
p2=1;
p3=0;
p4=1;
defab();
p1=1;
p2=1;
p3=1;
p4=0;
}
void main() //主涵数
{
while(1) //循环。()内不为0循环,为0退出循环。运行下行代码。
{
p5=1;
p6=0;
p7=0;
p8=0;
defac();//调用ab涵数 中 所定义 的 全部功能
p5=0;
p6=1;
p7=0;
p8=0;
defac();//调用ab涵数 中 所定义 的 全部功能
p5=0;
p6=0;
p7=1;
p8=0;
defac();//调用ab涵数 中 所定义 的 全部功能
p5=0;
p6=0;
p7=0;
p8=1;
defac();//调用ab涵数 中 所定义 的 全部功能
}
}
void defab()//新建一个涵数 名叫ab <作用;用来做延时>
{
for(x=249;x>0;x--)//for循环 (表达式;循环条件;执行X-- 在执行它下面缩进的代码)<后面不能加分号,否则不执行它下面缩进的代码>
for(y=301;y>0;y--);
}
|