|
20黑幣
DS=CY; 這個(gè)語(yǔ)句是在reg51.h中定義的,我不太明白這個(gè)語(yǔ)句是什么意思,請(qǐng)大佬幫忙解讀一下
/* 名稱:74HC595串入并出芯片應(yīng)用
說(shuō)明:74HC595是具有一個(gè)8位串入并出的移位寄存器和一個(gè)8位輸出寄存器,
本例利用74HC595,通過(guò)串行輸入數(shù)據(jù)來(lái)控制數(shù)碼管的顯示。
*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit SH_CP=P2^0; //移位時(shí)鐘脈沖
sbit DS=P2^1; //串行數(shù)據(jù)輸入
sbit ST_CP=P2^2; //輸出鎖存器控制脈沖
uchar temp;
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//延時(shí)
void DelayMS(uint ms)
{
uchar i;
while(ms--) for(i=0;i<120;i++);
}
//串行輸入子程序
void In_595()
{
uchar i;
for(i=0;i<8;i++)
{
temp<<=1;DS=CY;
SH_CP=1; //移位時(shí)鐘脈沖上升沿移位
_nop_();_nop_();
SH_CP=0;
}
}
//并行輸出子程序
void Out_595()
{
ST_CP=0;_nop_();
ST_CP=1; //上升沿將數(shù)據(jù)送到輸出鎖存器
_nop_();
ST_CP=0; //鎖存顯示數(shù)據(jù)
}
//主程序
void main()
{
uchar i;
while(1)
{
for(i=0;i<10;i++)
{
temp=DSY_CODE[ i];
In_595(); //temp中的一字節(jié)數(shù)據(jù)串行輸入74HC595
Out_595(); //74HC595移位寄存數(shù)據(jù)傳輸?shù)酱鎯?chǔ)寄存器并出現(xiàn)在輸出端
DelayMS(200);
}
}
}
|
最佳答案
查看完整內(nèi)容
CY是硬件進(jìn)位標(biāo)志位,在進(jìn)行算術(shù)運(yùn)算時(shí),可以被硬件置位或清零,以表示運(yùn)算結(jié)果中高位是否有進(jìn)位或借位的狀態(tài)。 temp
|