微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机自学笔记之流水灯

单片机自学笔记之流水灯

时间:08-24 来源:互联网 点击:

#includereg52.h> //52系列单片机头文件
#includeintrins.h> //C51库自带头文件

#define uchar unsigned char //宏定义无符号字符型为uchar
#define uint unsigned int //宏定义无符号整型为uint

void delay(uint z); //声明延时函数
uchar aa; //定义无符号变量
void main() //主函数
{
aa=0xfe; //给变量赋初值
while(1) //大循环,无限循环
{
P1=aa; //给P1口赋值1010 1010
delay(500); //调用延时子函数延时500毫秒
aa=_crol_(aa,1);//调用intrins.h中的循环左移函数
}
}

void delay(uint z) //带参数延时子函数,延时z毫秒
{
uint x,y; //定义局部变量,局部变量只在此子函数范围内有效,退出子函数时,变量空间自动释放
for(x=z;x>0;x--) //双重for循环语句
for(y=110;y>0;y--); //利用循环语句实现CPU延时,占用CPU
}

/*
intrins.h头文件描述:
内部函数 描述
_crol_ 字符循环左移
_cror_ 字符循环右移
_irol_ 整数循环左移
_iror_ 整数循环右移
_lrol_ 长整数循环左移
_lror_ 长整数循环右移
_nop_ 空操作8051 NOP 指令
_testbit_ 测试并清零位8051 JBC 指令
*/

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top