亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁(yè)| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

控制顯示器

  • 波形發(fā)生器,含原理圖+電路圖+源程序

    含原理圖+電路圖+程序的波形發(fā)生器:在工作中,我們常常會(huì)用到波形發(fā)生器,它是使用頻度很高的電子儀器。現(xiàn)在的波形發(fā)生器都采用單片機(jī)來(lái)構(gòu)成。單片機(jī)波形發(fā)生器是以單片機(jī)核心,配相應(yīng)的外圍電路和功能軟件,能實(shí)現(xiàn)各種波形發(fā)生的應(yīng)用系統(tǒng),它由硬件部分和軟件部分組成,硬件是系統(tǒng)的基礎(chǔ),軟件則是在硬件的基礎(chǔ)上,對(duì)其合理的調(diào)配和使用,從而完成波形發(fā)生的任務(wù)。 波形發(fā)生器的技術(shù)指標(biāo):(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設(shè)計(jì)1、 機(jī)器通電后,系統(tǒng)進(jìn)行初始化,LED在面板上顯示6個(gè)0,表示系統(tǒng)處于初始狀態(tài),等待用戶輸入設(shè)置命令,此時(shí),無(wú)任何波形信號(hào)輸出。2、 用戶按下“F”、“V”、“W”,可以分別進(jìn)入頻率,幅值波形設(shè)置,使系統(tǒng)進(jìn)入設(shè)置狀態(tài),相應(yīng)的數(shù)碼管顯示“一”,此時(shí),按其它鍵,無(wú)效;3、 在進(jìn)入某一設(shè)置狀態(tài)后,輸入0~9等數(shù)字鍵,(數(shù)字鍵僅在設(shè)置狀態(tài)時(shí),有效)為欲輸出的波形設(shè)置相應(yīng)參數(shù),LED將參數(shù)顯示在面板上;4、 如果在設(shè)置中,要改變已設(shè)定的參數(shù),可按下“CL”鍵,清除所有已設(shè)定參數(shù),系統(tǒng)恢復(fù)初始狀態(tài),LED顯示6個(gè)0,等待重新輸入命令;5、 當(dāng)必要的參數(shù)設(shè)定完畢后,所有參數(shù)顯示于LED上,用戶按下“EN”鍵,系統(tǒng)會(huì)將各波形參數(shù)傳遞到波形產(chǎn)生模塊中,以便控制波形發(fā)生,實(shí)現(xiàn)不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發(fā)生器開始輸出滿足參數(shù)的波形信號(hào),面板上相應(yīng)類型的運(yùn)行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號(hào),頻率值、電壓幅值等波形參數(shù);7、 波形發(fā)生器在輸出信號(hào)時(shí),按下任意一個(gè)鍵,就停止波形信號(hào)輸出,等待重新設(shè)置參數(shù),設(shè)置過程如上所述,如果不改變參數(shù),可按下“EN”鍵,繼續(xù)輸出原波形信號(hào);8、 要停止波形發(fā)生器的使用,可按下復(fù)位按鈕,將系統(tǒng)復(fù)位,然后關(guān)閉電源。硬件組成部分通過綜合比較,決定選用獲得廣泛應(yīng)用,性能價(jià)格高的常用芯片來(lái)構(gòu)成硬件電路。單片機(jī)采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅(qū)動(dòng)器 ULN2803A(一塊),運(yùn)算放大器 LM324(一塊)  波形發(fā)生器的硬件電路由單片機(jī)、鍵盤顯示器接口電路、波形轉(zhuǎn)換(D/ A)電路和電源線路等四部分構(gòu)成。1.單片機(jī)電路功能:形成掃描碼,鍵值識(shí)別,鍵功能處理,完成參數(shù)設(shè)置;形成顯示段碼,向LED顯示接口電路輸出;產(chǎn)生定時(shí)中斷;形成波形的數(shù)字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴(kuò)展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機(jī)尋址外設(shè),采用存儲(chǔ)器映像方式,外部接口芯片與內(nèi)部存儲(chǔ)器統(tǒng)一編址,89C51提供16根地址線P0(分時(shí)復(fù)用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時(shí)還要負(fù)責(zé)與8255,0832的數(shù)據(jù)傳遞。P2.7是8255的片選信號(hào),P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經(jīng)過74LS373鎖存后,送到8255的A1、A2作,片內(nèi)A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發(fā)光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機(jī)89C51內(nèi)部有兩個(gè)定時(shí)器/計(jì)數(shù)器,在波形發(fā)生器中使用T0作為中斷源。不同的頻率值對(duì)應(yīng)不同的定時(shí)初值,定時(shí)器的溢出信號(hào)作為中斷請(qǐng)求??刂贫〞r(shí)器中斷的特殊功能寄存器設(shè)置如下:定時(shí)控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅(qū)動(dòng)6位數(shù)碼管動(dòng)態(tài)顯示;           提供響應(yīng)界面;           掃面鍵盤;           提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅(qū)動(dòng)器ULN2803A,6位共陰極數(shù)碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態(tài),按鍵的分布如圖所示。8255的A口作為L(zhǎng)ED段碼輸出口,與74LS244相連接,B口作為L(zhǎng)ED的位選信號(hào)輸出口,與ULN2803A相連接。8255內(nèi)部的4個(gè)寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH ,  C口:7FFEH    3、D/A電路功能:將波形樣值的數(shù)字編碼轉(zhuǎn)換成模擬值;完成單極性向雙極性的波形輸出;構(gòu)成由兩片0832和一塊LM324運(yùn)放組成。0832(1)是參考電壓提供者,單片機(jī)向0832(1)內(nèi)的鎖存器送數(shù)字編碼,不同的編碼會(huì)產(chǎn)生不同的輸出值,在本發(fā)生器中,可輸出1V、2V、3V、4V、5V等五個(gè)模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號(hào)時(shí),其幅度是可調(diào)的。0832(2)用于產(chǎn)生各種波形信號(hào),單片機(jī)在波形產(chǎn)生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經(jīng)過D/A轉(zhuǎn)換,得到波形的模擬樣值點(diǎn),假如N個(gè)點(diǎn)就構(gòu)成波形的一個(gè)周期,那么0832(2)輸出N個(gè)樣值點(diǎn)后,樣值點(diǎn)形成運(yùn)動(dòng)軌跡,就是波形信號(hào)的一個(gè)周期。重復(fù)輸出N個(gè)點(diǎn)后,由此成第二個(gè)周期,第三個(gè)周期……。這樣0832(2)就能連續(xù)的輸出周期變化的波形信號(hào)。運(yùn)放A1是直流放大器,運(yùn)放A2是單極性電壓放大器,運(yùn)放A3是雙極性驅(qū)動(dòng)放大器,使波形信號(hào)能帶得起負(fù)載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發(fā)生器提供直流能量;構(gòu)成由變壓器、整流硅堆,穩(wěn)壓塊7805組成。220V的交流電,經(jīng)過開關(guān),保險(xiǎn)管(1.5A/250V),到變壓器降壓,由220V降為10V,通過硅堆將交流電變成直流電,對(duì)于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩(wěn)定,使用7805進(jìn)行穩(wěn)壓。最后,+5V電源配送到各用電負(fù)載。

    標(biāo)簽: 波形發(fā)生器 原理圖 電路圖 源程序

    上傳時(shí)間: 2013-11-08

    上傳用戶:685

  • 用單片機(jī)AT89C51改造普通雙桶洗衣機(jī)

    用單片機(jī)AT89C51改造普通雙桶洗衣機(jī):AT89C2051作為AT89C51的簡(jiǎn)化版雖然去掉了P0、P2等端口,使I/O口減少了,但是卻增加了一個(gè)電壓比較器,因此其功能在某些方面反而有所增強(qiáng),如能用來(lái)處理模擬量、進(jìn)行簡(jiǎn)單的模數(shù)轉(zhuǎn)換等。本文利用這一功能設(shè)計(jì)了一個(gè)數(shù)字電容表,可測(cè)量容量小于2微法的電容器的容量,采用3位半數(shù)字顯示,最大顯示值為1999,讀數(shù)單位統(tǒng)一采用毫微法(nf),量程分四檔,讀數(shù)分別乘以相應(yīng)的倍率。電路工作原理  本數(shù)字電容表以電容器的充電規(guī)律作為測(cè)量依據(jù),測(cè)試原理見圖1。電源電路圖。 壓E+經(jīng)電阻R給被測(cè)電容CX充電,CX兩端原電壓隨充電時(shí)間的增加而上升。當(dāng)充電時(shí)間t等于RC時(shí)間常數(shù)τ時(shí),CX兩端電壓約為電源電壓的63.2%,即0.632E+。數(shù)字電容表就是以該電壓作為測(cè)試基準(zhǔn)電壓,測(cè)量電容器充電達(dá)到該電壓的時(shí)間,便能知道電容器的容量。例如,設(shè)電阻R的阻值為1千歐,CX兩端電壓上升到0.632E+所需的時(shí)間為1毫秒,那么由公式τ=RC可知CX的容量為1微法。  測(cè)量電路如圖2所示。A為AT89C2051內(nèi)部構(gòu)造的電壓比較器,AT89C2051 圖2 的P1.0和P1.1口除了作I/O口外,還有一個(gè)功能是作為電壓比較器的輸入端,P1.0為同相輸入端,P1.1為反相輸入端,電壓比較器的比較結(jié)果存入P3.6口對(duì)應(yīng)的寄存器,P3.6口在AT89C2051外部無(wú)引腳。電壓比較器的基準(zhǔn)電壓設(shè)定為0.632E+,在CX兩端電壓從0升到0.632E+的過程中,P3.6口輸出為0,當(dāng)電池電壓CX兩端電壓一旦超過0.632E+時(shí),P3.6口輸出變?yōu)?。以P3.6口的輸出電平為依據(jù),用AT89C2051內(nèi)部的定時(shí)器T0對(duì)充電時(shí)間進(jìn)行計(jì)數(shù),再將計(jì)數(shù)結(jié)果顯示出來(lái)即得出測(cè)量結(jié)果。整機(jī)電路見圖3。電路由單片機(jī)電路、電容充電測(cè)量電路和數(shù)碼顯示電路等 圖3 部分組成。AT89C2051內(nèi)部的電壓比較器和電阻R2-R7等組成測(cè)量電路,其中R2-R5為量程電阻,由波段開關(guān)S1選擇使用,電壓比較器的基準(zhǔn)電壓由5V電源電壓經(jīng)R6、RP1、R7分壓后得到,調(diào)節(jié)RP1可調(diào)整基準(zhǔn)電壓。當(dāng)P1.2口在程序的控制下輸出高電平時(shí),電容CX即開始充電。量程電阻R2-R5每檔以10倍遞減,故每檔顯示讀數(shù)以10倍遞增。由于單片機(jī)內(nèi)部P1.2口的上拉電阻經(jīng)實(shí)測(cè)約為200K,其輸出電平不能作為充電電壓用,故用R5兼作其上拉電阻,由于其它三個(gè)充電電阻和R5是串聯(lián)關(guān)系,因此R2、R3、R4應(yīng)由標(biāo)準(zhǔn)值減去1K,分別為999K、99K、9K。由于999K和1M相對(duì)誤差較小,所以R2還是取1M。數(shù)碼管DS1-DS4、電阻R8-R14等組成數(shù)碼顯示電路。本機(jī)采用動(dòng)態(tài)掃描顯示的方式,用軟件對(duì)字形碼譯碼。P3.0-P3.5、P3.7口作數(shù)碼顯示七段筆劃字形碼的輸出,P1.3-P1.6口作四個(gè)數(shù)碼管的動(dòng)態(tài)掃描位驅(qū)動(dòng)碼輸出。這里采用了共陰數(shù)碼管,由于AT89C2051的P1.3-P1.6口有25mA的下拉電流能力,所以不用三極管就能驅(qū)動(dòng)數(shù)碼管。R8-R14為P3.0-P3.5、P3.7口的上拉電阻,用以驅(qū)動(dòng)數(shù)碼管的各字段,當(dāng)P3的某一端口輸出低電平時(shí)其對(duì)應(yīng)的字段筆劃不點(diǎn)亮,而當(dāng)其輸出高電平時(shí),則對(duì)應(yīng)的上拉電阻即能點(diǎn)亮相應(yīng)的字段筆劃。

    標(biāo)簽: 89C C51 AT 89

    上傳時(shí)間: 2013-12-31

    上傳用戶:ming529

  • 高性能可編程DMA控制接口82C37A-5

    高性能可編程DMA控制接口82C37A-54.1  概述對(duì)象實(shí)體:直接存儲(chǔ)器訪問(DMA)控制接口芯片82C37A-5芯片的特點(diǎn):1、管腳引線與NMOS  8237A-5兼容。2、允許/禁止單獨(dú)DMA請(qǐng)求控制。3、頻率從0~5MHz區(qū)間全靜態(tài)設(shè)計(jì)。4、低電平操作。 5、4個(gè)各自獨(dú)立的DMA通道并獨(dú)立的進(jìn)行初始化。6、存儲(chǔ)器到存儲(chǔ)器之間傳送。7、存儲(chǔ)器模塊初始化處理。8、地址的增量和減量。9、傳送速率可達(dá)1.6MB/s.10、可直接擴(kuò)展成任意數(shù)量的通道。11 、終止傳送的過程即輸入結(jié)束。12、軟件請(qǐng)求。13、獨(dú)立信號(hào)DREQ和信號(hào)DACK的極性控制。4.2 82C37A-5的體系結(jié)構(gòu)4.2.1   基本結(jié)構(gòu)描述1.   82C37A-5內(nèi)部配備了規(guī)模為344位的內(nèi)部存儲(chǔ)器,它是以寄存器的形式出現(xiàn)的。2.   配有3個(gè)基本的控制模塊: (1)定時(shí)及控制模塊; (2)優(yōu)先級(jí)編碼及循環(huán)優(yōu)先級(jí)控制模塊;(3)命令控制模塊; 3.   12個(gè)不同類型的寄存器 。圖 4-1  82C37A-5結(jié)構(gòu)圖EOP#                                                                                                                                                 A0~A3RESETCS#.                                                                                                                    IOW# DREQ0~DREQ3HLDAHRQ                                                                                                                                            DB0~DB7DACK0~DACK3

    標(biāo)簽: DMA 82 37 性能

    上傳時(shí)間: 2013-10-21

    上傳用戶:ming52900

  • 單片機(jī)開發(fā)工程案例分析與解析

    設(shè)計(jì)一個(gè)單片機(jī)控制的簡(jiǎn)易定時(shí)報(bào)警器。要求根據(jù)設(shè)定的初始值(1-59秒)進(jìn)行倒計(jì)時(shí),當(dāng)計(jì)時(shí)到0時(shí)數(shù)碼管閃爍“00”(以1Hz閃爍),按鍵功能如下:(1)設(shè)定鍵:在倒計(jì)時(shí)模式時(shí),按下此鍵后停止倒計(jì)時(shí),進(jìn)入設(shè)置狀態(tài);如果已經(jīng)處于設(shè)置狀態(tài)則此鍵無(wú)效。(2)增一鍵:在設(shè)置狀態(tài)時(shí),每按一次遞增鍵,初始值的數(shù)字增1。(3)遞一鍵:在設(shè)置狀態(tài)時(shí),每按一次遞減鍵,初始值的數(shù)字減1。(4)確認(rèn)鍵:在設(shè)置狀態(tài)時(shí),按下此鍵后,單片機(jī)按照新的初始值進(jìn)行倒計(jì)時(shí)及顯示倒計(jì)時(shí)的數(shù)字。如果已經(jīng)處于計(jì)時(shí)狀態(tài)則此鍵無(wú)效。3.1.2 模塊1:系統(tǒng)設(shè)計(jì)(1)任務(wù)分析與整體設(shè)計(jì)思路根據(jù)題目的要求,需要實(shí)現(xiàn)如下幾個(gè)方面的功能。計(jì)時(shí)功能:要實(shí)現(xiàn)計(jì)時(shí)功能則需要使用定時(shí)器來(lái)計(jì)時(shí),通過設(shè)置定時(shí)器的初始值來(lái)控制溢出中斷的時(shí)間間隔,再利用一個(gè)變量記錄定時(shí)器溢出的次數(shù),達(dá)到定時(shí)1秒中的功能。然后,當(dāng)計(jì)時(shí)每到1秒鐘后,倒計(jì)時(shí)的計(jì)數(shù)器減1。當(dāng)?shù)褂?jì)時(shí)計(jì)數(shù)器到0時(shí),觸發(fā)另一個(gè)標(biāo)志變量,進(jìn)入閃爍狀態(tài)。顯示功能:顯示倒計(jì)時(shí)的數(shù)字要采用動(dòng)態(tài)掃描的方式將數(shù)字拆成“十位”和“個(gè)位”動(dòng)態(tài)掃描顯示。如果處于閃爍狀態(tài),則可以不需要?jiǎng)討B(tài)掃描顯示,只需要控制共陰極數(shù)碼管的位控線,實(shí)現(xiàn)數(shù)碼管的滅和亮。鍵盤掃描和運(yùn)行模式的切換:主程序在初始化一些變量和寄存器之后,需要不斷循環(huán)地讀取鍵盤的狀態(tài)和動(dòng)態(tài)掃描數(shù)碼管顯示相應(yīng)的數(shù)字。根據(jù)鍵盤的按鍵值實(shí)現(xiàn)設(shè)置狀態(tài)、計(jì)時(shí)狀態(tài)的切換。   (2)單片機(jī)型號(hào)及所需外圍器件型號(hào),單片機(jī)硬件電路原理圖選用MCS-51系列AT89S51單片機(jī)作為微控制器,選擇兩個(gè)四聯(lián)的共陰極數(shù)碼管組成8位顯示模塊,由于AT89S51單片機(jī)驅(qū)動(dòng)能力有限,采用兩片74HC244實(shí)現(xiàn)總線的驅(qū)動(dòng),一個(gè)74HC244完成位控線的控制和驅(qū)動(dòng),另一個(gè)74HC244完成數(shù)碼管的7段碼輸出,在輸出口上各串聯(lián)一個(gè)100歐姆的電阻對(duì)7段數(shù)碼管限流。由于鍵盤數(shù)量不多,選擇獨(dú)立式按鍵與P1口連接作為四個(gè)按鍵輸入。沒有鍵按下時(shí)P1.0-P1.3為高電平,當(dāng)有鍵按下時(shí),P1.0-P1.3相應(yīng)管腳為低電平。電路原理圖如圖3-1所示。

    標(biāo)簽: 單片機(jī)開發(fā) 工程 案例分析

    上傳時(shí)間: 2013-11-13

    上傳用戶:曹云鵬

  • 微機(jī)燈光控制系統(tǒng)

    一、實(shí)驗(yàn)?zāi)康模保莆斩〞r(shí)/計(jì)數(shù)器、輸入/輸出接口電路設(shè)計(jì)方法。    2.掌握中斷控制編程技術(shù)的方法和應(yīng)用。3.掌握8086匯編語(yǔ)言程序設(shè)計(jì)方法。 二、實(shí)驗(yàn)內(nèi)容與要求 微機(jī)燈光控制系統(tǒng)主要用于娛樂場(chǎng)所的彩燈控制。系統(tǒng)的彩燈共有12組,在實(shí)驗(yàn)時(shí)用12個(gè)發(fā)光二極管模擬。1. 基本要求:燈光控制共有8種模式,如12個(gè)燈依次點(diǎn)亮;12個(gè)燈同時(shí)閃爍等八種。系統(tǒng)可以通過鍵盤和顯示屏的人機(jī)對(duì)話,將8種模式進(jìn)行任意個(gè)數(shù)、任意次序的連接組合。系統(tǒng)不斷重復(fù)執(zhí)行輸入的模式組合,直至鍵盤有任意一個(gè)鍵按下,退出燈光控制系統(tǒng),返回DOS系統(tǒng)。2. 提高要求:音樂彩燈控制系統(tǒng),根據(jù)音樂的變化控制彩燈的變化,主要有以下幾種:第一種為音樂節(jié)奏控制彩燈,按音樂的節(jié)拍變換彩燈花樣。第二種音律的強(qiáng)弱(信號(hào)幅度大?。┛刂撇薀簟?qiáng)音時(shí),燈的亮度加大,且被點(diǎn)亮的數(shù)目增多。第三種按音調(diào)高低(信號(hào)頻率高低)控制彩燈。低音時(shí),某一部分燈點(diǎn)亮;高音時(shí),另一部分點(diǎn)亮。 三、實(shí)驗(yàn)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線圖)及簡(jiǎn)要說(shuō)明 4.軟件設(shè)計(jì)框圖及程序清單5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問題及解決的方法) 四、設(shè)計(jì)原理我們以背景霓虹燈的一種顯示效果為例,介紹控制霓虹燈顯示的基本原理。設(shè)有一排 n 段水平排列的霓虹燈,某種顯示方式為從左到右每0.2 秒逐個(gè)點(diǎn)亮。其控制過程如下: 若以“ 1 ”代表霓虹燈點(diǎn)亮,以“ 0 ”代表霓虹燈熄滅,則開始時(shí)刻, n 段霓虹燈的控制信號(hào)均為“ 0 ”,隨后,控制器將一幀 n 個(gè)數(shù)據(jù)送至 n 段霓虹燈的控制端,其中,最左邊的一段霓虹燈對(duì)應(yīng)的控制數(shù)據(jù)為“ 1 ”,其余的數(shù)據(jù)均為零,即 1000 … 000 。當(dāng) n 個(gè)數(shù)據(jù)送完以后,控制器停止送數(shù),保留這種狀態(tài)(定時(shí)) 0.2 秒,此時(shí),第 1 段霓虹燈被點(diǎn)亮,其余霓虹燈熄滅。隨后,控制器又在極短的時(shí)間內(nèi)將數(shù)據(jù) 1100 … 000 送至霓虹燈的控制端,并定時(shí) 0.2 秒,這段時(shí)間,前兩段霓虹燈被點(diǎn)亮。由于送數(shù)據(jù)的過程很快,我們觀測(cè)到的效果是第一段霓虹燈被點(diǎn)亮 0.2 秒后,第 2 段霓虹燈接著被點(diǎn)亮,即每隔 0.2 秒顯示一幀圖樣。如此下去,最后控制器將數(shù)據(jù) 1111 … 111 送至 n 段霓虹燈的控制端,則 n 段霓虹燈被全部點(diǎn)亮。 只要改變送至每段霓虹燈的數(shù)據(jù),即可改變霓虹燈的顯示方式,顯然,我們可以通過合理地組合數(shù)據(jù)(編程)來(lái)得到霓虹燈的不同顯示方式。 五、總體方案論證分析系統(tǒng)設(shè)計(jì)思路如下:1) 采集8位開關(guān)輸入信號(hào),若輸入數(shù)據(jù)為0時(shí),將其修改為1。確定輸入的硬件接口電路。采樣輸入開關(guān)量,并存入NUM的軟件程序段。2) 以12個(gè)燈依次點(diǎn)亮為例(即燈光控制模式M1),考慮與其相應(yīng)的燈光顯示代碼數(shù)據(jù)。確定顯示代碼數(shù)據(jù)輸出的接口電路。輸出一個(gè)同期顯示代碼的軟件程序段(暫不考慮時(shí)隙的延時(shí)要求)。3) 應(yīng)用定時(shí)中斷服務(wù)和NUM數(shù)據(jù),實(shí)現(xiàn)t=N×50ms的方法。4) 實(shí)現(xiàn)某一種模式燈光顯示控制中12個(gè)時(shí)隙一個(gè)周期,共重復(fù)四次的控制方法。要求在初始化時(shí)采樣開關(guān)輸入數(shù)據(jù)NUM,并以此控制每一時(shí)隙的延時(shí)時(shí)間;在每一時(shí)隙結(jié)束時(shí),檢查有無(wú)鍵按下,若是退出鍵按下,則結(jié)束燈光控制,返回DOS系統(tǒng),若是其他鍵就返回主菜單,重新輸入控制模式數(shù)據(jù)。5) 通過人機(jī)對(duì)話,輸入8種燈光顯示控制模式的任意個(gè)數(shù)、任意次序連接組合的控制模式數(shù)據(jù)串(以ENTER鍵結(jié)尾)。對(duì)輸入的數(shù)據(jù)進(jìn)行檢查,若數(shù)據(jù)都在1 - 8之間,則存入INBUF;若有錯(cuò)誤,則通過屏幕顯示輸入錯(cuò)誤,準(zhǔn)備重新輸入燈光顯示控制模式數(shù)據(jù)。6) 依次讀取INBUF中的控制模式數(shù)據(jù)進(jìn)行不同模式的燈光顯示控制,在沒有任意鍵按下的情況下,系統(tǒng)從第一個(gè)控制模式數(shù)據(jù)開始,順序工作到最后一個(gè)控制模式數(shù)據(jù)后,又返回到第一個(gè)控制模式數(shù)據(jù),不斷重復(fù)循環(huán)進(jìn)行燈光顯示控制。7) 本系統(tǒng)的軟件在總體上有兩部份,即主程序(MAIN)和實(shí)時(shí)中斷服務(wù)程序(INTT)。討論以功能明確、相互界面分割清晰的軟件程序模塊化設(shè)計(jì)方法。即確定有關(guān)功能模塊,并畫出以功能模塊表示的主程序(MAIN)流程框圖和定時(shí)中斷服務(wù)程序的流程框圖。    六、硬件電路設(shè)計(jì)   以微機(jī)實(shí)驗(yàn)平臺(tái)和PC機(jī)資源為硬件設(shè)計(jì)的基礎(chǔ),不需要外加電路。主要利用了以下的資源:1.8255并行口電路8255并行口電路主要負(fù)責(zé)數(shù)據(jù)的輸入與輸出,可以輸出數(shù)據(jù)控制發(fā)光二極管的亮滅和讀取乒乓開關(guān)的數(shù)據(jù)。實(shí)驗(yàn)時(shí)可以將8255的A口、B口和一組發(fā)光二極管相連,C口和乒乓開關(guān)相連。2.8253定時(shí)/計(jì)數(shù)器8253定時(shí)/計(jì)數(shù)器和8259中斷控制器一起實(shí)現(xiàn)時(shí)隙定時(shí)。本設(shè)計(jì)的定時(shí)就是采用的t=N×50ms的方法,50ms由8253定時(shí)/計(jì)數(shù)器的計(jì)數(shù)器0控制定時(shí),N是在中斷服務(wù)程序中軟件計(jì)時(shí)。8253的OUT0接到IRQ2,產(chǎn)生中斷請(qǐng)求信號(hào)。8253定時(shí)/計(jì)數(shù)器定時(shí)結(jié)束會(huì)發(fā)出中斷信號(hào),進(jìn)入中斷服務(wù)程序。3.PC機(jī)資源本設(shè)計(jì)除了利用PC機(jī)作為控制器之外,還利用了PC機(jī)的鍵盤和顯示器。鍵盤主要是輸入控制模式數(shù)據(jù),顯示器就是顯示提示信息。   七、軟件設(shè)計(jì)   軟件主要分為主程序(MAIN)和中斷服務(wù)程序(INTT),主程序包含系統(tǒng)初始化、讀取乒乓開關(guān)、讀取控制模式數(shù)據(jù)以及按鍵處理等模塊。中斷服務(wù)程序主要是定時(shí)時(shí)間到后根據(jù)控制模式數(shù)據(jù)點(diǎn)亮相應(yīng)的發(fā)光二極管。1.主程序主程序的程序流程圖如圖1所示。

    標(biāo)簽: 微機(jī) 燈光控制

    上傳時(shí)間: 2014-04-05

    上傳用戶:q986086481

  • 電子密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)

    電子密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?nbsp;1.進(jìn)一步掌握鍵盤掃描和LED顯示的程序設(shè)計(jì)。 2.了解按鍵消抖的方法。 3.綜合運(yùn)用微機(jī)原理的軟硬件知識(shí)。 二、實(shí)驗(yàn)內(nèi)容與要求 1.基本要求 (1)具有密碼輸入功能,密碼最多為6位;(2)設(shè)置退格鍵,以便刪除輸入錯(cuò)誤的密碼;(3)在輸入的密碼時(shí)數(shù)碼管上只顯示8,并根據(jù)輸入位數(shù)依次橫移;(4)設(shè)置確認(rèn)鍵,當(dāng)確認(rèn)鍵按下后,判斷輸入密碼是否正確;(5)當(dāng)輸入密碼正確時(shí),點(diǎn)亮發(fā)光二極管;當(dāng)輸入密碼不正確時(shí),發(fā)光二極管不亮并且蜂鳴器報(bào)警,重新輸入,當(dāng)三次密碼輸入不正確時(shí),系統(tǒng)應(yīng)鎖定鍵盤10s。2.提高要求 將用戶分為管理者和使用者,管理者擁有超級(jí)密碼,可以修改其他人的密碼。使用者不能修改密碼。 三、實(shí)驗(yàn)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線圖)及簡(jiǎn)要說(shuō)明 4.軟件設(shè)計(jì)框圖及程序清單5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問題及解決的方法) 四、總體設(shè)計(jì) 電子密碼鎖的原理是:從鍵盤輸入一組密碼,CPU把該密碼和設(shè)置密碼比較,對(duì)則將鎖打開(不同鎖的控制方式不一樣,比如加電控制電磁鐵抽回,從而打開),錯(cuò)則要求重新輸入,并記錄錯(cuò)誤次數(shù),如果三次錯(cuò)誤,則被強(qiáng)制鎖定并報(bào)警,除非超級(jí)密碼或者其他的手段打開,比如延時(shí)一段時(shí)間。 初步設(shè)計(jì)思路如下: 1.輸入密碼用矩形鍵盤,包括數(shù)字鍵和功能鍵,功能鍵包括退格鍵和確認(rèn)鍵。 2.LED數(shù)碼管顯示輸入密碼,但是只是輸出顯示符號(hào)8 。采用動(dòng)態(tài)掃描輸出。 3.用發(fā)光二極管模擬鎖的情況,鎖關(guān)時(shí)發(fā)光二極管滅,打開時(shí)發(fā)光二極管亮。 4.輸入密碼錯(cuò)誤時(shí)報(bào)警,3次輸入錯(cuò)誤時(shí)鍵盤鎖定10s,鍵盤無(wú)法接收數(shù)據(jù)。 軟件的設(shè)計(jì)主要包括矩形鍵盤鍵值的讀取、LED動(dòng)態(tài)掃描輸出程序、密碼判斷程序和報(bào)警程序。   五、硬件設(shè)計(jì) 根據(jù)設(shè)計(jì)思路,硬件電路可通過實(shí)驗(yàn)平臺(tái)上的一些功能模塊電路組成,由于實(shí)驗(yàn)平臺(tái)上的各個(gè)功能模塊已經(jīng)設(shè)計(jì)好,用戶在使用時(shí)只要設(shè)計(jì)模塊間電路的連接,因此,硬件電路的設(shè)計(jì)及實(shí)現(xiàn)相對(duì)簡(jiǎn)單。完整系統(tǒng)的硬件連接如圖1所示。硬件電路由LED數(shù)碼管顯示模塊、按鍵模塊、發(fā)光二極管電路和蜂鳴器模塊組成。各個(gè)模塊的詳細(xì)說(shuō)明:1.LED數(shù)碼管模塊實(shí)驗(yàn)平臺(tái)上提供一組六個(gè)LED數(shù)碼管。插孔CS1用于數(shù)碼管段選的輸出選通,插孔CS2用于數(shù)碼管位選信號(hào)的輸出選通。本設(shè)計(jì)用6個(gè)數(shù)碼管來(lái)動(dòng)態(tài)顯示時(shí)分秒,動(dòng)態(tài)顯示的定時(shí)時(shí)間由8253定時(shí)/計(jì)數(shù)器來(lái)實(shí)現(xiàn)。8253主要是實(shí)現(xiàn)每位顯示時(shí)間1ms,由8253的計(jì)數(shù)器0來(lái)實(shí)現(xiàn)。Clk0接實(shí)驗(yàn)平臺(tái)分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255的PA0輸出來(lái)控制計(jì)數(shù)器的起停。OUT0接8259的IRQ2,定時(shí)完成請(qǐng)求中斷,進(jìn)入中斷服務(wù)程序。軟件在中斷服務(wù)程序中LED數(shù)碼管顯示。

    標(biāo)簽: 電子密碼鎖

    上傳時(shí)間: 2013-10-16

    上傳用戶:15070202241

  • PC機(jī)之間串口通信的實(shí)現(xiàn)

    PC機(jī)之間串口通信的實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?nbsp;1.熟悉微機(jī)接口實(shí)驗(yàn)裝置的結(jié)構(gòu)和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.學(xué)會(huì)串行通信程序的編制方法。 二、實(shí)驗(yàn)內(nèi)容與要求 1.基本要求主機(jī)接收開關(guān)量輸入的數(shù)據(jù)(二進(jìn)制或十六進(jìn)制),從鍵盤上按“傳輸”鍵(可自行定義),就將該數(shù)據(jù)通過8251A傳輸出去。終端接收后在顯示器上顯示數(shù)據(jù)。具體操作說(shuō)明如下:(1)出現(xiàn)提示信息“start with R in the board!”,通過調(diào)整乒乓開關(guān)的狀態(tài),設(shè)置8位數(shù)據(jù);(2)在小鍵盤上按“R”鍵,系統(tǒng)將此時(shí)乒乓開關(guān)的狀態(tài)讀入計(jì)算機(jī)I中,并顯示出來(lái),同時(shí)顯示經(jīng)串行通訊后,計(jì)算機(jī)II接收到的數(shù)據(jù);(3)完成后,系統(tǒng)提示“do you want to send another data? Y/N”,根據(jù)用戶需要,在鍵盤按下“Y”鍵,則重復(fù)步驟(1),進(jìn)行另一數(shù)據(jù)的通訊;在鍵盤按除“Y”鍵外的任意鍵,將退出本程序。2.提高要求 能夠進(jìn)行出錯(cuò)處理,例如采用奇偶校驗(yàn),出錯(cuò)重傳或者采用接收方回傳和發(fā)送方確認(rèn)來(lái)保證發(fā)送和接收正確。 三、設(shè)計(jì)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線圖)及簡(jiǎn)要說(shuō)明 4.軟件設(shè)計(jì)框圖及程序清單5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問題及解決的方法) 四、8251A通用串行輸入/輸出接口芯片由于CPU與接口之間按并行方式傳輸,接口與外設(shè)之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發(fā)送移位寄存器”(并→串)。能夠完成上述“串←→并”轉(zhuǎn)換功能的電路,通常稱為“通用異步收發(fā)器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A異步工作方式:如果8251A編程為異步方式,在需要發(fā)送字符時(shí),必須首先設(shè)置TXEN和CTS#為有效狀態(tài),TXEN(Transmitter Enable)是允許發(fā)送信號(hào),是命令寄存器中的一位;CTS#(Clear To Send)是由外設(shè)發(fā)來(lái)的對(duì)CPU請(qǐng)求發(fā)送信號(hào)的響應(yīng)信號(hào)。然后就開始發(fā)送過程。在發(fā)送時(shí),每當(dāng)CPU送往發(fā)送緩沖器一個(gè)字符,發(fā)送器自動(dòng)為這個(gè)字符加上1個(gè)起始位,并且按照編程要求加上奇/偶校驗(yàn)位以及1個(gè)、1.5個(gè)或者2個(gè)停止位。串行數(shù)據(jù)以起始位開始,接著是最低有效數(shù)據(jù)位,最高有效位的后面是奇/偶校驗(yàn)位,然后是停止位。按位發(fā)送的數(shù)據(jù)是以發(fā)送時(shí)鐘TXC的下降沿同步的,也就是說(shuō)這些數(shù)據(jù)總是在發(fā)送時(shí)鐘TXC的下降沿從8251A發(fā)出。數(shù)據(jù)傳輸?shù)牟ㄌ芈嗜Q于編程時(shí)指定的波特率因子,為發(fā)送器時(shí)鐘頻率的1、1/16或1/64。當(dāng)波特率指定為16時(shí),數(shù)據(jù)傳輸?shù)牟ㄌ芈示褪前l(fā)送器時(shí)鐘頻率的1/16。CPU通過數(shù)據(jù)總線將數(shù)據(jù)送到8251A的數(shù)據(jù)輸出緩沖寄存器以后,再傳輸?shù)桨l(fā)送緩沖器,經(jīng)移位寄存器移位,將并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù),從TxD端送往外部設(shè)備。在8251A接收字符時(shí),命令寄存器的接收允許位RxE(Receiver Enable)必須為1。8251A通過檢測(cè)RxD引腳上的低電平來(lái)準(zhǔn)備接收字符,在沒有字符傳送時(shí)RxD端為高電平。8251A不斷地檢測(cè)RxD引腳,從RxD端上檢測(cè)到低電平以后,便認(rèn)為是串行數(shù)據(jù)的起始位,并且啟動(dòng)接收控制電路中的一個(gè)計(jì)數(shù)器來(lái)進(jìn)行計(jì)數(shù),計(jì)數(shù)器的頻率等于接收器時(shí)鐘頻率。計(jì)數(shù)器是作為接收器采樣定時(shí),當(dāng)計(jì)數(shù)到相當(dāng)于半個(gè)數(shù)位的傳輸時(shí)間時(shí)再次對(duì)RxD端進(jìn)行采樣,如果仍為低電平,則確認(rèn)該數(shù)位是一個(gè)有效的起始位。若傳輸一個(gè)字符需要16個(gè)時(shí)鐘,那么就是要在計(jì)數(shù)8個(gè)時(shí)鐘后采樣到低電平。之后,8251A每隔一個(gè)數(shù)位的傳輸時(shí)間對(duì)RxD端采樣一次,依次確定串行數(shù)據(jù)位的值。串行數(shù)據(jù)位順序進(jìn)入接收移位寄存器,通過校驗(yàn)并除去停止位,變成并行數(shù)據(jù)以后通過內(nèi)部數(shù)據(jù)總線送入接收緩沖器,此時(shí)發(fā)出有效狀態(tài)的RxRDY信號(hào)通知CPU,通知CPU8251A已經(jīng)收到一個(gè)有效的數(shù)據(jù)。一個(gè)字符對(duì)應(yīng)的數(shù)據(jù)可以是5~8位。如果一個(gè)字符對(duì)應(yīng)的數(shù)據(jù)不到8位,8251A會(huì)在移位轉(zhuǎn)換成并行數(shù)據(jù)的時(shí)候,自動(dòng)把他們的高位補(bǔ)成0。 五、系統(tǒng)總體設(shè)計(jì)方案根據(jù)系統(tǒng)設(shè)計(jì)的要求,對(duì)系統(tǒng)設(shè)計(jì)的總體方案進(jìn)行論證分析如下:1.獲取8位開關(guān)量可使用實(shí)驗(yàn)臺(tái)上的8255A可編程并行接口芯片,因?yàn)橹灰@取8位數(shù)據(jù)量,只需使用基本輸入和8位數(shù)據(jù)線,所以將8255A工作在方式0,PA0-PA7接實(shí)驗(yàn)臺(tái)上的8位開關(guān)量。2.當(dāng)使用串口進(jìn)行數(shù)據(jù)傳送時(shí),雖然同步通信速度遠(yuǎn)遠(yuǎn)高于異步通信,可達(dá)500kbit/s,但由于其需要有一個(gè)時(shí)鐘來(lái)實(shí)現(xiàn)發(fā)送端和接收端之間的同步,硬件電路復(fù)雜,通常計(jì)算機(jī)之間的通信只采用異步通信。3.由于8251A本身沒有時(shí)鐘,需要外部提供,所以本設(shè)計(jì)中使用實(shí)驗(yàn)臺(tái)上的8253芯片的計(jì)數(shù)器2來(lái)實(shí)現(xiàn)。4:顯示和鍵盤輸入均使用DOS功能調(diào)用來(lái)實(shí)現(xiàn)。設(shè)計(jì)思路框圖,如下圖所示: 六、硬件設(shè)計(jì)硬件電路主要分為8位開關(guān)量數(shù)據(jù)獲取電路,串行通信數(shù)據(jù)發(fā)送電路,串行通信數(shù)據(jù)接收電路三個(gè)部分。1.8位開關(guān)量數(shù)據(jù)獲取電路該電路主要是利用8255并行接口讀取8位乒乓開關(guān)的數(shù)據(jù)。此次設(shè)計(jì)在獲取8位開關(guān)數(shù)據(jù)量時(shí)采用8255令其工作在方式0,A口輸入8位數(shù)據(jù),CS#接實(shí)驗(yàn)臺(tái)上CS1口,對(duì)應(yīng)端口為280H-283H,PA0-PA7接8個(gè)開關(guān)。2.串行通信電路串行通信電路本設(shè)計(jì)中8253主要為8251充當(dāng)頻率發(fā)生器,接線如下圖所示。

    標(biāo)簽: PC機(jī) 串口通信

    上傳時(shí)間: 2013-12-19

    上傳用戶:小火車?yán)怖怖?/p>

  • 單片機(jī)復(fù)位標(biāo)志位的設(shè)置與應(yīng)用研究

    設(shè)置復(fù)位標(biāo)志位便于區(qū)分不同原因引發(fā)的復(fù)位,作為一種新技術(shù)被越來(lái)越多的新型單片機(jī)所采納。例如Philips公司的P87LPC700和 P89LPC900系列、Freescale公司(原Motorola半導(dǎo)體部)的MC68HC05系列和MC68HC08系列、Sunplus公司的 SPMC65系列、Microchip公司的PIC系列等,內(nèi)部都設(shè)計(jì)了專門用于記錄各種復(fù)位標(biāo)志的狀態(tài)寄存器。MC68HC08系列有一個(gè)復(fù)位狀態(tài)寄存器,負(fù)責(zé)記錄6種復(fù)位標(biāo)志位:上電復(fù)位、引腳復(fù)位、看門狗復(fù)位、非法指令復(fù)位、非法地址復(fù)位和欠壓復(fù)位。SPMC65系列有一個(gè)系統(tǒng)控制寄存器,負(fù)責(zé)記錄5種復(fù)位標(biāo)志位:上電復(fù)位、外部復(fù)位、看門狗復(fù)位、非法地址復(fù)位和欠壓復(fù)位。51兼容的P89LPC900系列有一個(gè)復(fù)位源寄存器,負(fù)責(zé)記錄6種復(fù)位標(biāo)志位:欠壓復(fù)位、上電復(fù)位、外部復(fù)位、看門狗復(fù)位、軟件復(fù)位和UART收到間隔字符復(fù)位(主要作為進(jìn)入ISP監(jiān)控程序的途徑之一)。就連初學(xué)者很常用的 AT89S51/52和P89C52X2,也在其電源控制寄存器PCON中增設(shè)了一個(gè)上電標(biāo)志位POF。1、 復(fù)位標(biāo)志位的設(shè)置方法傳統(tǒng)的80C51單片機(jī)沒有設(shè)計(jì)復(fù)位標(biāo)志位的記錄功能,這應(yīng)該說(shuō)是一種遺憾,那么能否通過一定的技術(shù)手段來(lái)彌補(bǔ)這個(gè)缺憾呢?這里給廣大80C51單片機(jī)用戶提供一種啟示和引導(dǎo)。實(shí)現(xiàn)復(fù)位標(biāo)志位的記錄肯定需要一定的硬件電路支持,而這種電路的設(shè)計(jì)不存在固定模式。筆者利用一片MAX813L設(shè)計(jì)了一種支撐電路,如圖1所示,僅供讀者參考。

    標(biāo)簽: 單片機(jī)復(fù)位 標(biāo)志位 應(yīng)用研究

    上傳時(shí)間: 2013-10-21

    上傳用戶:lhw888

  • 交通燈控制器的設(shè)計(jì)與實(shí)現(xiàn)

    交通燈控制器的設(shè)計(jì)與實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?. 了解交通燈管理的基本工作原理。2. 熟悉8253計(jì)數(shù)器/定時(shí)器、8259A中斷控制器和8255A并行接口的工作方式及應(yīng)用編程。3. 掌握多位LED顯示的方法。 二、 實(shí)驗(yàn)內(nèi)容與要求設(shè)計(jì)一個(gè)用于十字路口的交通燈控制器。1.基本要求: 1) 東西和南北方向各有一組紅,黃,綠燈用于指揮交通,紅,黃,綠的持續(xù)時(shí)間分別為25s,5s,20s。2) 當(dāng)有緊急情況(如消防車)時(shí),兩個(gè)方向均為紅燈亮,計(jì)時(shí)停止,當(dāng)特殊情況結(jié)束后,控制器恢復(fù)原來(lái)狀態(tài),正常工作。3) 一組數(shù)碼管,以倒計(jì)時(shí)方式顯示兩個(gè)方向允許通行或禁止通行的時(shí)間。2.提高部分:1) 實(shí)時(shí)修改交通燈的持續(xù)時(shí)間。2) 根據(jù)不同時(shí)段對(duì)主要交通方向的信號(hào)進(jìn)行調(diào)整。3) 可以使用LCD顯示提示信息。 三、實(shí)驗(yàn)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線圖)及簡(jiǎn)要說(shuō)明 4.軟件設(shè)計(jì)框圖及程序清單 5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問題及解決的方法) 四、總體設(shè)計(jì)交通燈的工作過程如下:設(shè)十字路口的1、3為南,北方向,2、4為東西方向,初始態(tài)為4個(gè)路口的紅燈全亮。之后,1、3路口的綠燈亮,2、4路口的紅燈亮,1、3路口方向通車,2個(gè)路口的LED數(shù)碼管開始倒計(jì)時(shí)25秒。延遲20秒后,1、3路口的綠燈熄滅,而1,3路口的黃燈開始閃爍(1HZ)。閃爍5次后,1、3路口的紅燈亮,同時(shí)2、4路口的綠燈亮,2、4路口方向開始通車,2個(gè)路口的LED數(shù)碼管重新開始倒計(jì)時(shí)25秒。延遲20秒時(shí)間后,2、4路口的綠燈熄滅,而黃燈開始閃爍。閃爍5次后,再切換到1、3路口方向。之后,重復(fù)上述過程。當(dāng)有緊急情況時(shí),2個(gè)方向都紅燈亮,倒計(jì)時(shí)停止,車輛禁止通行,當(dāng)緊急情況結(jié)束后,控制器恢復(fù)以前的狀態(tài)繼續(xù)工作。 在設(shè)計(jì)中采用6個(gè)發(fā)光二極管來(lái)模擬2個(gè)路口的黃紅綠燈,每個(gè)路口用2個(gè)數(shù)碼管來(lái)顯示通行或禁止剩余的時(shí)間。緊急情況用一個(gè)單脈沖發(fā)生單元申請(qǐng)中斷來(lái)模擬,緊急情況結(jié)束后,再發(fā)一個(gè)中斷來(lái)恢復(fù)以前的狀態(tài)。 根據(jù)前面的介紹,本設(shè)計(jì)硬件由定時(shí)模塊、發(fā)光二極管模塊、數(shù)碼管顯示模塊和緊急中斷模塊組成。定時(shí)模塊采用硬件定時(shí)和軟件定時(shí)相結(jié)合的方法,用8253定時(shí)/計(jì)數(shù)器定時(shí)100ms,再用軟件計(jì)時(shí)實(shí)現(xiàn)所需的定時(shí)。發(fā)光二極管模塊由8255控制發(fā)光二極管來(lái)實(shí)現(xiàn)。數(shù)碼管顯示模塊由實(shí)驗(yàn)平臺(tái)上的LED顯示模塊實(shí)現(xiàn)。緊急中斷模塊是由單脈沖發(fā)生單元和8279中斷控制器組成。 程序主要是由定時(shí)子程序、發(fā)光二極管顯示子程序、數(shù)碼管顯示子程序和中斷服務(wù)程序組成。包括對(duì)8253、8255以及8259等可編程器件的編程。 五、硬件設(shè)計(jì) 本課題的設(shè)計(jì)可通過實(shí)驗(yàn)平臺(tái)上的一些功能模塊電路組成,由于各模塊電路內(nèi)部已經(jīng)連接,用戶在使用時(shí)只要設(shè)計(jì)模塊間電路的連接,因此,硬件電路的設(shè)計(jì)及實(shí)現(xiàn)相對(duì)簡(jiǎn)單。完整系統(tǒng)的硬件連接如圖1所示。硬件電路由定時(shí)模塊、發(fā)光二極管模塊、數(shù)碼管顯示模塊和緊急中斷模塊組成。 定時(shí)模塊是由8253的計(jì)數(shù)器0來(lái)實(shí)現(xiàn)定時(shí)100ms。Clk0接實(shí)驗(yàn)平臺(tái)分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255輸出來(lái)控制計(jì)數(shù)器的起停。OUT0接8259的IRQ2,定時(shí)完成申請(qǐng)中斷,進(jìn)入中斷服務(wù)程序。 發(fā)光二極管顯示模塊由8255輸出來(lái)控制發(fā)光二極管的亮滅。8255輸出為低電平時(shí),對(duì)應(yīng)的發(fā)光二極管就點(diǎn)亮,否則就熄滅。8255的接口電路如圖2所示。交通燈的對(duì)應(yīng)關(guān)系如下:L7 L6 L5 L2 L1 L0PC7 PC6 PC5 PC2 PC1 PC013紅燈 13黃燈 13綠燈 24紅燈 24黃燈 24綠燈  實(shí)驗(yàn)平臺(tái)上提供一組六個(gè)LED數(shù)碼管。插孔CS1用于數(shù)碼管段選的輸出選通,插孔CS2用于數(shù)碼管位選信號(hào)的輸出選通。本設(shè)計(jì)用4個(gè)數(shù)碼管來(lái)倒計(jì)時(shí)。 緊急中斷模塊是由單脈沖發(fā)生單元和8259中斷控制器,單脈沖發(fā)生單元主要用來(lái)請(qǐng)求中斷,然后做出緊急情況處理。

    標(biāo)簽: 交通燈控制器

    上傳時(shí)間: 2013-10-07

    上傳用戶:小小小熊

  • 基于單片機(jī)的紅外門進(jìn)控制系統(tǒng)設(shè)計(jì)與制作(含源程序和原理圖)

    基于單片機(jī)的紅外門進(jìn)控制系統(tǒng)設(shè)計(jì)與制作:我們所做的創(chuàng)新實(shí)驗(yàn)項(xiàng)目“基于單片機(jī)的紅外門控系統(tǒng)”已基本完成,現(xiàn)將其工作原理簡(jiǎn)要說(shuō)明。該系統(tǒng)主要分為兩大部分:一是紅外傳感器部分。二是單片機(jī)計(jì)數(shù)顯示控制部分。基本電路圖如下:其中紅外傳感器部分我們采用紅外對(duì)管實(shí)現(xiàn),紅外對(duì)管平行放置,平常處于接收狀態(tài),經(jīng)比較器輸出低電平,當(dāng)有人經(jīng)過時(shí),紅外線被擋住,接收管接收不到紅外線,經(jīng)比較器輸出高電平。這樣,當(dāng)有人經(jīng)過時(shí)便會(huì)產(chǎn)生一個(gè)電平的跳變。單片機(jī)控制部分主要是通過外部?jī)蓚€(gè)中斷判斷是否有人經(jīng)過,如果有人經(jīng)過,由于電平跳變的產(chǎn)生,進(jìn)入中斷服務(wù)程序,這里我們采用了兩對(duì)紅外傳感器接到兩個(gè)外部中斷口,中斷0作為入口,實(shí)現(xiàn)加1操作,中斷1作為出口,實(shí)現(xiàn)減1操作。另外,我們通過P0口控制室內(nèi)燈的亮暗,當(dāng)寄存器計(jì)數(shù)值為0時(shí),熄燈,不為0時(shí),燈亮。顯示部分,采用兩位數(shù)碼管動(dòng)態(tài)顯示,如有必要,可以很方便的擴(kuò)展為四位計(jì)數(shù)。精益求精!在實(shí)驗(yàn)過程中,我們走了非常多的彎路,做出來(lái)的東西根本不是自己想要的,我們本想做成室內(nèi)只有一個(gè)門的進(jìn)出計(jì)數(shù),原理已清楚,即在門的兩邊放置兩對(duì)紅外對(duì)管,進(jìn)出時(shí),擋住兩對(duì)對(duì)管的順序不同,因此,可判斷是進(jìn)入還是出去,從而實(shí)現(xiàn)加減計(jì)數(shù),編程時(shí),可分別在兩個(gè)中斷服務(wù)程序的入口置標(biāo)志位,根據(jù)標(biāo)志位判斷進(jìn)出,詳細(xì)內(nèi)容在程序部分。理論如此,但在實(shí)際過程中,還是發(fā)現(xiàn)實(shí)現(xiàn)不了上述功能,我們初步判定認(rèn)為是程序掌握得不夠好,相信隨著自己對(duì)單片機(jī)了解的深入,應(yīng)該會(huì)做出更好的 (因?yàn)槲覀兪桥R時(shí)學(xué)的單片機(jī)),程序的具體內(nèi)容如下: $MOD52    ORG   0000H         LJMP  MAIN         ORG   0003H         LJMP  0100H         ORG   0013H         LJMP  0150H         ORG   0050HMAIN:    CLR   A         MOV   30H , A           ;初始化緩存區(qū)         MOV   31H , A         MOV   32H , A         MOV   33H , A         MOV   R6  , A         MOV   R7  , A  SETB  EA  SETB  EX0  SETB  EX1  SETB  IT0  SETB  IT1  SETB  PX1NEXT1:   ACALL HEXTOBCDD        ;調(diào)用數(shù)制轉(zhuǎn)換子程序         ACALL DISPLAY          ;調(diào)用顯示子程序         LJMP  NEXT1          ORG   0100H  ;中斷0服務(wù)程序 LCALL  DELY mov 70h,#2 djnz 70h,next JBC  F0,NEXT         SETB F0        CLR P0.0 LCALL  DELY0 SETB   P0.0                  MOV   A , R7   ADD   A , #1   MOV   R7, A   MOV   A , R6         ADDC  A , #0  MOV   R6 , A  CJNE  R6 , #07H , NEXT  CLR   A  MOV   R6 , A  MOV   R7 , ANEXT:  RETI  ORG   0150H    ;中斷1服務(wù)程序 LCALL  DELY mov 70h,#2 djnz 70h,next2 JBC  F0,NEXT2 SETB  F0 CLR P0.0 LCALL  DELY0 SETB   P0.0    CLR C                     MOV   A , R7   SUBB   A , #1  MOV   R7, A  MOV   A , R6   SUBB  A , #0  MOV   R6 , A  CJNE  R6 , #07H , NEXT2  CLR   A  MOV   R6 , A  MOV   R7 , ANEXT2:  RETI   ORG   0200HHEXTOBCDD:MOV  A , R6               ;由十六進(jìn)制轉(zhuǎn)化為十進(jìn)制         PUSH  ACC         MOV   A , R7         PUSH  ACC  MOV   A , R2         PUSH  ACC  CLR   A         MOV   R3 , A  MOV   R4 , A  MOV   R5 , A  MOV   R2 , #10HHB3:     MOV   A  , R7              ;將十六進(jìn)制中最高位移入進(jìn)位位中         RLC   A  MOV   R7 , A  MOV   A  , R6  RLC   A  MOV   R6 , A  MOV   A  , R5              ;每位數(shù)加上本身相當(dāng)于將這個(gè)數(shù)乘以2  ADDC  A  , R5  DA    A  MOV   R5 , A  MOV   A  , R4  ADDC  A  , R4  DA    A                   ;十進(jìn)制調(diào)整  MOV   R4 , A  MOV   A  , R3  ADDC  A  , R3  DJNZ  R2 , HB3  POP   ACC   MOV   R2 , A  POP   ACC   MOV   R7 , A  POP   ACC  MOV   R6 , A  RET  ORG   0250HDISPLAY:  MOV   R0 , #30H         MOV   A  , R5  ANL   A  , #0FH  MOV   @R0 , A  MOV   A  , R5  SWAP  A  ANL   A  , #0FH  INC   R0  MOV   @R0 , A  MOV   A  , R4  ANL   A , #0FH  INC   R0  MOV   @R0 , A  MOV   A   , R4  SWAP  A  ANL   A  , #0FH  INC   R0  MOV   @R0 , A  MOV   R0 , #30H  MOV   R2 , #11111110BAGAIN:   MOV   A  , R2         MOV   P2 , A         MOV   A  , @R0  MOV   DPTR , #TAB  MOVC  A  , @A+DPTR  MOV   P1 , A  ACALL DELAY  INC   R0  MOV   A  , R2  RL    A  MOV   R2 , A  JB    ACC.4  , AGAIN   RETTAB:     DB    03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH   ;七段碼表DELY:    MOV   R1,#80D1:        MOV    R2,#100             DJNZ   R2,$ DJNZ    R1,D1 RET DELAY:   MOV   TMOD , #01H           ;延時(shí)子程序         MOV   TL0  , #0FEH         MOV   TH0  , #0FEH  SETB  TR0WAIT:    JNB   TF0  , WAIT         CLR   TF0  CLR   TR0  RETDELY0:   MOV  R1,  #200D3:  MOV  R2,#250          DJNZ  R2,$  DJNZ  R1,D3    RET          END       該系統(tǒng)實(shí)際應(yīng)用廣泛??捎迷谏a(chǎn)線上產(chǎn)品數(shù)量統(tǒng)計(jì)、公交車智能計(jì)數(shù)問候(需添加語(yǔ)音芯片)、超市內(nèi)人數(shù)統(tǒng)計(jì)等公共場(chǎng)合。另外,添加串口通信部分便可實(shí)現(xiàn)與PC數(shù)據(jù)交換的功能。   由于,實(shí)驗(yàn)簡(jiǎn)化了,剩下不少零件和資金,所以我們又做了兩項(xiàng)其他的實(shí)驗(yàn)。

    標(biāo)簽: 單片機(jī) 紅外 控制系統(tǒng)設(shè)計(jì) 原理圖

    上傳時(shí)間: 2013-12-22

    上傳用戶:tangsiyun

主站蜘蛛池模板: 忻州市| 乌兰浩特市| 驻马店市| 白银市| 古蔺县| 庆安县| 衢州市| 溧阳市| 崇信县| 普洱| 客服| 清水县| 小金县| 当涂县| 乌兰察布市| 定结县| 弥渡县| 临泉县| 镶黄旗| 苍溪县| 宝清县| 崇义县| 合江县| 保山市| 同心县| 肃宁县| 渝北区| 邮箱| 普兰县| 巫溪县| 阜新| 龙陵县| 苏尼特左旗| 花垣县| 锡林浩特市| 桦甸市| 红河县| 黄石市| 宝应县| 明溪县| 哈密市|