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

正文內(nèi)容

基于單片機(jī)實(shí)現(xiàn)的交通燈設(shè)計(jì)(編輯修改稿)

2024-12-14 18:27 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 會(huì)指到接收寄存器,在寫(xiě)時(shí)會(huì)指到發(fā)送寄存器,而且接收寄存器是雙緩沖寄存器,這樣可以避免接收中斷沒(méi)有及時(shí) 的被響應(yīng),數(shù)據(jù)沒(méi)有被取走,下一幀數(shù)據(jù)已到來(lái),而造成的數(shù)據(jù)重疊問(wèn)題。發(fā)送器則不需要用到雙緩沖,一般情況下我們?cè)趯?xiě)發(fā)送程序時(shí)也不必用到發(fā)送中斷去外理發(fā)送數(shù)據(jù)。 7 SCON 串行口控制寄存器通常在芯片或設(shè)備中為了監(jiān)視或控制接口狀態(tài),都會(huì)引用到接口控制寄存器。 SCON 就是 51 芯片的串行口控制寄存器。它的尋址地址是 98H,是一個(gè)可以位尋址的寄存器,作用就是監(jiān)視和控制 51 芯片串行口的工作狀態(tài)。 51 芯片的串口可以工作在幾個(gè)不同的工作模式下,其工作模式的設(shè)置就是使用 SCON 寄存器。它的各個(gè)位的具體定義如下: SM0 SM1 SM2 REN TB8 RB8 TI RI SM0、 SM1 為串行口工作模式設(shè)置位,這樣兩位可以對(duì)應(yīng)進(jìn)行四種模式的設(shè)置。串行口工作模式設(shè)置 如 表 11 所示 : 表 11 串行口工作模式設(shè)置 SM0 SM1 模式 功能 波特率 0 0 0 同步移位寄存器 fosc/12 0 1 1 8 位 UART 可變 1 0 2 9 位 UART fosc/32 或 fosc/64 1 1 3 9 位 UART 可變 在這里只說(shuō)明最常用的模式 1,其它的模式也就一一略過(guò)。表中的 fosc 代表振蕩器的頻率,也就是晶 振的頻率。 UAR 為 (Universal Asynchronous Receiver)的英文縮寫(xiě)。 RE 為允許接收位, REM 置 1時(shí)串口允許接收,置 0 時(shí)禁止接收。 REM 是由軟件置位或清零。如果在一個(gè)電路中接收和發(fā)送引腳 , 都和上位機(jī)相連,在軟件上有串口中斷處理程序,當(dāng)要求在處理某個(gè)子程序時(shí)不允許串口被上位機(jī)來(lái)的控制字符產(chǎn)生中斷,那么可以在這個(gè)子程序的開(kāi)始處加入 REM=0 來(lái)禁止接收,在子程序結(jié)束處加入 REM=1 再次打開(kāi)串口接收。 TB8 發(fā)送數(shù)據(jù)位 8,在模式 2 和 3 是要發(fā)送的第 9 位。該位 可以用軟件根據(jù)需要置位或清除,通常這位在通信協(xié)議中做奇偶位,在多處理機(jī)通信中這一位則用于表示是地址幀還是數(shù)據(jù)幀。 RB8 接收數(shù)據(jù)位 8,在模式 2 和 3 是已接收數(shù)據(jù)的第 9 位。該位可能是奇偶位,地址 /數(shù)據(jù)標(biāo)識(shí)位。在模式 0 中, RB8 為保留位沒(méi)有被使用。在模式 1 中,當(dāng) SM2=0, RB8 是已接收數(shù)據(jù)的停止位。 TI 發(fā)送中斷標(biāo)識(shí)位。在模式 0,發(fā)送完第 8 位數(shù)據(jù)時(shí),由硬件置位。其它模式中則是在發(fā)送停止位之初,由硬件置位。 TI 置位后,申請(qǐng)中斷, CPU 響應(yīng)中斷后,發(fā)送下一幀數(shù)據(jù)。在任何模式下, TI 都必須由 軟件來(lái)清除,也就是說(shuō)在數(shù)據(jù)寫(xiě)入到 SBUF 后,硬件發(fā)送數(shù)據(jù),中斷響應(yīng)(如中斷打開(kāi)),這時(shí) TI=1,表明發(fā)送已完成, TI不會(huì)由硬件清除,所以這時(shí)必須用軟件對(duì)其清零。 8 RI 接收中斷標(biāo)識(shí)位。在模式 0,接收第 8 位結(jié)束時(shí),由硬件置位。其它模式中則是在接收停止位的半中間,由硬件置位。 RI=1,申請(qǐng)中斷,要求 CPU 取走數(shù)據(jù)。但在模式 1 中, SM2=1 時(shí),當(dāng)未收到有效的停止位,則不會(huì)對(duì) RI 置位。同樣 RI 也必須要靠軟件清除。常用的串口模式 1 是傳輸 10 個(gè)位的, 1 位起始位為 0,8 位數(shù)據(jù)位,低位在先, 1 位停止 位為 1。它的波特率是可變的,其速率是取決于定時(shí)器 1 或定時(shí)器 2 的定時(shí)值(溢出速率) 。 兩位七段式數(shù)碼管 兩位七段式數(shù)碼管介紹 : 兩位七段式數(shù)碼管其實(shí)就是將兩個(gè)一位八段式數(shù)碼接相應(yīng)的電路組合在一起。并引出兩控制端 1 和 2,同過(guò)其電平的高低來(lái)控制兩個(gè)數(shù)碼管的高低位工作。其中兩個(gè)數(shù)碼管的八個(gè)端子 A, B, C, D, E, F, G, DP 為公共所用。(其圖形如圖 16所示) 圖 14:共陰極二極管 圖 15:共陽(yáng)極二極管 圖 16 兩位七段式數(shù)碼管 9 2 系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn) 簡(jiǎn)易 交通燈 基本組成部分 簡(jiǎn)易 交通燈 主要是由 復(fù)位電路 、 時(shí)鐘電路 、 鍵盤 電路、 顯示電路、 LED指示 電路這幾部分組成。 此系統(tǒng)核心元件為單片機(jī) AT89C51,對(duì)其編寫(xiě)相關(guān)程序來(lái)控制交通信號(hào)燈和數(shù)碼管的時(shí)間顯示。系統(tǒng)共采用 12 個(gè)發(fā)光二極管來(lái)模擬各路交通信號(hào)燈, 2個(gè) LED 七段數(shù)碼管以倒 計(jì)時(shí)的方式顯示各個(gè)方向上允許通行或禁止通行的信號(hào)燈剩余的時(shí)間。停 25S,準(zhǔn)備 5S,之后通行 20S,在東西和南北兩個(gè)方向上這兩種狀態(tài)不斷循環(huán)。源程序采用 C語(yǔ)言編寫(xiě),并通過(guò) keil 軟件進(jìn)行編譯,最后倒入 AT89C51 單片機(jī)中,運(yùn)行系統(tǒng)。設(shè)計(jì)好后通過(guò) PROTUES 軟件仿真,并調(diào)試。 時(shí)鐘電路設(shè)計(jì) AT89C51 內(nèi)置最高頻率達(dá) 12MHz 的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序但 AT89C51 單片機(jī)需外置振蕩電容。 由上可見(jiàn), AT89C51 單片機(jī)的硬件結(jié)構(gòu)具有功能部件種類全,功能強(qiáng)等特點(diǎn)。特別值得一提的是該 單片機(jī) CPU 中的位處理器,它實(shí)際上是一個(gè)完整的 1位微計(jì)算機(jī),這個(gè)一位微計(jì)算機(jī)有自己的 CPU、位寄存器、 I/O 口和指令集。 1位機(jī)在開(kāi)關(guān)決策、邏輯電路仿真、過(guò)程控制方面非常有效;而 8 位機(jī)在數(shù)據(jù)采集,運(yùn)算處理方面有明顯的長(zhǎng)處。 MCS51 單片機(jī)中 8 位機(jī)和 1位機(jī)的硬件資源復(fù)合在一起,二者相輔相承,它是單片機(jī)技術(shù)上的一個(gè)突破,這也是 MCS51 單片機(jī)在設(shè)計(jì)的精美之處。 單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)片內(nèi)各種微操作的時(shí)間基準(zhǔn),時(shí)鐘信號(hào)通常用兩種電路形式得到 :內(nèi)部振蕩和外部振蕩。 MCS51 單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩 器的高增益反向放大器,引腳 XTALl 和 XTAL2 分別是此放大電器的輸入端和輸出端,由于采用內(nèi)部方式時(shí),電路簡(jiǎn)單,所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)際使用中常采用這種方式,如圖 21 所示在其外接晶體振蕩器 (簡(jiǎn)稱晶振 )或陶瓷諧振器就構(gòu)成了內(nèi)部振蕩方式,片內(nèi)高增益反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起可構(gòu)成一個(gè)自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。圖 21中外接晶體以及電容 C2 和 C1構(gòu)成并聯(lián)諧振電路,它們起穩(wěn)定振蕩頻率、快速起振的 作用,其值 為30P 左右,晶振頻率選 12MHz。 圖 21 時(shí)鐘電路 10 復(fù)位電路設(shè)計(jì) AT89C51 的上電復(fù)位電路如 下 圖 22所示,只要在 RST復(fù)位輸入引腳上接一電容至 Vcc 端,下接一個(gè) 電阻 到地即可。對(duì)于 CMOS 型單片機(jī),由于在 RST 端內(nèi)部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至1uF。上電復(fù)位的工作過(guò)程是在加電時(shí),復(fù)位電路通過(guò)電 容加給 RST 端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨著 Vcc 對(duì)電容的充電過(guò)程而逐漸回落,即 RST 端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位, RST 端的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。上電時(shí), Vcc的上升時(shí)間約為 10ms,而振蕩器的起振時(shí)間取決于振蕩頻率,如 晶振 頻率為 10MHz,起振時(shí)間為 1ms;晶振頻率為 1MHz,起振時(shí)間則為 10ms。在圖2 的復(fù)位電路中,當(dāng) Vcc 掉電時(shí),必然會(huì)使 RST 端電壓迅速下降到 0V以下,但是,由于內(nèi)部電路的限制作用,這個(gè)負(fù)電壓將不會(huì)對(duì)器件產(chǎn)生損害。 在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為全 “l(fā)” 態(tài)。如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則程序 計(jì)數(shù)器 PC 將得不到一個(gè)合適的初值,因此,CPU 可能會(huì)從一個(gè)未被定義的位置 開(kāi)始執(zhí)行 圖 22 AT89C51復(fù)位電路 程序。 按鍵接口 電路設(shè)計(jì) 單片機(jī)使用的鍵盤分為獨(dú)立式和矩陣式兩種。 方案一 : 矩陣式鍵盤適用于按鍵數(shù)量較多的場(chǎng)合,它有行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。行、列線分別連接到按鍵開(kāi)關(guān)的兩端,而有鍵按下時(shí),行線電平狀態(tài)將由與此行線相連的列線電平?jīng)Q定,列線電平如果為低,則行線電平為低 ;反之,則為高。這一點(diǎn)是識(shí)別矩陣鍵盤按鍵是否被按下的關(guān)鍵。矩陣式鍵盤各按鍵彼此將相互發(fā)生影響,所以必須將行、列線信號(hào)配合起來(lái)并作適當(dāng)?shù)奶幚?,才能確定閉合鍵的位置。 方案二: 矩陣式鍵盤也稱行列式鍵盤,因?yàn)殒I的數(shù)目較多,所以鍵按行列組成矩陣。 獨(dú)立式鍵盤就是各按鍵相互獨(dú)立,每個(gè)按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會(huì)影響其他輸入線上的工作狀態(tài)。 因次,通過(guò)檢測(cè)輸入線的電平狀態(tài)可以很容易的判斷哪個(gè)按鍵被按下了 獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單。 但每個(gè)按鍵需占用一根輸入口線,此種按鍵電路適 用于按鍵較少或操作速度教 11 高的場(chǎng)合 獨(dú)立式實(shí)際上就是一組相互獨(dú)立的按鍵,這些按鍵可直接與單片機(jī)的I/O 口連接,連接方法就是每個(gè)按鍵獨(dú)立一條口線,各按鍵之間狀態(tài)不會(huì)影響且接口簡(jiǎn)單。 考慮到這個(gè)控制器中,設(shè)定的按鍵不多,為了使系統(tǒng)簡(jiǎn)單明了,在這里選擇獨(dú)立式按鍵。如圖 23所示, 圖 23 獨(dú)立的按鍵 電路連接圖 交通燈狀態(tài)顯示 電路的設(shè)計(jì) 十字路口的交通燈分布示意圖如圖 24 所示,將這 12 個(gè)交通燈進(jìn)行編號(hào)。 圖 24 十字路口交通燈分布示意圖 這 12個(gè)交通燈共有四個(gè)狀態(tài): 狀 態(tài) 1( S1):東西紅燈( 10)亮,南北綠燈( 9)亮 狀態(tài) 2( S2):南北黃燈( 8)亮,東西仍為紅燈( 10)亮 狀態(tài) 3( S3):南北紅燈( 7)亮,東西綠燈( 12)亮 狀態(tài) 4( S4):東西黃燈( 11)亮,南北仍為紅燈( 7)亮 對(duì)應(yīng)的硬件原理設(shè)計(jì)圖如圖 25所示: 12 D1L E D R E DD2L E D Y E L L O WD3L E D G RE E ND4L E D R E DD5L E D Y E L L O WD6L E D G RE E ND7L E D R E DD8L E D Y E L L O WD9L E D G RE E ND 1 0L E D R E DD 1 1L E D Y E L L O WD 1 2L E D G RE E NP 2 1P 2 2P 2 3P 2 4P 2 5P 2 6P 2 7P13p12P 1 5P 1 6P 1 7p 1 7P 1 6p 1 5P12 P13P14p14 圖 25 交通燈狀態(tài)顯示電路 LED 基本結(jié)構(gòu) LED 是發(fā)光二極管顯示器的縮寫(xiě)。 LED 由 于結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜、與單片機(jī)接口方便等優(yōu)點(diǎn)而得到廣泛應(yīng)用。 LED 顯示器是由若干個(gè)發(fā)光二極管組成顯示字段的顯示器件。在單片機(jī)中使用最多的是七段數(shù)碼顯示器。 LED 七段數(shù)碼顯示器由 8個(gè)發(fā)光二極管組成顯示字段,其中 7個(gè)長(zhǎng)條形的發(fā)光二極管排列成“日”字形,另一個(gè)圓點(diǎn)形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,其通過(guò)不同的組合可用來(lái)顯示各種數(shù)字。 LED 引腳排列如 上 圖 25所示。 圖 25 LED 管腳排列 13 LED 譯碼方式 譯碼方式是指由顯示字符轉(zhuǎn)換得到對(duì)應(yīng)的字段 表 21 共陰極字段碼表 碼的方式,對(duì)于 LED 數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。 硬件譯碼是指利用專門的硬件電路來(lái)實(shí)現(xiàn)顯示字符碼的轉(zhuǎn)換。 軟件譯 碼就是編寫(xiě)軟件譯碼程序,通過(guò)譯碼程序來(lái)得到要顯示的字符的字段碼,譯碼程序通常為查表程序。 本設(shè)計(jì)系統(tǒng)中為了 簡(jiǎn)化硬件線路設(shè)計(jì), LED譯碼采用軟件編程來(lái)實(shí)現(xiàn)。由于本設(shè)計(jì)采用的是共陰極 LED,其對(duì)應(yīng)的字符和字段碼如表 21 所示。 LED 顯示器與單片機(jī)接口設(shè)計(jì) 由于單片機(jī)的并行口不能直接驅(qū)動(dòng) LED 顯示器,所以,在一般情況下,必須采用專用的驅(qū)動(dòng)電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作 [7]。如果驅(qū)動(dòng)電路能力差,即負(fù)載能力不夠時(shí),顯示器亮度就低,而且驅(qū)動(dòng)電路長(zhǎng)期在超負(fù)荷下運(yùn)行容易損壞,因此, LED 顯示器的驅(qū)動(dòng)電路設(shè)計(jì)是一個(gè)非常重要的問(wèn)題。 為了簡(jiǎn)化數(shù)字式直流電壓表的電路設(shè)計(jì),在 LED 驅(qū)動(dòng)電路的設(shè)計(jì)上,可以利用單片機(jī) P0 口上外接的上拉電阻來(lái)實(shí)現(xiàn),即將 LED 的 AG 段顯示引腳和 DP小數(shù)點(diǎn)顯示引腳并聯(lián)到 P0 口與上拉電阻之間,這樣,就可以加大 P0 口作為輸出口德驅(qū)動(dòng)能力,使得 LED 能按照正常的亮度顯示出數(shù)字,如圖 27所示。 圖 27 LED 數(shù)碼管與單片機(jī)接口電路
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1