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

正文內(nèi)容

交通信號(hào)燈-已過-資料下載頁(yè)

2024-12-07 10:22本頁(yè)面

【導(dǎo)讀】控制交通燈及時(shí)間顯示的方法。同時(shí)給出了軟硬件設(shè)計(jì)方法,設(shè)計(jì)過程包括硬件電路設(shè)。計(jì)和程序設(shè)計(jì)兩大步驟,對(duì)在單片機(jī)應(yīng)用中可能遇到的重要技術(shù)問題都有涉足。紅、綠色燈的不同組合來表示。本文介紹了控制基本原理以及控制的表現(xiàn),同時(shí)也介紹。了城市交通信息系統(tǒng)的設(shè)計(jì)目標(biāo),開發(fā)途徑及其系統(tǒng)結(jié)構(gòu)與功能和數(shù)據(jù)地理編碼、建庫(kù),同時(shí),論述了系統(tǒng)中交通現(xiàn)狀、交通管理、交通規(guī)劃及背景信息查詢模塊的建造及應(yīng)用。高了產(chǎn)品可靠性并降低了制造成本。關(guān)鍵詞:8051單片機(jī);交通燈;自動(dòng)控制;時(shí)間顯示器;軟件;硬件;定時(shí)器;延時(shí);KeyWords:SCM8051;trafficlights;automaticcontrol;timeindicator;hardwore;softwore

  

