條分縷析 巧學妙解 ——談談74HC595的教學方法

2021-03-02 電子報

集成電路74HC595是一個8位串行輸入、並行輸出的位移緩存器,並行輸出為三態輸出。常用於單片機和Arduino擴展I/O埠。現實教學中,教師往往很困惑,按照傳統的看晶片引腳、看時序圖等步驟進行學習,學生理解有困難,更不會應用,是一個教學上的難點。如何突破這一難點呢?筆者分析了學生學習困難的原因:

學習障礙之一:晶片引腳眾多,名稱容易混淆;

人們的認知是一個由淺入深,由表及裡的過程。在學習晶片引腳功能的時候,切忌鬍子眉毛一把抓。先抓住常規特徵和主要特徵,由主到次介紹。在教學中,可以分為三步進行:

第一步:介紹常規引腳:電源和接地腳及主要特徵引腳;

一個數據輸入端:DS 14腳;兩個數據輸出端:串行數據輸出9腳QH』和八位並行輸出端QA—QH。特別強調兩片74HC595級聯時,第一片的輸出引腳接第二片的輸入引腳,以完成數據的傳輸;

第二步:介紹兩個時鐘引腳11腳SCK、 12腳RCK;具體看圖2,發現移位寄存器和存儲器分別使用不同的時鐘,數據在 SCK(11 腳)的上升沿輸入,在RCK(12 腳) 的上升沿進入到存儲寄存器中並行輸出,所以兩個時鐘脈衝是互相獨立的,能做到輸入串行移位與輸出鎖存的控制互不幹擾。

第三步:介紹SCLR移位寄存器清零端10腳和清零端13腳,看圖2就可知在何階段清零。

SCLR為低電平時,移位寄存器的數據清零。通常接到VCC防止數據清零。而G輸出使能控制腳,它是低電才使能輸出,所以接GND。即兩個清零端一正一負:10腳接VCC,13腳接GND。

經過這樣有條有理地細細分析,學生就認識了晶片的引腳功能,消除了記憶繁瑣困難的心理障礙,為下一步理解打下基礎。

學習障礙之二:移位寄存過程抽象,無法理解;

74HC595移位輸出的過程很抽象,需要學生有些想像力。有時教師用語言描述得再多,也是無濟於事,所以教師可以畫圖3的74HC595數據輸入輸出的仿真圖,模擬數據從14腳輸入「1111 1110」時Q0-Q7輸出的情況。具體過程如下:

第一步:選擇數據0 或1 ,準備輸入14腳DS端;

第二步:撥開關SW1,即11腳(數據輸入時鐘)輸入一個上升沿,依次把8位數據輸入74HC595的移位寄存器,比如數據1111 1000;輸入一個數據,就撥開關SW1一次;

第三步:撥開關SW2,即12腳(輸出存儲器鎖存時鐘)輸入一個上升沿,把輸入的8位移入存儲寄存器中的數據發送到輸出端Q0-Q7中。Q7-Q0所接的led被點亮,說明輸出數據分別是1111 1000;

第四步:可以嘗試輸入其它8位數據,觀察它的輸出,注意輸出順序。

  經過學生的仿真和實驗,學生理解了這個晶片的移位顯示的原理,說明:從SCK(11 腳)產生一上升沿(移入數據)和RCK(12 腳)產生一上升沿(輸出數據)是二個獨立過程,實際應用時互不幹擾。即可輸出數據的同時移入數據。

學習障礙之三:學習的遷移能力欠缺,表現在如何將幾片74HC595級聯;

在經過一片595顯示數據之後,我們可以將兩片595級聯(如圖4):第一塊595晶片的串行輸出口接第二塊595晶片的數據輸入口且兩片595的11腳和12腳相連,以保證輸入移動和輸出同步。圖4就是兩片74hc595級聯完成16位數據的並行輸出。順序方面第一個寫入的數據將會是最後一級級聯的輸入數據,例如上面的例子是兩個級聯,第一個寫入的是1111 1000它將在最後一個 595 上輸出,第二個寫的0111 0011它顯示在第一個595上。

例如16*16點陣電路中列驅動電路採用了兩片74HC595移位寄存器進行「級聯」,構成列驅動電路,用串行移入、並行輸出的方式為16*16點陣顯示電子廣告屏提供16位列線數據。

這樣,我們發現由於只需用到 3 條引線就能實現串行傳輸數據,我們在51單片機上任意使用3個引腳,分別把它們與 74HC595 的 11 腳 SCK(串行移位時鐘)12 腳 RCK(串行 數據輸出)和 14 腳DS(串行數據輸入)相連接就可以了。

