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

正文內(nèi)容

基于單片機的多功能交通燈系統(tǒng)設(shè)計(編輯修改稿)

2025-07-19 13:23 本頁面
 

【文章內(nèi)容簡介】 1 1602LCD 引腳功能說明 編號 9 10 11 12 13 14 15 16 符號 D2 D3 D4 D5 D6 D7 BLA BLK 引腳說明 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 背光源正極 背光源負(fù)極 引腳說明 電源地 電源正極 液晶顯示偏壓 數(shù)據(jù)/命令選擇 讀/寫選擇 使能信號 數(shù)據(jù) 數(shù)據(jù) 1602LCD 的指令說明及時序 1602 液晶模塊內(nèi)部的控制器共有 11 條控制指令,具體如表 所示。1602 液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的。 (說明:1 為高電平、0 為低電平) 16 基于單片機的多功能交通燈系統(tǒng)設(shè)計 表 序號 1 2 3 4 5 6 7 8 9 10 11 指令 清顯示 光標(biāo)返回 置輸入模式 顯示開/關(guān)控制 光標(biāo)或字符移位 置功能 置字符發(fā)生器地址 置數(shù)據(jù)存儲器地址 讀忙標(biāo)志或地址 寫數(shù)到 CGRAM 或 DDRAM 從 CGRAM 或 DDRAM 讀數(shù) 1602LCD 控制指令表 R/W 0 0 0 0 0 0 0 0 1 0 1 D7 0 0 0 0 0 0 0 1 BF D6 0 0 0 0 0 0 1 D5 0 0 0 0 0 1 D4 0 0 0 0 1 DL D3 0 0 0 1 S/C N D2 0 0 1 D R/L F D1 0 1 I/D C * * D0 1 * S B * * RS 0 0 0 0 0 0 0 0 0 1 1 字符發(fā)生存儲器地址 顯示數(shù)據(jù)存儲器地址 計數(shù)器地址 要寫的數(shù)據(jù)內(nèi)容 讀出的數(shù)據(jù)內(nèi)容 指令 1:清顯示,指令碼 01H,光標(biāo)復(fù)位到地址 00H 位置。 指令 2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00H。 指令 3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或右移。高電平表示有效,低電平則無效。 指令 4:顯示開關(guān)控制 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平 表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平有光標(biāo),低電平無光標(biāo) B:控制光標(biāo) 是否閃爍,高電平閃爍,低電平不閃爍。 指令 5:光標(biāo)或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標(biāo)。 指令 6:功能設(shè)置命令 DL:高電平 4 位總線,低電平 8 位總線 N:低電平為單行 顯示,高電平雙行顯示 F:低電平顯示 5*7 的點陣字符,高電平顯示 5*10 字符 指令 7:字符發(fā)生器 RAM 地址設(shè)置。 指令 8:DDRAM 地址設(shè)置。 指令 9:讀忙信號和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時模塊不能 接收命令或者數(shù)據(jù),如果為低電平表示不忙 指令 10:寫數(shù)據(jù)。 指令 11:讀數(shù)據(jù)。 17 基于單片機的多功能交通燈系統(tǒng)設(shè)計 基本操作時序: 基本操作時序 讀狀態(tài) 寫指令 讀數(shù)據(jù) 寫數(shù)據(jù) 輸入:RS=L,RW=H,E=H 輸出:D0D7=狀態(tài)字 輸入:RS=L,RW=L,E=下降沿脈沖 D0D7=指令碼 輸出:無 輸入:RS=H,RW=H,E=H 輸出:D0D7=數(shù)據(jù) 輸入:RS=H,RW=L,E=下降沿脈沖 D0D7=數(shù)據(jù) 輸出:無 1602LCD 字符的顯示 LCD 1602 液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了 160 個不 同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、大小寫英文、常用的符號、和日 文假名等,每一字符都有固定的代碼,比如大寫的英文字母“A”的代碼是 41H, 顯示時模塊把地址 41H 中的點陣字符圖形“A”顯示出來,顯示操作的過程如下: 首先確認(rèn)顯示的位置,即在第幾行第幾個字符開始顯示。 第一行的顯示地址是 0x80-0x8F,第二行的顯示地址是 0xC0-0xCF。例如 想要在第 2 行,第 3 個位置顯示一個字符,那么地址碼就是 0xC2。在編程過程 中,通常編寫一個函數(shù)確定在某行某個位置顯示數(shù)據(jù)。 其次設(shè)置要顯示的內(nèi)容,即上面提到的 CGROM 內(nèi)的字符編碼。如顯示 “A”,將編碼 41H 寫入到液晶屏顯示即可。通常設(shè)置地址和顯示內(nèi)容用一個函數(shù) 來完成。 定義一個字符串顯示函數(shù),可以通過直接輸入字符方式進行顯示。 本設(shè)計中液晶顯示模塊與 AT89S52 接口圖,液晶 LCD1602 顯示器通過與單 片機的 P2 口連接寫入和讀取數(shù)據(jù),從 P0 口顯示讀出的數(shù)據(jù),利用定時器實 現(xiàn)液晶 LCD1602 與交通燈實時同步的 循環(huán)顯示交通指示信息。 當(dāng)燈亮?xí)r, 液 晶 LCD1602 顯示“please stop”, 黃燈亮 時 , 液 晶 LCD1602 顯 示 “wait a moment”,綠燈亮?xí)r,液晶 LCD1602 顯示“l(fā)et’s go”。 圖 液晶顯示模塊與 AT89S52 接口 18 基于單片機的多功能交通燈系統(tǒng)設(shè)計 音樂播放模塊 樂曲中不同的音符,實質(zhì)就是不同頻率的聲音。利用單片機的定時器產(chǎn)生樂 譜的各種頻率方波,經(jīng)過放大電路,有蜂鳴器放出,就產(chǎn)生了美妙和諧的樂曲。 一般來說,單片機演奏音樂基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻 率,也就是說不能像電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄 清楚音調(diào)和節(jié)拍兩個概念即可,音調(diào)表示一個音符唱多高的頻率,節(jié)拍表示一個 音符唱多久的時間。 我們知道,聲音的頻率范圍約在幾十到幾千赫茲,若能控制單片機某個口線 的電平的高低,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一 定頻率的聲音,本設(shè)計在音樂開始播放后,沒有任何操作情況下,單片機會連續(xù) 播放,形成交通燈的背景音樂。 音調(diào)的確定 音調(diào)的確定實際上就是不同頻率脈沖信號的產(chǎn)生,其步驟如下: 1.單片機要產(chǎn)生不同頻率的脈沖信號,先要產(chǎn)生音頻脈沖,只要算出某一 音頻的脈沖(1/頻率) ,然后將此周期除以 2,即為半周期的時間,利用定時器計 時這個半周期的時間,每當(dāng)計時到后就將輸出脈沖的 I/O 反相,然后重復(fù)計時此 半周期的時間在對 I/O 反相,就可以在 I/O 腳上得到此頻率的脈沖。 2.利用單片機的內(nèi)部定時器使其工作在計數(shù)器模式 MODE1 下,改變計數(shù) 值 TH1 及 TL1 以產(chǎn)生不同的頻率。 3..例如頻率為 523Hz,其周期 T=1/523 S=1912uS,因此只要令計數(shù)器計時 956uS/1us=956,在每計數(shù) 956 次時就將 I/O 反相,就可得到中音 DO(532Hz) 。 計數(shù)脈沖值與頻率的關(guān)系公式如下: N=Fi / 2 / Fr (N:計數(shù)次數(shù),F(xiàn)i:音頻脈沖頻率,F(xiàn)r:單片機的機器周期 ) 4.定時器初始值的求法如下: T=65536N=65536Fi / 2 / Fr 例如:設(shè) K=65536,F(xiàn)=1000000=Fi=1MHz,求低音 DO(261Hz) 、中音 DO 19 基于單片機的多功能交通燈系統(tǒng)設(shè)計 (523Hz) 、高音 DO(1046Hz)的定時器初始值。 T=65536N=65536Fi/2/Fr=655361000000/2/Fr=65536500000/Fr 低音 DO:T=65536500000/262=63627 中音 DO:T=65536500000/523=64580 高音 DO:T=65536500000/1047=65059 5.不同的頻率產(chǎn)生的計數(shù)值對應(yīng)于不同的音符頻率,C 調(diào)各音符頻率與計 數(shù)值 T 的對照表如下表 所示。 表 音符 低 1DO 1DO 低 2RE 2RE 低 3M 低 4FA 4FA 低 5SO 5SO 低 6LA 6 低 7SI 中 1DO 1DO 中 2RE 2RE 中 3M 中 FA 頻率/Hz 262 277 294 311 330 349 370 392 415 440 466 494 523 554 587 622 659 698 C 調(diào)各音符頻率與計數(shù)值 T 的對照表 簡譜碼/T 值 63628 63731 63835 63928 64021 64103 64185 64260 64331 64000 64463 64524 64580 64633 64684 64732 64777 64820 音符 4FA 中 5SO 5SO 中 6LA 6 中 7SI 高 1DO 1DO 高 2RE 2RE 高 3M 高 4FA 4FA 高 5SO 5SO 高 6LA 6 高 7SI 頻率/Hz 740 784 831 880 932 988 1046 1109 1175 1245 1318 1397 1480 1568 1661 1760 1865 1967 簡譜碼/T 值 64860 64898 64934 64968 64994 65030 65058 65085 65110 65134 65157 65178 65198 65217 65235 65252 65283 65283 20 基于單片機的多功能交通燈系統(tǒng)設(shè)計 節(jié)拍的確定 每個音符使用 1 個字節(jié),字節(jié)的高 4 位代表音符的高低,低 4 位代表音符的 節(jié)拍,下表為節(jié)拍碼的對照。但如果 1 拍為 秒,1/4 拍是 秒,只要設(shè)定延 遲時間就可求得節(jié)拍的時間。假設(shè) 1/4 節(jié)拍為 1DELAY,則 1 拍應(yīng)為 4DELAY, 以此類推。所以只要求得 1/4 拍的 DELAY 時間(1/4 拍的延遲時間=187 毫秒) , 其余的節(jié)拍就是它的倍數(shù),如下表 為 1/4 和 1/8 節(jié)拍的部分時間設(shè)定。 表 節(jié)拍碼 1 2 3 4 5 6 8 A C F 節(jié)拍數(shù) 1/4 拍 2/4 拍 3/4 拍 1拍 1 又 1/4 拍 1 又 1/2 拍 2拍 2 又 1/2 拍 3拍 3 又 3/4 拍 節(jié)拍與節(jié)拍碼對照 節(jié)拍碼 1 2 3 4 5 6 8 A C 節(jié)拍數(shù) 1/8 拍 1/4 拍 3/8 拍 1/2 拍 5/8 拍 3/4 拍 1拍 1 又 1/4 拍 1 又 1/2 拍 表 曲調(diào)值 調(diào) 4/4 調(diào) 3/4 調(diào) 2/4 各調(diào) 1/4 節(jié)拍的時間設(shè)定和各調(diào) 1/8 節(jié)拍時間設(shè)定表 DELAY 125 毫秒 187 毫秒 250 毫秒 曲調(diào)值 調(diào) 4/4 調(diào) 3/4 調(diào) 2/4 DELAY 62 毫秒 94 毫秒 125 毫秒 編碼的確定 建立音樂的步驟: ,然后由上表建立 T 值表的順序。 T 值表建立在 TABLE1,構(gòu)成發(fā)音符的計數(shù)值放在“TABLE”。 (音符)為高位,節(jié)拍為(節(jié)拍數(shù))為低 4 位,音符節(jié)拍碼放在程序的 “TABLE”處。 21 基于單片機的多功能交通燈系統(tǒng)設(shè)計 表 簡譜對應(yīng)的簡譜碼、T 值、節(jié)拍數(shù) 設(shè)計時借助杜邦線使喇叭 SREAKER 與單片機 端口接通,讓音頻信號 從 口輸出,喇叭 SPEAKER 通過芯片 LM2003 放大信號輸出音頻,形成美 妙悅耳音樂。其連接如下 圖 所示: 圖 音樂模塊連接 22 基于單片機的多功能交通燈系統(tǒng)設(shè)計 系統(tǒng)軟件設(shè)計 第三章 系統(tǒng)軟件設(shè)計 設(shè)計程序流程圖 開 始 播放音樂(T1) 設(shè)置定時器 0 和 1 數(shù)碼管動態(tài)掃描(T0) 循 環(huán) 設(shè) 置 交通燈工作 液晶顯示 數(shù)碼管倒計時 圖 單片機交通燈程序流程圖 從流程圖可以看出,本設(shè)計的交通燈工作的主要過程就是,利用兩個定時器 T0 和 T1 分別控制交通燈中數(shù)碼管的動態(tài)掃描和音樂信號的輸出, 然后調(diào)用程序 使紅黃綠三種燈交替點亮, 數(shù)碼管 LED 倒計時顯示以及液晶 LCD1602 顯示這三 種功能同時并相對應(yīng)的實現(xiàn)。 控制器的軟件設(shè)計 定時設(shè)定 在交通燈的時間顯示中,每秒鐘的設(shè)定采用軟件延時的方法,延時方法可以 有兩種,一種是利用 MCS51 內(nèi)部定時器產(chǎn)生溢出中斷來確定 1 秒的時間,另一 種是采用軟件延時的方法。 23 基于單片機的多功能交通燈系統(tǒng)設(shè)計 定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到 TH 和 TL 中的。 它是以加法計數(shù)的,并能從全 1 到全 0 時自動產(chǎn)生溢出中斷請求。因此,我們可 以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為 C 和計數(shù)初值設(shè)定為 TC 可得到如下 計算通式: TC=MC 式中,M 為計數(shù)器模值,該值和計數(shù)器工作方式有關(guān)。在方式 0 時 M 為 213;在 方式 1 時 M 為 216;在方式 2 和 3 時 M 為 28。 由公式 T=(MTC) T 計數(shù) 或 TC=MT/T 計數(shù) 其中 T 計數(shù)是單片機時鐘周期 TCLK 的 12 倍;TC 為定時初值 如果單片機的主脈沖頻率為 12MHZ,經(jīng)過 12 分頻 方式 0 方式 1 TMAX=213*1 微秒= 毫秒 TMAX=216*1 微秒= 毫秒 顯然 1 秒鐘已經(jīng)超過了計數(shù)器的最大定時時間, 所以我們只有采用定時器和 軟件相結(jié)合的辦法才能解決這個問題。 1 秒鐘的設(shè)定 我們采用在主程序中設(shè)定一個初值為 20 的軟件計數(shù)器和使 T0 定時 50 毫 秒。這樣每當(dāng) T0 到 50 毫秒時 CPU 就響應(yīng)它的溢出中斷請求,進入他的中斷服 務(wù)子程序。在中斷服務(wù)子程序中,CPU 先使軟件計數(shù)器減 1,然后判斷它是否為 零。為零表示 1 秒已到可以返回輸出時間顯示程序。相應(yīng)的程序代碼如下: (1)
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1