1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
74hc595單片機程序 請幫我解讀DS=CY 這個語句
[打印本頁]
作者:
大迪a
時間:
2020-6-3 23:31
標題:
74hc595單片機程序 請幫我解讀DS=CY 這個語句
DS=CY; 這個語句是在reg51.h中定義的,我不太明白這個語句是什么意思,請大佬幫忙解讀一下
/*
名稱:
74HC595
串入并出芯片應用
說明:
74HC595
是具有一個
8
位串入并出的移位寄存器和一個
8
位輸出寄存器,
本例利用
74HC595
,通過串行輸入數據來控制數碼管的顯示。
*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit SH_CP=P2^0; //
移位時鐘脈沖
sbit DS=P2^1; //
串行數據輸入
sbit ST_CP=P2^2; //
輸出鎖存器控制脈沖
uchar temp;
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//
延時
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; //
移位時鐘脈沖上升沿移位
_nop_();_nop_();
SH_CP=0;
}
}
//
并行輸出子程序
void Out_595()
{
ST_CP=0;_nop_();
ST_CP=1; //
上升沿將數據送到輸出鎖存器
_nop_();
ST_CP=0; //
鎖存顯示數據
}
//
主程序
void main()
{
uchar i;
while(1)
{
for(i=0;i<10;i++)
{
temp=DSY_CODE[ i];
In_595(); //temp
中的一字節數據串行輸入
74HC595
Out_595(); //74HC595
移位寄存數據傳輸到存儲寄存器并出現在輸出端
DelayMS(200);
}
}
}
作者:
wulin
時間:
2020-6-3 23:31
CY是硬件進位標志位,在進行算術運算時,可以被硬件置位或清零,以表示運算結果中高位是否有進位或借位的狀態。 temp<<=1;最高位溢出并保存在CY,循環8次并將CY逐一賦值DS,就達到由高位到低位輸出1個字節串行數據的目的。
作者:
gb302
時間:
2020-6-4 09:08
CY表示加法進算中的進位和減法運算中的借位,加法運算中有進位或減法運算中有借位則CY位置1,否則為0。
作者:
我的鍋包肉
時間:
2020-6-4 15:27
加法運算中有進位或減法運算中有借位則CY位置1,否則為0
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1