版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘 要集成電路(IC)測試是伴隨著電子技術(shù)的發(fā)展而來的,數(shù)字集成芯片在使用過程中容易被損壞,用肉眼不易觀察。早期的人工測試方法對一些集成度高,邏輯復(fù)雜的數(shù)字集成電路顯得難于入手,因而逐漸被自動測試所取代,因此很需要設(shè)計一種能夠方便測試常用芯片好壞的儀器。本系統(tǒng)以單片機AT89C52為核心,由芯片測試插座、獨立按鍵、74HC573驅(qū)動8位數(shù)碼管顯示、5V直流電源控制模塊等組成。根據(jù)數(shù)字集成芯片的引腳特性以及集成芯片的真值表編寫測試程序。該系統(tǒng)能完成14腳以內(nèi)常用TTL74、54系列數(shù)字集成芯片的功能測試。關(guān)鍵字:測試儀;數(shù)字集成電路;單片機ABSTRACTIntegrated circuit (
2、IC) test is accompanied with the development of electronic technology, Digital integrated chip is easily damaged during use, and difficult to observe with the naked eye. Early manual test methods for some high integration, the logic of complex digital integrated circuits become difficult,thus gradua
3、lly replaced by automated testing, so it is necessary to design a testing instrument to distinguish the Common chips is good or bad conveniently.The system is with AT89C52 microcontroller at the core, including the chip test socket,the independent button, 74HC573drives an 8-bit digital display, 5V D
4、C power supply control module and other components, etc. According to the characteristics of digital IC pins and the truth table write integrated chip test program. The system can be completed within 14 feet common TTL74, 54 series digital integrated chip functional test. Keywords: tester; digital i
5、ntegrated circuit; microprocessor control unit目錄系統(tǒng)總體方案.12 系統(tǒng)硬件電路設(shè)計.22.1 硬件系統(tǒng)電路原理框圖.22.2硬件系統(tǒng)電路各模塊設(shè)計22.2.1 MCS-52單片機最小系統(tǒng)22.2.2 獨立按鍵模塊.32.2.3 芯片測試模塊.42.2.4 顯示模塊.52.2.5 電源供電模塊.73 系統(tǒng)軟件設(shè)計.83.1 測試對象TTL74系列芯片簡介83.2 測試原理.83.3 程序流程圖.93.4 模塊程序關(guān)鍵代碼.11 主程序11 獨立按鍵掃描程序11 74HC573控制數(shù)碼管顯示程序.153.4.4 信號檢測程序174 系統(tǒng)仿真測試.1
6、9總結(jié).21致謝.22參考文獻.23附錄.24附錄A 源程序24附錄B 元件清單35附錄C 整體電路圖361 系統(tǒng)總體方案在數(shù)字集成電路的設(shè)計、制造和應(yīng)用階段,不可避免地會出現(xiàn)故障,為了保證數(shù)字集成電路工作的可靠性,需要對其進行必要的測試。設(shè)計門電路自動測試儀目的在于能夠方便檢測數(shù)字集成芯片的好壞。然而,由于常用的TTL系列芯片種類繁多,不同型號的數(shù)字集成芯片其邏輯功能不同、引腳排列不同、甚至哪些引腳作為輸入,哪些引腳作為輸出都不固定,也就是說,某個型號的集成芯片的其中一只引腳是輸入腳,而另一個型號的集成芯片的同一只引腳卻可能是輸出腳了。在進行硬件電路設(shè)計時,必須要有這樣的接口電路:和集成芯片
7、引腳連接的檢測端口既可作為輸入,又可作為輸出。正由于上述原因,本方案設(shè)計一套數(shù)字集成電路測試裝置,能夠?qū)崿F(xiàn)對指定幾種14腳常見的74系列數(shù)字電路測試。芯片有74LS00、74LS04、74LS20、74LS74、74LS86。對數(shù)字系統(tǒng)進行測試基本方法是:從數(shù)字集成電路的原始輸入端施加若干輸入矢量作為激勵信號,觀察由此產(chǎn)生的輸出響應(yīng),并與預(yù)期的正確結(jié)果進行比較,一致則表示芯片完好,不一致則表示芯片有故障。因此判斷一個集成電路芯片是否存在故障,可用該芯片被檢測出來的功能是否同設(shè)計規(guī)范的功能一致來判斷。要讓測試結(jié)果直觀明了,就需設(shè)計一個顯示模塊顯示對應(yīng)測試結(jié)果,在此系統(tǒng)中我選用8位數(shù)碼管來顯示芯片
8、型號和兩個發(fā)光二極管顯示測試結(jié)果。此外,由于集成芯片的型號不同,為了提高測試的效率,還需設(shè)計一個獨立按鍵模塊用于輸入檢測芯片的型號,方便操作。綜合以上所涉及的幾個問題,完整的門電路自動測試儀應(yīng)包括按鍵輸入模塊,顯示模塊,芯片測試插座模塊,結(jié)合單片機最小系統(tǒng)來加以控制。在確立硬件結(jié)構(gòu)的基礎(chǔ)上,結(jié)合軟件完成。軟件部分主要由數(shù)據(jù)檢測程序和顯示驅(qū)動程序,以及按鍵子程序三大部分組成。在設(shè)計過程中,首先使用Protel和Proteus仿真軟件作為開發(fā)平臺來進行硬件電路的設(shè)計,并運用軟件Keil uVision編寫程序完成系統(tǒng)的仿真實現(xiàn),結(jié)合軟、硬件完成系統(tǒng)的整體調(diào)試。2 系統(tǒng)硬件電路設(shè)計2.1 硬件系統(tǒng)電
9、路原理框圖該測試系統(tǒng)的原理框圖如下圖1所示。圖1 測試儀原理框圖此次所設(shè)計的數(shù)字集成電路檢測系統(tǒng)由單片機控制單元,獨立按鍵輸入單元,信號檢測單元,數(shù)碼管顯示單元和電源供電單元組成。2.2 硬件系統(tǒng)電路各模塊設(shè)計2.2.1 MCS-52單片機最小系統(tǒng) MCS-52單片機內(nèi)部主要由CPU,存儲器,可編程I/O口,定時器/計數(shù)器,串行口,中斷控制系統(tǒng),時鐘電路等組成。52系列單片機應(yīng)用廣泛,成本低,控制應(yīng)用等電路成熟。此系統(tǒng)中,我選擇單片機AT89C52最小系統(tǒng)進行控制,它的P0、P1、P2、P3端口是準(zhǔn)雙向I/O口:既可作為輸入口,又可作為輸出口,為信號的檢測控制奠定了重要的基礎(chǔ)。其連接如圖2所示
10、。圖2 AT89C52單片機最小系統(tǒng) 單片機在電路中起到控制整個系統(tǒng)的作用,無論是信號檢測,還是數(shù)碼管顯示,都通過編程完成控制。2.2.2 獨立按鍵模塊采用獨立按鍵的優(yōu)點是控制程序和硬件電路都很簡單,缺點是如果每個按鍵都要占用一個I/O口,當(dāng)按鍵較多時占用I/O口較多。但考慮到本次設(shè)計只需要三個按鍵:檢測型號鍵、復(fù)位鍵、自動檢測鍵。因此在實際的測試中分別對應(yīng)P3.0P3.1P3.2通過按鍵查詢就可以簡單的起到控制輸入的目的。值得注意的是,在用單片機對按鍵處理的時候涉及到了一個重要的過程,那就是按鍵的去抖動。當(dāng)用手按下一個鍵時,按鍵并不會立刻穩(wěn)定地接通,在釋放一個鍵時,也不會立刻斷開。因而在閉合
11、和斷開的瞬間都會伴隨著一連串的抖動。抖動的持續(xù)時間隨按鍵材料和操作員而異,不過通??偸遣?-10ms。這種抖動對于單片機來說是完全可以感覺到的,所以必須消除抖動。通常有兩種方法可以消除抖動,一種是硬件方法,需要硬件電路,另一種是軟件方法,用軟件方法可以很容易地解決抖動問題,只需通過延遲10ms 來等待抖動消失這之后,在讀入按編碼值。所以,我們采用軟件消抖法。獨立按鍵電路如圖3所示。圖3 獨立按鍵與單片機連接圖2.2.3 芯片測試模塊結(jié)合單片機的I/O口使用情況,以及設(shè)計的局限,在該系統(tǒng)中我選用了16腳的通用IC緊鎖座作為芯片測試插座,能夠測試14腳以下的常用數(shù)字集成芯片。根據(jù)AT89C52中P
12、0口與P2口的特點,本設(shè)計采用AT89C52的P1口和P2口連接測試芯片接口,單片機的P0口的P0.0P0.7,P2口中的P2.0P2.5共14條通用I/O線和檢測插座構(gòu)成了檢測電路,其中,P2口中P2.7用于控制14管腳電源地轉(zhuǎn)換,因為規(guī)則芯片的右上腳都為電源(Vcc),左下腳都為地(GND)。測試插座優(yōu)先考慮14腳的通用測試情況。單片機與測試插座之間的連接如圖4所示。圖4 單片機與測試插座連接圖在單片機與緊鎖座之間需串接470(或510)的電阻。串接電阻目是對AT89C52起限流保護作用,假設(shè),P2.0輸出高電平,此時,測試芯片又為非門,那么將引起灌電流現(xiàn)象,致使P2.0口線上電流非常大,
13、對AT89C52有害。2.2.4 顯示模塊(1)數(shù)碼管顯示模塊在系統(tǒng)中,由于系統(tǒng)的獨立按鍵模塊和測試插座模塊已經(jīng)使用了單片機的P1,P2和P3口,只剩下一組I/O口可供選擇。74HC573是8數(shù)據(jù)鎖存器。主要用于數(shù)碼管、按鍵等的控制,至此,我選用一塊芯片74HC573直接控制8位數(shù)碼管。有效的節(jié)省了單片機的I/O口的使用,極大地簡化了硬件電路。由5片芯片74HC573和4個7段共陰極數(shù)碼管構(gòu)成了顯示電路,用于向用戶提供按鍵輸入信息及輸出檢測結(jié)果等。通過單片機的三個I/O口來控制信號輸入。74HC573與AT89C52單片機的硬件連接如圖6所示,74HC573鎖存器的數(shù)據(jù)輸入端連接單片機的P0口
14、,P0口同時加了上拉電阻,數(shù)碼管中的C1,C2,C3,C4是它們的位選端。圖6 74HC573驅(qū)動8位數(shù)碼(2) 發(fā)光二極管顯示模塊為了使測試結(jié)果直觀明了,分別在單片機的兩個I/O口P3.6和P3.7分別串接兩分別顯示芯片好壞兩種狀態(tài),發(fā)光二極管與單片機連接圖個紅、綠色發(fā)光二極管連接圖如圖7所示。圖7 發(fā)光LED指示燈與單片機連接圖 電源供電模塊在該設(shè)計系統(tǒng)中,所需電壓都為直流5V,它由電源變壓器,橋式整流電路(4個二極管D1D4構(gòu)成),濾波電容,防止自激電容和一只固定式三端穩(wěn)壓器(LM7805)極為簡捷方便地搭成的,為了保證輸入LM7805電壓的穩(wěn)定性,在7805之前我使用一只7812保證電
15、流穩(wěn)定輸入12V。如圖8所示,220V交流電通過電源變壓器變換成交流低壓,再經(jīng)過橋式整流電路BR1和濾波電容C6的整流和濾波,在固定式三端穩(wěn)壓器LM7812和LM7805的Vin和GND兩端形成一個并不十分穩(wěn)定的直流電壓(該電壓常常會因為市電電壓的波動或負(fù)載的變化等原因而發(fā)生變化),此直流電壓經(jīng)過LM7812和LM7805的穩(wěn)壓和C4,C5的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的直流輸出電壓。圖8 220V轉(zhuǎn)5V直流電源連接圖LM7805用來給單片機等其它芯片供電,整流電路后的C6為濾波電容,容量較大,輸出端電容C4、C5主要是抑制高頻干擾,此外還在兩個穩(wěn)壓塊中加散熱片。 3 系統(tǒng)軟
16、件設(shè)計軟件設(shè)計包括主程序模塊,按鍵控制模塊,芯片信號檢測模塊和數(shù)碼管顯示模塊等,下面將逐一介紹各個模塊的詳細設(shè)計過程。由于測試芯片種類繁多,在進行程序設(shè)計時首先需要分析常用數(shù)字集成芯片的一些規(guī)律,便于編程控制。TTL74系列作為兩大主流集成芯片,地位和作用極其重要,基于此,接下來就對測試對象中的常用系列數(shù)字集成電路進行分析。 3.1 測試對象TTL74系列芯片簡介TTL電路以雙極型晶體管為開關(guān)元件,所以又稱雙極型集成電路,74系列的工作環(huán)境溫度規(guī)定為O70,電源電壓的工作范圍為5V士5。此外,為滿足用戶在提高工作速度和降低功耗這兩方面的要求,繼TTL74、54系列之后,又相繼研制和生產(chǎn)了74H
17、系列、74S系列、74LS系列、74AS系列和74ALS系列,以及54H系列、54S系到、54LS系列、54AS系列和54ALS系列,就像74系列和54系列的區(qū)別那樣,它們之間的區(qū)別也僅在于工作環(huán)境溫度與電源電壓工作范圍不同。據(jù)于設(shè)計的局限及考慮到程序的繁瑣,表1列舉了14腳以內(nèi)的要測試TTL74芯片,本設(shè)計中只實現(xiàn)對指定幾種14腳常見的74系列數(shù)字電路測試。芯片有74LS00、74LS04、74LS20、74LS74、74LS86。表1 TTL74系列芯片列表(14腳以內(nèi))序號品種代號類別名稱特征引腳數(shù)17400四2輸入與非門1427404六反相器1437420二4輸入與非門1447474二
18、3輸入或非門OC、OD1457486四2輸入異或門OC143.2 測試原理對于邏輯芯片的檢測,我們主要實現(xiàn)檢測芯片邏輯功能好壞亦或是確定芯片的型號,由于主控單元采用AT89C52單片機,其I/O與TTL電平完全兼容,因而直接由單片機對芯片插座的引腳進行掃描,由于是固定的14腳芯片,為了編程方便,使芯片測試引腳17分別為P1.0P1.6,引腳148分別為P2.0P2.6。實現(xiàn)了通過單片機輸出端口模擬芯片的各種輸入狀態(tài),并通過單片機讀回芯片的輸出結(jié)果,通過與芯片真值表的比較即可判斷芯片邏輯功能的好壞的目的。在進行芯片掃描時,必須先將芯片的輸出引腳I/O置為高電平,然后對芯片的輸入引腳進行各種狀態(tài)的
19、掃描,通過單片機讀回芯片的輸出,再依據(jù)芯片的真值表對其輸出進相比較,不一致則說明芯片的邏輯功能發(fā)生錯誤,斷定芯片為壞的,若芯片的輸出與真值表完全相符,則說明芯片的邏輯功能正確,可以判斷為好芯片。 然后再依據(jù)所檢測的結(jié)果,通過單片機對芯片的邏輯功能加以詳細測試,并對結(jié)果加以顯示。在自動檢測的時候,為了提高準(zhǔn)確度,我們編寫了程序,采用對同一端口兩次輸入再兩次讀回其狀態(tài)的比較方法,來對芯片好壞進行準(zhǔn)確測試,繼而返回正確的芯片型號。此次在測試過程中我選用7400來進行系統(tǒng)的調(diào)試。其中,7400為四2輸入與非門,在編寫測試程序時,主要從以下思路入手:首先,根據(jù)測試插座與單片機的各I/O口連接情況,分別送
20、給測試芯片各引腳送值。送值的時候是將所有可能出現(xiàn)的各種邏輯情況進行組合送入至芯片輸入端,而輸出端都給它置1,并根據(jù)真值表推斷出預(yù)期的正確結(jié)果先存于寄存器中,送值結(jié)束后,讀取芯片輸出端的值,判斷輸出是否與預(yù)期的值相符,若一致則繼續(xù)判斷另一組輸入邏輯值的情況,直至每一組都完成后對各組結(jié)果相與,邏輯為真則表示芯片是好的,若為假表示芯片是壞的。當(dāng)然,在測試時若遇其中一組的邏輯為假,則直接判斷出芯片是壞的。3.3 程序流程圖流程圖如圖9所示。 圖9 程序流程圖3.4 模塊程序關(guān)鍵代碼 主程序在主程序中,需要完成對各狀態(tài)的初始化,如單片機引腳,寄存器的初始化、74HC573控制數(shù)碼管顯示的初始化、按鍵掃描
21、,信號檢測等工作。主程序?qū)⒏鶕?jù)檢測芯片的型號,按鍵的輸入提示分別完成信號的測試比較、結(jié)果顯示等不同的操作。關(guān)鍵代碼如下所示:int main()/主程序 reset();/初始化while(1)/不停掃描按鍵 keyscan(); return 0;/結(jié)束程序 獨立按鍵掃描程序在按鍵控制時采用了全掃描方式,這種方式是直接在主程序中插入按鍵掃描子程序,主程序每執(zhí)行一次則按鍵檢測子程序被執(zhí)行一次,對按鍵進行檢測一次。如沒有按鍵按下,則跳過鍵識別,直接執(zhí)行主程序;如果有鍵按下,則通過按鍵掃描子程序識別按鍵,得到按鍵的編碼值,然后根據(jù)編碼值進行相應(yīng)的處理,處理完成在回到主程序執(zhí)行。另外我們采用軟件消抖
22、法,具體代碼如下所示:void keyscan(void) /鍵盤掃描函數(shù) int i; unsigned char output1,output2; if(key1=0)/按鍵1的子程序 delayms(10);/延時10msif(key1=0) while(key1=0);/等待按鍵釋放 k=detect(); display(namek); if(key2=o)/按鍵2的子程序 delayms(10);if(key2=0)( while(key2=0);/等待按鍵釋放 ledR = 1;/滅綠led燈 ledG = 1;/滅紅led燈 display(0);/數(shù)碼管顯示為0000 if(
23、key3=0)/按鍵3的子程序 delayms(10);if(key3=0) while(key3=0);/等待按鍵釋放 k=detect(); /調(diào)用檢測芯片型號子程序 delayms(100);if(k=0)/檢測芯片好壞 for(i=0;i4;i+) input1=LS00i0; input2=LS00i1; delayms(500); output1=input1&0 x3f; output2=input2&0 x3f; if(output1!=LS00i2|output2!=LS00i3) ledR= 0; time=0; break; if(output1=LS00i2&outpu
24、t2=LS00i3) time+; if(time=4) ledG = 0; display(name0); time=0; if(k=1) for(i=0;i2;i+) input1=LS04i0; input2=LS04i1; delayms(500); output1=input1&0 x3f; output2=input2&0 x3f; if(output1!=LS04i2|output2!=LS04i3) ledR = 0; time=0; break; if(output1=LS04i2&output2=LS04i3) time+; if(time=2) ledG = 0; tim
25、e=0; if(k=2) for(i=0;i16;i+) input1=LS20i0; input2=LS20i1; delayms(500); output1=input1&0 x3f; output2=input2&0 x3f; if(output1!=LS20i2|output2!=LS20i3) ledR = 0;/點亮紅led time=0; break; if(output1=LS20i2&output2=LS20i3) time+; if(time=16) ledG = 0;/點亮綠led display(namek);/顯示芯片型號 time=0; if(k=4) for(i=
26、0;i4;i+) input1=LS86i0; input2=LS86i1; delayms(500); output1=input1&0 x3f; output2=input2&0 x3f; if(output1!=LS86i2|output2!=LS86i3) ledR = 0; time=0; break; if(output1=LS86i2&output2=LS86i3) time+; if(time=4) ledG = 0; display(namek); time=0; 74HC573控制數(shù)碼管顯示程序每個數(shù)碼對應(yīng)一個位選端。單片機可以控制鎖存器的鎖存端,進而控制鎖存器的數(shù)據(jù)輸出,
27、這種分時控制的方法便可方便地控制任意數(shù)碼管顯示任意數(shù)字。在這里我們把數(shù)碼管的顯示部分寫成了一個帶參數(shù)的函數(shù),以便以后調(diào)用,另外我們把這個要顯示的參數(shù)分離成4個一位數(shù)。void display(uint namex)/數(shù)碼管顯示子程序 uchar qian,bai,shi,ge; qian = namex/1000;/千位,把一個4位數(shù)分離后分別送數(shù)碼管顯示 bai = namex%1000/100;/百位 shi = namex%100/10;/十位 ge = namex%10;/個位 dula1 = 1; P0 = tableqian;/送段選數(shù)據(jù) dula1 = 0; P0 = 0 xff
28、;/送位選數(shù)據(jù)前關(guān)閉所有顯示 delayms(500);/延時500ms dula2 = 1; P0 = tablebai; dula2 = 0; P0 = 0 xff; delayms(500); dula3 = 1; P0 = tableshi; dula3 = 0; P0 = 0 xff; delayms(500); dula4 = 1; P0 = tablege; dula4 = 0; P0 = 0 xff; delayms(500); P0 = 0 xff;wela = 1; P0 = 0 xc0; wela =0; while(1) if(key1=0) break; if(key
29、2=0) break; 3.4.4 信號檢測程序在信號檢測部分,我們只對指定的74系列門電路芯片進行功能測試(完好/損壞),如74LS00、74LS04、74LS20、74LS86。并且能夠自動檢測指定的幾種74系列門電路的型號。程序設(shè)計中需要考慮到芯片的引腳識別,芯片型號的檢測程序如下: unsigned char detect(void) /14腳芯片識別函數(shù) unsigned char i,output1,output2;/7474的檢測 P1=0 xff; /初始化測試端口 P2=0 xff; input1=0 x3b; input2=0 x39; delayms(100); inpu
30、t1=0 x3f; /上升沿 input2=0 x3d; delayms(100); output1=input1&0 x3f; output2=input2&0 x3f; if(output1=0 x1f&output2=0 x2d) return (4); /7400/04/20/86的自動檢測 P1=0 xff; /初始化測試端口 P2=0 xff; for(i=0;iM;i+) input1=ICi0; input2=ICi1; delayms(500); output1=input1&0 x3f;/將芯片邏輯結(jié)果input1通過&0 x3f取出 output2=input2&0 x3
31、f; if(output1=ICi2&output2=ICi3) input1=ICi4; input2=ICi5; delayms(500); output1=input1&0 x3f; output2=input2&0 x3f; if(output1=ICi6&output2=ICi7) return(i); 4 系統(tǒng)仿真測試系統(tǒng)設(shè)計完成后,將74LS00芯片放入測試插槽中進行測試,仿真測試結(jié)果所示:(1)當(dāng)按下自動檢測鍵key3后,測試結(jié)果如圖10所示。圖10 按下自動檢測鍵后的測試結(jié)果(2)當(dāng)按下復(fù)位鍵key2后,測試結(jié)果如下圖11所示。 圖11 按下復(fù)位鍵后的測試結(jié)果(3)按下檢測型
32、號鍵key1后,測試結(jié)果如下圖12所示。 圖12 按下檢測型鍵后的測試結(jié)果從測試結(jié)果可以看出,該系統(tǒng)能夠?qū)崿F(xiàn)對常用的74 系列邏輯芯片進行邏輯功能測試,確定芯片的型號,名稱,邏輯表達式,是否能夠正常工作。操作簡單,測試結(jié)果準(zhǔn)確率高。總結(jié)此次畢業(yè)設(shè)計是我大學(xué)四年中最為系統(tǒng)的一次,它有效的把所學(xué)的專業(yè)知識與實際結(jié)合起來。在硬件電路中較有難度的單數(shù)數(shù)碼管顯示單元和測試插座的控制上,雖然之前做實驗時有涉及到關(guān)于數(shù)碼管顯示的一些方案,但在這次所設(shè)計的電路中,由于顧及單片機I/O口的使用情況,最終選取鎖存器74HC573芯片來驅(qū)動控制。當(dāng)然,使用這種方法在節(jié)省單片機I/O口的同時,也為后面的編程增加了難度
33、,要是選用MAX7219驅(qū)動8位數(shù)碼管顯示,該硬件電路設(shè)計和編程都會變得簡單些。此外,程序設(shè)計是本次設(shè)計的一個難點,對不同類型的芯片,由于引腳、功能不一,測試程序就得具體分析。而我在編程方面的能力又非常欠缺,在編寫程序時顯得不知所措,在指導(dǎo)老師的幫助下和自己的努力下,最終得以順利完成。由于時間和能力有限,我此次設(shè)計只實現(xiàn)了系統(tǒng)的基本功能,測試芯片種類比較單一,在有些地方還有待于改進。例如,要增加芯片的測試種類,可以對相應(yīng)的引腳分別用一個繼電器來控制,實現(xiàn)I/O線與電源間的自動切換;在顯示部分,除了顯示結(jié)果簡單信息外,還可以在測試結(jié)束后,讓數(shù)碼管顯示字符“good”或“bad”,結(jié)果將更加直觀明
34、了。這次設(shè)計使我收獲頗多,在設(shè)計的過程中屢屢碰壁,對我自己算是一次小小的挑戰(zhàn)。通過對設(shè)計方案的不斷整改,電路調(diào)試運行,解決了問題,使我真正認(rèn)識到知行合一的重要性。在以后的日子的我會逐漸加強這方面的能力,不斷去提高自己。作為一個當(dāng)代大學(xué)生,僅僅學(xué)習(xí)理論知識是遠遠不夠的,這次設(shè)計給我們提供了一次很好的理論聯(lián)系實際的機會,使得我對專業(yè)方面的基礎(chǔ)知識有了更深刻的認(rèn)識,為即將走上工作崗位奠定了良好的基礎(chǔ)。 致謝大學(xué)四年的學(xué)習(xí)生活即將結(jié)束,這篇論文作為我在校期間學(xué)習(xí)的最后一份答卷,在這里,我要向所有關(guān)心和幫助我的老師和同學(xué)們表示衷心的感謝。在這里尤其感謝我的指導(dǎo)老師羅雪蓮老師,她在畢業(yè)設(shè)計過程中給予我極大
35、的關(guān)心和幫助。從選題到開題報告,程序的編寫設(shè)計以及論文的完成,羅老師傾注了大量的心血。本論文的寫作是在羅老師的悉心指導(dǎo)下完成的,她為我的畢業(yè)設(shè)計提出了許多寶貴的建議和給出了設(shè)計思路及資料,給予了細心的指導(dǎo)和不懈的支持。對我遇到的問題,循循善誘,諄諄教導(dǎo),使我的設(shè)計和論文得以如期完成。當(dāng)進行方案的選取時和論文的檢查時,羅老師給了我的仔細檢查和指導(dǎo)及改正,使設(shè)計在最短的時間里順利完成。羅老師的這種無私的敬業(yè)精神和責(zé)任感,令人敬佩,在此向尊敬的羅老師表示衷心的感謝。也感謝湖南工學(xué)院所有教導(dǎo)過我的老師們,謝謝您們四年來的悉心教導(dǎo)與關(guān)心愛護。時光匆匆,轉(zhuǎn)眼便是畢業(yè)時節(jié),離校日期已日趨臨近,畢業(yè)論文的的完
36、成也隨之進入了尾聲。從開始題到論文的順利完成,一直都離不開老師、同學(xué)、朋友給我熱情的幫助,在這里請接受我誠摯的謝意!在設(shè)計和論文寫作過程中,我還參考了有很多關(guān)的書籍和論文,在這里一并向相關(guān)的作者們表示感謝。 參考文獻1康華光.電子技術(shù)基礎(chǔ)模擬部分(第五版).北京:高等教育出版社,2006Kang huaguang.Basic electronic technology analog part ( Fifth Edition ). Beijing: Higher Education Press,20062閻石.數(shù)字電子技術(shù)基礎(chǔ)(第四版). 北京:高等教育出版社,1989Yan shi.funda
37、mentals of digital electronic technology ( Fourth Edition ). Beijing: Higher Education Press,19893 寧武,唐曉宇,閆曉金.全國大學(xué)生電子設(shè)計競賽基本技能指導(dǎo),2009Ning wu,Tang xiaoyu,Yan xiaojin.National Undergraduate Electronic Design Contest of Basic Skills Guide,20094 郭天祥編著.51單片機C語言教程.電子工業(yè)出版社,2009Edited by Guo tianxiang.51 sin
38、glechip C language tutorial. Publishing House of electronics industry,20095 劉海濤等編著.8051單片機C語言程序設(shè)計與實例解析.清華大學(xué)出版社,2009Edited by Liu haitao and so on.8051 singlechip C language program design and case analysis. Tsinghua University Press,20096 科林,孫人杰編著.TTL、高速COMS手冊.電子工業(yè)出版社,2004Edited by Ke lin,Sun renjie
39、.TTL、high-speed COMS Handbook. Publishing House of electronics industry,2004 附錄附錄A 源程序#include#include #include /這是頭文件 /*=宏定義=*/#define M 4/要測試的芯片好壞的個數(shù)#define N 8#define input1 P1/用于檢測的引腳#define input2 P2#define uchar unsigned char #define uint unsigned intsbit key1=P30; / 選擇檢測芯片型號sbit key2=P31; / 復(fù)
40、位sbit key3=P32; / 自動檢測sbit ledR=P37;/*紅色發(fā)光led接單片機P3.7 */sbit ledG=P36;/*綠色放發(fā)光LED接單片機P3.6 */sbit dula4=P26;/聲明鎖存器的鎖存端sbit dula1=P33;sbit dula2=P34;sbit dula3=P35;sbit wela =P27;unsigned int name=7400,7404,7420,7486,7474,7492;uchar code table =0 x3f,0 x06,0 x5b,0 x4f, 0 x66,0 x6d,0 x7d,0 x07, 0 x7f,0
41、x6f,0 x77,0 x7c, 0 x39,0 x5e,0 x79,0 x71;/共陰極數(shù)碼管編碼 /*=按鍵的標(biāo)志位=*/unsigned char time=0;/用來標(biāo)示某芯片各通道檢測均完好的標(biāo)志位unsigned char k=0;/返回自動檢測后芯片序號在已定義的數(shù)組中的序號unsigned char code LS0044= 0 x3f,0 x3f,0 x1b,0 x1b,/74ls00 0 x24,0 x24,0 x24,0 x24, 0 x36,0 x36,0 x36,0 x36, 0 x2d,0 x2d,0 x2d,0 x2d ;unsigned char code LS
42、0424= 0 x2a,0 x2a,0 x2a,0 x2a,/74ls04 0 x3f,0 x3f,0 x15,0 x15 ;unsigned char code LS20164= 0 x24,0 x24,0 x24,0 x24,/74ls20 0 x25,0 x25,0 x25,0 x25, 0 x26,0 x26,0 x26,0 x26, 0 x27,0 x27,0 x27,0 x27, 0 x2c,0 x2c,0 x2c,0 x2c, 0 x2d,0 x2d,0 x2d,0 x2d, 0 x2e,0 x2e,0 x2e,0 x2e, 0 x2f,0 x2f,0 x2f,0 x2f, 0
43、x34,0 x34,0 x34,0 x34, 0 x35,0 x35,0 x35,0 x35, 0 x36,0 x36,0 x36,0 x36, 0 x37,0 x37,0 x37,0 x37, 0 x3c,0 x3c,0 x3c,0 x3c, 0 x3d,0 x3d,0 x3d,0 x3d, 0 x3e,0 x3e,0 x3e,0 x3e, 0 x3f,0 x3f,0 x1f,0 x1f ;unsigned char code LS8644= 0 x24,0 x24,0 x00,0 x00,/74ls86 0 x36,0 x36,0 x36,0 x36, 0 x2d,0 x2d,0 x2d,
44、0 x2d, 0 x3f,0 x3f,0 x1b,0 x1b ;unsigned char code ICMN= 0 x24,0 x24,0 x24,0 x24,0 x3f,0 x3f,0 x1b,0 x1b, /7400 0 x3f,0 x3f,0 x15,0 x15,0 x3f,0 x3f,0 x15,0 x15, /7404 0 x3f,0 x3f,0 x1f,0 x1f,0 x3f,0 x3f,0 x1f,0 x1f, /7420 0 x3f,0 x3f,0 x1b,0 x1b,0 x3f,0 x3f,0 x1b,0 x1b/7486 ;void delayms(unsigned in
45、t z)/延時函數(shù)unsigned int x,y;for(x=z;x0;x-)for(y=110;y0;y-); /*=14腳芯片識別函數(shù)=*/unsigned char detect(void) /14腳芯片識別函數(shù) unsigned char i,output1,output2;/7474的檢測 P1=0 xff; /初始化測試端口 P2=0 xff; input1=0 x3b; input2=0 x39; delayms(100); input1=0 x3f; /上升沿 input2=0 x3d; delayms(100); output1=input1&0 x3f; output2=
46、input2&0 x3f; if(output1=0 x1f&output2=0 x2d) return (4); /7400/04/20/86的自動檢測P1=0 xff; /初始化測試端口 P2=0 xff; for(i=0;iM;i+) input1=ICi0; input2=ICi1; delayms(500); output1=input1&0 x3f; /將芯片邏輯結(jié)果input1通過&0 x3f取出 output2=input2&0 x3f; if(output1=ICi2&output2=ICi3) input1=ICi4; input2=ICi5; delayms(500);
47、output1=input1&0 x3f; output2=input2&0 x3f; if(output1=ICi6&output2=ICi7) return(i); void display(uint namex)/數(shù)碼管顯示子程序 uchar qian,bai,shi,ge; qian = namex/1000;/千位,把一個4位數(shù)分離后分別送數(shù)碼管顯示 bai = namex%1000/100;/百位 shi = namex%100/10;/十位 ge = namex%10;/個位 dula1 = 1; P0 = tableqian;/送段選數(shù)據(jù) dula1 = 0; P0 = 0 x
48、ff;/送位選數(shù)據(jù)前關(guān)閉所有顯示 delayms(500);/延時500ms dula2 = 1; P0 = tablebai; dula2 = 0; P0 = 0 xff; delayms(500); dula3 = 1; P0 = tableshi; dula3 = 0; P0 = 0 xff; delayms(500); dula4 = 1; P0 = tablege; dula4 = 0; P0 = 0 xff; delayms(500); P0 = 0 xff;wela = 1; P0 = 0 xc0; wela =0; while(1) if(key1=0) break; if(key2=0) break; int reset(void)/數(shù)碼管和發(fā)光led初始化 ledR = 1; /led初始化,都熄滅 ledG = 1;wela = 1;/數(shù)碼管初始化,顯示為0000 P0 = 0 xc0; wela = 0; dula1 =1; dula2 =1; dula3 =1; dula4 =1; P0 = table0; dula1 = 0; dula2 = 0; dula3 = 0; dula4 = 0; void keyscan(void) /鍵盤掃描函數(shù) int i; unsigned char output1,output2; if(k
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 泵池液位控制課程設(shè)計
- 泵房布置課程設(shè)計
- 氨水儲罐 課程設(shè)計
- 氨中間罐課程設(shè)計
- 畢業(yè)實驗課程設(shè)計
- 專業(yè)中介合同范本
- 聯(lián)營服裝合同范本
- 修建木房合同范本
- 減肥合同范本6
- 危房鑒定合同范本
- 2023年四川省林業(yè)和草原局直屬事業(yè)單位招聘考試真題
- 臨床輸血知識培訓(xùn)
- 期中試卷(第1-3單元)(試題)-2024-2025學(xué)年三年級上冊數(shù)學(xué)滬教版
- 急救小知識科普講座
- 2024年高等教育法學(xué)類自考-00262法律文書寫作考試近5年真題附答案
- 北京市人民大學(xué)附屬中學(xué)2025屆數(shù)學(xué)高二上期末統(tǒng)考模擬試題含解析
- 萬達入職在線測評題
- 2024年醫(yī)務(wù)科工作總結(jié)標(biāo)準(zhǔn)范本(二篇)
- “一老一小”服務(wù)體系協(xié)同高質(zhì)量發(fā)展對策研究
- 《白描人物摹神韻》 課件 2024-2025學(xué)年嶺南美版(2024) 初中美術(shù)七年級上冊
- 2024統(tǒng)編新版小學(xué)五年級語文上冊第六單元:大單元整體教學(xué)設(shè)計
評論
0/150
提交評論