freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于stc單片機的交通燈畢業(yè)設(shè)計-資料下載頁

2025-02-26 10:24本頁面

【導(dǎo)讀】用單片機自動控制交通燈及時間顯示的方法。同時給出了軟硬件設(shè)計方法,設(shè)計。設(shè)計問題都有涉足。本文對十字路口狀態(tài)預(yù)設(shè)為三種,一種是正常狀態(tài),一種是。增設(shè)路段遇忙調(diào)整時方程式控制狀態(tài)和緊急情。方程式控制間來回切換,進一步完善了交通燈控制系統(tǒng)。并分別用紅、黃、綠燈。交通安全的同時最大限度的提高交通能順暢交替運行。本文介紹了控制基本原理

  

【正文】 33=status[2]。 if(p33amp。0x40) { NLR = 1。 //北向左轉(zhuǎn)紅燈 } else { NLR = 0。 } if(p33amp。0x80) { NLG = 1。 //北向左轉(zhuǎn)綠燈 } else { NLG = 0。 } dissmg()。 //如果用此句,可以增強顯示 } } 27 LED 倒計時顯示子程序 LED 數(shù)碼管原理 本系統(tǒng)采用 8 位的動態(tài)數(shù)碼顯示??刂茢?shù)碼顯示的數(shù)據(jù)由兩部分組成,一部分為筆段亮滅控制的信號輸入由 “A、 B、 C、 D、 E、 F、 G、 DP”端口輸 入,而控制位顯示的控制信號由 “CS CS CS3”端口輸入,同時該動態(tài)數(shù)碼顯示采用共陰型數(shù)碼管,單片機芯片的 P0 口和 P4 口引腳構(gòu)成了 8 位 LED 數(shù)碼管驅(qū)動電路,P0 口控制數(shù)碼管的筆段顯示, P4 口控制數(shù)碼管的位顯示;共陰型數(shù)碼管的筆段引腳是二極管的正極,所有二極管的負極連在一起,構(gòu)成了公共端,即片選端,對于這種數(shù)碼管的驅(qū)動,要求在片選端提供電流,為此,使用了 PNP 型三極管作為片選端的驅(qū)動,共使用 8 只三極管,所有三極管的發(fā)射機連在一起,接到負電源端,他們的基極則分別連到 和 。 這樣,當(dāng) 和 中某引腳輸出是高電平時,三極管不導(dǎo)通,不能給相應(yīng)位的數(shù)碼管供電,該位數(shù)碼管的所有筆段都不亮,反之,如果某引腳是低電平時,三極管導(dǎo)通,可以給相應(yīng)的數(shù)碼管供電,該位數(shù)碼管是否點亮,點亮哪些筆段,取決于這些筆段引腳是高或低電平。 所有 8 位數(shù)碼管的筆段連在一起,通過先留電阻后接到 P0 口,因此,究竟哪些筆段亮,取決于 P0 口的 8 根線是輸出高電平還是低電平。 原理理圖中把所有數(shù)碼管的 8 個筆劃段 ADP 同名端連在一起,而每一個顯示器的公共極 COM是各自獨立地受 I/O 線控制。 CPU向字段輸出口送出字形碼時,所有顯示器接收到相同的字形碼,由 8 個 NPN 的三極管,來控制這 8 位哪一位工作。 具體的 數(shù)碼管 電路原理圖如下圖 圖 數(shù)碼管電路原理圖 28 LED 數(shù)碼管引腳連接 這里我們利用 STC10F04 單片機制作一個三位倒計時器作為一個路口的時間顯示器, P0、 P4 口通過三極管接數(shù)碼管 其各引腳接法如下表 。其余三個路口可照樣設(shè)計,只用稍微修改程序即可。 表 數(shù)碼管 引腳連接 6 5 4 3 2 1 9 10 (單片機 29 腳 ) (單片機 30 腳 ) (單片機 31 腳 ) 7 8 11 數(shù)碼管是怎樣來顯示 1, 2, 3, 4 呢?數(shù)碼管實際上是由 7 個發(fā)光管組成 8字形構(gòu)成的,加上小數(shù)點就是 8 個。我們分別把他命名為 A, B, C, D, E, F,G, DP。 由于接法為共陰接法,那么為 1(高電平)是亮,為 0(低電平)是滅。從高到低排列 ,( )寫成二進制,再轉(zhuǎn)為 16 進制。我們可以根據(jù)硬件的接線把數(shù)碼管顯示數(shù)字編制成一個表格,如下表 , 以后直接調(diào)用就行了。 表 共陰極字型編碼表 顯示 A F E D DP C G B 共陰筆段碼 0 1 1 1 1 0 1 0 1 0xf5 1 0 0 0 0 0 1 0 1 0x05 2 1 0 1 1 0 0 1 1 0xb3 3 1 0 0 1 0 1 1 1 0x97 4 0 1 0 0 0 1 1 1 0x47 5 1 1 0 1 0 1 1 0 0xd6 6 1 1 1 1 0 1 1 0 0xf6 7 1 0 0 0 0 1 0 1 0x85 8 1 1 1 1 0 1 1 1 0xf7 9 1 1 0 1 0 1 1 1 0xd7 A 1 1 1 0 0 1 1 1 0xe7 B 0 1 1 1 0 1 1 0 0x76 C 1 1 1 1 0 0 0 0 0xf0 D 0 0 1 1 0 1 1 1 0x37 E 1 1 1 1 0 0 1 0 0xf2 F 1 1 1 0 0 0 1 0 0xe2 段碼位 D7 D6 D5 D4 D3 D2 D1 D0 顯示段 A F E D DP C G B 29 動態(tài)掃描 在本電路中,使用的是動態(tài)掃描顯示方法。在動態(tài) LED 顯示程序中,需要不停地掃描字位口,從而實現(xiàn)不同字位的數(shù)據(jù)的動態(tài)顯示效果。 動態(tài)借口采用各數(shù)碼管循環(huán)輪流顯示的方法,由于一次只能讓一個數(shù)碼管顯示,因此,要顯示 8 位的數(shù)據(jù),必須經(jīng)過讓數(shù)碼管一個一個輪流顯示才可以,同時每個數(shù)碼管顯示的時間大約在 1ms 到 4ms 之間,所以為了保證正確顯示,我們必須每隔 1ms,就得 刷新一個數(shù)碼管。而這刷新時間我們采用單片機的定時 /計數(shù)器 0 來控制,每定時 1ms 對數(shù)碼管刷新一次, T0 采用方式 2。 在進行數(shù)碼顯示的時候,要對顯示單元開辟 8 個顯示緩沖區(qū),每個顯示緩沖區(qū)裝有顯示的不同數(shù)據(jù)即可。 對于現(xiàn)實的字形碼數(shù)據(jù)我們采用查表方法來完成。 數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的 8 個顯示筆劃 a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極 COM 增加位選通控制電路,位選通由各自獨立的 I/O 線控制,當(dāng)單片機輸出字形碼時,所有 數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的 COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為 1~ 2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能 夠節(jié)省大量的 I/O 端口,而且功耗更低。 數(shù)碼管顯示程序的功能 (1)定義共陰極字型編碼表 即確定發(fā)光數(shù)碼管的字型對應(yīng)在單片機中的變量和參數(shù)。 系統(tǒng)程序中對共陰極字型編碼表的定義如下: Unsigned char code md[]={0xf5,0x05,0xb3,0x97,0x47,0xd6,0xf6,0xa185,0xf7,0xd7,0xe7,0x76,0xf0,0x37,0xf2,0xe2,0x00}。 //0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 30 LED 數(shù)碼管顯示某個數(shù)字時,就需要調(diào)用 md[]函數(shù)中相應(yīng)的數(shù)字來驅(qū)動數(shù)碼管。 (2)顯示 得到字型和字位的地址后,向不同的字位送數(shù)據(jù),進行數(shù)據(jù)的顯示,顯示的內(nèi)容包括各位和十位,用取模和取余來確定。結(jié)果分別用兩個 6 位的數(shù)碼管顯示(即東南西北四個路口各三個)。 程序中對 LED 數(shù)碼管個位和十位的定義如下: shu0=35%10。 shu1=35/10。 由于本程序采用的是三位 LED 數(shù)碼管,所以程序中必須對 LED 數(shù)碼管位的選擇進行判斷并顯示。系統(tǒng)中位的判斷及顯示程序如下: unsigned char shu0,shu1,shu2,tc=0。 void dissmg() { if(tc==0) { smdis=md[shu0]。 weishuang0 = 0。 weishuang1 = 1。 weishuang2 = 1。 } else if(tc==1) { smdis=md[shu1]。 weishuang0 = 1。 weishuang1 = 0。 weishuang2 = 1。 } else if(tc==2) { smdis=md[shu2]。 weishuang0 = 1。 weishuang1 = 1。 weishuang2 = 0。 } } 判斷 tc 的值是為 0 還是為 1,還是為 2,進而根據(jù) tc 的值執(zhí)行相應(yīng)的 if 語氣或 else if 語氣。假如 tc==0,則執(zhí)行第一條 if 語氣,從 md[]數(shù)組中選與 shu0 相對應(yīng)的值賦給 smdis,并判斷出 LED 數(shù)碼管位的選擇,其他兩個 else if 語氣類似。 鍵盤掃描模塊 中斷的概念:中斷時指中央處理器 CPU 正在執(zhí)行程序,處理某件事情的時候,外部發(fā)生了某一件事情,請求 CPU馬上處理, CPU 暫時中斷當(dāng)前的工作,轉(zhuǎn)入處理所發(fā)生的事情,處理完了以后,再返回到原來被中斷的地方,繼續(xù)原來的工作。 中斷系統(tǒng)一般應(yīng)有的功能: ( 1) 實現(xiàn)中斷及返回 當(dāng)某一個中斷源發(fā)出中斷申請時,若允許響應(yīng)這個中斷請求 , CPU必須在現(xiàn)有的指令執(zhí)行完以后,把斷點處的 31 PC 值(即下一條應(yīng)執(zhí)行的指令地址)壓入堆棧保存起來,稱為保護斷點,這是由硬件自動完成的。 ( 2)保護現(xiàn)場 響應(yīng)中斷請求后,將有關(guān)的寄存器內(nèi)容和標(biāo)志位壓入堆棧保存起來,這稱為保護現(xiàn)場。 ( 3)恢復(fù)現(xiàn)場 執(zhí)行中斷服務(wù)程序后,恢復(fù)原保留的寄存器的內(nèi)容和標(biāo)志位的狀態(tài),稱為恢復(fù)現(xiàn)場,并執(zhí)行返回指令。 中斷系統(tǒng)介紹: 51 系列單片機的中斷系統(tǒng)是 8 位單片機中功能較強的,可以提供 5 個中斷源( 52 子系列 是 6 個),具有兩個中斷優(yōu)先級,可實現(xiàn)兩級中斷嵌套。 ( 1) 基本概念 5 個中斷源 外部中斷源為: INT0、 :定時器 /計數(shù)器 0、 1 溢出中斷,串口中斷( T、 R)。使用定時器時溢出會產(chǎn)生中斷,使用計數(shù)器方式時溢出時也會引起中斷。 中斷允許部分 源允許中斷和總允許中斷,只有當(dāng)二者同時 “允許 ”(接通)時才可能產(chǎn)生中斷(由中斷允許寄存器 IE 控制)。 中斷優(yōu)先級部分 由中斷優(yōu)先級寄存器 IP 控制,可設(shè)置成高、低優(yōu)先級。 查詢硬件、中斷源標(biāo)識符、中斷矢(向)量 查詢哪些 中斷申請了中斷,排好中斷響應(yīng)的次序,設(shè)置相應(yīng)的中斷源標(biāo)識符,向 CPU申請中斷; CPU響應(yīng)中斷時從中斷矢量單元中取出中斷服務(wù)程序的入口地址,程序轉(zhuǎn)向中斷服務(wù)程序。 ( 2) 中斷允許寄存器 IE 中斷允許寄存器既可按字節(jié)尋址,也可按位尋址,控制字如下所示。 EA X ET2 ES ET1 EX1 ET0 EX0 IE7 IE6 IEO EA:中斷總允許位。 EA=0 時,關(guān)閉總開關(guān),禁止一切中斷; EA=1 時,接通總開關(guān),才可能使各個中斷源 的請求傳到 CPU。 IE6:保留位。 ET2:定時器 /計數(shù)器 2 溢出中斷允許位。為 0 時禁止該類中斷,為 1 時允許該類中斷。 ES:串行口收、發(fā)中斷允許位。為 0 時禁止該類中斷,為 1 時允許該類中32 斷。 ET1:定時器 /計數(shù)器 1 溢出中斷允許位。為 0 時禁止該類中斷,為 1 時允許該類中斷。 EX1:外部中斷 0( INT0 或 )允許位。為 0 時禁止該類中斷,為 1 時允許該類中斷。 ET0:定時器 /計數(shù)器 0 溢出中斷允許位。為 0 時禁止該類中斷,為 1 時允許該類中斷。 EX0:外部中斷 0( INT0 或 )允許位。為 0 時禁止該類中斷 ,為 1 時允許該類中斷。 需要注意的是,要使某個中斷源的中斷申請得到響應(yīng),必須保證 EA=1 和相應(yīng)的允許位為 ,要使定時器 0 與外部中斷 0 的中斷得到響應(yīng),必須保證EA、 ET0、 EX0 為 1. 通過上面對中斷允許寄存器的解釋,結(jié)合設(shè)計程序?qū)χ袛嗟某跏蓟? EA = 1。 ET0 = 1。 EX0=1。 EX1=0。 可知,由允許中斷的條件:總允許中斷和源允許中斷都接通才能產(chǎn)生中斷 。由 EA= ET0= EX0=1 得出初始化程序設(shè)定定時器 T0 和外部中斷 INT0 中斷。 由 EA= EX1=0 得出初始化程序設(shè)定禁 止外部中斷 INT1 中斷。 ( 3) 中斷優(yōu)先級控制寄存器 IP PS PT1 PX1 PT0 PX0 PX0:外部中斷 0
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1