欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 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