【正文】 單片機(jī)數(shù)據(jù)輸出內(nèi)容的期間,在單片機(jī)系統(tǒng)中有著重要的作用。顯示電路如圖 8所示。 1. LED 顯示器結(jié)構(gòu)與原 理 LED 顯示塊是由發(fā)光二極管顯示字段的顯示器件,在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是七段 LED。 這種顯示塊有共陰極與共陽(yáng)極兩種,如圖 9所示。共陰極 LED 顯示塊的發(fā)光級(jí)管陰極共地。如圖中 (c)所示,當(dāng)某個(gè)發(fā)光二極管的陽(yáng)極為高電平時(shí),發(fā)光二極管點(diǎn)亮;共陽(yáng)極 LED 顯示塊的發(fā)光二極管陽(yáng)極并接。如圖中 (b)所示。圖中 (a)為七段碼顯示器的實(shí)際外觀與引腳連接圖,另外兩只沒有標(biāo)出的引腳是共陰或者共陽(yáng)引腳,實(shí)際連接中接地 (共陰 )或者接 +5 伏 (共陽(yáng) )。 圖 9 LED 的管腳和電路原理 通常的七段顯示器(也有人稱為七節(jié)顯示屏) 是由八個(gè)發(fā)光二極管所組成的,因此也被叫做八段顯示器。其中包括七個(gè)細(xì)長(zhǎng)條形的 LED 及小數(shù)點(diǎn)行的 LED,顯示器的每一段或沒一劃都有其名稱,分別是英文小寫的 a 到 f,以及小數(shù)點(diǎn) dp( DECIMAL POINT)。七段顯示器可以顯示包括小數(shù)點(diǎn)的 0 到 9 數(shù)字與部分的英文字母。 在近年來,由于生產(chǎn)器件的工藝的進(jìn)步,也出現(xiàn)了十六段碼 LED 顯示器和點(diǎn)陣式單色和雙色顯示器,這些 LED顯木器被廣泛應(yīng)用于電梯、大屏幕 LED 顯示器、公共汽車報(bào)站器、車站車次顯示等領(lǐng)域,特別是點(diǎn)陣式雙色顯示器的出現(xiàn),極大的方便了漢字的顯示和圖形顯示,為其在 網(wǎng)民經(jīng)濟(jì)的領(lǐng)域的應(yīng)用拓寬了道路。 以共陽(yáng)極的七段顯示器為例,若想要顯示數(shù)字 1時(shí),就要使 b劃與 c 劃點(diǎn)亮,在電路上我們會(huì)把共同點(diǎn)接到正電源端( +5V),標(biāo)示 b 與 c 的地方經(jīng)過限流電阻到地,就可哈爾濱工業(yè)大學(xué)華德應(yīng)用技術(shù) 學(xué)院畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 20 頁(yè) 共 41 頁(yè) 20 以顯示數(shù)字 1。如果是單個(gè)的數(shù)碼管,七段顯示器是直接點(diǎn)亮的,亦即用 8位去推動(dòng)一個(gè)七段顯示器。如果有多位數(shù)字要顯示時(shí),可以用掃描的方式顯示,以節(jié)省控制腳位。 七段顯示塊與單片機(jī)接口非常容易。只要將一個(gè) 8 位并行輸出門與顯示塊的發(fā)光二極管引腳相連即可。 8位并行輸出門輸出不同的字節(jié)數(shù)據(jù)即可獲得不同的數(shù)字或字符,其段碼如表 23所示。 通常將控制發(fā)光二極管的 8 位字節(jié)數(shù)據(jù)稱為段選碼。共陽(yáng)極與共陰極的段選碼義為補(bǔ)數(shù)。 表 23 七段 LED碼的顯示碼 2. LED 是如何顯示單片機(jī)數(shù)據(jù)的 用單片機(jī)驅(qū)動(dòng) LED 數(shù)碼管有很多種方法,按顯示方式分,有靜態(tài)顯示和動(dòng)態(tài)顯示。首先介紹靜態(tài)顯示方法。 靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出后就不再控制 LED,直到下一次顯示時(shí)再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的數(shù)據(jù)穩(wěn)定,占用的 CUP 時(shí)間少。靜態(tài)顯示中,沒一個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的 I/O接口,該接口用于筆劃段 字形 代碼。這 樣單片機(jī) 只要把顯示的字形代碼發(fā)送到接口電路,該字段就可以顯示發(fā)送的字形。要顯示新的數(shù)據(jù)時(shí),單片機(jī)再發(fā)送新的字形碼。 另一種方法是動(dòng)態(tài)掃描顯示。動(dòng)態(tài)掃描的方法是用其接口電路把所有顯示器的 8個(gè)筆劃段 ah同名端連在一起,而沒一個(gè)顯示器的公共極 COM 各自獨(dú)立地受 I/O 線控制。CPU 向字段輸出口送出字形碼時(shí),所有顯示器接口接收到相同的字形碼,但究竟是哪個(gè)顯示器亮,則取決于 COM 端,而這一端是有 I/O 控制的,由單片機(jī)決定何時(shí)顯示哪一位了。 動(dòng)態(tài)掃描用分時(shí)的方法輪流控制各個(gè)顯示器的 COM 端,使各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過程中,沒位顯示器的點(diǎn)亮?xí)r間極為短暫,但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。 3.靜態(tài)顯示和動(dòng)態(tài)顯示的比較 哈爾濱工業(yè)大學(xué)華德應(yīng)用技術(shù) 學(xué)院畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 21 頁(yè) 共 41 頁(yè) 21 這兩種顯示方式各有 利弊:靜態(tài)顯示雖然數(shù)據(jù)顯示穩(wěn)定,占用很少的 CPU 時(shí)間,但每個(gè) 顯示單元都需要單獨(dú)的顯示驅(qū)動(dòng)電路,使用的電路硬件較多;動(dòng)態(tài)顯示需要 CPU 時(shí)刻對(duì)顯示器進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的 CPU 時(shí)間多,但使用的硬件少,能節(jié)省線路板空間。 在一般較為簡(jiǎn)單的系統(tǒng)中,為 了降低成本,動(dòng)態(tài)顯示方案具備一定的實(shí)用性,也是目前單片機(jī)數(shù)碼管顯示中較為常用的一種顯示方法。動(dòng)態(tài)顯示法是目前各種單片計(jì)算機(jī)采用的流行方法。其優(yōu)點(diǎn)是煙堿簡(jiǎn)單?!皠?dòng)態(tài)”由軟件實(shí)現(xiàn)。 三、交通信號(hào)燈軟件的系統(tǒng)編程 單片機(jī)的 C 語(yǔ)言程序設(shè)計(jì) c 語(yǔ)言程序設(shè)計(jì)是單片機(jī)開發(fā)、應(yīng)用的重要趨勢(shì)之一。目前,支持硬斷點(diǎn)的單片機(jī)仿真器已能很好地進(jìn)行 c語(yǔ)言程序調(diào)試,為單片機(jī)編程使用 c語(yǔ)言提供了便利條件。 編譯型程序設(shè)計(jì)語(yǔ)言 c的優(yōu)點(diǎn)已為大家熟知:既有多種高級(jí)語(yǔ)言的特點(diǎn),又具備匯編語(yǔ)言的功能:有豐富的庫(kù)函數(shù)、運(yùn)算速度 快、編譯效率高、可移植性好,而且可以實(shí)現(xiàn)對(duì)系統(tǒng)硬件的直接控制;具有完善的模塊程序結(jié)構(gòu),支持廣泛采用的由頂向下結(jié)構(gòu)化程序設(shè)汁,為軟件開發(fā)中采用模塊化設(shè)計(jì)方法提供了有效支持;可以大大縮短目標(biāo)系統(tǒng)軟件的開發(fā)周期,軟件的可讀件明顯增加,便于改進(jìn)、擴(kuò)充,研制規(guī)模更大、性能更完備的系統(tǒng)。 C 語(yǔ)言與 MCS— 51 MCS— 51酌編程語(yǔ)言 支持 MCS— 51 單片機(jī)編程的語(yǔ)言.除了前面學(xué)過的匯編語(yǔ)言外,還有三種: BASIC、PL/M 和 C。 BASIC 語(yǔ)言簡(jiǎn)單易學(xué),適用于對(duì)編程效率或運(yùn)行速度要 求不高的場(chǎng)合, 8052 單片機(jī)片內(nèi)就固化了 BASIC 語(yǔ)言解釋器。但是 BASIC 采用浮點(diǎn)運(yùn)算,導(dǎo)致程序復(fù)雜且執(zhí)行時(shí)間長(zhǎng),即使 BASIC 編譯器也未能解決這個(gè)問題。 PL/M 可以說是“高級(jí)匯編語(yǔ)言”,詳細(xì)控制著代碼的生成。但對(duì) MCS51系列, PL/M 不支持復(fù)雜的算術(shù)運(yùn)算和浮點(diǎn)變量,也沒有豐富的庫(kù)函數(shù)。 用 C語(yǔ)言進(jìn)行單片機(jī)程序設(shè)計(jì),編譯器能自動(dòng)完成變量的存儲(chǔ)單元的分配,編程者可以專過于應(yīng)用軟件的設(shè)計(jì).大大加快開發(fā)速度,可以對(duì)單片機(jī)常用的接口芯片編制通用的驅(qū)動(dòng)函數(shù),對(duì)常用的功能模塊、算法等編制相應(yīng)的 函數(shù),還可以很容易地進(jìn)行信號(hào)處理算法和程序的移植,有利于產(chǎn)品中單片機(jī)的重新選型和軟件設(shè)計(jì)水平的提高、與國(guó)外嵌入式 系 統(tǒng)的程序設(shè)計(jì)接軌。 與匯編語(yǔ)言相比, C 語(yǔ)言程序在開發(fā)速度、軟件質(zhì)量、結(jié)構(gòu)嚴(yán)謹(jǐn)、程序可靠性等方面有明顯優(yōu)勢(shì)。而代碼效率相對(duì)較低的缺點(diǎn),對(duì)于片內(nèi) ROM 空間 16K/32K 字節(jié)以上的單片機(jī)而言,已經(jīng)不很重要。目前,單片機(jī)上 C 語(yǔ)言程序未經(jīng)人工優(yōu)化的代碼長(zhǎng)度,已縮短到用人工方便地對(duì)時(shí)間要求比較嚴(yán)格的匯編語(yǔ)言模塊和關(guān)鍵代碼進(jìn)行優(yōu)化。 哈爾濱工業(yè)大學(xué)華德應(yīng)用技術(shù) 學(xué)院畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 22 頁(yè) 共 41 頁(yè) 22 C51編譯器與程序開發(fā)過程 已經(jīng)開發(fā)了各種單片機(jī) 的 C 語(yǔ)言編譯器 對(duì)于并不以快速運(yùn)算見長(zhǎng)的 MCS— 51 單片機(jī)來說,其 C 語(yǔ)言編譯器 (簡(jiǎn)稱 C51)的各項(xiàng)性能指標(biāo)中,最重要的是開發(fā)便利,其次是生成代碼緊湊,以及編譯速度、是否有浮點(diǎn)庫(kù)和足夠的算術(shù)支持。 C51 程序開發(fā)過程如圖 10所示: 圖 10 C51 程序開發(fā)過程 C51 程序結(jié)構(gòu) 與一般 C語(yǔ)言相似, C51 程序的基本單位是函數(shù)。函數(shù)由函數(shù)說明和函數(shù)體兩部分組成。一個(gè) C源程序至少包含 — 個(gè) (main).也可以是一個(gè)主函數(shù)和若干其它函數(shù)。主函數(shù)是程序的入口;主函數(shù)中的所有語(yǔ)句執(zhí)行 完畢,則程序結(jié)束。 C51 程序的一般格式如下: 類型 函數(shù)名(參數(shù)表 ) 參數(shù)說明: { 數(shù)據(jù)說明部分: 執(zhí)行語(yǔ)句部分: } 在程序中,函數(shù)有三種形態(tài):函數(shù)定義、函數(shù)調(diào)用和函數(shù)說明。 函數(shù)定義相當(dāng)于匯編中的一般子程序。 函數(shù)調(diào)用相當(dāng)于調(diào)用子程序的 CALL 語(yǔ)句,要求有函數(shù)名和實(shí)參數(shù)表。在 C 中,更普遍地規(guī)定函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中。函數(shù)定義和函數(shù)調(diào)用不分先后,但若調(diào)用在定義之前,必須在調(diào)用前先進(jìn)行函數(shù)說明。函數(shù)說明是一個(gè)沒有函數(shù)體的函數(shù)定義。 哈爾濱工業(yè)大學(xué)華德應(yīng)用技術(shù) 學(xué)院畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 23 頁(yè) 共 41 頁(yè) 23 C51 中函數(shù)分為 兩大類:庫(kù)函數(shù)和用戶定義函數(shù)。被調(diào)用的函數(shù)可以是庫(kù)函數(shù),也可以是用戶函數(shù)。 庫(kù)函數(shù)是 C51 在庫(kù)文件中已定義的函數(shù),其函數(shù)說明在相關(guān)的頭文件中。用戶在編程時(shí)只要用 include 預(yù)處理指令將頭文件包含在用戶文件中,直接調(diào)用即可。 用戶函數(shù)是用自己定義,自己調(diào)用的一類函數(shù)。 C51 程序的編制與一勝 C語(yǔ)言行序大致相同。 利用 C51 程序編寫延時(shí)程序 為了循序漸進(jìn)地學(xué)習(xí)單片機(jī)的功能,這里我們 即 使用 了 單片機(jī)中的定時(shí)器, 也 直接采用軟件的 延時(shí) 程序定時(shí)控制發(fā)光二極管的亮滅。該延時(shí)程序的時(shí)間主要是 通過計(jì)算單片機(jī)執(zhí)行指令所需的時(shí)間來確定的。 例如,在前文中介紹過,在選擇 12MHz 晶振時(shí),執(zhí)行一個(gè)簡(jiǎn)單加法指令的時(shí)間為一個(gè)指令周期,需要 1/12M(秒) =1(微秒),所以程序中作 1M次加法循環(huán)所需要的時(shí)間就是 1秒鐘。當(dāng)然,這只是一個(gè)粗略的算法,需要加上執(zhí)行其他必須指令所花的時(shí)間,并且考慮程序代碼的效率。但是,這不失為一種簡(jiǎn)單的解決方案。 ● 程序代碼 void delay10ms(void) { unsigned char i,j。 //定義延時(shí)循環(huán)變量 for(i=20。i0。i) for(j=248。j0。j)。 //雙重循環(huán),延時(shí) 10ms } 信號(hào)燈 亮滅 的定時(shí)功能 單片機(jī)之所以在工業(yè)控制中有大量的應(yīng)用,就是在于它有其獨(dú)特的定時(shí)、計(jì)數(shù)功能。在本電路中,用定時(shí)器來實(shí)現(xiàn)燈的閃爍功能。 控制單片機(jī) I/O端口電平的高低,從而控制發(fā)光二極管的亮滅 通過對(duì) P1口和 、 、 、 口的變量置 1 和置 0,控制 P1口和 P3口的電平高和低。當(dāng)為高電平時(shí),發(fā)光二極管兩端壓差為零,二極管不導(dǎo)通,燈不亮;當(dāng)為低電平時(shí),發(fā)光二極管兩端壓差 為 5V,二極管導(dǎo)通,燈亮。 單片機(jī)的定時(shí)器 MCS51 系列的單片機(jī)一般有兩個(gè)內(nèi)部的 16位定時(shí)器 /計(jì)數(shù)器,分別稱為 T0和 T1。這兩個(gè)計(jì)數(shù)器分別是兩個(gè) 8 位的 RAM 單元組成的,即每個(gè)計(jì)數(shù)器都是 16 位的計(jì)數(shù)器,最大的計(jì)數(shù)量是 65536。 那么這個(gè)定時(shí) /計(jì)數(shù)器是如何產(chǎn)生定時(shí)作用的呢?舉個(gè)例子,如果將時(shí)鐘定時(shí)到 1分鐘,那么秒針計(jì)數(shù)到 60 次后,始終鬧鈴就會(huì)響。這里有個(gè)計(jì)數(shù)和定時(shí)之間的概念轉(zhuǎn)化,時(shí)間表示為秒針的計(jì)數(shù)值,即秒針每一次走動(dòng)的時(shí)間正好是 1s。 哈爾濱工業(yè)大學(xué)華德應(yīng)用技術(shù) 學(xué)院畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 24 頁(yè) 共 41 頁(yè) 24 單片機(jī)中的定時(shí)器和計(jì)數(shù)器是復(fù)用的,計(jì)數(shù)器是記錄外部脈沖的 個(gè)數(shù),而定時(shí)器則是由單片機(jī)提供的一個(gè)非常穩(wěn)定的計(jì)數(shù)源。定時(shí)器是由單片機(jī)的晶振經(jīng)過 12 分頻后獲得的一個(gè)脈沖源。當(dāng)單片機(jī)的晶振為 12MHz 時(shí),計(jì)數(shù)值 1代表的時(shí)間就是 1us。 計(jì)數(shù)器的容量是 16位,也就是最大的計(jì)數(shù)值達(dá)到 65536,因此計(jì)數(shù)計(jì)到 65536 就會(huì)產(chǎn)生溢出。當(dāng)定時(shí)器 /計(jì)數(shù)器溢出時(shí),就會(huì)使得相關(guān)的寄存器標(biāo)志產(chǎn)生變化,單片機(jī)將由此而產(chǎn)生定時(shí)中斷,在中斷服務(wù)程序中處理定時(shí)到而需要完成的任務(wù)。 如何使用 MCS51單片機(jī)的定時(shí)器呢? 使用單片機(jī)的定時(shí)器 /計(jì)數(shù)器主要和編程有關(guān)。編程中需要對(duì)兩個(gè) 特殊功能寄存器進(jìn)行操作。 這兩個(gè)特殊功能寄存器就是 TMOD 和 TCON,又稱為定時(shí)器的控制字。 首先,介紹定時(shí)器 /計(jì)數(shù)器 的方式寄存器 TMOD。 TMOD 是一個(gè) 8位的特殊功能寄存器,對(duì)應(yīng)的地址為 89H,不可位尋址。 TMOD 控制字中可以完成 3個(gè)功能: ①確定選擇定時(shí)器,還是計(jì)數(shù)器。 ②選擇何種工作方式。 ③是否借用外中斷控制定時(shí)器和計(jì)數(shù)器的啟停。 TMOD 的低 4 位是用于控制 T0的字段,高四位用于控制 T1。 TMOD 的控制字的格式和含義如表 31所示。 表 31 TMOD 的控制字 GATE C/T M1 M0 GATE C/T M1 M0 這里,以 TMOD 的低 4 位來說明各位的定義和功能。 GATE:分為兩種情況, GATE=0,定時(shí)器的起停和 INT1 無關(guān),在這種情況下,定時(shí)器的 起停只取決于 TR0。 GATE=1 時(shí),在此種情況下定時(shí)器 /計(jì)數(shù)器的開關(guān)不僅要由 TR0來控制,而且還要受到 INT1 引腳的控制,只有 TR1 為 1,且 INT1 引腳也是高電平,定時(shí)器才能開始工作。 C/T:定時(shí) /計(jì)數(shù)器即可作定時(shí)也可用于計(jì)數(shù)。 選擇何種功能,由 C/T的控制字決定。如果 C/T 為 0 就用作定時(shí)器,如果 C/T 為 1 就用作計(jì)數(shù)器。當(dāng)然,一個(gè)定時(shí) /計(jì)數(shù)器同一時(shí)刻要么作定時(shí)用,要么作計(jì)數(shù)用,不能同時(shí)用。 M M0:用 M M0來控制定時(shí) /計(jì)數(shù)器 4 種工作方式
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1