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

正文內(nèi)容

基于單片機(jī)設(shè)計(jì)的計(jì)算器畢業(yè)論文正稿(編輯修改稿)

2025-07-24 20:36 本頁面
 

【文章內(nèi)容簡介】 圖28 復(fù)位電路綜上所述,自動(dòng)復(fù)位需去電再通電才能復(fù)位,而手動(dòng)復(fù)位電路可以隨時(shí)復(fù)位,尤其是程序跑飛時(shí),只需按下鍵就可以復(fù)位。因此選擇手動(dòng)按鍵復(fù)位電路作為單片機(jī)復(fù)位電路。 系統(tǒng)組成 經(jīng)過方案最終論證與比較,最終確定的系統(tǒng)組成框圖如圖29 所示。其中單片機(jī)作為主控設(shè)備對(duì)采集輸入信號(hào)后并進(jìn)行處理,最后通過輸出設(shè)備輸出給使用者。該系統(tǒng)的結(jié)構(gòu)框圖如圖29所示圖29 第三章 重要器件的知識(shí)介紹 單片機(jī)的知識(shí)介紹ATMEL公司生產(chǎn)的AT89S52型單片機(jī)是方便程序下載程序且好用,而且能夠滿足本設(shè)計(jì)的要求。(1)與MCS51單片機(jī)產(chǎn)品兼容 (2)8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器(3)1000次擦寫周期(4)全靜態(tài)操作:0Hz~33MHz (5)三級(jí)加密程序存儲(chǔ)器 (6)32個(gè)可編程I/O口線 (7)三個(gè)16位定時(shí)器/計(jì)數(shù)器 八個(gè)中斷源 (8)全雙工UART串行通道(9)低功耗空閑和掉電模式 (10)掉電后中斷可喚醒 (11)看門狗定時(shí)器(12)雙數(shù)據(jù)指針 單片機(jī)各引腳功能說明AT89S52的功能引腳如圖31所示圖31 AT89S52的引腳圖VCC:供電電壓。GND:接地。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89S52的一些特殊功能口,如表31所示表31 AT89S52的一些特殊功能口 管腳備選功能 RXD(串行輸入口) TXD(串行輸出口) /INT0(外部中斷0) /INT1(外部中斷1) T0(記時(shí)器0外部輸入) T1(記時(shí)器1外部輸入) /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令時(shí)才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次信號(hào)將不出現(xiàn)。/VPP:當(dāng)保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000HFFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),將內(nèi)部鎖定為RESET;當(dāng)端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 單片機(jī)時(shí)鐘電路時(shí)鐘電路產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地按時(shí)序進(jìn)行工作。在MCS51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳X1,輸出端為引腳X2,在芯片的外部跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。 ,時(shí)鐘電路如下圖32圖32 時(shí)鐘電路 LED提示電路 這個(gè)LED提示電路是用一個(gè)LED接單片機(jī)的一個(gè)引腳,在其引腳發(fā)出一個(gè)高電平導(dǎo)通。有三個(gè)功能:系統(tǒng)初始化時(shí)會(huì)閃爍、歸零時(shí)會(huì)閃爍、shift功能鍵會(huì)閃爍。與單片機(jī)連接的電路原理圖如圖33所示圖33 LED提示電路 1602液晶顯示資料控制器內(nèi)部帶有80*8位(80字節(jié))的RAM緩沖區(qū),對(duì)應(yīng)關(guān)系如圖34所示圖34 RAM 地址映射圖設(shè)置數(shù)據(jù)指針如表32表32 數(shù)據(jù)指針顯示開/關(guān)及光標(biāo)設(shè)置如表33表33 顯示及光標(biāo)設(shè)置指令碼功能00111000設(shè)置16*2顯示,5*7點(diǎn)陣,8為數(shù)據(jù)接口00001DCBD=1 開顯示;C=1顯示光標(biāo);B=1光標(biāo)閃爍D=0關(guān)顯示;C=0不顯示光標(biāo);B=0不光標(biāo)閃爍000001NSN=1 當(dāng)讀或?qū)懸粋€(gè)字符后地址指針加一,切光標(biāo)加一N=0當(dāng)讀或?qū)懸粋€(gè)字符后地址指針減一,切光標(biāo)減一S=1當(dāng)讀或?qū)懸粋€(gè)字符整屏顯示左移(N=1)或右移(N=0)S=0 當(dāng)寫一個(gè)字符,整屏不移動(dòng)其它設(shè)置如表34表34 其它設(shè)置指令碼功能01H數(shù)據(jù)指針清零 所有顯示清零02H數(shù)據(jù)指針清零10H光標(biāo)左移 數(shù)據(jù)指針加114H光標(biāo)右移 數(shù)據(jù)指針減118H屏幕左移 光標(biāo)跟著左移 數(shù)據(jù)指針不變1CH屏幕右移 光標(biāo)跟著左移 數(shù)據(jù)指針不變第四章 計(jì)算器的軟件編程根據(jù)任務(wù)書的要求,讓主程序一直保持在一個(gè)大循環(huán)中(一直保持鍵盤掃描),對(duì)相應(yīng)的鍵值進(jìn)行判斷且處理,再接著鍵盤掃描。具體如程序流程圖41圖41 程序流程圖 4*5鍵盤掃描程序根據(jù)硬件的介紹,鍵盤是直接接到I/O口上的,這個(gè)鍵盤需要一個(gè)軟件的消抖,可對(duì)鍵值按下時(shí)產(chǎn)生的脈沖進(jìn)行相應(yīng)的延時(shí),鍵盤掃描程序在附錄。其驅(qū)動(dòng)程序流程圖42如下所示圖 42 驅(qū)動(dòng)程序流程圖 1602液晶顯示程序 根據(jù)第一章所介紹的1602液晶的相關(guān)資料,我編寫了一個(gè)帶雙參數(shù)的函數(shù)(集合了寫數(shù)據(jù)和寫指令的函數(shù))如下所示:void write(uchar date,uchar ) { lcdrs=。 P0=date。 delay(5)。 lcden=1。 delay(5)。 lcden=0。}第五章 計(jì)算器使用說明這個(gè)計(jì)算器的使用,跟平常所使用的普通計(jì)算器沒多大的區(qū)別,只不過有些未知的因數(shù)在里面,畢竟沒有進(jìn)行相關(guān)的測試,只是一味的滿足任務(wù)書上的要求。舉個(gè)簡單的例子,符號(hào)不能被刪除,就是那個(gè)“C”鍵(鍵盤如圖51),不能刪除符號(hào),但是你想改變符號(hào),你可以直接按符號(hào)鍵。“shift”鍵,它有兩個(gè)功能:一是輸入負(fù)數(shù),這個(gè)負(fù)數(shù)的輸入方法是先輸入該數(shù)的正整數(shù)部分,再按下“shift”鍵,這時(shí)信號(hào)燈會(huì)閃一下,接著在按下負(fù)號(hào)(這時(shí)這個(gè)數(shù)是不能被“C”鍵單個(gè)清除的);二是做為括號(hào)的輸入,這個(gè)括號(hào)在前面第二章主程序中有提起,它是不包含括號(hào)運(yùn)算功能的,只是為了讓負(fù)數(shù)顯示的更理想。還有一點(diǎn)是當(dāng)按下“shift” 鍵時(shí),想取消則再按一次。(注意:在使用“shift”鍵的功能時(shí),當(dāng)要按下第二個(gè)鍵時(shí),應(yīng)當(dāng)停留個(gè)一陣子,以防鍵盤掃描程序掃描不到) 然后由于計(jì)算器可以進(jìn)行連續(xù)的運(yùn)算,為了適輸入的式子是可以被檢查的,所以有“左移”和“右移”兩個(gè)鍵。 圖51 鍵盤分布結(jié) 語在這次畢業(yè)設(shè)計(jì)中遇到到很大的困難,主要原因是平時(shí)的知識(shí)掌握的不夠,通過查閱很多資料和類似的論文才加上劉老師的指導(dǎo)做成的。這次設(shè)計(jì)讓我從硬件上了解單片機(jī)是如何擴(kuò)展外部電路的。如:這次用到了1602液晶,掌握了1602的硬件原理后我們可以使其與單片機(jī)相連,通過對(duì)單片機(jī)的控制,給1602發(fā)出指令或數(shù)據(jù)。通過這次畢業(yè)設(shè)計(jì)可以學(xué)到一種學(xué)習(xí)方法,對(duì)于一塊陌生的芯片,我們可通過提供給的芯片資料,了解其運(yùn)作,然后達(dá)到運(yùn)用的目的。對(duì)于這次的設(shè)計(jì),讓我們發(fā)自內(nèi)心的明白了以下這幾個(gè)道理。其實(shí),這幾個(gè)道理以前我們就懂,就知道,甚至每個(gè)人都知道,但真正到了關(guān)鍵時(shí)間,我們還會(huì)不會(huì)遵循它來辦事就是一個(gè)問號(hào)啦。書讀百遍,其義自現(xiàn),三
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1