<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)工程實(shí)踐--第3章 74HC595+ULN200

          51單片機(jī)工程實(shí)踐--第3章 74HC595+ULN200

          作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
          首先上圖,有圖才有真相。實(shí)驗(yàn)中的圖片。

          1、剛上電,繼電器不動(dòng)作,很穩(wěn)定。這是工程上需要的結(jié)果。

          本文引用地址:http://www.ex-cimer.com/article/201611/321350.htm

          2、按下KEY1,繼電器1吸合,其它繼電器斷開(kāi)。

          3、按下KEY2,繼電器2吸合,其它繼電器斷開(kāi)。


          #include
          #include


          sbit KEY_IN1 = P2 ^ 4; // 輸入按鍵 接10K上拉電阻
          sbit KEY_IN2 = P2 ^ 5;
          sbit KEY_OUT1 = P2 ^ 3; // 輸出按鍵
          sbit KEY_OUT2 = P2 ^ 2;

          sbit BUZZER_OUT = P1 ^ 7; // 蜂鳴器
          sbit LED = P0 ^ 7; // LED


          sbit HC595_SCK_OUT = P1 ^ 0;// 74HC595數(shù)據(jù)輸入時(shí)鐘線
          sbit HC595_RCK_OUT = P1 ^ 1;// 74HC595輸出存儲(chǔ)器鎖存時(shí)鐘線
          sbit HC595_OE_OUT = P1 ^ 2;// 74HC595輸出使能端 接10K上拉電阻
          sbit HC595_SI_OUT = P1 ^ 3;// 74HC595數(shù)據(jù)線


          typedef unsigned char uint8;
          typedef unsigned int uint16;

          typedef unsigned char u8;
          typedef unsigned int u16;

          #define CNT_DELAY_CNT1 25 // 按鍵去抖動(dòng)延時(shí)閥值
          #define CNT_DELAY_CNT2 5 // 按鍵列輸出信號(hào)穩(wěn)定的小延時(shí)

          #define CNT_BUZZER_TIME 40



          void interrupt_init(void);
          void key_scan(void);
          void key_service(void);
          void relay_status_clear(void);
          void relay_status_set_1(void);
          void relay_status_set_2(void);
          void relay_status_set_3(void);
          void relay_status_set_4(void);
          void relay_drive(void);
          void delay(void);


          u8 key_step = 1; // 按鍵掃描步驟變量,在switch()括號(hào)里面
          u8 key_lock1 = 0; // 按鍵自鎖標(biāo)志
          u8 key_sec = 0; // 按鍵被觸發(fā)的變量
          u16 delay_cnt1 = 0; // 延時(shí)計(jì)數(shù)器的變量
          u16 delay_cnt2 = 0; // 延時(shí)計(jì)數(shù)器的變量
          u16 buzzer_time_cnt = 0; // 蜂鳴器聲音長(zhǎng)短的計(jì)數(shù)延時(shí)
          u16 relay_status = 0;// 繼電器狀態(tài)寄存器

          int main(void)
          {
          interrupt_init();


          HC595_OE_OUT = 1;// 置1,595輸出口為高阻態(tài),ULN2003輸入口內(nèi)部有下拉電阻,所以把595輸出口拉低了
          relay_status_clear();// 把relay_status清零
          relay_drive();// 繼電器驅(qū)動(dòng)程序,relay_status映射繼電器的狀態(tài)
          HC595_OE_OUT = 0;// 輸出使能端拉低,595輸出口有效

          BUZZER_OUT = 1;// 上電關(guān)閉蜂鳴器

          while(1)
          {
          key_service();// 按鍵服務(wù)函數(shù)
          }


          return 0;
          }


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: 51單片機(jī)74HC595ULN20

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();