版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 維修電工智能排故系統(tǒng)裝置</p><p> 院(系)、部: 電子電氣工程系 </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: 職稱 </p><p> 專 業(yè): </p><p&
2、gt; 班 級(jí): </p><p> 完成時(shí)間: </p><p><b> 摘 要</b></p><p> 在當(dāng)今時(shí)代,大部分的儀器儀表都實(shí)現(xiàn)了智能化,功能多樣化,操作方便化,直觀化。本次的設(shè)計(jì)課題是為修電工智能排故系統(tǒng)裝置。此裝置具有功能多、直觀、操作
3、方便的優(yōu)勢(shì)。維修電工智能排故系統(tǒng)裝置主要用來(lái)對(duì)學(xué)員進(jìn)行培訓(xùn)專用。它分為教師模式和學(xué)員培訓(xùn)考核模式。在教師模式下,我們可以進(jìn)行故障的設(shè)定,排故所需要的時(shí)間設(shè)定,也可以查看所設(shè)置好的故障序號(hào)。為用戶解決維修電工智能排故系統(tǒng)裝置長(zhǎng)時(shí)間沒(méi)有使用而忘記密碼,則采用一個(gè)開(kāi)機(jī)密碼和啟動(dòng)系統(tǒng)后再設(shè)密碼方案。學(xué)員培訓(xùn)考核模式,是用來(lái)檢驗(yàn)學(xué)員的考核情況。</p><p> 關(guān)鍵詞:智能排故;單片機(jī);控制;STC89C51;STC8
4、9C52;程序</p><p><b> 目 錄 </b></p><p><b> 摘 要2</b></p><p> 第一章 緒 論5</p><p> 1.1硬件方案討論5</p><p> 1.2 硬件方案的確定6</p>&
5、lt;p> 1.3軟件方案設(shè)計(jì)7</p><p> 1.4 STC89C51單片機(jī)的性能及應(yīng)用8</p><p> 1.5 成果預(yù)測(cè)9</p><p> 第二章 硬件設(shè)計(jì)9</p><p> 2.1硬件電路設(shè)計(jì)9</p><p> 2.1.1顯示電路9</p><p
6、> 2.1.2鍵盤電路11</p><p> 2.1.3 復(fù)位電路13</p><p> 2.1.4 電源設(shè)計(jì)13</p><p> 2.1.5 時(shí)鐘電路設(shè)計(jì)14</p><p> 2.1.6 輸出電路15</p><p> 2.1.7 系統(tǒng)原理圖17</p><p&g
7、t; 2.2 PCB板設(shè)計(jì)17</p><p> 2.2.1主電路板原理圖繪制18</p><p> 2.2.2 輔助電路板設(shè)計(jì)20</p><p> 第三章 軟件設(shè)計(jì)23</p><p> 3.1 主片CPU程序設(shè)計(jì)23</p><p> 3.1.1 中斷和計(jì)數(shù)程序24</p>
8、<p> 3.1.2 動(dòng)態(tài)顯示程序24</p><p> 3.1.3 4×4矩陣鍵盤掃描程序26</p><p> 3.1.4 密碼程序27</p><p> 3.1.5 監(jiān)控程序28</p><p> 3.1.6 延時(shí)程序28</p><p> 3.1.7 并行連接輸出程序
9、29</p><p> 3.1.8設(shè)置程序設(shè)計(jì)30</p><p> 3.1.8 考核程序設(shè)計(jì)30</p><p> 3.2 從片CPU程序設(shè)計(jì)31</p><p> 第四章 使用指南33</p><p> 4.1電源指南33</p><p> 4.2密碼指南33<
10、;/p><p> 4.3設(shè)置指南33</p><p> 4.3.1故障個(gè)數(shù)設(shè)置33</p><p> 4.3.1.1 數(shù)字選擇故障號(hào)33</p><p> 4.3.1.2 用“+”和“—”鍵選擇34</p><p> 4.3.1.3 取消已設(shè)置的故障34</p><p> 4.
11、3.2 定時(shí)設(shè)置34</p><p> 4.3.3 密碼設(shè)置35</p><p> 4.3.3.1 系統(tǒng)密碼35</p><p> 4.3.3.2 臨時(shí)密碼35</p><p> 4.3.3.3 臨時(shí)密碼設(shè)置35</p><p> 4.4考核指南35</p><p> 4
12、.5查詢指南36</p><p> 4.5.1 教師模式下查詢36</p><p> 4.5.2 考核后查詢36</p><p> 4.5.3 推出查詢模式36</p><p> 第五章 結(jié) 論37</p><p> 第六章 參考文獻(xiàn)38</p><p> 第七章
13、 致 謝39</p><p> 第八章 附 錄40</p><p> 附錄一 主片CPU程序40</p><p> 附錄二 從片(U2和U3)程序55</p><p><b> 緒論</b></p><p><b> 1.硬件方案討論</b><
14、;/p><p> 維修電工智能排故系統(tǒng)裝置(以下簡(jiǎn)稱裝置),主要用來(lái)對(duì)學(xué)員進(jìn)行培訓(xùn)專用。該裝置具有的四個(gè)功能:功能一,智能化;功能二,能很方便的進(jìn)行人機(jī)對(duì)話,即鍵盤顯示操作系統(tǒng)的應(yīng)用;功能三,能顯示排故定時(shí),故障點(diǎn)的編號(hào),以及設(shè)置的故障數(shù)等,即至少要有三組(兩個(gè)數(shù)碼管一組)數(shù)碼管顯示;功能四,能對(duì)電路中的48個(gè)點(diǎn)進(jìn)行選擇性控制,來(lái)模擬電路中的故障。</p><p> 功能一的設(shè)計(jì)討論。智能
15、化,采用單片機(jī)來(lái)實(shí)現(xiàn)。使用單片機(jī)的選擇有,AT89C51、AT89C52、STC89C51、STC89C52.宏晶STC系列單片機(jī)的功能,性能要比AT系列的好。</p><p> 功能二的設(shè)計(jì)討論。需要的按鍵,有0~9十個(gè)數(shù)字按鍵,因?yàn)檠b置需要輸入和設(shè)置密碼;有功能鍵,例如“模式”鍵、“確認(rèn)”鍵、“清零”鍵、“考核”鍵等;即按鍵數(shù)至少要有十四個(gè)按鍵。</p><p> 功能三的設(shè)計(jì)討論
16、。顯示采用三個(gè)兩位的數(shù)碼管動(dòng)態(tài)顯示。顯示數(shù)據(jù)的數(shù)值和組別的區(qū)別,用數(shù)碼管的閃爍實(shí)現(xiàn)。顯示有軟件譯碼和硬件譯碼。軟件譯碼比硬件譯碼占用的I/O口數(shù)多。硬件譯碼包括位選譯碼和數(shù)據(jù)顯示譯碼。</p><p> 功能四的設(shè)計(jì)討論。功能二和功能三占用了兩個(gè)I/O口,只剩下兩個(gè)I/O口可用,要實(shí)現(xiàn)功能四,I/O口就必須得擴(kuò)展。現(xiàn)有三種擴(kuò)展I/O口的方法:</p><p> 方法一,用8255芯片擴(kuò)
17、展I/O口,使其擴(kuò)展到48個(gè)I/O 口,但程序復(fù)雜;</p><p> 方法二,用4線16線譯碼器與D型觸發(fā)器控制電路結(jié)合使用,但這種方法的成本價(jià)高,需要用到24片D型觸發(fā)器芯片;</p><p> 方法三,用兩片單片機(jī)擴(kuò)展I/O口,采用并行連接法,程序簡(jiǎn)單,成本價(jià)低。</p><p><b> 2 硬件方案的確定</b></p&g
18、t;<p> 綜合上述的討論與分析,確定的硬件設(shè)計(jì)方案為:采用STC89C52作為該裝置的主控CPU芯片,按鍵采用4×4矩陣鍵盤,顯示采用硬件譯碼,輸出采用兩片單片機(jī)STC89C51作為從片CPU芯片與主片CPU芯片STC89C52并行連接,輸出控制點(diǎn)的通斷用繼電器來(lái)控制。其系統(tǒng)結(jié)構(gòu)方框圖如圖1-1。</p><p><b> 3軟件方案設(shè)計(jì)</b></p&
19、gt;<p> 按維修電工智能排故系統(tǒng)裝置的硬件設(shè)計(jì),來(lái)設(shè)計(jì)CPU的操作應(yīng)用系統(tǒng),即軟件的設(shè)計(jì)。</p><p> 兩從片CPU(STC89C51)的功能是,將主控CPU發(fā)過(guò)來(lái)的信號(hào)中轉(zhuǎn)控制繼電器的工作狀態(tài),并保持當(dāng)前狀態(tài),直到下一個(gè)相同的信號(hào)到來(lái)。由于它是與主控CPU并行連接,所以,只要讀取與主控CPU相連的I/O口的數(shù)據(jù),并保持相應(yīng)的狀態(tài)就行。</p><p> 主
20、控CPU(STC89C52)的功能,能對(duì)按鍵的輸入進(jìn)行相應(yīng)的處理,并能在數(shù)碼管上顯示;操作按鍵可實(shí)現(xiàn)的功能有,可以輸入并設(shè)置一個(gè)六位數(shù)的密碼;設(shè)置故障點(diǎn);查詢故障點(diǎn);設(shè)置定時(shí)時(shí)間;清零功能等等。</p><p> 由于主控CPU的功能強(qiáng)大,系統(tǒng)程序長(zhǎng),所以主程序的運(yùn)行采用中斷程序法,其它都設(shè)計(jì)成子程序。主要子程序有:動(dòng)態(tài)顯示程序;4×4矩陣鍵盤掃描程序;密碼程序;監(jiān)控程序;延時(shí)程序;輸出程序;報(bào)警程序
21、;中段計(jì)數(shù)程序等 </p><p> 4 STC89C51單片機(jī)的性能及應(yīng)用</p><p> STC89C51系列單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾、高速、低功耗的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可任意選擇。其主要特點(diǎn)如下:</p><p> 1)增強(qiáng)型6時(shí)鐘/機(jī)器周期,12時(shí)鐘/機(jī)器周期;<
22、;/p><p> 2)工作電壓:5.5V-3.4V(5V單片機(jī));</p><p> 3)工作頻率范圍:0-40MHZ,相當(dāng)于普通8051的0-80MHZ。實(shí)際工作頻率可達(dá)48MHZ;</p><p> 4)用戶應(yīng)用程序空間有4K字節(jié);</p><p> 5)片上集成512字節(jié)RAM;</p><p> 6)通用
23、I/O口(32個(gè)),復(fù)位后為:P0、P1、P2、P3是準(zhǔn)雙向口、弱上拉(普通8051傳統(tǒng)I/O口)。P0口是開(kāi)漏輸出。作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需要加上拉電阻;</p><p> 7)ISP(在系統(tǒng)可編程)、IAP(在應(yīng)用可編程),無(wú)需專用編程器、仿真器可通過(guò)串口(P3.0/P3.1)直接下載用戶程序,下載速度快;</p><p> 8)EEPROM功能;&l
24、t;/p><p><b> 9)看門狗;</b></p><p> 10)共3個(gè)16位定時(shí)器、計(jì)數(shù)器,其中定時(shí)器0還可以當(dāng)成2個(gè)8位定時(shí)器使用;</p><p> 11)外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,POWER DOWN模式可由外部中斷低電平觸發(fā)中斷方式喚醒;</p><p> 12)通用異步串行口(UA
25、RT),還可用定時(shí)軟件實(shí)現(xiàn)多個(gè)UART; </p><p> 13)工作溫度范圍: -40~+85攝氏度; </p><p> STC89C52用戶存儲(chǔ)器空間為8K,其功能與STC89C51相同,這里就不再介紹了。</p><p><b> 5 成果預(yù)測(cè)</b&
26、gt;</p><p> 維修電工智能排故系統(tǒng)裝置是根據(jù)高級(jí)電工培訓(xùn)考核的實(shí)際情況而設(shè)計(jì)的集培訓(xùn)學(xué)習(xí)、理論驗(yàn)證、實(shí)際操作能力、考核鑒定于一體的多功能考核設(shè)備。整個(gè)系統(tǒng)裝置能完成高級(jí)電工考核鑒定中的電力拖動(dòng)控制與照明電路的實(shí)操項(xiàng)目,適應(yīng)各大、中專、技校、職校初、高級(jí)電工、電拖專業(yè)教學(xué)與實(shí)訓(xùn)考核。</p><p><b> 一 元器件簡(jiǎn)介</b></p>
27、;<p> 1.主控芯片STC89C52</p><p> (1)STC89C52處理芯片</p><p><b> ?。?)主要性能</b></p><p> 與MCS-51單片機(jī)產(chǎn)品兼容 、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、 1000次擦寫周期、全靜態(tài)操作:0Hz~33Hz 、三級(jí)加密程序存儲(chǔ)器 、 32個(gè)可編程I/
28、O口線、三個(gè)16位定時(shí)器/計(jì)數(shù)器八個(gè)中斷源、全雙工UART串行通道、 低功耗空閑和掉電模式 、掉電后中斷可喚醒 、看門狗定時(shí)器 、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符 。</p><p><b> 功能特性描述</b></p><p> STC89C52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工
29、業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在線系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 STC89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶
30、振及時(shí)鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。8 位微控制器 8K字節(jié)在系統(tǒng)可編程 Flash</p><p> P0 口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TT
31、L邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。</p><p> 當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下, P0具有內(nèi)部上拉電阻。</p><p> 在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。</p><p> P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻
32、的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。</p><p> 此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2 的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。 在flash編程和校驗(yàn)時(shí),P
33、1口接收低8位地址字節(jié)。</p><p><b> 引腳號(hào)第二功能</b></p><p> P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出</p><p> P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)</p><p> P1.5 MOSI(在線系統(tǒng)編程用)</p&
34、gt;<p> P1.6 MISO(在線系統(tǒng)編程用)</p><p> P1.7 SCK(在線系統(tǒng)編程用)</p><p> P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P2 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流
35、(IIL)。</p><p> 在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @DPTR) 時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用 8位地址(如MOVX @RI)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。</p><p> P3 口:P3 口
36、是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 P3口亦作為STC89C52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。</p><p><b> 端口引腳 第二功
37、能</b></p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 INTO(外中斷0)</p><p> P3.3 INT1(外中斷1)</p><p> P3.4 TO(定時(shí)/計(jì)數(shù)器0)</p><p&
38、gt; P3.5 T1(定時(shí)/計(jì)數(shù)器1)</p><p> P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)</p><p> P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p> 此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。</p><p> RST——復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平
39、將是單片機(jī)復(fù)位。</p><p> ALE/PROG——當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。</p><p> 對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)
40、。</p><p> 如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。</p><p> PSEN——程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)STC89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),
41、每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。</p><p> EA/VPP——外部訪問(wèn)允許,欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。</p><p> 如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器
42、的指令。</p><p> FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。</p><p> 2. 3-8譯碼器74LS138</p><p><b> 引腳圖</b></p><p> 74LS138 為3 線-8 線譯碼器,共有 54/74S1
43、38和 54/74LS138 兩種線路結(jié)構(gòu)型式,</p><p><b> 其工作原理如下:</b></p><p> 當(dāng)一個(gè)選通端(E3)為高電平,另兩個(gè)選通端(E1)和/(E2))為</p><p> 低電平時(shí),可將地址端(A、B、C)的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端以低</p><p><b> 電
44、平譯出。 </b></p><p> 利用 E1、E2和E3可級(jí)聯(lián)擴(kuò)展成 24 線譯碼器;若外接一個(gè)反</p><p> 相器還可級(jí)聯(lián)擴(kuò)展成 32 線譯碼器。 </p><p> 若將選通端中的一個(gè)作為數(shù)據(jù)輸入端時(shí),74LS138還可作數(shù)據(jù)分配器。</p><p><b> 3.數(shù)碼管</b><
45、/p><p> 數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的
46、陰極為高電平時(shí),相應(yīng)字段就不亮。。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。 </p><p><b> ?。?)驅(qū)動(dòng)方式</b></p><p> 數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)
47、驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。</p><p> ?、?靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來(lái)驅(qū)
48、動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。</p><p> ?、?動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,
49、當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描
50、的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。 </p><p><b> (2)主要參數(shù)</b></p><p> 8字高度:8字上沿與下沿的距離。比外型高度小。通常用英寸來(lái)表示。范圍一般為0.25-20英寸。</p><p> 長(zhǎng)*寬*高:長(zhǎng)——
51、數(shù)碼管正放時(shí),水平方向的長(zhǎng)度;寬——數(shù)碼管正放時(shí),垂直方向上的長(zhǎng)度;高——數(shù)碼管的厚度。</p><p> 時(shí)鐘點(diǎn):四位數(shù)碼管中,第二位8與第三位8字中間的二個(gè)點(diǎn)。一般用于顯示時(shí)鐘中的秒。</p><p><b> 數(shù)碼管應(yīng)用</b></p><p> 數(shù)碼管是一類顯示屏 通過(guò)對(duì)其不同的管腳輸入相對(duì)的電流 會(huì)使其發(fā)亮 從而顯示出 數(shù)字&l
52、t;/p><p> 能夠顯示 時(shí)間 日期 溫度 等所有可用數(shù)字表示的參數(shù)</p><p> 由于它的價(jià)格便宜 使用簡(jiǎn)單 在電器 特別是家電領(lǐng)域應(yīng)用極為廣泛 空調(diào) 熱水器 冰箱 等等</p><p> 絕大多數(shù) 熱水器用的都是數(shù)碼管 其他家電 也用液晶屏與 熒光屏</p><p> 數(shù)碼管使用的電流與電壓</p><p&
53、gt; 電流:靜態(tài)時(shí),推薦使用10-15mA;動(dòng)態(tài)時(shí),16/1動(dòng)態(tài)掃描時(shí),平均電流為4-5mA,峰值電流50-60mA。</p><p> 電壓:查引腳排布圖,看一下每段的芯片數(shù)量是多少?當(dāng)紅色時(shí),使用1.9V乘以每段的芯片串聯(lián)的個(gè)數(shù);當(dāng)綠色時(shí),使用2.1V乘以每段的芯片串聯(lián)的個(gè)數(shù)。 </p><p><b> ?。?)常見(jiàn)問(wèn)題</b></p>&l
54、t;p> 恒流驅(qū)動(dòng)與非恒流驅(qū)動(dòng)對(duì)數(shù)碼管的影響</p><p><b> 1、顯示效果:</b></p><p> 由于發(fā)光二極管基本上屬于電流敏感器件,其正向壓降的分散性很大, 并且還與溫度有關(guān),為了保證數(shù)碼管具有良好的亮度均勻度,就需要使其具有恒定的工作電流,且不能受溫度及其它因素的影響。另外,當(dāng)溫度變化時(shí)驅(qū)動(dòng)芯片還要能夠自動(dòng)調(diào)節(jié)輸出電流 的大小以實(shí)現(xiàn)色
55、差平衡溫度補(bǔ)償。</p><p><b> 2、安全性:</b></p><p> 即使是短時(shí)間的電流過(guò)載也可能對(duì)發(fā)光管造成永久性的損壞,采用恒流驅(qū)動(dòng)電路后可防止 由于電流故障所引起的數(shù)碼管的大面積損壞。</p><p> 另外,我們所采用的超大規(guī)模集成電路還具有級(jí)聯(lián)延時(shí)開(kāi)關(guān)特性,可防止反向尖峰電壓對(duì)發(fā)光二極管的損害。</p>
56、<p> 超大規(guī)模集成電路還具有熱保護(hù)功能,當(dāng)任何一片的溫度超過(guò)一定值時(shí)可自動(dòng)關(guān)斷,并且可在控制室內(nèi)看到故障顯示。</p><p> 為什么數(shù)碼管亮度不均勻?</p><p> 關(guān)于亮度一致性的問(wèn)題是一個(gè)行業(yè)內(nèi)的常見(jiàn)問(wèn)題。</p><p> 有二個(gè)大的因素影響到亮度一致性。</p><p> 一是使用原材料芯片的選取,
57、一是使用數(shù)碼管時(shí)采取的控制方式。</p><p> 1、原材料--芯片的VF和亮度和波長(zhǎng)是一個(gè)正態(tài)分布,</p><p> 即使篩選過(guò)芯片,VF和亮度和波長(zhǎng)已在一個(gè)很小的范圍了,生產(chǎn)出來(lái)的產(chǎn)品還是在一個(gè)范圍內(nèi),結(jié)果就是亮度不一致。</p><p> 2、要保證數(shù)碼管亮度一樣,在控制方式選取上也有差別</p><p> 最好的辦法是恒流
58、控制,流過(guò)每一個(gè)發(fā)光二極管的電流都是相同的,這樣發(fā)光二極管看起來(lái)亮度就是一樣的了。如恒壓控制,則導(dǎo)致VF不相同的發(fā)光二極管分到的電流不相同,所以亮度也不同。</p><p> 當(dāng)然以上二個(gè)條件是相輔相成的。</p><p> 怎樣測(cè)量數(shù)碼管引腳,分共陰和共陽(yáng)?</p><p> 找公共共陰和公共共陽(yáng):首先,我們找個(gè)電源(3到5伏)和1個(gè)1K(幾百歐的也行)的電
59、阻,VCC串接個(gè)電阻后和GND接在任意2個(gè)腳上,組合有很多,但總有一個(gè)LED會(huì)發(fā)光的,找到一個(gè)就夠了,然后GND不動(dòng),VCC(串電阻)逐個(gè)碰剩下的腳,如果有多個(gè)LED(一般是8個(gè)),那它就是共陰的了。相反用VCC不動(dòng),GND逐個(gè)碰剩下的腳,如果有多個(gè)LED(一般是8個(gè)),那它就是共陽(yáng)的。也可以直接用數(shù)字萬(wàn)用表,紅表筆是電源的正極,黑表筆是電源的負(fù)極。</p><p><b> 二 硬件設(shè)計(jì)</
60、b></p><p><b> 1硬件電路設(shè)計(jì)</b></p><p><b> (1)顯示電路</b></p><p> 1) 74LS48是一款常用的共陽(yáng)極數(shù)碼管專用譯碼芯片。它實(shí)現(xiàn)的功能是從BCD碼到七段數(shù)碼管的譯碼和驅(qū)動(dòng)。引腳圖如圖2-1所示。 </p><
61、;p> 它的a~g腳接七段數(shù)碼管的七段數(shù)字段,而A、B、C、D引腳接單片機(jī)的數(shù)據(jù)線,3個(gè)控制引腳接高電平。這樣當(dāng)A、B、C、D 4個(gè)引腳輸入0~15的數(shù)據(jù)時(shí),跟它相連接的數(shù)碼管就顯示相應(yīng)的字符。</p><p> 2)74LS138芯片是位選譯碼器,它的A、B、C引腳接單片機(jī)的數(shù)據(jù)線,這樣當(dāng)A、B、C 3個(gè)引腳輸入0~5的數(shù)據(jù)時(shí),跟它相連接的相應(yīng)數(shù)碼管工作。</p><p>&l
62、t;b> 圖2-2顯示電路</b></p><p> 3)系統(tǒng)顯示電路采用了3個(gè)2位共陰數(shù)碼管,如圖2-1所示。3個(gè)數(shù)碼管使用一塊74LS138譯碼器作為位選輸出,與主片CPU的P1口低三位相連;同時(shí)采用一塊74LS48作為段選譯碼,與主片CPU的P1口高四位相連。用74LS48作為段選譯碼器,則需要在它與數(shù)碼管之間串聯(lián)電阻(設(shè)計(jì)中用了8個(gè)300Ω的電阻),其作用是限流,保護(hù)數(shù)碼管燈不被大電
63、流燒壞。</p><p><b> ?。?)鍵盤電路</b></p><p> 對(duì)于圖3-3的按鍵連接,一般情況下在按鍵被按下和被釋放的瞬間,單片機(jī)讀到的數(shù)據(jù)并不是理想中的從高電平到低電平和從低電平到高電平的跳變,而是如圖3-4所示的有抖動(dòng)的電壓波形。</p><p> 圖2-4中的抖動(dòng)是由按鍵的機(jī)械特性所決定的,抖動(dòng)時(shí)間一般為10ms左右
64、。如果不對(duì)按鍵抖動(dòng)做任何處理而直接讀取,對(duì)相對(duì)操作者來(lái)說(shuō)速度非??斓膯纹瑱C(jī),在按鍵被按下和被釋放的過(guò)程中相當(dāng)于有多次按下和釋放的操作。為了保證單片機(jī)對(duì)按鍵輸入的正確判斷,必須對(duì)按鍵抖動(dòng)做出處理,這個(gè)過(guò)程叫做按鍵的去抖。去抖可以采用硬件和軟件兩種方法。硬件方法就是在按鍵的輸入通道里加入一定的去抖電路,如加入一個(gè)電容或低通濾波器,靠其積分作用來(lái)消除抖動(dòng);軟件方法是指采用延時(shí)的方法把抖動(dòng)的時(shí)間拋掉,等電壓穩(wěn)定之后再讀取按鍵的狀態(tài)。由于抖動(dòng)時(shí)間
65、與整個(gè)按鍵操作時(shí)間相比很小,所以延時(shí)不會(huì)對(duì)按鍵狀態(tài)的判斷產(chǎn)生什么影響。而且軟件去抖省去了硬件電路,變得更加經(jīng)濟(jì)實(shí)用。</p><p> 裝置的鍵盤電路采用4×4矩陣鍵盤電路與主片CPU的P2口連接,電路圖如圖2-5所示。鍵盤電路中沒(méi)有接上拉電阻,是因?yàn)閱纹瑱C(jī)的P2口內(nèi)有上拉電阻。</p><p><b> 圖2-5 鍵盤電路</b></p>
66、<p><b> ?。?)復(fù)位電路</b></p><p> 復(fù)位電路是使單片機(jī)的CPU或系統(tǒng)中的其它部件處于某一確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。當(dāng)程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死機(jī)狀態(tài)時(shí),則需要有復(fù)位鍵來(lái)恢復(fù)CPU的正常工作。通常單片機(jī)復(fù)位操作有上電復(fù)位、信號(hào)復(fù)位、運(yùn)行監(jiān)視復(fù)位,運(yùn)行監(jiān)視有程序運(yùn)行監(jiān)視和電源監(jiān)視。系統(tǒng)復(fù)位電路如圖2-6所示:</p>&l
67、t;p> 上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電瞬間CPU的RESET引腳獲得高電平,隨著電容的充電,RESET引腳的高電平將逐漸下降。RESET引腳的高電平只要能保持足夠的時(shí)間(2個(gè)機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。</p><p><b> 圖2-6 復(fù)位電路</b></p><p><b> ?。?)電源設(shè)計(jì)</b&g
68、t;</p><p> 電源的穩(wěn)壓電路根據(jù)調(diào)整元件類型可以分為電子管穩(wěn)壓電路、三極管穩(wěn)壓電路、可控硅穩(wěn)壓電路、集成穩(wěn)壓電路等;根據(jù)調(diào)整元件與負(fù)載連接方法,可以分為串聯(lián)型和并聯(lián)型;根據(jù)調(diào)整元件工作狀態(tài)不同,可以分線性和開(kāi)關(guān)穩(wěn)壓電路。直流穩(wěn)壓電源一般由電源變壓器、整流濾波電路及穩(wěn)壓電路所組成。</p><p> 由于本系統(tǒng)對(duì)電源要求相對(duì)較高,所以配備了一個(gè)獨(dú)立的開(kāi)關(guān)電源,其輸出電壓為+5V
69、,輸出電流為1000mA。</p><p><b> ?。?)時(shí)鐘電路設(shè)計(jì)</b></p><p> 時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需的時(shí)鐘信號(hào),而時(shí)序所研究的是指令執(zhí)行中各信號(hào)之間的相互聯(lián)系。單片機(jī)本身就如一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格的工作。系統(tǒng)時(shí)鐘振蕩電路如圖3-7所示。</p><p&g
70、t; 圖3-7 時(shí)鐘振蕩電路</p><p> 單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。而在芯片外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。</p><p> 只要在單片機(jī)的XTAL1和XTAL2引腳外接晶體振蕩器就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘信號(hào)。電容C1和C2的作用是穩(wěn)定頻率和
71、快速起振,電容值在5-30pF之間。外部時(shí)鐘方式是把外部已有的時(shí)鐘信號(hào)引入到單片機(jī)內(nèi)。一般要求外部信號(hào)高電平的持續(xù)時(shí)間大于20ns,且為頻率不大于12MHz的方波。</p><p><b> (4)輸出電路</b></p><p> 1)電路要對(duì)48個(gè)繼電器進(jìn)行單獨(dú)控制,則所需主片CPU 的I/O口就要有48個(gè),而主片CPU的I/O口顯然是不能滿足的。所以必須擴(kuò)展
72、I/O口。電路采用兩片單片機(jī)與主片CPU并行連接來(lái)擴(kuò)展I/O口,電路原理圖如圖2-8所示。用從片U2和U3的P0口分別與主片CPU P1口的低五位和P3口的高五位連接,則兩從片CPU剩余的I/O口數(shù)剛好為48個(gè)。為了保證數(shù)據(jù)同步,3塊CPU的晶振頻率全部為12MHz。</p><p> 圖2-8 I/O口擴(kuò)展電路 </p><p> 2)用兩從片剩余的48個(gè)I/O口與48個(gè)繼電器輸出控
73、制電路一一對(duì)應(yīng)的連接。繼電器輸出控制電路由繼電器和ULN2003芯片連接組成。一片ULN2003芯片有8路輸入和8路輸出,輸入口接單片機(jī),輸出口接繼電器。ULN2003具有很強(qiáng)的驅(qū)動(dòng)能力,它可以直接驅(qū)動(dòng)繼電器。其原理圖如圖2-9所示。</p><p><b> ?。?)系統(tǒng)原理圖</b></p><p> 系統(tǒng)總原理圖如圖3-10所示,</p><
74、;p> 圖3-10 修電工智能排故系統(tǒng)裝置總原理圖</p><p><b> 2.PCB板設(shè)計(jì)</b></p><p> PCB板的制作在protel99SE中進(jìn)行,protel99SE采用數(shù)據(jù)庫(kù)的管理方式。protel99SE軟件沿襲了protel99以前版本方便易學(xué)的特點(diǎn),內(nèi)部界面與protel99大體相同,新增加了一些功能模塊,功能更加強(qiáng)大。新增加的
75、層堆棧管理功能,可以設(shè)計(jì)32個(gè)信號(hào)層,16個(gè)地電層,16個(gè)機(jī)械層。新增的3D功能讓您在加工印制板之前看到板的三維效果。增強(qiáng)的打印功能,使您可以輕松修改打印設(shè)置控制打印結(jié)果。protel99SE容易使用的特性還體現(xiàn)在“這是什么”幫助,按下右上角的小問(wèn)號(hào),然后輸入你所要的信息,可以很快地看到特性的功能,然后用到設(shè)計(jì)中,按下?tīng)顟B(tài)欄末端的按鈕,使用自然語(yǔ)言幫助顧問(wèn)。</p><p> 在硬件設(shè)計(jì)中,考慮到市場(chǎng)上有一種可
76、放置電路板的專用盒子(160mm×120mm),為了能使用它,在制作PCB板時(shí),把硬件電路分別制成了兩快PCB板(一塊PCB放不下整個(gè)電路的元器件)。一塊主電路板,即CPU控制電路板;另一塊輔助電路板,電路有顯示電路、鍵盤電路和繼電器電路。繼電器是要控制強(qiáng)電,可能會(huì)影響系統(tǒng)的穩(wěn)定性,所以在設(shè)計(jì)時(shí),就把繼電器電路單獨(dú)放在電路板的一邊,做隔絕處理。</p><p> 在PCB板設(shè)計(jì)之前,先進(jìn)行原理圖的繪制
77、。</p><p> (1)主電路板原理圖繪制</p><p> 雙擊protel99SE圖標(biāo)打開(kāi)軟件后,新建一個(gè).DDB的庫(kù)文件。在新建好的庫(kù)文件中建立一個(gè).sch的原理圖文件。打開(kāi)新建的原理圖文件,設(shè)置圖紙大小,寬1600,高1200。將所需元器件放置好,然后連線。在實(shí)際設(shè)計(jì)過(guò)程中可以利用protel99SE強(qiáng)大的網(wǎng)絡(luò)連線功能,不需要將每條電氣線路都畫出來(lái),只需將所要連接的元件引腳
78、設(shè)置為相同的網(wǎng)絡(luò)標(biāo)號(hào)。原理圖畫好后進(jìn)行元器件封裝。最后進(jìn)行ERC規(guī)則檢查。主電路板原理圖如圖2-11所示,</p><p> 圖2-11 主電路板原理圖</p><p> 當(dāng)設(shè)計(jì)好原理圖,在進(jìn)行了ERC電氣規(guī)則檢查正確無(wú)誤后,就要生成網(wǎng)絡(luò)表,為PCB布線做好準(zhǔn)備。在“Design”下選取“Create Netlist”對(duì)話框,設(shè)置為相應(yīng)格式的網(wǎng)絡(luò)表。網(wǎng)絡(luò)表生成后,就可以進(jìn)行PCB設(shè)計(jì)了
79、。</p><p> 新建議個(gè).pcb的文件,設(shè)置合適的邊框大小,本設(shè)計(jì)PCB尺寸為143mm×106mm。導(dǎo)入網(wǎng)絡(luò)表,在“Design”下選擇“l(fā)oad nets”,選取將要導(dǎo)入的網(wǎng)絡(luò)表文件,點(diǎn)擊“Execute”即可。接下來(lái)就可以進(jìn)行布線。</p><p> 布線的關(guān)鍵是布局,多數(shù)設(shè)計(jì)者采用手動(dòng)布局的形式?!癛oom”定義規(guī)則,可以將指定元件放到指定區(qū)域。protel99
80、SE在布局方面新增加了一些技巧。新的交互式布局選項(xiàng)包括自動(dòng)選擇和自動(dòng)對(duì)齊。使用自動(dòng)選擇方式可以很快地收集相似封裝元件,然后旋轉(zhuǎn)、展開(kāi)和整理成組,就可以移動(dòng)到板上所需的位置上了。當(dāng)簡(jiǎn)易的布局完成后,使用自動(dòng)對(duì)齊方式整齊的展開(kāi)或縮緊一組封裝相似的元件。</p><p> 在布線之前先要設(shè)置布線規(guī)則。在“Design”下選擇“Rules”對(duì)話框,選擇不同網(wǎng)絡(luò)布線的線寬、布線方式、布線的層數(shù)、安全間距、過(guò)孔大小等。&l
81、t;/p><p> 有了布線規(guī)則,就可以進(jìn)行自動(dòng)或手動(dòng)布線了。選擇“Auto Route”菜單,采用自動(dòng)布線。</p><p> (2)輔助電路板設(shè)計(jì)</p><p> LED由強(qiáng)電部分與弱電部分組成。強(qiáng)電部分包括16個(gè)+5V的繼電器以及32個(gè)接線端子。本設(shè)計(jì)可單獨(dú)控制48個(gè)繼電器通斷,考慮到實(shí)際應(yīng)用中可能不需要48個(gè)繼電器,所以LED板只設(shè)計(jì)16個(gè)繼電器輸出,如
82、果需要更多輸出,則可以通過(guò)CPU板上的接口進(jìn)行擴(kuò)展。弱電部分包括顯示電路以及鍵盤電路。LED板原理圖如圖2-2-4所示:</p><p> 圖2-2-4 LED板原理圖</p><p> 強(qiáng)電部分通電電流較大,所以線寬設(shè)置為2mm。為了使強(qiáng)電部分不影響弱電部分穩(wěn)定性,強(qiáng)電部分與弱電部分之間用地線來(lái)做一個(gè)屏蔽環(huán)。LED板尺寸與CPU板相同。</p><p> 當(dāng)
83、一塊線路板已經(jīng)設(shè)計(jì)好,要檢查布線是否有錯(cuò)誤,Protel99 SE提供了很好的檢查工具“DRC”自動(dòng)規(guī)則檢查。只要運(yùn)行“Tools”下的“Design Rlue Check”,計(jì)算機(jī)會(huì)自動(dòng)將檢查結(jié)果列出來(lái)。</p><p><b> 三 軟件設(shè)計(jì)</b></p><p> 1.主片CPU程序設(shè)計(jì)</p><p> 主片CPU程序的主程序
84、采用中斷運(yùn)行,其流程圖如圖4-1所示。</p><p> 主片CPU的子程序設(shè)計(jì)有:中斷和計(jì)數(shù)程序設(shè)計(jì);動(dòng)態(tài)顯示程序設(shè)計(jì);4×4矩陣鍵盤掃描程序設(shè)計(jì);密碼程序設(shè)計(jì);監(jiān)控程序設(shè)計(jì);延時(shí)程序設(shè)計(jì);并行連接輸出程序設(shè)計(jì);設(shè)置程序設(shè)計(jì);考核程序設(shè)計(jì)等等。</p><p> (1) 中斷和計(jì)數(shù)程序</p><p> 在C51語(yǔ)言中,中斷服務(wù)程序是以中斷服務(wù)函數(shù)
85、的形式存在的,該函數(shù)需要使用關(guān)鍵字interrupt進(jìn)行定義,interrupt后面的參數(shù)0~4表明了中斷源。在設(shè)計(jì)中斷服務(wù)函數(shù)時(shí)常使用using關(guān)鍵字,using定義了在中斷服務(wù)函數(shù)中使用的寄存器組,參數(shù)0~3,分別對(duì)應(yīng)0~3通用工作寄存器,這樣的好處是可以減少壓入堆棧的變量?jī)?nèi)容,從而簡(jiǎn)化中斷服務(wù)程序的內(nèi)容,以加快程序執(zhí)行的速度。裝置的系統(tǒng)的運(yùn)行采用中斷掃描法,中斷為每隔10ms中斷一次,而監(jiān)視中斷次數(shù),可以計(jì)算出時(shí)間,于是,可實(shí)現(xiàn)定
86、時(shí)功能。其子程序設(shè)計(jì)為:“void Timer0Int() interrupt 1 using 3”,詳細(xì)程序請(qǐng)參考附錄。</p><p><b> ?。?)動(dòng)態(tài)顯示程序</b></p><p><b> 1)顯示方法介紹</b></p><p> 數(shù)碼管有兩種顯示方法:靜態(tài)顯示法和動(dòng)態(tài)顯示法。</p>
87、<p> 所謂靜態(tài)顯示是指數(shù)碼管顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定導(dǎo)通或恒定截止。這種顯示方式占用CPU時(shí)間少,編程簡(jiǎn)單,但其占用的I/O口線多,硬件電路復(fù)雜,成本高,且只適合于顯示字符位數(shù)較少的場(chǎng)合。</p><p> 動(dòng)態(tài)顯示是指逐次點(diǎn)亮每個(gè)數(shù)碼管。方法是每個(gè)數(shù)碼管的公共端都由一個(gè)I/O口線來(lái)控制,以動(dòng)態(tài)方式顯示時(shí),先選中第1個(gè)數(shù)碼管,把數(shù)據(jù)送給它顯示,一定時(shí)間后再選中第2個(gè)數(shù)碼管,把數(shù)據(jù)送給
88、它顯示……即在某一時(shí)刻只有一個(gè)數(shù)碼管在顯示字符。這樣只要掃描的速度足夠高(要超過(guò)人眼的視覺(jué)暫留時(shí)間20ms),動(dòng)態(tài)顯示的效果在人看來(lái)就是幾個(gè)數(shù)碼管同時(shí)顯示。采用動(dòng)態(tài)顯示方式比較節(jié)省I/O口,硬件電路也比靜態(tài)顯示方式簡(jiǎn)單,用一個(gè)位選譯碼芯片74LS138就能實(shí)現(xiàn),但其亮度不如靜態(tài)顯示方式時(shí)的亮度,而且在顯示的數(shù)碼管較多時(shí),CPU要依次掃描,會(huì)占用較多的時(shí)間。</p><p><b> 2)選擇輸送顯示&
89、lt;/b></p><p> P1口的低三位為輸出位選信號(hào),來(lái)控制六位數(shù)碼管的工作;P1口的高四位為輸送顯示數(shù)據(jù),用“<<”左移指令使數(shù)據(jù)左移四位實(shí)現(xiàn)。其子程序設(shè)計(jì)為:“void Scan7()”, 詳細(xì)程序請(qǐng)參考附錄一。3)顯示程序說(shuō)明</p><p> 顯示程序分為兩個(gè)子程序“Display0”和“Display1”。“Display0”是顯示密碼程序;“Di
90、splay1”是顯示除密碼值以外的數(shù)值程序(例:定時(shí)、故障編號(hào)等等)。</p><p> 4)閃爍顯示方法說(shuō)明</p><p> 在程序中“Flag2”的功能就是實(shí)現(xiàn)閃爍。程序?yàn)椋骸癷f(s_Bian++>=50) {flag2=!flag2;s_Bian=0;} ”。其具體實(shí)現(xiàn)的方法是:</p><p> void Display0(void)<
91、/p><p> { if(flag2==1)</p><p> { -------------;</p><p> Dis[4]=(char)s_Midxh[4];</p><p> Dis[5]=(char)s_Midxh[5];</p><p><b> }</b></p>
92、;<p><b> else</b></p><p> { Dis[4]=(char)-1;</p><p> Dis[5]=(char)-1;</p><p><b> }</b></p><p><b> }</b></p><
93、;p> 5)“Flag” 指令說(shuō)明</p><p> “Flag”指令的功能是:在考核模式下,用來(lái) 查看另一組(黑色)顯示的,即顯示的替換。</p><p> ?。ㄗⅲ骸癉is[]=(char)-1”是在數(shù)碼管不能顯示。執(zhí)行此指令時(shí),數(shù)碼管燈不亮。)</p><p> (3) 4×4矩陣鍵盤掃描程序</p><p>
94、 矩陣式鍵盤的按鍵判別有兩種方法:行列掃描法和鍵盤中斷法。</p><p> 行列掃描法:從第1行(或列)開(kāi)始使每一行(或列)分別置低電平,然后讀入所有列。(或行)的狀態(tài),如果沒(méi)有鍵被按下,則讀到的列(或行)全為高電平;而當(dāng)有鍵被按下后,讀入的列(或行)中必有一條為低電平,此時(shí)此列(或行)與該行(或列)的交點(diǎn)處的按鍵就是被按下的鍵。</p><p> 鍵盤中斷法的一般電路如圖3-5所示
95、。P1.4~Pl.7置高電平,依次置P1.0~P1.3為低電平,當(dāng)有鍵被按下時(shí),INT0引腳為低電平,于是單片機(jī)產(chǎn)生外部中斷,在中斷服務(wù)程序中通過(guò)讀取P1.4~P1.7的電平就可以判斷是哪個(gè)鍵被按下。</p><p> 本課題用的是4行4列的矩陣式鍵盤,程序使用的是行列掃描法,其鍵盤程序流程圖如圖3-6。</p><p><b> ?。?)密碼程序</b></
96、p><p> 在此次密碼程序的設(shè)計(jì)中,考慮到用戶有可能會(huì)忘記密碼,所以,在程序中設(shè)計(jì)了兩個(gè)密碼程序,系統(tǒng)密碼程序和臨時(shí)密碼程序。</p><p> 統(tǒng)密碼程序在每次上電或按盒內(nèi)的復(fù)位按鈕10ms后,系統(tǒng)自動(dòng)設(shè)置的密碼程序,系統(tǒng)密碼為123456。其具體實(shí)現(xiàn)的方法,是在十秒后,在“void Timer0Int() interrupt 1 using 3”子程序中調(diào)用“void Mima11(
97、void)”子程序?qū)崿F(xiàn),具體語(yǔ)句:“if((flag1==1)&&(xh2==0)) { if(s_Counter++<=10) Mima11();}”。系統(tǒng)密碼子程序?yàn)椋骸皏oid Mima11(void)”。</p><p> 臨時(shí)密碼程序,是在每次掉電或按盒內(nèi)的復(fù)位按鈕時(shí),系統(tǒng)自動(dòng)清除設(shè)置的密碼數(shù)據(jù)。其程序在“tiaoshi=3”模式和操作面板“故障數(shù)”燈閃爍模式時(shí)可以調(diào)用并可進(jìn)行臨
98、時(shí)密碼的設(shè)置。其臨時(shí)密碼子程序?yàn)椋骸皏oid Mima10(void)”</p><p> (注:“xh2”指令功能判斷程序執(zhí)行在那種狀態(tài),“=0”為解密碼狀態(tài)、“=1”為解開(kāi)密碼狀態(tài)、“=3”為考核狀態(tài)?!癴lag1=1”時(shí)為解開(kāi)密碼狀態(tài),“flag1=0”為解密碼狀態(tài))</p><p><b> ?。?) 監(jiān)控程序</b></p><p&g
99、t; 為了對(duì)數(shù)據(jù)輸出進(jìn)行監(jiān)控并進(jìn)行相應(yīng)的記錄,如對(duì)設(shè)置的故障數(shù)和排故障狀態(tài)進(jìn)行記錄。設(shè)計(jì)出監(jiān)控子程序有“void ShuChu(void)”、“void Guwcs1()” 和 “void Guwcs2()”。</p><p><b> ?。?)延時(shí)程序</b></p><p> 延時(shí)程序的設(shè)計(jì),用于鍵盤按鈕的去斗和輸出的延時(shí)等。其子程序?yàn)椋?lt;/p>
100、<p> void Delay (unsigned int value)</p><p> { while (value!=0)</p><p> { value-- ; }</p><p><b> }</b></p><p> 從片CPU和主片CPU的延時(shí)程序及功能一樣,下面就不再介紹了。
101、</p><p> ?。?)并行連接輸出程序</p><p> 從片CPU與主片CPU是用并行連接。與串行連接相比,雖然多占用了主片CPU的I/O口,但是,并行連接法,在軟件編程和通訊方面比串行連接法要好。利于通訊,節(jié)省ROM存儲(chǔ)空間。</p><p> 主片CPU(STC89C52)P1口的低五位和P3口的高五位分別與從片CPU“U2”和“U3”相連。其程序流
102、程圖為圖3-7。</p><p><b> ?。?)設(shè)置程序設(shè)計(jì)</b></p><p> 設(shè)置程序?yàn)閷?duì)故障、定時(shí)和密碼進(jìn)行設(shè)置的程序。其程序設(shè)計(jì)流程圖如圖4-8。</p><p><b> (9)考核程序設(shè)計(jì)</b></p><p> 考核程序是對(duì)學(xué)員進(jìn)行考核記錄設(shè)計(jì)的。其程序流程圖如圖3-
103、9。</p><p> 2.從片CPU程序設(shè)計(jì)</p><p> 從片CPU的主要功能是控制繼電器的“通”和“斷”狀態(tài)。當(dāng)接受到主片CPU發(fā)來(lái)的每次信號(hào)時(shí),相應(yīng)的響應(yīng)一次動(dòng)作,也可以說(shuō)狀態(tài)翻轉(zhuǎn)一次。由此,程序只要用一個(gè)取反指令(=?。┚湍軐?shí)現(xiàn)此功能。例:P1口定義為位變量,每執(zhí)行一次“P1=!P1”語(yǔ)句,P1的狀態(tài)則改變一次。由“0”狀態(tài)變“1”狀態(tài)或由“1”狀態(tài)變“0”狀態(tài)。<
104、/p><p> 此裝置用了兩個(gè)從片CPU,即U2和U3芯片(STC89C51)。兩個(gè)從片的功能相同,連接方式相同,程序也相同。都是用P1口與主片CPU連接,從片CPU只要讀出主片CPU送給它的P1口數(shù)據(jù),就可以執(zhí)行其相應(yīng)的語(yǔ)句功能。其從片程序流程圖如圖3-10。</p><p><b> 四 結(jié)論</b></p><p> 大學(xué)三年中,
105、我系統(tǒng)的學(xué)習(xí)了單片機(jī)的知識(shí),也看到了單片機(jī)控制程序的廣闊前景,選擇這個(gè)課題,正是希望能加深自己對(duì)單片機(jī)各方面的理解,并在運(yùn)用先前學(xué)到的知識(shí)進(jìn)行設(shè)計(jì)的過(guò)程中,進(jìn)一步的理解其實(shí)質(zhì)和作用,鞏固和拓展以前的學(xué)習(xí)成果,從而豐富自己的知識(shí)。 由于單片機(jī)技術(shù)發(fā)展已經(jīng)很成熟,我們更多的是借鑒前人的工作,完善我們的設(shè)計(jì)。當(dāng)然,我們?cè)谇叭说幕A(chǔ)上向前走了一步,無(wú)論是原器件的選擇,還是程序的設(shè)計(jì),我們做的比他們復(fù)雜,這并不是簡(jiǎn)單意義上的重復(fù),而是消化吸收
106、和創(chuàng)新。 在設(shè)計(jì)的過(guò)程中,為了查找相關(guān)的技術(shù)文獻(xiàn)資料,我們上網(wǎng),去學(xué)校圖書館查找資料,雖然辛苦一點(diǎn),但是令人欣慰的是學(xué)到了書本上學(xué)不到的東西,并且掌握了設(shè)計(jì)的一般方法。 由于時(shí)間很短,我們的能力也有限,很可能我們的設(shè)計(jì)存在這樣或那樣的不足,希望各位多多批評(píng)斧正。</p><p><b> 第五章 參考文獻(xiàn)</b></p><p> [
107、1] 馬家辰、孫玉德《C-51單片機(jī)原理及接口技術(shù)》 哈爾濱工業(yè)大學(xué)出版社</p><p> [2] 陳麗芳 《單片機(jī)原理與控制技術(shù)》 東南大學(xué)出版社</p><p> [3] 何立民 《單片機(jī)系統(tǒng)設(shè)計(jì)》 北京航空航天大學(xué)出版社</p><p> [4] 王修才、劉祖望:《單片機(jī)接口技術(shù)》
108、 復(fù)旦大學(xué)出版社</p><p> [5] 李建忠 《單片機(jī)原理及應(yīng)用》 西安電子科技大學(xué)出版社</p><p> [6] 李廣娣《單片機(jī)基礎(chǔ)》 北京航空航天大學(xué)出版社</p><p> [7] 公茂法等《單片機(jī)人機(jī)接口實(shí)例集》 北京航天航空大學(xué)出版社1997</p>
109、;<p> [8] 《Protel99SE原理圖與PCB設(shè)計(jì)》 清源計(jì)算機(jī)工作室</p><p> [9]《實(shí)用電子電路手冊(cè)》 高等教育出版社,1991年10月 [10] 王為青、程國(guó)剛 《單片機(jī) Keil CX51 應(yīng)用開(kāi)發(fā)技術(shù)》 人民郵電出版社</p>
110、<p><b> 第六章 致 謝</b></p><p> 在這次的設(shè)計(jì)當(dāng)中,我要感謝幾位老師的幫助。李廣兵老師給了我們?cè)谟布O(shè)計(jì)上的指導(dǎo);湯澤軍老師給了我在軟件設(shè)計(jì)上的指導(dǎo)。有了老師的指導(dǎo),我們的論文完成進(jìn)度加快了。還要感謝幾位同學(xué)的幫助,在編程的過(guò)程中,他們教我使用編程軟件和硬件仿真軟件,特別是硬件仿真軟件的使用,使我在學(xué)習(xí)編程的過(guò)程中,與實(shí)際結(jié)合,加深了我的應(yīng)用能力
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)--智能清潔裝置控制系統(tǒng)設(shè)計(jì)
- 733空調(diào)系統(tǒng)排故總結(jié)
- 畢業(yè)設(shè)計(jì)-智能排爆機(jī)械手
- 智能窗簾控制裝置畢業(yè)設(shè)計(jì)論文
- 《智能檢測(cè)顯示裝置》畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文 智能窗簾控制裝置設(shè)計(jì)
- 智能稱重系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 高級(jí)工排故
- 智能小車系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 裝備排故訓(xùn)練與考核系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 機(jī)械畢業(yè)設(shè)計(jì)----氧槍系統(tǒng)設(shè)計(jì)維修
- 畢業(yè)設(shè)計(jì)--鋼排釘自動(dòng)成排定向裝置的設(shè)計(jì)
- 無(wú)功功率補(bǔ)償裝置安裝與排故操作實(shí)訓(xùn)
- 基于案例的飛機(jī)排故模擬和智能訓(xùn)練技術(shù).pdf
- 鋼排釘自動(dòng)成排定向裝置的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--智能鐵路查詢系統(tǒng)
- 智能家居系統(tǒng)畢業(yè)設(shè)計(jì)
- 智能樓宇系統(tǒng)的畢業(yè)設(shè)計(jì)
- 智能家居系統(tǒng)畢業(yè)設(shè)計(jì)
- 礦燈智能管理系統(tǒng)畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論