Ȧ

来自「单片机应用技术(C语言版)[王静霞][程序源代码].zip」· 代码 · 共 36 行

TXT
36
字号
//程序:ex8_2.c
//功能:利用单片机串行口扩展16位并行I/O口,使每片74LS164所连接的8个发光
//      二极管同时按左右方向往返循环,依次点亮。
#include "reg51.h"
unsigned char dat=0xfe;	        	//定义发送数据
void delay1 (unsigned int i);   	//延时函数声明
main()
{
   unsigned char i;
   SCON=0x00;			  	//设置串行口工作方式为方式0
   while(1)
   {
      for (i=0;i<8;i++)			  
      {
         SBUF=dat;			//传送右8位灯数据
         while(!TI);			//查询TI是否由0变1
         TI=0;				//软件给TI清0
         SBUF=dat;			//传送左8位灯数据
         while(!TI);			//查询TI是否由0变1
         TI=0;				//软件给TI清0
         dat=<<1;			//输出数据左移一位
         delay1(12000);
      }
   }
}
//函数:delay1
//函数功能:当t取值12000时,若晶振fosc=12MHz,大约延时1秒
//形式参数:变量t ,int类型
//返回值:无
void  delay1(int t)
{
   int i;
   for(i=0;i<t;i++)
     {;}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?