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

正文內(nèi)容

基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)與模擬(畢業(yè)論文)-資料下載頁

2025-02-26 11:55本頁面

【導(dǎo)讀】交通控制系統(tǒng)是近現(xiàn)代社會(huì)隨著物流、出行等交通發(fā)展產(chǎn)生的一套獨(dú)特的公共管理系統(tǒng)?,F(xiàn)代電子科學(xué)技術(shù)的發(fā)展和成熟能比較好的解決系統(tǒng)建立中硬軟件方面要求的技術(shù)難題。圍,還能根據(jù)正常時(shí)段以及特定突發(fā)時(shí)段的情況進(jìn)行科學(xué)的自動(dòng)調(diào)整。輛的多少實(shí)時(shí)調(diào)整和轉(zhuǎn)移多條線路的分流也十分必要。交通網(wǎng)絡(luò)是城市的動(dòng)脈,象征著一個(gè)城市的工業(yè)文明水平?,F(xiàn)在各大中城市交通建設(shè)已初。路的暢通安全,才能保證出行舒暢,物流準(zhǔn)時(shí)到位,甚至是生命通道的延伸。將各種方案進(jìn)行比較,本課題采用以單片機(jī)為核。通控制的初步方案。倒計(jì)時(shí)顯示提示,基于實(shí)際情況,又要求了對車流量檢測及自調(diào)整模擬功能,違規(guī)檢測及處理,據(jù)此,本設(shè)計(jì)系統(tǒng)以單片機(jī)為控制核心,連接成最小系統(tǒng),由車流量檢測模。[3]張鑫,華臻,陳書謙.單片機(jī)原理及應(yīng)用[J].電子工業(yè)出版社,2021.[9]雷麗文等.微機(jī)原理與接口技術(shù)[M].北京:電子工業(yè)出版社,

  

