我們采用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è)計簡單,,占用硬件資源少,有良好的人機對話功能,,便于攜帶,、操作、能夠滿足課程教學(xué)實驗的要求,,性能穩(wěn)定,、可靠。
從長遠打算,,增加測試芯片的類型勢在必行,。首先,從擴展被測芯片的管腳數(shù)量來說,,可以在外接8155的基礎(chǔ)上再外接8255,,利用8255的三個端口來擴展測試芯片的接口;其次,隨著測試芯片數(shù)量的增加,,程序存儲器的容量也將相應(yīng)地增大,,那時,我們可以采用P2口作為高8位地址,,外掛程序存儲器,。經(jīng)過以上擴展,該測試儀功能將更加完善,。