學習障礙之四:單片機模擬串行外圍設備協議通信程序無法理解;

第一個程序:51單片機將8位數據逐位移入74HC595的程序:

for (i=0;i<8;i++)              //8位控制

 {      SCK=0;                //給串行移位時鐘送低電平

        if((data1&0x80)==0x80) //數據data的最高位為1,則向SDATA_595發送1

       SI=1;                  //發出數據的最高位

        else                   //數據data的最高位為0,則向SDATA_595發送0

       SI=0;                      

        data1<<=1;             //下一位串行數據移位到最高位

        SCK=1;                 //給串行移位時鐘送高電平,產生上升沿

       }

程序中SCK定義為74HC595的11腳,為數據輸入時鐘線,單片機模擬出0到1的上升沿,將一位位數據擠入595的寄存器。其中data1是14腳輸入的數據,data1&0x80取出數據的最高位。

第二個程序:16位的數據並行輸出到輸出鎖存器

void out_data()

{

         RCK=0;         //輸出鎖存器時鐘置低電平

         _nop_();

         _nop_();

         RCK=1;         //輸出鎖存器時鐘置高電平,產生上升沿鎖存數據

}

程序中RCK定義為74HC595的12腳,它處於上升沿時移位寄存器的數據進入寄存器存儲,處於下降沿時寄存器存儲的數據不變。單片機模擬出0到1的上升沿,將串行數據在8個輸出口並行輸出。理解了74HC595晶片的工作原理,這兩個輸入輸出程序也不難理解了。

無論在單片機學習或在Arduino技術的學習中,硬體電路同樣也很重要,教師只有抓住學習中的難點問題進行鑽研和備課,才能達到事半功倍的效果。如果僅僅照著時序圖分析數據的移入和輸出,學生無法真正了解內部的原理,更談不上應用了。為了使我們的教學符合學生的認知規律,教師需要開動腦筋,條分縷析進行巧學妙解,這樣學生的理解就能由表及裡、由淺入深、由主到次、由現象到本質了。

讓我們的學生們都愛上學習吧,因為教師的作用不僅僅是教知識,而是培養學生對這門學科的熱愛!謹記!

江蘇張家港  周荻  繆耀東