【正文】 每個(gè)發(fā)光二極管的陽極連在一起,如圖 所示。這樣,一個(gè) LED 數(shù)碼管就有 I根位選線和 8根段選線,要想顯示一個(gè)數(shù)值,就要分別對它 們的高低電平來加以控制。為方便起見,本文主要討論共陽八段 LED 數(shù)碼顯示管,其他類形的顯示管與其類似。 圖 違規(guī)檢測電路 ————————————————————— ———————————————— 21 圖 LED 數(shù)碼管 LED 燈的顯示原理 :通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點(diǎn)亮而顯示不同的字形,如 dp, g,f,e,d,c,b,a全亮顯示為8,采用共陽極連接驅(qū)動(dòng)代碼,代碼表如下表 所示。 顯示數(shù)值 dp,g,f,e,d,c,b,a 驅(qū)動(dòng)代碼 0 11010000 C0H 1 11111001 F9H 2 10100100 A4H 3 10110000 B0H 4 10011001 99H 5 10010010 92H 6 10000010 82H 7 11111000 F8H 8 10000000 80H 9 10010000 90H 表 驅(qū)動(dòng)代碼表 相應(yīng)在程序軟件上,可以通過調(diào)用程序給定的秒值經(jīng)過特定計(jì)算算出需要顯示的個(gè)位和十位,然后有 DPTR 調(diào)取 LEDMAP 的代碼。 LED8 段數(shù)碼管的設(shè)置為每個(gè)方位上的一對 2 為顯示器。四個(gè)方位上總共用8個(gè) LED 接在單片機(jī)的 IO 口上。雖然路口不一樣,但是顯示的時(shí)間在數(shù)字上是一樣的,所以兩邊連接的 IO口是對稱的。如 圖 所示,其中 A, B 分別是 P0,P1 的網(wǎng)絡(luò)標(biāo)號。 ————————————————————— ———————————————— 22 圖 LED 連接圖 其它器件 ( 1)發(fā)光二極管 根據(jù)本設(shè)計(jì)的特點(diǎn),紅綠燈的顯示不可少,紅綠燈的顯示采用普通的發(fā)光二極管。每個(gè)方向上設(shè)置紅綠黃燈,總共 4 組。如果東西紅燈亮,那南北方向就是綠燈亮,反之亦然,所以在硬件上連接圖上也是對稱分布的,如下圖 所示。 圖 信號燈的連接 ( 2)蜂鳴器 本設(shè)計(jì)采用一般蜂鳴器,蜂鳴器使用 PNP 三極管進(jìn)行驅(qū)動(dòng)控制,當(dāng) 引腳輸出為低電平, PNP 導(dǎo)通,蜂鳴器蜂鳴;當(dāng) 引腳輸出高電平時(shí), PNP 截止,蜂鳴器停止蜂鳴。如下圖 所示 ————————————————————— ———————————————— 23 ( 3)按鍵控制 本設(shè)計(jì)設(shè)置了有 3個(gè)鍵: S鍵 , J 鍵 , F鍵 。每個(gè)按鍵一端接地,另一端接上拉電阻。低電平有效,當(dāng)按鍵按下端口接地,單片機(jī)捕獲到低電平,從而知道相應(yīng)的輸入信息。如下圖 所示 圖 按鍵示意圖 圖 蜂鳴器連接 ————————————————————— ———————————————— 24 4 系統(tǒng)軟件程序的設(shè)計(jì) 程序主體設(shè)計(jì)流程 全部控制程序?qū)嶋H上分為若干模塊:鍵盤設(shè)置處理程序,狀態(tài)燈控制程序,LED 顯示程序,消抖動(dòng)延時(shí)程序,次狀態(tài)判斷及處理程序,緊?;蜻`規(guī)判斷程序,中斷服務(wù)子程序,車流量計(jì)數(shù)程序,紅 綠燈時(shí)間調(diào)整程序等 。 整個(gè)軟件程序方面主要分兩大部分:按鍵處理程序和 50ms 掃描程序。流程圖如圖 所示。 圖 系統(tǒng)總流程圖 首先是按鍵處理程序, 89C51 通過對 IO 掃描,確定是否有鍵按下,再判斷具體是那個(gè)鍵按下,根據(jù)鍵值跳轉(zhuǎn)到按鍵處理程序。按鍵處理結(jié)果可設(shè)置兩種工作模式:紅綠燈時(shí)間設(shè)置模式和紅綠燈時(shí)間自動(dòng)模式,次程序相當(dāng)于系統(tǒng)的模式設(shè)置,若想重新設(shè)置則要按下復(fù)位鍵。設(shè)置過后進(jìn)入 50ms 掃描程序。 50ms 掃描程序開始后,先刷新顯示模塊,若為自動(dòng)模式則接下來要計(jì)數(shù)車 ————————————————————— ———————————————— 25 流量,然后掃描緊停信號和違 規(guī)信號,若捕獲則調(diào)用中斷,中斷服務(wù)子程序主要啟動(dòng)蜂鳴器,直至恢復(fù)鍵按下。 50ms 已到則重新掃描。掃描 20次之后計(jì)時(shí)到達(dá)1s則時(shí)間數(shù)據(jù)減 1,在顯示模塊中修改顯示緩沖區(qū)內(nèi)容 。在半個(gè)狀態(tài)對換時(shí), 車流量計(jì)數(shù)程序在一個(gè)狀態(tài)變換循環(huán)先后計(jì)數(shù)兩個(gè)方向的車流量,然后調(diào)用紅綠燈時(shí)間調(diào)整程序,更新紅綠燈時(shí)間。 當(dāng)前狀態(tài)時(shí)間已到,則判斷次狀態(tài)裝入相應(yīng)數(shù)據(jù),然后進(jìn)入下一狀態(tài)。 理論基礎(chǔ)知識 ( 1)定時(shí)器原理 定時(shí)器工作的基本原理其實(shí)就是給初值,讓它不斷加 1 直至減完為模值,這個(gè)初值是送到 TH和 TL 中的。它是以加法記數(shù)的,并能從全 1到全 0時(shí)自動(dòng)產(chǎn)生溢出中斷請求。因此,我們可以把計(jì)數(shù)器記滿為零所需的計(jì)數(shù)值,即所要求的計(jì)數(shù)值設(shè)定為 C,把計(jì)數(shù)初值設(shè)定為 TC 可得到如下計(jì)算通式: TC=MC 式中, M 為計(jì)數(shù)器模值。計(jì)數(shù)值并不是目的,目的是時(shí)間值,設(shè)計(jì) 1次的時(shí)間,即定時(shí)器計(jì)數(shù)脈沖的周期為 T0,它是單片機(jī)系統(tǒng)主頻周期的 12倍,設(shè)要求的時(shí)間值為 T,則有 C=T/ T0。計(jì)算通式變?yōu)椋? T=( M- TC) T0 模值和計(jì)數(shù)器工作方式有關(guān)。在方式 0 時(shí) M 為 8192;在方式 1 時(shí) M 的值為65536;在方式 2 和 3 為 256。就此可以算出各種方式的最大延時(shí)。如單片機(jī)的主脈沖頻率為 12MHZ,經(jīng)過 12分頻后,若采用方式0最大延時(shí)只有 毫秒,采用方式1最大延時(shí)也只有 。這就是為什么掃描周期為 50ms的原因, 若使用軟件則會(huì)耽擱程序流程,顯然不可行。相反,時(shí)間計(jì)時(shí)方面卻不可能只用計(jì)數(shù)器,因?yàn)?顯然1秒鐘已經(jīng)超過了計(jì)數(shù)器的最大定時(shí)間,所以我們還必須采用定時(shí)器和軟件相結(jié)合的辦法才能解決這個(gè)問題。 ( 2)軟件延時(shí)原理 MCS51 的工作頻率為 12MHZ,機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的 12倍,所以一個(gè)機(jī)器周期的時(shí)間為 12*( 1/12MHZ) =1us。我們可以 知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定 1秒的時(shí)間,但同時(shí)由于單片機(jī)的運(yùn)行速度很快其他的指令執(zhí)行時(shí)間可以忽略不計(jì)。 ————————————————————— ———————————————— 26 我們設(shè)定一個(gè)初值為 20 的軟件計(jì)數(shù)器和使 T0 定時(shí) 50 毫秒。這樣每當(dāng) T0到 50 毫秒時(shí) CPU 就響應(yīng)它的溢出中斷請求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中, CPU 先使軟件計(jì)數(shù)器減1,然后判斷它是否為零。為零表示1秒已到。設(shè)定定時(shí)器需要定時(shí) 50 毫秒,故 T0 必須工作于方式1。要求初值:TC=MT*T0=21650ms/1us=15536=3CBOH,程序如下: ?? WAIT: JNB TF0,WAIT1 CLR TF0 MOV TH0,01H MOV TL0,0B01H DJNZ R2,WAIT ?? ( 3)中斷原理 本系統(tǒng)主要使用了外部中斷,中斷信號有引腳 INT0 和 INT1 輸入,低電平有效, CPU 每個(gè)時(shí)鐘周期都會(huì)檢測 INT0 和 INT1 上的信號, 8051 允許外部中斷以電平方式或負(fù)邊沿方式兩種中斷方式輸入中斷請求信號,可由用戶通過設(shè)置 TCON中 IT0 和 IT1 位的狀態(tài)來實(shí)現(xiàn)。以 IT0 為例, IT0=0,為電平觸發(fā)方式, IT0=1,為 負(fù)邊沿觸發(fā)方式,本設(shè)計(jì)采用電平方式, IE0 為其中斷標(biāo)志位,有中斷信號則置位,中斷服務(wù)子程序響應(yīng)后, IE0 自動(dòng)清零。 IE 中的 EA 為允許中斷的總控制位,為 1 開啟, EX0 為外部中斷允許控制位,為 1開啟。 在優(yōu)先級的允許下,一旦有外部中斷信號產(chǎn)生,單片機(jī) CPU 首先保護(hù)斷點(diǎn),PC值進(jìn)棧,然后執(zhí)行相應(yīng)的中斷服務(wù)子程序,執(zhí)行完后,用 RETI 指令返回,此時(shí) CPU 會(huì)從堆棧中取保存的斷點(diǎn)地址,送回 PC,程序再正常執(zhí)行。 ( 4)紅綠燈時(shí)間調(diào)整原理 車流量檢測傳感器可對單片機(jī)控制系統(tǒng)提供實(shí)時(shí)數(shù)據(jù),系統(tǒng)對所獲數(shù)據(jù)進(jìn)行模糊處理。實(shí)現(xiàn)紅 綠燈模糊控制必須解決對當(dāng)前十字路口的交通狀況的檢測,并完成如下工作 : ,系統(tǒng)采集兩個(gè)輸入量,即兩個(gè)方向的車流量。 ,即紅綠燈時(shí)間值。 ————————————————————— ———————————————— 27 。 ,生成精確的輸出控制信號。 為了采集上述數(shù)據(jù),在十字路口的四側(cè)共設(shè)置 2個(gè)傳感器。分別檢測兩個(gè)方向的車流量,車流量檢測不是最終目的,在每半個(gè)循環(huán)周期,系統(tǒng)會(huì)檢測到兩個(gè)方向的車流量數(shù)據(jù),除以時(shí)間,那么就可以得到單位時(shí)間的車流量,然后比較兩個(gè)方向單位時(shí)間車流量多少,以確定 下一次循環(huán)紅綠燈時(shí)間,達(dá)到調(diào)整的目的。 如,在一次循環(huán)過后,檢測到南北向車流量(設(shè)此時(shí)南北綠燈,東西紅燈時(shí)間為 20s)為 100 輛,東西向車流量(設(shè)此時(shí)東西綠燈,南北紅燈時(shí)間為 30s)為 90 輛,則單位時(shí)間車流量南北向和東西向的比例是:( 100/20) /( 90/30) =,顯然南北向交通嚴(yán)重,那么現(xiàn)在就可以把南北綠燈,東西紅燈時(shí)間調(diào)長。 上面的比例 還是一個(gè)確定數(shù)值,究竟多少為多,多少為少,這就必須設(shè)定模糊規(guī)則,劃定幾個(gè)值域范圍,分別對應(yīng)到具體的調(diào)整時(shí)間上,系統(tǒng)就調(diào)用具體的輸出值了。 子程序模塊設(shè) 計(jì) ( 1)按鍵掃描程序 首先程序不斷掃描模式設(shè)置鍵,分別記為: S 鍵, J 鍵, F 鍵對應(yīng)IO端口的P ,低電平有效,按鍵順序是指定的,若直接按 F鍵,則為自動(dòng)調(diào)整模式,然后進(jìn)入下一程序;若先按 S鍵,再按 J鍵, F鍵則為設(shè)置時(shí)間模式,然后進(jìn)入下一程序。 程序的開始要判斷是否有鍵按下,可以不斷將 S鍵值和 F鍵值相與,與值為1則表示沒有鍵按下,為 0 則表示有鍵按下,程序如下: K1: MOV C, ANL C, JB C, K1 ?? 接下來要判 斷具體是那個(gè)鍵,若為 F 鍵,則將自動(dòng)標(biāo)志位置 1,進(jìn)入下一程序,否則為 S 鍵,則表示設(shè)置南北綠燈時(shí)間,用 R0 存值,按 1 下加 1,同時(shí)還需判斷此時(shí) J 鍵是否按下,若按下,則表示南北綠燈時(shí)間設(shè)置完畢,開始設(shè)置東西綠燈時(shí)間,用 R1 存值,同樣按 1下加 1 ,同時(shí)判斷此時(shí) F鍵是否按下,若按 ————————————————————— ———————————————— 28 下,則表示時(shí)間設(shè)置完畢,進(jìn)入下一程序。 在這個(gè)過程中, S, J 鍵的計(jì)數(shù)是循環(huán)的,從初值 20 開始,加到 40 則循環(huán)回到 20。如判斷 S 鍵程序如下: CJNZ R0, 40, V1 MOV R0, 20 V1: INC R0 ?? ( 2)狀態(tài)燈顯示及判斷 在本設(shè)計(jì)中,實(shí)際控制的燈只有 6個(gè),即:東西紅燈,東西綠燈,東西黃燈,南北紅燈,南北綠燈,南北黃燈。定義 IO 端口如下,其中均是低電平有效。 H_GREEN BIT H_YELLOW BIT L_RED BIT L_GREEN BIT L_YELLOW BIT 共有 4 鐘狀態(tài):東西紅燈亮,南北綠燈亮( 11011101/DDH);東西紅燈亮,南北黃燈亮( 10111101/BDH);東西綠燈亮,南北紅燈亮( 11101101/EDH);東西黃燈亮,南北紅燈亮( 11100111/E7H)。 括號中是 P2 端口 8 個(gè)引腳值 ,,以及對應(yīng)的十六進(jìn)制碼。 在用于顯示發(fā)光二極管時(shí),直接由 MOV指令將十六進(jìn)制碼送入 P2 口。 剛才的 4 個(gè)狀態(tài)是依次變換的,這就要涉及到狀態(tài)的判斷和銜接了。先把P2 端口的值與所有的 4 個(gè)狀態(tài)碼比較,若相同則判斷成功當(dāng)前狀態(tài),再把下一狀態(tài)的狀態(tài)碼送顯 P2即可。程序如下: MOV A, P2 CJNZ A, 0DDH,D1 MOV P2, BDH D1: CJNZ A, BDH,D2 MOV P2, EDH ————————————————————— ———————————————— 29 D2: CJNZ A, EDH,D3 MOV P2, E7H D3: CJNZ A, E7H,Y MOV R2, DDH ?? ( 3) LED 倒計(jì)時(shí)顯示 LED 計(jì)時(shí)每 1 秒都要刷新 1 次,那么計(jì)時(shí)滿 1秒時(shí)就要將存儲時(shí)間的工作寄存器 R4 減 1,然后送入 LED 顯示程序中顯示。下面要將時(shí)間數(shù)據(jù) R4的十位,個(gè)位分開送顯 P1, P0 端口,首先將 R4 除以 10,整數(shù)即十位放在 A 中,余數(shù)即個(gè)位放在 B 中,設(shè)置 7段 LED 顯示數(shù)據(jù)的數(shù)據(jù)表,用數(shù)據(jù)指針寄存器 DPTR 指向數(shù)據(jù)表的首地址,再加上 A中的偏移量,就可以指向十位數(shù)字,然后送顯即可,個(gè)位顯示同理。具體程序如下: MOV A, R4 MOV B, 10 DIV A, B MOV DPTR, LEDMAP MOVC A, @A+DPTR MOV P1, A MOV A, B MOVC A, @A+DPTR MOV P3, A LEDMAP: DB 3FH,06H,5BH,4FH,66H,6DH,7DH
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1