通过实验一的学习,我们此次来看看怎么能通过十六进制直接控制八个串口来进行工作。压缩包中有代码和仿真
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include "reg52.h"
- #define u8 unsigned char
- sbit kai=P2^0;
- #define led P1
- void delay(long i){while(i--);}
- u8 code tab[15]={1,2,4,8,16,32,64,128,64,32,16,8,4,2,1};
- u8 fang=0;
- void loop(u8 i,u8 z)
- {
-
- for(i;i<z;i++)
- //i=7;i<15;i++向右 i=0;i<8;i++ 向左
- {
- if(kai==0)
- {
- fang++;
- if(fang==3)fang=0;
- while(kai==0);
- }
- P1=~tab[i];//8个流水灯
- delay(3000);
- }
-
- }
- main(){
- u8 i=0;//i k=0 m x y z In Q Out0
- while(1)
- {
- if(fang==1)loop(7,15);//向右
- else if(fang==0)loop(0,8);//向左
- else loop(0,14);//左右
- }
- }
复制代码
所有资料51hei提供下载:
按键控制流水灯方向.rar
(68.32 KB, 下载次数: 21)
|