串行輸出數(shù)據(jù)spi程序(查詢方式)
串行輸出數(shù)據(jù)(查詢方式)
該例采用查詢方式向74LS164送兩位串行數(shù)據(jù)(0 ~9數(shù)字),并顯示在74LS164上連接的共陽數(shù)碼管上。
該例中:
n是循環(huán)變量,同時也是向74LS164發(fā)送的數(shù)據(jù)。
k是延時循環(huán)變量。
P3_0連接到74LS164的時鐘端CLK。
P3_1連接到74LS164的數(shù)據(jù)輸入A和B端。
程序中table[]是共陽數(shù)碼管的0~9數(shù)字的段碼編碼。
#include "AT89X51.h"
unsigned int code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //共陽數(shù)碼管數(shù)據(jù)
該例采用查詢方式向74LS164送兩位串行數(shù)據(jù)(0 ~9數(shù)字),并顯示在74LS164上連接的共陽數(shù)碼管上。
該例中:
n是循環(huán)變量,同時也是向74LS164發(fā)送的數(shù)據(jù)。
k是延時循環(huán)變量。
P3_0連接到74LS164的時鐘端CLK。
P3_1連接到74LS164的數(shù)據(jù)輸入A和B端。
程序中table[]是共陽數(shù)碼管的0~9數(shù)字的段碼編碼。
#include "AT89X51.h"
unsigned int code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //共陽數(shù)碼管數(shù)據(jù)
//此例出自51hei單片機http://www.51hei.com
void main ()
{unsigned int n,k;
SCON=0;//設置串行口,工作在方式0
EA=0; //禁止中斷,采用查詢方式發(fā)送,
while(1)
{for(n=0;n2;n++) //發(fā)送兩位數(shù)據(jù)
{
TI=0; //清發(fā)送完畢標志位
SBUF=table[n]; //發(fā)送n的七段譯碼
while(!TI); //等待發(fā)送完畢
for(k=0;k20000;k++); //延時后再次發(fā)送下一個數(shù)
}
for(k=0;k50000;k++); //延時后,下一次發(fā)送
}}
void main ()
{unsigned int n,k;
SCON=0;//設置串行口,工作在方式0
EA=0; //禁止中斷,采用查詢方式發(fā)送,
while(1)
{for(n=0;n2;n++) //發(fā)送兩位數(shù)據(jù)
{
TI=0; //清發(fā)送完畢標志位
SBUF=table[n]; //發(fā)送n的七段譯碼
while(!TI); //等待發(fā)送完畢
for(k=0;k20000;k++); //延時后再次發(fā)送下一個數(shù)
}
for(k=0;k50000;k++); //延時后,下一次發(fā)送
}}
評論