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

正文內(nèi)容

本科畢業(yè)設計-交通燈定時控制系統(tǒng)-閱讀頁

2024-12-23 21:00本頁面
  

【正文】 LED 顯示塊的發(fā)光二極管陽極并接。圖中 (a)為七段碼顯示器的實際外觀與引腳連接圖,另外兩只沒有標出的引腳是共陰或者共陽引腳,實際連接中接地 (共陰 )或者接 +5 伏 (共陽 )。其中包括七個細長條形的 LED 及小數(shù)點行的 LED,顯示器的每一段或沒一劃都有其名稱,分別是英文小寫的 a 到 f,以及小數(shù)點 dp( DECIMAL POINT)。 在近年來,由于生產(chǎn)器件的工藝的進步,也出現(xiàn)了十六段碼 LED 顯示器和點陣式單色和雙色顯示器,這些 LED顯木器被廣泛應用于電梯、大屏幕 LED 顯示器、公共汽車報站器、車站車次顯示等領域,特別是點陣式雙色顯示器的出現(xiàn),極大的方便了漢字的顯示和圖形顯示, 為其在網(wǎng)民經(jīng)濟的領域的應用拓寬了道路。如果是單個的數(shù)碼管,七段顯示器是直接點亮的,亦即用 8位去推動一個七段顯示器。 七段顯示塊與單片機接口非常容易。 8位并行輸出門輸出不同的字節(jié)數(shù)據(jù)即可獲得不同的數(shù)字或字符,其段碼如表 23所示。共陽極與共陰極的段選碼義為補數(shù)。首先介紹靜態(tài)顯示方法。靜態(tài)顯示的數(shù)據(jù)穩(wěn)定,占用的 CUP 時間少。這樣單片機 只要把顯示的字形代碼發(fā)送到接口電路,該字段就可以顯示發(fā)送的字形。 另一種方法是動態(tài)掃描顯示。CPU 向字段輸出口送出字形碼時,所有顯示器接口接收到相同的字形碼,但究竟是哪個顯示器亮,則取決于 COM 端,而這一端是有 I/O 控制的,由單片機決定何時顯示哪一位了。 在輪流點亮掃描過程中,沒位顯示器的點亮時間極為短暫,但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。 在一般較為簡單的系統(tǒng)中,為了降低成本,動態(tài)顯示方案具備一定的實用性,也是目前單片機數(shù)碼管顯示中較為 常用的一種顯示方法。其優(yōu)點是煙堿簡單。 三、交通信號燈軟件的系統(tǒng)編程 單片機的 C 語言程序設計 c 語言程序設計是單片機開發(fā)、應用的重要趨勢之一。 編譯型程序設計語言 c的優(yōu)點已為大家熟知:既有多種高級語言的特點,又具備匯編語言的功能:有豐富的庫函數(shù)、運算速度快、編譯效率高、可移植性好,而且可以實現(xiàn)對系統(tǒng)硬件的直接控制;具有完善的 模塊程序結構,支持廣泛采用的由頂向下結構化程序設汁,為軟件開發(fā)中采用模塊化設計方法提供了有效支持;可以大大縮短目標系統(tǒng)軟件的開發(fā)周期,軟件的可讀件明顯增加,便于改進、擴充,研制規(guī)模更大、性能更完備的系統(tǒng)。 BASIC 語言簡單易學,適用于對編程效率或運行速度要求不高的場合, 8052 單片機片內(nèi)就固化了 BASIC 語言解釋器。 PL/M 可以說是“高級匯編語言”,詳細控制著代碼的生成。 用 C語言進行單片機程序設計,編譯器能自動完成變量的存儲單元的分配,編程者可以專過于應用軟件的設計.大大加快開發(fā)速度,可以對單片機常用的接口芯片編制通用的驅動函數(shù),對常用的功能模塊、算法等編制相應的函數(shù),還可以很容易地進行信號處理算法和程序的移植,有利于產(chǎn)品中單片機的重 新選型和軟件設計水平的提高、與國外嵌入式 系 統(tǒng)的程序設計接軌。而代碼效率相對較低的缺點,對于片內(nèi) ROM 空間 16K/32K 字節(jié)以上的單片機而言,已經(jīng)不很重要。 桂林電子工業(yè)學院畢業(yè)設計(論文)報告用紙 第 20 頁 共 46 頁 20 C51編譯器與程序開發(fā)過程 已經(jīng)開發(fā)了各種單片機的 C 語言編譯器 對于并不以快速運算見長的 MCS— 51 單片 機來說,其 C 語言編譯器 (簡稱 C51)的各項性能指標中,最重要的是開發(fā)便利,其次是生成代碼緊湊,以及編譯速度、是否有浮點庫和足夠的算術支持。函數(shù)由函數(shù)說明和函數(shù)體兩部分組成。主函數(shù)是程序的入口;主函數(shù)中的所有語句執(zhí)行完畢,則程序結束。 函數(shù)定義相當于匯編中的一般子程序。在 C 中,更普遍地規(guī)定函數(shù)調(diào)用可以出現(xiàn)在表達式中。函數(shù)說明是一個沒有函數(shù)體的函數(shù)定義。被調(diào)用的函數(shù)可以是庫函數(shù),也可以是用戶函數(shù) 。用戶在編程時只要用 include 預處理指令將頭文件包含在用戶文件中,直接調(diào)用即可。 C51 程序的編制與一勝 C語言行序大致相同。該延時程序的時間主要是通過計算單片機執(zhí)行指令所需的時間來確定的。當然,這只是一個粗略的算法,需要加上執(zhí)行其他必須指令所花的時間,并且考慮程序代碼的效率。 ● 程序代碼 void delay10ms(void) { unsigned char i,j。i0。j0。 //雙重循環(huán),延時 10ms } 信號燈 亮滅 的定時功能 單片機之所以在工業(yè)控制中有大量的應用,就是在于它有其獨特的定時、計數(shù)功能。 控制單片機 I/O端口電平的高低,從而控制發(fā)光二極管的亮滅 通過對 P1口和 、 、 、 口的變量置 1 和置 0,控制 P1口和 P3口的電平高和低。 單片機的定時器 MCS51 系列 的單片機一般有兩個內(nèi)部的 16位定時器 /計數(shù)器,分別稱為 T0和 T1。 那么這個定時 /計數(shù)器是如何產(chǎn)生定時作用的呢?舉個例子,如果將時鐘定時到 1分鐘,那么秒針計數(shù)到 60 次后,始終鬧鈴就會響。 桂林電子工業(yè)學院畢業(yè)設計(論文)報告用紙 第 22 頁 共 46 頁 22 單片機中的定時器和計數(shù)器是復用的,計數(shù)器是記錄外部脈沖的個數(shù),而定時器則是由單片機提供的一個非常穩(wěn)定的計數(shù)源。當單片機的晶振為 12MHz 時,計數(shù)值 1代表的時間就是 1us。當定時器 /計數(shù)器溢出時,就會使得相關的寄存器標志產(chǎn)生變化,單片機將由此而產(chǎn)生定時中斷,在中斷服務程序中處理定時到而需要完成的任務。編程中需要對兩個特殊功能寄存器進行操作。 首先,介紹定時器 /計數(shù)器 的方式寄存器 TMOD。 TMOD 控制字中可以完成 3個功能: ①確定選擇定時器,還是計數(shù)器。 ③是否借用外中斷控制定時器和計數(shù)器的啟停。 TMOD 的控制字的格式和含義如表 31所示。 GATE:分為兩種情況, GATE=0,定時器的起停和 INT1 無關,在這種情況下,定時器的 起停只取決于 TR0。 C/T:定時 /計數(shù)器即可作定時也可用于計數(shù)。如果 C/T 為 0 就用作定時器,如果 C/T 為 1 就用作計數(shù)器。 M M0:用 M M0來控制定時 /計數(shù)器 4 種工作方式的選擇。 13 位定時 /計數(shù)方式,它由 TL( 1/0)的低 5 位和 TH( 0/1)的 8 位構成 13 位的計數(shù)器,此時 TL( 1/0)的高 3 位未用。是 16位的定時 /計數(shù)方式,其他特性與工作方式 0相同。 初值放在 T( 0/1)的高 8位。每當計數(shù)溢出 ,就會打開 T( 0/1)的高、低 8 位之間的開關,計預置數(shù)進入低 8位,這是由硬件自動完成的,不需要由人工干預。計數(shù)溢出后重新裝入預置數(shù),再開始計數(shù),不要任何延遲。這種工作方式之下,定時 /計數(shù)器 0 被拆成 2 個獨立的定時 /計數(shù)器來用。一般情況下,只有在 T1 以上工作方式 2運行(當波特率發(fā)生器用)時,才讓 T0 工作于方式 3。 TCON 是一個 8位的特殊功能寄存器,對應的地址為 88H,可位尋址。 TCON 控制寄存器的格式和含義如表 32所示。啟動定時器 T0沒有專門的指令,而是通過位 TR0進行控制。當門控位 GATE=0 時, T0的運行只取決于 TR0 的 0和 1;當門控位 GATE=1 時,僅當 TR0=1,并且外中斷 0 引腳上的輸入值為高電平時, T0 才開始計數(shù),這兩個條件有一個不滿足,則禁止 T0 計數(shù)。當 T0 溢出時,硬件置位 TF0, 表示提出了中斷申請。在單片機響應中斷申請后,硬件自動清零。 TF1: T1 的溢出標志位和中斷申請標志位。然而,在實際應用中,還是有一定的規(guī)則需要遵守的。 工作方式 0: 13位定時 /計數(shù)方式,因此,最多可以計劃到 2 的 13 次冪,也就是 8192次。 工作方式 2和工作方式 3:都是 8位的定時 /計數(shù)方式,因此,最多計數(shù)值可以達到2的 8次冪,也就是 256 次??晒鹆蛛娮庸I(yè)學院畢業(yè)設計(論文)報告用紙 第 24 頁 共 46 頁 24 以采用軟件計數(shù)器的概念。而是將軟件計數(shù)變量中的值加 1,如果軟件計數(shù)器計到了 20,再開關發(fā)光二極管。這樣,就變成了 20次定時中斷才開關一次發(fā)光二 極管,因此定時時間就延長了成了 1000ms。 //設置定時器高 8位初值 TL0=(655361000)%256。中斷源可能隨時停止 CPU當前的工作,轉而去處理中斷服務程序,待中斷服務程序完成后,再返回原來工作的斷點處,繼續(xù)原來的工作。你正在家中看書,突然電話鈴響了,你放下書本,去接電話,和來電話的人交談,然后放下電話,回來繼續(xù)看你的書。 要了解單片機的中斷系統(tǒng),首先需要了解中斷源。 51單片機中一般工有 5 個中斷源:兩個外部中斷,兩個計數(shù) /定時器中斷,一個串行口中斷。 由于單片機中有多個中斷源,在實際的應用中又可能同 時用到多個中斷源。優(yōu)先級的問題不僅僅發(fā)生在兩個中斷同時產(chǎn)生的情況,也發(fā)生在一個中斷已產(chǎn)生,又有一個中斷產(chǎn)生的情況。 單片機的 5個中斷源,每個中斷產(chǎn)生后都要根據(jù)一個固定的地址去找處理這個中斷的程序,稱之為中斷服務程序。 具體地說,中斷響應可以分為以下幾個步驟: ● 保護斷點,即保存下一將要執(zhí)行的指令的地址, 就是把這個地址送入堆棧。 ● 執(zhí)行中斷服務程序,用中斷服務程序處理需要改變的變量或者事件。 單片機的中斷系統(tǒng)的作用 單片機在自動控制中有兩個重要的功能,一個是定時 /計數(shù)的作用,另一個就是中桂林電子工業(yè)學院畢業(yè)設計(論文)報告用紙 第 25 頁 共 46 頁 25 斷的使用。 第一,實現(xiàn)告訴 CPU 和低速外設之間的配合。 第二,可以 實現(xiàn)實時控制。 第三,實現(xiàn)故障的緊急處理。 第四,便于人機聯(lián)系。 如何實現(xiàn)單片機的中斷 在單片機上有兩個引腳,名稱為 INT0、 INT1,也就是 、 這兩個引腳。和單片機的定時器一樣,對中斷系統(tǒng)的處理需要通過 C51的軟件編程實 現(xiàn)。 ①中斷方式和標志位 單片機的中斷標志和方式的選擇是通過 TCON 的低 4位控制字實現(xiàn)的。 TCON中的控制字如表 33所示。 IT0=0, INT0 為低電平觸發(fā)方式; IT0=1, INT0 為負跳變觸發(fā)方式。當有外部的中斷請求時,這位就會置 1(這由硬件來完成),在 CPU 響應中斷后,由硬件將 IE0 清 0。 IE1: INT1 中斷請求標志位。 ● 內(nèi)部中斷請求源 TF0:定時器 T0的溢出中斷標記,當 T0 計數(shù)產(chǎn)生溢出時,由硬件置位 TF0。 TR0:定時器 T0的中斷允許。 TR1:定時器 T1的中斷允許。 表 34 中斷允許寄存器 IE EA X X ES ET1 EX1 ET0 EX0 其中: EA:總開關,如果它等于 0,則所有中斷都不允許。 ET1:定時器 1中斷允許。 ET0:定時器 0中斷允許。 ③ 5 個中斷源的優(yōu)先級 單片機的中斷服務入口地址如下,他們的自然優(yōu)先級由高到低排列。 定時器 0: 000BH。 定時器 1: 001BH。 單片機采用了自然優(yōu)先級和人工設置高、低優(yōu)先級的策略,即可以由程序員設定哪些中斷是高優(yōu)先級、哪些中斷是低優(yōu)先級。中斷優(yōu)先級中 由中斷優(yōu)先級寄存器 IP 來設置, IP 中某位設為 1,相應的中斷就是高優(yōu)先級,否則就是低優(yōu)先級。一是中斷響應條件,二是中斷響應過程。單片機工作時,在每個機器周期中都會去查詢一下各個中斷標記,從而判斷是否有中斷申請。了解了上述中斷的過程,就不難了解中斷響應的條件了。 ● 現(xiàn)行的機器周期正執(zhí)行當前多字節(jié)指令。 ● 當前正執(zhí)行的指令是返回指令( RETI)或訪問 IP、 IE寄存器的指令,則 CPU 至少再執(zhí)行一條指令才響應中斷。 知道 了中斷響應的條件后,可以進一步 了解中斷響應過程。然后根據(jù)中斷標記,將相應的中斷入口地址送入程序指針,程序轉到中斷入口處繼續(xù)執(zhí)行。 需要注意的是,單片機所做的保護工作只保護了一個地址,而其他的所有東西都不保護,如果主程序中用到了其他的數(shù)據(jù),就得自己保護起來。這里,需要對寄存器的組號進行簡單的解釋。當運行一個中斷任務時,采用不同的寄存器組。這里給出幾個不同中斷服務程序的 C51 程序寫法: ● 外中斷 INT0 void intsvr0(void) interrupt 0 using 1 ● 定時 /計數(shù)器 T0 void intsvr0(void) interrupt 1 using 1 ● 外中斷 INT1 void intsvr1(void) interrupt 2 using 1 ● 定時 /計數(shù)器 T1 void intsvr1(void) interrupt 3 using 1 ● 串口中斷 void intsvr0(void) interrupt 4 using 1 數(shù)碼管顯示程序功能 數(shù)碼管顯示程序主要完成以下的功能。顯示的內(nèi)容包括個位和十位兩位, 用取模和取余來確定。 例如: dispbuf[0]=temp
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1