📄 ex8_2.c
字号:
//程序: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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -