?? 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 + -