我們采用AT89C52單片機設(shè)計了集成芯片測試系統(tǒng)。該測試系統(tǒng)能夠?qū)崿F(xiàn)對高校實驗室中常用的TTL、CMOS系列芯片及一些常用按鍵開關(guān)的功能檢測,同時通過RS232串行口與PC機相連,可以在PC機上直接對測試系統(tǒng)進行操作。
1 系統(tǒng)組成框圖
該測試儀的硬件電路由AT89C52單片機,并行擴展接口8155,顯示驅(qū)動,鍵盤輸入,看門狗和復(fù)位電路以及串行接口電路組成。
按照芯片測試插座旁邊的指向,插入待測的數(shù)字芯片或按鍵;通過鍵盤輸入指令或數(shù)字,單片機經(jīng)過鍵盤掃描從8155讀回鍵值,根據(jù)鍵值執(zhí)行相應(yīng)的子程序。假設(shè)輸入測試命令鍵,單片機將調(diào)用測試子程序,并將測試結(jié)果送到顯示器上顯示(“good”or“bad”);假設(shè)輸入數(shù)字鍵,單片機會自動將輸入的數(shù)字顯示到顯示器上;假設(shè)輸入其它命令鍵,單片機將調(diào)用相應(yīng)的功能子程序,執(zhí)行相應(yīng)的命令。
2 系統(tǒng)硬件設(shè)計
2.1 單片機
單片機采用美國ATMEL公司生產(chǎn)的AT89C52單片機。該芯片不僅具有MCS-51系列單片機的所有特性,而且片內(nèi)集有8K字節(jié)的電擦除閃速存儲器(Flash ROM),價格低。由于使用片內(nèi)程序存儲器,所以,EA/VP接高電平;AT89C52的大工作頻率為24MHz,系統(tǒng)利用單片機的內(nèi)部振蕩器加石英晶體構(gòu)成時鐘源,為了工作可靠,晶體振蕩頻率選為12MHz。
2.2 8155接口芯片
由于AT89C52片內(nèi)的輸入輸出口有限,需要加外圍接口芯片。INTEL 8155H既有RAM又有I/O口,并且可直接與MCS/51系列單片機相連接,不需要增加任何硬件邏輯。因此,本設(shè)計中,用8155的I/O口作鍵盤顯示器的并行接口電路,以便AT89C52中的P1口、P2口用作被測芯片接口。
2.3 通信接口
采用MAXIM公司的串行接口芯片MAX487將PC機和測試儀器連接起來。測試儀接收PC機的信號,執(zhí)行相應(yīng)的操作后再將處理結(jié)果上傳到PC機,以便在PC機上直接對測試系統(tǒng)進行操作(見圖2)。
2.4 測試芯片接口
根據(jù)AT89C52中的P1口與P2口的特點,本設(shè)計采用AT89C52的P1口和P2口作為測試芯片的接口,其中,P1口中的P1.7用于控制14/16管腳的電源地的轉(zhuǎn)換,P2口中的P2.7作為高8位地址控制信號。
(1)單片機與測試芯片之間加電阻
需要注意的是,在單片機與測試芯片之間需串接470Ω(或510Ω)和電阻。首先,串接電阻的目的是對AT89C52起限流保護的作用,假設(shè),P1.0輸出高電平,此時,測試芯片又為非門,那么,將引起灌電流現(xiàn)象,致使P1.0口線上的電流非常大,對AT89C52有害。其次可以保證邏輯電平的正確,在連接線上串接幾百歐的電阻而不接幾千歐的電阻原因在于:假設(shè)讓p1.0的邏輯低電平,這樣,基極將是高電平,又有,p1口上的上拉電阻為3K左右,如果連接線上的電阻也取3K,那么,將使p1.0輸出邏輯高電平,此時邏輯電平是錯誤的;如果連接的電阻為470Ω左右,p1.0口仍然能夠正確地輸出邏輯低電平,這樣就保證了邏輯電平的正確性。
(2)測試芯片從14到16管腳時電源地的轉(zhuǎn)換
因為測試芯片管腳從14位到16位不定,所以,存在電源地轉(zhuǎn)換的問題。本設(shè)計中p1.6管腳是被轉(zhuǎn)換 的對象,用p1.7管腳電平的高低來控制p1.6接地與否,這個電路是利用晶體三極管來實現(xiàn)的。當SETB P1.7時,P1.6接地,此時能測14管腳的芯片;當CLR P1.7時,P1.6是正常的測試位,此時能測試16管腳的芯片。所以,只要在生個芯片測試子程序中將P1.7作相應(yīng)的設(shè)置即可。
2.5 鍵盤顯示電路
本設(shè)計是采用8155并行擴展口構(gòu)成的鍵盤、顯示電路。LED8位8段顯示器共陰極,8155 PB口提供段選碼,PA提供位選碼。鍵盤為3×7矩陣鍵盤,饜列輸出由PA口提供,行輸入由PC0~PC2提供。LED的段、位信號分別采用74LS07與74LS06驅(qū)動。LED采用軟件譯碼動態(tài)掃描顯示工作方式,鍵盤采用逐列掃描查詢工作方式。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件由主程序和若干子程序構(gòu)成。有顯示子程序、鍵盤掃描子程序、鍵值處理子程序和測試子程序組成。其中,測芯睡的功能鍵包括:自動測試并顯示型號(AUTO)和測試芯片(TEST),顯然,后者速度要快得多。程序流程框圖如圖4所示。
系統(tǒng)開機后,首先執(zhí)行主程序,完成系統(tǒng)初始化工作,然后調(diào)用顯示子程序,在顯示器上給出提示符rd,告訴聽任者機器已準備好,可以接收鍵盤輸入;當顯示器上出現(xiàn)提示符rd后,立即調(diào)入鍵盤掃描子程序,此時,操作者可通過鍵盤輸入數(shù)據(jù)或命令,經(jīng)鍵盤掃描后從8155讀回鍵值并進行按鍵分析,判斷按下的鍵是數(shù)字鍵還是功能鍵,如果是數(shù)字鍵,則將與鍵號相對應(yīng)的數(shù)據(jù)送往顯示緩沖區(qū)顯示;如果是功能鍵,則轉(zhuǎn)入相應(yīng)的功能鍵處理程序,后返回到顯示程序,開機狀態(tài)一直重復(fù)這個過程。
編制軟件時,在掃描鍵盤前應(yīng)熄滅顯示器,即向8155的PA口輸出顯示空白的段碼OFFH,這樣,不會因為對鍵盤的掃描而干擾顯示器的顯示。鍵盤掃描的延時10ms消抖,既可用延時子程序?qū)崿F(xiàn),也可用DISP顯示子程序?qū)崿F(xiàn)。本設(shè)計中,顯示完五位LED所需時間為10ms以上,因此,用顯示子程序延時,效果更佳。
4 抗干擾措施
使用環(huán)境存在多種干擾源,如電磁干擾、電壓波動大等,為此,我們從硬件、軟件兩方面采取了一些措施。
(1)硬件方面:采用特殊設(shè)計的開關(guān)電源,它能適應(yīng)較寬的電壓波動,可隨瞬間浪涌沖擊;注意多級去耦,電路中每片集成電路芯片的電源引腳上均加一個0.01μF瓷片電容;應(yīng)用看門狗電路,采用看門狗集成電路MAX1232,它是MAXIM公司推出的高性能、低價格、低功耗8腳雙列直插芯片。
(2)軟件方面:配合看門狗電路,有死機攔截程序和軟件陷阱。
5 結(jié)束語
實用結(jié)果表明,該測試儀設(shè)計簡單,占用硬件資源少,有良好的人機對話功能,便于攜帶、操作、能夠滿足課程教學實驗的要求,性能穩(wěn)定、可靠。
從長遠打算,增加測試芯片的類型勢在必行。首先,從擴展被測芯片的管腳數(shù)量來說,可以在外接8155的基礎(chǔ)上再外接8255,利用8255的三個端口來擴展測試芯片的接口;其次,隨著測試芯片數(shù)量的增加,程序存儲器的容量也將相應(yīng)地增大,那時,我們可以采用P2口作為高8位地址,外掛程序存儲器。經(jīng)過以上擴展,該測試儀功能將更加完善。