文档详情

单片机与锁存器控制流水灯实验.doc

发布:2017-06-10约1.37千字共6页下载文档
文本预览下载声明
实例1 程序如下 #includedelay.h的程序 #ifndef __delay_h__ #define __delay_h__ #includereg51.h #define uint unsigned int #define uchar unsigned char void delay1ms() { uchar i,j; for(i=0;i10;i++) for(j=0;j33;j++) ; } void delaynms(uchar n) { uchar i; for(i=0;in;i++) delay1ms(); } void delay(uint i) { while(--i); } #endif /* 名称:8 只LED 左右来回点亮 说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果 */ #includereg51.h #includedelay.h #includeintrins.h #define uchar unsigned char #define uint unsigned int void main() { uchar i; P0=0xfe; while(1) { for(i=0;i7;i++) { P0=_crol_(P0,1); //P2 的值向左循环移动 delaynms(150); } for(i=0;i7;i++) { P0=_cror_(P0,1); //P2 的值向右循环移动 delaynms(150); } } } 实例2 #includereg51.h //包含单片机寄存器的头文件 #includedelay.h #includeintrins.h #define uint unsigned int #define uchar unsigned char uchar aa; uchar i; void main() { aa=0x7f; // aa=0xfe; while(1) { P0=aa; delaynms(500); for(i=0;i7;i++) { P0=P01; //P0=P01; P0=P0|0x80; //P0+=1; delaynms(500); } //aa=_crol_(aa,1); 两个流水灯程序(上移,下移) } } 实例3用锁存器控制流水灯 #include reg51.h #define uint unsigned int void delay() { uint i,j; for(i=0;i500;i++) for(j=0;j110;j++) ; } void main() { uint i=0; while(1) { P1=0x00; // P1=0x01; P2 = ~(1(i++%8)); //不考虑异常情况 delay(); P1=0x00; } }
显示全部
相似文档