相關焦點

  • 單片機驅動74HC595的c51程序
    //該子程序為74HC595發送字符的程序,該程序是先發送的是最低位!//晶片74HC595的時鐘引腳為第11腳//晶片74HC595的數據引腳為第14腳//晶片74HC595的鎖存引腳為第12腳//當有多片74HC595串聯時,只有當所有數據都發送完成後,再鎖存信號!
  • 第17節:兩片聯級74HC595驅動16個LED燈的基本驅動程序
    這節講74HC595的驅動程序。一樣的電路,連接到OE口,這樣確保上電瞬間OE口有一小段時間是處於高電平狀態,在此期間,儘快通過軟體把74hc595的所有輸出口置低。第二點:兩個聯級74HC595的工作過程:每個74HC595內部都有一個8位的寄存器,兩個聯級起來就有兩個寄存器。ST引腳就相當於一個刷新信號引腳,當ST引腳產生一個上升沿信號時,就會把寄存器的數值輸出到74HC595的輸出引腳並且鎖存起來,DS是數據引腳,SH是把新數據送入寄存器的時鐘信號。
  • 第18節:把74HC595驅動程序翻譯成類似單片機IO口直接驅動的方
    開場白:上一節講了74HC595的驅動程序。為了更加方便操作74HC595輸出的每個IO狀態,這節講如何把74HC595驅動程序翻譯成類似單片機IO口直接驅動的方式。_drive(ucLedStatus16_09,ucLedStatus08_01); //74HC595底層驅動函數 }}void hc595_drive(unsigned char ucLedStatusTemp16_09,unsigned char ucLedStatusTemp08_01){ unsigned
  • 74HC595 的實際應用與編程
    推薦閱讀 8x8LED點陣驅動方法(74HC595的使用) 前幾天學了點陣的顯示,今天按自己的思路來總結一下。首先介紹一下點陣的顯示原理。點陣的電路圖和之前學過的矩陣按鍵的電路圖是相似的。
  • 74HC595驅動LCD1602程序
    為了節約埠,1602液晶我也改為595來驅動了,一共有2個文件都在下面,程序本人測試通過,在你自己的應用中只需要修改埠即可.
  • 74HC595擴展IO口
    //當單片機的IO口不夠用時,可以用一般的數字集成電路74LS(HC)595擴展IO口用。//下面是51單片機74HC595的c51驅動本文引用地址:http://www.eepw.com.cn/article/201611/320302.htm#include#include #define
  • 74HC595在單片機上的應用及程序
    74HC595具有8位串入並出的三態門電路。的數據手冊程序編制:埠定義 設置:sbit DATA=P1^5;sbit SHIFT=P1^6;sbit STORAGE=P1^7;1、寫595Void write_595(uchar x)//功能:將無符號8位數x,寫入到595的shife register{Uchar
  • 74hc245中文資料詳細(74hc245管腳功能_工作原理方法_電氣特性及...
    打開APP 74hc245中文資料詳細(74hc245管腳功能_工作原理方法_電氣特性及應用電路) 發表於 2018-01-27 09:54:51
  • 74hc573使用方法(74hc573引腳圖及功能_工作原理_封裝尺寸及應用...
    打開APP 74hc573使用方法(74hc573引腳圖及功能_工作原理_封裝尺寸及應用電路) 發表於 2017-12-08 17:10:03
  • 51單片機工程實踐--第3章 74HC595+ULN200
    = P0 ^ 7; // LEDsbit HC595_SCK_OUT = P1 ^ 0;// 74HC595數據輸入時鐘線sbit HC595_RCK_OUT = P1 ^ 1;// 74HC595輸出存儲器鎖存時鐘線sbit HC595_OE_OUT = P1 ^ 2;
  • 74HC595控制8位數碼管 51單片機
    74HC595是8位串行移位寄存器,亦能串行輸出控制下一級級聯晶片。關於級聯、595晶片具體我就不多介紹,大家自己查吧!本文引用地址:http://www.eepw.com.cn/article/201611/321353.htm// 注意 此代碼沒有什麼技術含量,也沒有按規範些,旨在說明595怎麼控制,大家不要模仿。
  • 74hc164d引腳圖及功能
    74hc164d 是高速矽門 CMOS 器件,與低功耗肖特基型 TTL (LSTTL) 器件的引腳兼容。74hc164d 是 8 位邊沿觸髮式移位寄存器,串行輸入數據,然後並行輸出。數據通過兩個輸入端(DSA 或 DSB)之一串行輸入;任一輸入端可以用作高電平使能端,控制另一輸入端的數據輸入。兩個輸入端或者連接在一起,或者把不用的輸入端接高電平,一定不要懸空。
  • 74hc164封裝尺寸
    打開APP 74hc164封裝尺寸 發表於 2017-10-22 10:40:46   74hc164是與門輸入,異步清零CLR的8位串入並出移位寄存器。
  • 74hc4052中文資料匯總(74hc4052引腳圖及功能_工作原理及應用電路)
    打開APP 74hc4052中文資料匯總(74hc4052引腳圖及功能_工作原理及應用電路) 發表於 2018-04-04 15:53:14
  • 74hc374和74ls374區別
    打開APP 74hc374和74ls374區別 發表於 2017-10-23 14:50:14         74HC374是八D觸發器。
  • 兩片74HC595級聯動態驅動8位數碼管 51單片機
    功能 : 用2片74HC595驅動8位數碼管, 級聯的最低1片595控制位選,那麼第一片控制段選時間 : // 要顯示的數據************************ 函數聲明 ************************void interrupt_init(void);void timer_init(void);控制74HC595
  • 原創:高中物理巧學妙解大全連載——7.摩擦角法!值得收藏!
    第一篇、巧學絕技,秒殺技法全解物理在高中課程中是同學們反應最難的一科,在高考中物理選擇題平均每題解答時間應控制在2分鐘以內,選擇題解答要做到既快又準,除了熟練掌握課本知識以外,還要學會一些常規和非常規的
  • 74ls595應用電路圖大全(五款74ls595驅動數碼管/計時顯示/超聲波...
    打開APP 74ls595應用電路圖大全(五款74ls595驅動數碼管/計時顯示/超聲波測距儀電路) 發表於 2018-04-28 11:32:04
  • #51單片機#8位數碼管(74HC595晶片)的使用方法
    數碼管基本屬性:1.採用2片595驅動數碼管,需要單片機3路IO口,根據數碼管動態掃描原理進行顯示;2.寬工作電壓3.3V到5V
  • 74hc244工作原理詳解_引腳圖及功能_電氣參數及應用電路
    74hc244工作原理 74HC244是一款高速CMOS器件,74HC244引腳兼容低功耗肖特基TTL(LSTTL)系列。 74HC244是八路正相緩衝器/線路驅動器,具有三態輸出。該三態輸出由輸出使能端1OE和2OE控制。任意nOE上的高電平將使輸出端呈現高阻態。