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

正文內(nèi)容

基于單片機at89s51的交通燈設(shè)計(編輯修改稿)

2024-12-23 21:35 本頁面
 

【文章內(nèi)容簡介】 U 的處理字長或提高時鐘頻率。采用雙 CPU 結(jié)構(gòu),這樣可以提高處理能力,改進系統(tǒng)設(shè)計提升系統(tǒng)的速度:高性能單片機增加數(shù)據(jù)總線寬度,提高了數(shù)據(jù)處理能力。 存儲器的發(fā)展:主要是存儲容量的擴展。采用存儲器不僅大大提高了程序固 10 化的速度,而且程序的檫寫次數(shù)也高達 10 萬次:內(nèi)部程序存儲器容量的擴大等。 單片機的應(yīng)用 單片機的應(yīng)用很廣,分別在以下領(lǐng)域中得到了廣泛的應(yīng)用。 工業(yè)自動化:在自動化技術(shù)中,無論是過程控制技術(shù)、數(shù)據(jù)采集技術(shù)還是測控技術(shù),都離不開單片機。在工業(yè)自動化的領(lǐng)域中,機電一體化技術(shù)將發(fā)揮愈來愈重要的作用,在這種機械、微電子和計算機技術(shù)為一體的綜合技術(shù)(例如機器人技術(shù)、數(shù)控技術(shù))中,單片機將發(fā)揮非常重要的作用特別是近些年來,隨著計算機技術(shù)的發(fā)展,工業(yè)自動化也發(fā)展到了一個新的高度,出現(xiàn)了無人工廠、機器人作業(yè)、網(wǎng)絡(luò)化工廠等,不僅將人從繁重、重復(fù)和 危險的工業(yè)現(xiàn)場解放出來,還大大提高了生產(chǎn)效率,降低了生產(chǎn)成本。 儀器儀表:目前對儀器儀表的自動化和智能化要求越來越高。在自動化測量儀器中,單片機應(yīng)用十分普及。單片機的使用有助于提高儀器儀表的精度和準(zhǔn)確度,簡化結(jié)構(gòu),減小體積,易于攜帶和使用,加速儀器儀表向數(shù)字化、智能化和多功能化方向發(fā)展。 消費類電子產(chǎn)品:該應(yīng)用主要反映在家電領(lǐng)域。目前家電產(chǎn)品的一個重要發(fā)展趨勢是不斷提高其智能化程度。例如,電子游戲、照相機、洗衣機、電冰箱、空調(diào)、電視機、微波爐、手機、 IC 卡、汽車電子設(shè)備等。在這些設(shè)備中使用了單片機后,其功能 和性能大大提高,并實現(xiàn)了智能化、最優(yōu)化控制 信方面:較高檔的單片機都具有通信接口,因而為單片機在通信設(shè)備中的應(yīng)用創(chuàng)造了很好的條件。例如,在微波通信、短波通信、載波通信、光纖通信、程控交換等通信設(shè)備和儀器中都能找到單片機的應(yīng)用。 武器裝備:在現(xiàn)代化的武器裝備中, 如飛機、軍艦、坦克、導(dǎo)單、魚雷制導(dǎo)、智能武器設(shè)備、航天飛機導(dǎo)航系統(tǒng),都有單片機在其中發(fā)揮重要作用。 終端及外部設(shè)備控制:計算機網(wǎng)絡(luò)終端設(shè)備,如銀行終端,以及計算機外部設(shè)備如打印機、硬盤驅(qū)動器、繪圖機、傳真機、復(fù)印機等,在這些設(shè)備中都使用了單片機。 近 年來隨著科技的飛速發(fā)展,同時帶動 自動控制系統(tǒng)日新月異更新, 單片機的應(yīng)用正在不斷地走向深 入。 11 并 行/ 接 口存儲器 并 行/ 接 口中斷系統(tǒng)定時器/ 計數(shù)器 89S51 單片機的簡介 89S51 是 MCS51 系列單片機的典型產(chǎn)品,我們 就這 一代表性的機型進行系統(tǒng)的講解。 89S51 單片機包含中央處理器、程序存儲器 (ROM)、數(shù)據(jù)存儲器 (RAM)、定時 /計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加 以 說明: 圖 單片機內(nèi)部結(jié)構(gòu)示意圖 中央處理器 中央處理器 (CPU)是 整個單片機的核心部件,是 8位數(shù)據(jù)寬度的處理器,能處理 8 位二進制數(shù)據(jù)或代碼, CPU負責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。 數(shù)據(jù)存儲器 (RAM) 89S51內(nèi)部有 128個 8位用戶數(shù)據(jù)存儲單元和 128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的 RAM只有 128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。 程序存儲器 (ROM) 89S51 共有 4KB掩膜 ROM, 最大可 擴展 64K 字節(jié), 用于存放用戶程序,原始數(shù)據(jù)或表格。 定時 /計數(shù)器: 12 89S51 有兩個 16位的可編程定時 /計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。 并行輸入輸出 (I/O)口: 89S51 共有 4組 8位 I/O 口 (P0、 P P2或 P3),用于對外部數(shù)據(jù)的傳輸。 中斷系統(tǒng) 89S51 具備較完善的中斷功能,有兩個外中斷、兩個定時 /計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有 2級的優(yōu)先級別選擇。 89S51 單片機的引腳 89S51 單片機內(nèi)部總線是單總線結(jié)構(gòu) ,即數(shù)據(jù)總線和地址總線 是公用的 . 89S51 有 40 條引腳 , 與其他 51 系列單片機引腳是兼容的 . 這 40 條引腳可分為I/O 接口線、電源線、控制線、外接晶體線 4 部分 . 89S51 單片機為雙列直插式封裝結(jié)構(gòu) , 如圖 所示 . 圖 89S51引腳分配圖 89S51 單機的電源線有以下兩種: ( 1) VCC: +5V 電源線。電源線 13 ( 2) GND:接地線。 89S51 單片機的外接晶體引腳有以下兩種 : ( 1) XTAL1:片內(nèi)振蕩器反相放大器的輸入端和內(nèi)部時鐘工作的輸入端。采用內(nèi)部振蕩器時,它接外部石英晶體和微調(diào)電容的一個引 腳。 ( 2) XTAL2:片內(nèi)振蕩器反相放大器的輸出端,接外部石英晶體和微調(diào)電容的另一端。采用外部振蕩器時,該引腳懸空。外接晶體引腳。 控制線 89S51 單片機的控制線有以下幾種: ( 1) RST:復(fù)位輸入端,高電平有效。 ( 2) ALE/PROG:地址鎖存允許 /編程線。 ( 3) PSEN 外部程序存儲器的讀選通線。 堆棧介紹 日常生活中,我們都注意到過這樣的現(xiàn)象,家里洗過的碗,一只一只摞起來,最晚放上去的放在最上面,而最早放上去的則放在最下面,在取的時候正好相反 ,先從最上面取,這種現(xiàn)象我們用一句話來概括:“先進后出,后進先出”。就像建筑工地上堆放的磚頭、材料,倉庫里放的貨物,都是“先進后出,后進先出”,這實際是一種存取物品的規(guī)則,我們稱之為“堆?!薄T趩纹瑱C中,我們也可以在 RAM 中構(gòu)造這樣一個區(qū)域,用來存放數(shù)據(jù),這個區(qū)域存放數(shù)據(jù)的規(guī)則就是“先進后出,后進先出”,我們稱之為“堆?!?。 圖 堆棧指針 14 如果我們需要存放的是一批 數(shù)據(jù),每一個數(shù)據(jù)都需要知道地址那不是麻煩嗎?如果我們讓數(shù)據(jù)一個接一個地放置,那么我們只要知道第一個數(shù)據(jù)所在地址單元就可以了,如果第一個數(shù)據(jù)在 27H,那么第二、三個就在 28H、 29H 了。所以利用堆棧這種方法來放數(shù)據(jù)可以簡化操作 那么 8051 中堆棧什么地方呢?單片機中能存放數(shù)據(jù)的區(qū)域有限,我們不能夠?qū)iT分配一塊地方做堆棧,所以就在內(nèi)存( RAM)中開辟一塊地方用于堆棧,但是用內(nèi)存的哪一塊呢?還是不好定,因為 8051 是一種通用的單片機,各人的實際需求各不相同,有人需要多一些堆棧,而有人則不需要那么多,所以怎么分配 都不合適,怎樣來解決這個問題 ?分不好干脆就不分了,把分的權(quán)利給用戶(編程者),根據(jù)自已的需要去定吧,所以 51單片機中堆棧的位置是可以變化的。而這種變化就體現(xiàn)在 SP中值的變化,看圖 , SP中的值等于 27H 不就相當(dāng)于是一個指針指向 27H 單元嗎?當(dāng)然在真正的 51 機中,開始指針?biāo)傅奈恢貌⒎蔷褪菙?shù)據(jù)存放的位置,而是數(shù)據(jù)存放的前一個位置,比如一開始指針是指向 27H單元的,那么第一個數(shù)據(jù)的位置是 28H 單元,而不是 27H 單元。 15 第 3 章 硬件電路設(shè)計 燈控制電路設(shè)計 首先來了解下交 通燈的熄亮規(guī)律。設(shè)有一個十字路口, 3為南北方向; 4為東西方向;每個方向都設(shè)有紅綠黃三中信號燈共 12 個。 4個路口的 12 個信號燈的控制亮滅規(guī)律是:設(shè)初態(tài)為 4 個路口的紅燈全亮,之后 3 路口的紅燈滅,綠燈亮, 4 路口的紅燈亮, 3 路口方向通車。延遲一段時間后, 3路口的綠燈熄滅,點亮 4 個綠口的紅燈,之后再點亮 4 路口的綠燈,紅燈熄滅, 4 路口方向開始通車。延時一段時間后, 4 路口綠燈熄滅,黃燈開始閃爍若干次(可自己設(shè)定時間)后熄滅,而紅燈點亮,然后再切換到 3 綠口方向。然后一直循環(huán)上述過程。 由于 12個 LED 來實現(xiàn)紅綠燈狀態(tài),若直接接在單片機的口線,路口倒計時的顯示就不能實現(xiàn),所以本次設(shè)計中采用一種 比較簡單 電路如圖 所示。 圖 燈控制電路 觀察圖可以看出:兩組發(fā)光管 (分紅,黃,綠三種)一端連接在單片機上,另一端接地。 圖中電阻串聯(lián)的二極管的作用是為了分壓,防止因上下兩組發(fā)光管分壓不同導(dǎo)致邏輯的錯誤 ,以及防止由于在導(dǎo)電的瞬間電壓過高損壞二極管。 共四組和上述相同的電路分別代表東西南北四個方向的紅綠燈, 使用單片機軟件系統(tǒng)對二極管控制,高電平驅(qū)動。 16 LED顯示系統(tǒng) 1. LED顯示器的顯示方法及其與單片機的接口 在單片機系統(tǒng)中,通常用 LED 數(shù)碼顯示器來顯示各種數(shù)字或符號。由于它具有顯示清晰、亮度高、使用電壓低、壽命長的特點,因此使用非常廣泛。 LED 顯示 器又稱數(shù)碼管 ,八段 LED 顯示器由 8 個發(fā)光二極管組成。其中 7 個發(fā)光二極管構(gòu)成字型“ 8”的各個筆畫段 ,另一個小數(shù)點為 dp 發(fā)光二極管。 LED顯示器有兩種不同的形式:一種是發(fā)光二極管的陽極都連在一起的,稱之為共陽極 LED 顯示器;另一種是發(fā)光二極管的陰極都連在一起的,稱之為共陰極 LED顯示器。 共陰和共陽結(jié)構(gòu)的 LED 顯示器各筆劃段名和 安排位置是相同的。當(dāng)二極管導(dǎo)通時,相應(yīng)的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示各種字符。 8 個筆劃段hgfedcba 對應(yīng)于一個字節(jié)( 8 位)的 D7 D6 D5 D4 D3 D2 D1 D0,于是用 8 位二進制碼就可以表示欲顯示字符的字型代碼。例如,對于共陰 LED顯示器,當(dāng)公共陰極接地(為零電平),而陽極 hgfedcba 各段為 0111011 時,顯示器顯示 P字符,即對于共陰極 LED 顯示器, “P” 字符的字形碼是 73H。如果是共陽 LED顯示器,公共陽極接高電平,顯示 “P” 字符的字形代碼應(yīng)為 10001100( 8CH)。 圖 LED數(shù)碼管顯示電路 LED 顯示方式有動態(tài)顯示和靜態(tài)顯示兩種方式。本系統(tǒng)采用動態(tài)掃描顯示接口電路,動態(tài)顯示接口電路是把所有顯示器的 8個筆劃段 ah同名端連在一起, 17 而每一個顯示器的公共極 COM 各自獨立地受 I/O 線控制。 CPU 向字段輸出口送出字型碼時,所有顯示器接收到相同的字型碼,但究竟是哪個顯示器亮,則取決于COM 端。也就是說我們可以采用分時的方法,輪流控制各個顯示器的 COM端,使各個顯示器輪流點亮。在輪流點亮掃描過程中,每位顯示器的點亮?xí)r間是極為短暫的(約 1ms),但由于人的視覺暫留現(xiàn)象及 發(fā)光二極管的余輝效應(yīng),盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。常用的 LED 顯示器有 LED 狀態(tài)顯示器(俗稱發(fā)光二極管)、 LED 七段顯示器(俗稱數(shù)碼管)和 LED十六段顯示器。發(fā)光二極管可顯示兩種狀態(tài),用于系統(tǒng)狀態(tài)顯示;數(shù)碼管用于數(shù)字顯示; LED十六段顯示器用于字符顯示。本節(jié)重點介紹 LED 七段顯示器。共陰極數(shù)碼管的 8個發(fā)光二極管的陰極(二極管負端)連接在一起。 通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動電路輸出端。當(dāng)某段驅(qū)動電路的輸出端為 高電平時,則該端所連接的字段導(dǎo)通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。編程掃描方式是利用 CPU 完成其它工作的空余時間,調(diào)用鍵盤掃描子程序來響應(yīng)鍵盤輸入的要求。在執(zhí)行鍵功能程序時, CPU不再響應(yīng)鍵輸入要求,直到 CPU重新掃描鍵盤為止。 LED 數(shù)碼管采用靜態(tài)顯示與單片機接口時,共陰級或共陽級點連接在一起接地或接高電平。每個顯器位的段選線與一個 8 位并行口線對應(yīng)相連,只要在顯示位上的段選線上保持相應(yīng)的顯示 字符。這里的 8位并行口可以直接采用并行 I/O 接口線,也可以采用串入 /并出的移位寄存器或是其他具有三態(tài)功能的鎖存器等。為了節(jié)省 I/O 口線,通常采用串行口,工作子方式 0作靜態(tài) LED 顯示器的接口。 前面已經(jīng)分析過相向的燈的狀態(tài)和倒計時都是相同的,所以為了節(jié)省,采用 四 組 兩 個數(shù)碼管作為倒計時的顯示;同時為了節(jié)省口資源,采用串口顯示的方式驅(qū)動數(shù)碼管。 2. 74LS164 簡介 74LS164 是 8 位串入并出移位寄存器。 A、 B為串行輸入端, QA與 QH為串行輸出端, CLK 為串行時鐘輸入端, CLR 為串行輸出 QB0 和 QH0代表在穩(wěn)態(tài)輸入條 18 件建立之前 QA、 QB 和 QH的輸出狀態(tài); QAn、 QBn 和 QHn 代表在最近的時鐘上升沿轉(zhuǎn)換之前 QA、 QB 和 QH的輸出狀態(tài); H/L、 Qan和 QBn 代表在最近的時鐘上升沿轉(zhuǎn)換之后 QA、 QB 和 QH的輸出狀態(tài)。清零端, VCC為 +5V 電源輸入端, GND 為接地端。 X 代表任意狀態(tài)。 本題實際上是利用串行的方式來擴展并行輸出顯示口。在 MCS51 里,直接使用串行口很容易操作。將 MCS51 單片機的串行口設(shè)置在工作方式 0,只要把數(shù)據(jù)往 SBUF 里放,系統(tǒng)就自動將串行數(shù)據(jù)由 RXD( )送出,其中移位時鐘由 TXD( )送出。 SBUF 的具體使用可預(yù)先參閱有關(guān)“ 串行通信基礎(chǔ)”的資料。 圖 74LS164 引腳圖 依據(jù)輸入輸出關(guān)系圖,將 74LS164 的 A、 B 端與 RXD 相接, CLK 與 TXD相接, CLR 接高電平 +5V,在滿足條件時數(shù)據(jù)就傳送到 74LS164 并寄存,管腳將自動置成相應(yīng)的電平。將前一個 74LS164 的 QH 端連接到下一個 74LS164 的 QA端,再將 CLK 端連接到一起并接到 TXD,則送數(shù)據(jù)時,前后數(shù)據(jù)就會依次從上一個片子 傳到下一個片子。這里硬件設(shè)計上只需要擴展四個并行輸出顯示口,因此 TXD 的驅(qū)動能力不容置疑,按上述直接相連就可以,不需要在 TXD 與 CLK之間作驅(qū)動處理。 74LS164 的輸出端 QA、 QB~QH 無內(nèi)置的限流電阻,一般不能與 LED 數(shù)碼管直接相連,需加外接限流電阻,這里采用 300Ω限流電阻。 左邊 LED 數(shù)碼管用于顯示鍵入的數(shù),右邊兩個 LED 數(shù)碼管用于顯示數(shù)平方后的結(jié)果。在程序上,根據(jù)所設(shè)計的硬件, 74LS164 之間是串接在一起來串行傳送數(shù)據(jù)的,不能直接對其中某一個 74LS164 進行數(shù)據(jù)操作,因此顯示時要對各個 74LS164 的數(shù)據(jù)都送一遍才能正確顯示數(shù)據(jù)。本題平方值的求取還是采用查表的方法,主程序與 14495 顯示接口實訓(xùn)的基本一樣,目的在于突出端口擴展的
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1