专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

单片机自学笔记之流水灯

作者:佚名   来源:本站原创   点击数:  更新时间:2011年05月29日   【字体:
#include<reg52.h>  //52系列单片机头文件
#include<intrins.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 指令
*/
关闭窗口

相关文章