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

正文內(nèi)容

參考基于單片機(jī)控制動(dòng)態(tài)掃描文字顯示系統(tǒng)的設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2024-12-18 15:48 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 輸技術(shù) . 行掃描驅(qū)動(dòng) 由于 8x32 點(diǎn)陣顯示器有 8行,為充分利用 單片機(jī)的接口。本系統(tǒng)使用 AT89S52的 P1 口作為行選擇 輸出 。 同一個(gè)時(shí)刻只 有 一個(gè) 端口 位有效, 這樣有 8 個(gè)不同的端口位 就會(huì)形成 8種不同的 輸出狀態(tài), 然后使每種狀態(tài)只 控制一路輸出,即會(huì)有 8 路輸出 [22]。 如果一行 32 點(diǎn)全部點(diǎn)亮。則通過(guò) P1 口 的 電流將達(dá) 320 mA,而實(shí)際上, P1 端口 提 供不了足夠的吸收電流來(lái)同時(shí)驅(qū)動(dòng) 32 個(gè) LED 同時(shí) 點(diǎn)亮,因此, P1 端口的 每一路輸出端與 8x32 點(diǎn)陣顯示器對(duì)應(yīng)的每一行之間用一個(gè)三極管來(lái)將電流信號(hào)放大。本系統(tǒng) 選用的是 最大耐壓為 100V, 最大連續(xù)電流 為 5A 的達(dá)林頓 三極管 TIP122。由上述介紹, 行掃描驅(qū)動(dòng) 電路原理圖如圖 所示。 這樣, P1 端口 某 一輸出 引 腳為 高 電平時(shí) , 對(duì)應(yīng)的三極管 導(dǎo)通, 從而使 LED點(diǎn)陣顯示器的對(duì)應(yīng)行也為 低 電平。 圖 中 R1 為限流電阻, R10 是為了保證在 P1 端口輸出低電平,三極管截止時(shí)能夠保證 集電極有效地高電平 [23]。 第 12 頁(yè) 共 72 頁(yè) 圖 行掃描驅(qū)動(dòng) 列掃描驅(qū)動(dòng) 本系統(tǒng) 列 掃描驅(qū)動(dòng)電路的設(shè)計(jì)可用串 入 并出的通用集成電路 74HC595 來(lái)作為數(shù)據(jù)鎖存 [24]。 74HC595 是一個(gè)八位串行輸入三態(tài)并行輸出的移 位寄存器,其管腳見圖 ,其中 SI是串行數(shù) 據(jù)的輸入端, RCK 是存儲(chǔ)寄存器的輸入時(shí)鐘, SCK 是移位寄存器的輸入時(shí)鐘 , Q7H 是串入數(shù)據(jù) 的輸出, G 是對(duì)輸入數(shù)據(jù)的輸出使能控制,QA~ QH為串 入 數(shù)據(jù)的并行輸出 , 其個(gè)引腳詳細(xì)描述 如表 所示 。 第 13 頁(yè) 共 72 頁(yè) 圖 74HC595引腳結(jié)構(gòu)圖 表 74HC595引腳功能說(shuō)明 從 SI 口輸入的數(shù)據(jù)可 在移位寄存器的 SCK 腳上升沿的作用下輸入到 74HC595中.并在 RCK腳的上升沿作用下將輸入 的數(shù)據(jù)鎖存在 74HC595 中,這樣,當(dāng) G為低電平 時(shí),數(shù)據(jù)便可并行輸出。本系統(tǒng)使用 P2 端口模擬串口來(lái)分別輸出串行數(shù)據(jù)、移位時(shí)鐘 SCK、存儲(chǔ)信號(hào) RCK 和并行輸出的使能信號(hào) G。 第 14 頁(yè) 共 72 頁(yè) 表 74HC595最大限定范圍 由表 所示的最大限定范圍中得知 74HC595 的輸出斷電流最大為 35mA, 足夠滿足 單個(gè) LED的 驅(qū)動(dòng) 顯示,同時(shí)輸出端電壓也滿足功能要求。由此可以把 74HC595的輸出直接連接到點(diǎn)陣 LED 顯示模塊的列線上 [25]。 在 Proteus 中 74HC595 串行數(shù)據(jù)引腳為 DS、移位時(shí)鐘 SH_CP, 存儲(chǔ)信號(hào) ST_CP, 并行輸出的使能信號(hào) /OE,復(fù)位信號(hào) /MR。 如 圖 所示 為 列 顯示驅(qū)動(dòng) 的 原理圖 ,數(shù)據(jù)從 輸出,經(jīng)過(guò) U1 的 DS 引腳進(jìn)入然后經(jīng)過(guò) 8 個(gè) SH_CP 脈沖從 U1的 Q7’ 輸出到 U4的 DS, 數(shù)據(jù) 以同樣 的 方式進(jìn)入到后面的 3個(gè) 74HC595中 。 最后 驅(qū)動(dòng)一個(gè) ST_CP脈沖把 輸入 的數(shù)據(jù)鎖存在 74HC595中 ,從 Q0~Q7輸出到點(diǎn)陣 LED顯示模塊的列線上。 圖 列 掃描驅(qū)動(dòng) 原理圖 掃描顯示工作過(guò)程 將 4 片 74HC595 進(jìn)行級(jí)連,共用一個(gè)移位 時(shí)鐘 SH_CP 及數(shù)據(jù)鎖存信號(hào) ST_CP。 第 15 頁(yè) 共 72 頁(yè) 這樣,當(dāng)?shù)谝恍?需要顯示的數(shù)據(jù)經(jīng)過(guò) 4x8=32 個(gè) SH_CP 時(shí)鐘后便可將 其全部移入74HC595 中。此時(shí)還將產(chǎn)生一個(gè)數(shù)據(jù) 鎖存信號(hào) RCK 將數(shù)據(jù)鎖存在 74HC595 中。并在使 能信號(hào) /OE的作用下.使串 入 數(shù) 據(jù)并行輸出。從而 使與各輸出位對(duì)應(yīng)的 列選線驅(qū)動(dòng) 處于 高電平 或截止?fàn)顟B(tài);同時(shí)由行掃描控制電路產(chǎn)生信號(hào)使第一行掃描管導(dǎo)通,相當(dāng)于第一行 LED 的 負(fù)端 都接 地 ,顯 然,第一行 LED 管的亮滅就取決于 74HC595 中的 鎖存信號(hào);此外,在第一行 LED 管點(diǎn)亮的同時(shí) , 再在 74HC595 中移 入 第二行需要顯示的數(shù)據(jù),隨 后將其鎖存,同時(shí)由行掃描控制電路將第一行掃描管關(guān)閉而接通第二行,使第二行 LED 管點(diǎn)亮, 以此類推,當(dāng)?shù)?八 行掃描過(guò)后再回到第一行,這樣 ,只要掃描速度足夠高 , 就可形成一幅完整的文字或圖像 [26]。 第 16 頁(yè) 共 72 頁(yè) 3 軟件 設(shè)計(jì) Keil技術(shù)簡(jiǎn)介 Keil C51 是 美國(guó) Keil Software 公司出品的 51 系列兼容單片機(jī) C 語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比, C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用 C來(lái)開發(fā),體會(huì)更加深刻 [27]。 單片機(jī)開發(fā)中除必要的硬件外,同樣離不開 軟件 ,我們寫的匯編語(yǔ)言源程序要變?yōu)?CPU 可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于 MCS51 單片機(jī)的匯編軟件有早期的 A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil 軟件是目前最流行開發(fā) MCS51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持 Keil 即可看出。 Keil 提供了包括 C編譯器 、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過(guò)一個(gè) 集成開發(fā)環(huán)境 ( uVision)將這些部分組合在一起。運(yùn)行 Keil 軟件需要 Pentium 或以上的 CPU,16MB 或更多 RAM、 20M 以上空閑的硬盤空間、 WIN9 NT、 WIN20 WINXP 等 操作系統(tǒng) 。掌握這一軟件的使用對(duì)于使用 51 系列單片機(jī)的愛好者來(lái)說(shuō)是十分必要的,如果你使用 C 語(yǔ)言編程,那么 Keil 幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用 C 語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。 1. 系統(tǒng)概述 Keil C51 軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開 發(fā)調(diào)試工具,全 Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到 Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面詳細(xì)介紹 Keil C51 開發(fā)系統(tǒng)各部分功能和使用 [28]。 2. Keil C51 單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu) C51工具包的整體結(jié)構(gòu), uVision 與 Ishell 分別是 C51 for Windows 和 for Dos的集成開發(fā)環(huán)境 (IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā) 流程。 第 17 頁(yè) 共 72 頁(yè) 開發(fā)人員可用 IDE 本身或其它 編輯器 編輯 C或匯編源文件。然后分別由 C51 及 C51編譯器編譯生成目標(biāo)文件 (.OBJ)。目標(biāo)文件可由 LIB51 創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng) L51 連接定位生成絕對(duì)目標(biāo)文件 (.ABS)。 ABS 文件由 OH51 轉(zhuǎn)換成標(biāo)準(zhǔn)的 Hex 文件,以供調(diào)試器 dScope51 或 tScope51 使用進(jìn)行 源代碼 級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如 EPROM 中 [29]。 本系統(tǒng)的單片機(jī)程序利用 Keil uVision 進(jìn)行程序設(shè)計(jì), 如圖 。 圖 keil下程序設(shè)計(jì) 以下介紹整個(gè)系統(tǒng)的程序流程,具體程序參見附錄 A。 主程序 流程 第 18 頁(yè) 共 72 頁(yè) 圖 主程序流程圖 如 所示 圖所示為 單片機(jī)的主程序流程圖 ,用以 實(shí)現(xiàn)四個(gè) 8x8 點(diǎn)陣構(gòu)成 的8x32 點(diǎn)陣顯示 模塊 的 動(dòng)態(tài)掃描 控制 。 每個(gè)文字占一個(gè) 8x8 點(diǎn)陣,由此可以同時(shí)顯示四個(gè)文字。但是利用文字的移動(dòng),可以實(shí)現(xiàn)顯示超過(guò)四個(gè)文字的動(dòng)態(tài)掃描文字顯示系統(tǒng) [30]。 在本系統(tǒng)中,在 AT89S52 單片機(jī)中為顯示文字開辟了 6x8Byte 的 顯示 RAM。如表 為顯示位置與顯示 RAM 的關(guān)系 。 在顯示 RAM初始化 的過(guò)程中 , 顯示 RAM中共 保存了需要顯示的 6個(gè)文字掃描代碼 ,其中 : ? Ram[0][0]~ Ram[0][7]為第一塊 8x8LED 點(diǎn)陣顯示的列掃描代碼 ; ? Ram[1][0]~ Ram[1][7]為第 二塊 8x8LED 點(diǎn)陣顯示的列掃描代碼; ? Ram[2][0]~ Ram[2][7]為第三塊 8x8LED 點(diǎn)陣顯示的列掃描代碼; ? Ram[3][0]~ Ram[3][7]為第四塊 8x8LED 點(diǎn)陣顯示的列掃描代碼; ? Ram[4][0]~ Ram[4][7]為第五塊 8x8LED 點(diǎn)陣顯示的列掃描代碼; ? Ram[5][0]~ Ram[5][7]為第六塊 8x8LED 點(diǎn)陣顯示的列掃描代碼; 雖然有 6 塊 8x8LED 點(diǎn)陣顯示代碼,但是只有 Ram[0][]、 Ram[1][]、 Ram[2][] 、開始 變 量定義 端口初始化 Count=N? No Yes RAM數(shù)據(jù)移位 顯示 RAM初始化 顯示子程序 Count=0 Count++ 第 19 頁(yè) 共 72 頁(yè) Ram[3][]能夠被顯示, 其余的通 過(guò) Ram 數(shù)據(jù)的移位來(lái)達(dá)到顯示效果。例如:在本系統(tǒng)中通過(guò) Ram 數(shù)據(jù)的整體左移來(lái)顯示所有的數(shù)據(jù)。 在圖 主程序流程圖 中顯示子程序用以實(shí)現(xiàn) Ram[0][]、 Ram[1][]、 Ram[2][]、 Ram[3][]數(shù)據(jù)的顯示, Ram 數(shù)據(jù)移位過(guò)程用以實(shí)現(xiàn)數(shù)據(jù)的整體移位。 表 顯示 RAM示意 Ram[0][0] Ram[1][0] Ram[2][0] Ram[3][0] Ram[4][0] Ram[5][0] Ram[0][1] Ram[1][1] Ram[2][1] Ram[3][1] Ram[4][1] Ram[5][1] Ram[0][2] Ram[1][2] Ram[2][2] Ram[3][2] Ram[4][2] Ram[5][2] Ram[0][3] Ram[1][3] Ram[2][3] Ram[3][3] Ram[4][3] Ram[5][3] Ram[0][4] Ram[1][4] Ram[2][4] Ram[3][4] Ram[4][4] Ram[5][4] Ram[0][5] Ram[1][5] Ram[2][5] Ram[3][5] Ram[4][5] Ram[5][5] Ram[0][6] Ram[1][6] Ram[2][6] Ram[3][6] Ram[4][6] Ram[5][6] Ram[0][7] Ram[1][7] Ram[2][7] Ram[3][7] Ram[4][7] Ram[5][7] 顯示區(qū) 非顯示區(qū) 第 20 頁(yè) 共 72 頁(yè) 端口初始化 程序 設(shè)計(jì) 圖 端口初始化流程圖 圖 AT89S52 的端口初始化流程圖,其中行選端口( P1)初始化使所有的行選無(wú)效。 74HC595 初始化 使 74HC595 的 數(shù)據(jù)端口位高電平, 時(shí)鐘端口位低電平無(wú)效,輸出使能為無(wú)效,復(fù)位無(wú)效。 顯示 RAM 初始化子程序 設(shè)計(jì) 圖 顯 示 RAM初始化 開始 結(jié)束 變量定義 行 j=0 j8? Ram[0][]=中 [] Ram[1][]=北 [] Ram[2][]=N[] Ram[3][]=U[] Ram[4][]=C[] Ram[5][]=0 Y N 開始 行選端口初始化 74HC595初始化 結(jié)束 第 21 頁(yè) 共 72 頁(yè) 圖 RAM 的初始化過(guò)程 ,首先進(jìn)行變量定義,然后 進(jìn)入循環(huán)初始化的過(guò)程。 j代表行,總共 8行數(shù)據(jù),每行有 6x8Byte 的數(shù)據(jù)。在默認(rèn)的時(shí)候系統(tǒng)要實(shí)現(xiàn)在 LED 點(diǎn)陣顯示屏上顯示“中北 NUC ”,所以在這里把“中北 NUC ”代碼存入顯示 RAM 中。 顯示子程序 設(shè)計(jì) 圖 LED 點(diǎn)陣的顯示子程序,首先進(jìn)行變量定義,然后 進(jìn)入 循環(huán) 掃描行列代碼 過(guò)程。 j代表行,總共 8行數(shù)據(jù), 從第 0行開始到第 7行。 i 代表列,總共顯示 4 個(gè) 顯示 列塊,每個(gè) 列 塊 1 個(gè)字節(jié)的數(shù)據(jù)(即 8 個(gè)點(diǎn)) 。 由于列代碼為串行輸出給 74HC595,所以在列代碼掃描循環(huán)中,需要使用小循環(huán)進(jìn)行列代碼的移位輸出。列代碼數(shù)據(jù)輸出結(jié)束后使 74HC595 輸出三態(tài),然后鎖存列代碼數(shù)據(jù),接著輸出行代碼數(shù)據(jù),最后打開 74HC595,這樣就能在顯示上一個(gè)數(shù)據(jù)的同時(shí)變化行列代碼數(shù)據(jù),提高了掃描程序的效率。 第 22 頁(yè) 共 72 頁(yè) 圖 顯示 RAM初始化 子程序 結(jié)束 行
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1