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

正文內(nèi)容

畢業(yè)設(shè)計-基于stc89c52rc單片機的簡易計算器設(shè)計-文庫吧

2025-01-02 00:58 本頁面


【正文】 0=顯示 1 行 1=顯示 2 行 F 0=57 點陣 /每字符 1=510 點 陣 /每字符 CGRAM 地址指令 功能:設(shè)定下一個要存入數(shù)據(jù)的 CGRAM 的地址。 DDRAM 地址指令 功能:設(shè)定下一個要存入數(shù)據(jù)的 CGRAM 的地址。 (注意這里我們送地址的時候應(yīng)該是 0x80+Address,這也是前面說到寫地址命令的時候要加上 0x80 的原因 ) AC 地址指令 10 功能: 1 讀取忙碌信號 BF 的內(nèi)容, BF=1 表示液晶顯示器忙,暫時無法接收單片機送來的數(shù)據(jù)或指令 。 當 BF=0 時,液晶顯 示器可以接收單片機送來的數(shù)據(jù)或指令 。 2 讀取地址計數(shù)器 (AC)的內(nèi)容。 DDRAM 或 CGRAM 指令一覽 功能: 1 將字符碼寫入 DDRAM,以使液晶顯示屏顯示出相對應(yīng)的字符 。 2 將使用者自己設(shè)計的圖形存入 CGRAM。 CGRAM 或 DDRAM 讀出數(shù)據(jù)的指令一覽 功能:讀取 DDRAM或 CGRAM中的內(nèi)容。 基本操作時序: 讀狀態(tài) 輸入: RS=L, RW=H, E=H 輸出: DB0~ DB7=狀態(tài)字 寫指令 輸入: RS=L, RW=L, E=下降沿脈沖, DB0~ DB7=指令碼 輸出:無 讀數(shù)據(jù) 輸入: RS=H, RW=H, E=H 輸出: DB0~ DB7=數(shù)據(jù) 寫數(shù)據(jù) 輸入: RS=H, RW=L, E=下降沿脈沖, DB0~ DB7=數(shù)據(jù) 輸出:無 、鍵盤設(shè)計方案與選擇 方案一:獨立鍵盤。 獨立鍵盤為一端接地,另一端接 I/O口,并且要接上拉電阻。這種鍵盤的硬件都很容易實現(xiàn),但每一個按鍵就要用一個 I/O 口,適合本次設(shè)計。 11 方案二:通過 PS2 協(xié)義 ,用鍵盤同單片機相接,從而實現(xiàn)單片機與鍵盤通信。其電路如圖所示?,F(xiàn)在 PC機廣泛采用的 PS/2 接口為 miniDIN 6引腳的連接器。 1— 數(shù)據(jù)線( DATA); — 未用; 3— 電源地( GND); 4— 電源( +5 V); 5— 時鐘( CLK); 6— 未用。 由此圖可知 ,使用鍵盤硬件結(jié)構(gòu)比較簡單 ,但鍵盤的體積太大 ,所以此系統(tǒng)不采用此方案。 方案三:自制編碼鍵盤。 編碼鍵盤的電路如圖所示,這種鍵盤有編程簡單,占用資源少,但其硬件比較復雜,要用很多的二極管,不是很理想 。 12 方案四: 4*4 矩陣式鍵盤。 其電路圖如圖所示,這種鍵盤的硬件簡單,使用的 I/O 口也不多,而且這種鍵盤的編程方法已很成熟。本次設(shè)計也可以采用這種矩陣式鍵盤。其電路圖如圖 主體設(shè)計部分 : ( 1)、 系統(tǒng)模塊圖: 13 單片機運算模塊顯示模塊輸入模塊 ( 2)、算術(shù)運算程序流程圖: 14 加開 始判 斷 運 算 符 ?乘 除 減判 斷 結(jié) 果 溢 出 ? 除 數(shù) 為 0 ?錯 誤 信 息 送 顯 示 緩 沖數(shù) 值 送 顯 示 緩 沖YN N Y 15 ( 3)、 系統(tǒng)總流程圖: 開 始初 始 化 參 數(shù)初 始 化 L C D 顯 示本 次 功 能 鍵 ?讀 取 鍵 碼數(shù) 字 鍵 清 零 鍵 功 能 鍵鍵 入 數(shù) 值 狀 態(tài) 清 零根 據(jù) 上 次 功 能 鍵 和 輸 入的 數(shù) 據(jù) 計 算 結(jié) 果結(jié) 果 送 顯 示 緩 沖L C D 顯 示有 否 有 鍵 值 ?數(shù) 值 送 顯 示 緩 沖結(jié) 果 送 顯 示 緩 沖等 待 數(shù) 值 鍵 入 等 待 數(shù) 值 鍵 入結(jié) 果 送 顯 示 緩 沖等 待 數(shù) 值 鍵 入YNYN 16 ( 4)、硬件設(shè)計: (一)、 總體硬件設(shè)計: 本設(shè)計選用 AT89C51 單片機為主控單元; 顯示部分:采用 LCD 靜態(tài)顯示;按鍵部分:采用 4*4 鍵盤;用 MM74C922為 4*4鍵盤掃描 IC,讀取輸入的鍵值。 總體設(shè)計效果如下圖 : (二)、單片機接口電路說明: 手動上電復位電路: 當 VCC上電時, C充電,在 10K電阻上出現(xiàn)電壓,使得單片機復位;幾個毫秒后, C充滿, 10K 電阻上電流降為 0,電壓也為 0,使得單片機進入工作狀態(tài)。工作期間,按下 S, C 放電。 S松手, C又充電,在 10K電阻上出現(xiàn)電壓,使得單片機復位。幾個毫秒后,單片機進入工作狀態(tài)。 內(nèi)部時鐘模式電路: 17 當單片機工作于內(nèi)部時鐘模式的時候,只需在 XTAL1和 XTAL2引腳連接一個晶體振蕩器或者陶瓷振蕩器,并接兩個電容后接地即可,在使用時對于電容的選擇有一定的 要求: 當外接晶體振蕩器的時候,電容值一般選擇 C1=C2=30+10pF或 3010pF; 當外接陶瓷振蕩器的時候,電容值一般選擇 C1=C2=40+10pF或 4010pF; STC89C52介紹: STC89C52是一種低功耗、高性能 CMOS8位微控制器, 具有 8K 在系統(tǒng)可編程 Flash 存儲器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程Flash,使得 STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標準功能: 8k字節(jié) Flash, 512字節(jié) RAM, 32 位 I/O 口線, 看門狗電路 , 內(nèi)置 4KB EEPROM, MAX810復位電路, 三個 16 位 定時器 /計數(shù)器, 一個 6向量 2級中斷結(jié)構(gòu), 全雙工串行口。 另外 STC89X52 可降至 0Hz 靜態(tài)邏輯操作,支持 2種 軟件 可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許 RAM、定時器 /計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下, RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率 35Mhz, 6T/12T可選。 18 和 atmel的對比 STC89C52RC單片機 : 8K字節(jié)程序存儲空間; 512字節(jié)數(shù)據(jù)存儲空間; 內(nèi)帶 4K字節(jié) EEPROM存儲空間 。 可直接使用串口下載; AT89S52單片機 : 8K字節(jié)程序存儲空間; 256字節(jié)數(shù)據(jù)存儲空間; 沒有內(nèi)帶 EEPROM存儲空間 。 LCD1602介紹: 1602采用標準的 16腳接口,其中: 第 1腳: VSS 為電源地 19 第 2腳: VDD 接 5V 電源正極 第 3腳: V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產(chǎn)生 “鬼影 ”,使用時可以通過一個 10K 的電位器調(diào)整 對比度)。 第 4腳: RS 為寄存器選擇,高電平 1時選擇數(shù)據(jù)寄存器、低電平 0時選擇指令寄存器。 第 5腳: RW 為讀寫信號線,高電平 (1)時進行讀操作,低電平 (0)時進行寫操作。 第 6腳: E(或 EN)端為使能 (enable)端。 第 7~ 14腳: D0~ D7為 8位雙向數(shù)據(jù)端。 第 15~ 16腳:空腳或背燈電源。 15腳背光正極, 16腳背光負極 602LCD 的特性 n+5V 電壓,對比度可調(diào) n 內(nèi)含復位電路 n 提供各種控制命令 ,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能 n 有 80字節(jié)顯示數(shù)據(jù)存儲器 DDRAM n 內(nèi)建有 192個 5X7點陣的字型的字符發(fā)生器 CGROM n8個可由用戶自定義的 5X7的字符發(fā)生器 CGRAM 讀的時候,先讀左邊那列,再讀上面那行,如:感嘆號!的 ASCII 為 0x21,字母 B 的 ASCII 為 0x42(前面加 0x表示十六進制) 1602通過 D0~D7的 8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。 顯示模式設(shè)置: (初始化 ) 0011 0000 [0x38] 設(shè)置 162顯示, 57點陣, 8位數(shù)據(jù)接口; 顯示開關(guān)及光標設(shè)置: (初始化 ) 0000 1DCB D 顯示 (1有效 )、 C 光標顯示 (1有效 )、 B 光標閃爍 (1有效 ) 0000 01NS N=1(讀或?qū)懸粋€字符后地址指針加 1 amp。光標加 1), N=0(讀或?qū)懸粋€字符后地址指針減 1 amp。光標減 1), S=1 且 N=1 (當寫一個字符后,整屏顯示左移 ) s=0 當寫一個字符后,整屏顯示不移動 數(shù)據(jù)指針設(shè)置: 數(shù)據(jù)首地址為 80H,所以數(shù)據(jù)地址為 80H+地址碼 (027H, 4067H) 其他設(shè)置: 01H(顯示清屏,數(shù)據(jù)指針 =0,所有顯示 =0); 02H(顯示回車,數(shù)據(jù)指針 =0)。 (三)、鍵盤接口電路: 20 計算器輸入數(shù)字和其他功能按鍵要 用到很多按鍵,如果采用獨立按鍵的方式,在這種情況下,編程會很簡單,但是會占用大量的 I/O 口資源,因此在很多情況下都不采用這種方式,而是采用矩陣鍵盤的方案。矩陣鍵盤采用四條 I/O 線作為行線,四條 I/O 線作為列線組成鍵盤,在行線和列線的每個交叉點上設(shè)置一個按鍵。這樣鍵盤上按鍵的個數(shù)就為 4 4個。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機系統(tǒng)中 I/O 口的利用率。 矩陣鍵盤的工作原理: 計算器的鍵盤布局如圖 1所示:一般有 16個鍵組成,在單片機中正好可以用一個 P口實現(xiàn) 16個按鍵功能,這種形式在單片機系統(tǒng)中也最常用。 圖 1 矩陣鍵盤布局圖 矩陣鍵盤內(nèi)部電路圖如圖 2所示: (四)、 LCD 顯示模塊: 21 本設(shè)計采用 LCD 液晶顯示器來顯示輸出數(shù)據(jù)。通過 D0D7 引腳向 LCD 寫指令字或?qū)憯?shù)據(jù)以使 LCD實現(xiàn)不同的功能或顯示相應(yīng)數(shù)據(jù)。 圖 5 LCD 模塊 (五)運算模塊(單片機控制): MCS51 單片機是在一塊芯片中集成了 CPU、 RAM、 ROM、定時器 /計數(shù)器和多功能 I/O等一臺計算機所需要的基本功能部件。如果按功能劃分,它由如下功能部件組成,即微處理器( CPU)、數(shù)據(jù)存儲器( RAM)、程序存儲器( ROM/EPROM)、并行 I/O 口、串行口、定時器 /計數(shù)器、中斷系統(tǒng)及特殊功能寄存器( SFR)。 單片機是靠程序運行的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨特的一些功能,通過使用單片機編寫的程序可以實現(xiàn)高智能,高效率,以及高可靠性!因此我們采用單片機作為計算器的主要功能部件,可以很快地實現(xiàn)運算功能。 PCB設(shè)計: 22 實驗現(xiàn)象、數(shù)據(jù)記錄 數(shù)碼顯示及運算 最多九位顯示及運算 23 當超出時溢出顯示 24 五、總結(jié) 在實驗中遇到了這 樣那樣的問題,軟件的編輯中使得 c 語言的應(yīng)用更加熟練; 在硬件的實現(xiàn)中又出現(xiàn)了軟件和硬件不統(tǒng)一的問題,本實驗我做了兩次,第一次的時候 STC89C52 單片機的 P2 口的 ~~ 分別對應(yīng)連接到 LCD1602的 D7~~D0 口,這就使得在寫程序的時候需要把所有讀寫的數(shù)據(jù)以及地址都按位取反,改寫程序比較復雜,最終調(diào)試失敗,又改變了硬件電路。最終成功; 本次設(shè)計不管在軟件,或是在硬件方面都讓我受益匪淺,讓我所學的知識得以應(yīng)用到實踐,經(jīng)過這次創(chuàng)新性實驗,也令我看到了很多的不足,在實驗中的一些程序不能夠及時編 輯正確,需要很長時間的設(shè)計。硬件中我對單片機實驗板上的很多硬件不是很清楚,使得在下載程序后,又進行了很長時間的調(diào)整。 六、主要程序代碼 include define uchar unsigned char define uint unsigned int define KEYDATA P1 uchar key。 uchar dis_buff。
點擊復制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1