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

正文內(nèi)容

畢業(yè)設(shè)計-基于mc單片機(jī)的簡易計算器設(shè)計(完整版)

2025-01-20 19:21上一頁面

下一頁面
  

【正文】 未來的智能化計算器將是我們的發(fā)展方向,更希望成為應(yīng)用廣泛的計算工具。通過本設(shè)計的學(xué)習(xí),使我掌握單片機(jī)程序設(shè)計和微機(jī)接口應(yīng)用的基本方法,并能綜合運(yùn)用本科階段所學(xué)軟、硬件知識分析實際問題,提高解決畢業(yè)設(shè)計實際問題的能力,為單片機(jī)應(yīng) 用和開發(fā)打下良好的基礎(chǔ)。因此,單片機(jī)只要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機(jī)控制系統(tǒng)。在 單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng) 可編程 Flash,使得 AT89S52 為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 圖 AT89S52引腳圖 ( 1) 口線: P0、 P P P3 共四個八位口。 P1口: P1 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口, p1 輸出緩沖器能驅(qū)動 4 個TTL 邏輯電平。 在訪問外部程序存儲器或用 16 位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行 MOVX DPTR) 時, P2 口送出高八位地址。 表 P3 口管腳 備選功能: 端口引腳 第二功能 RXD(串行輸入口) TXD(串行輸出口) /INT0(外部中斷 0) /INT1(外部中斷 1) T0(記時器 0外部輸入) T1(記時器 1外部輸入) /WR(外部數(shù)據(jù)存儲器寫選通) /RD(外部數(shù)據(jù)存儲器讀選通) 7 在 flash 編程和校驗時, P3 口也接收一些控制信號。一般情況下, ALE 仍以時鐘振蕩頻率的 1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。需注意的是:如果加密位 LB1被編程,復(fù)位時內(nèi)部會鎖存EA 端狀態(tài)。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為 12MHz,時鐘頻率就為 6MHz。 圖 按鍵電平復(fù)位 9 AT89SXX 系列單片機(jī)實現(xiàn)了 ISP 下載功能,故而取代了 89CXX 系列的下載方式,也是因為這樣, ATMEL 公司已經(jīng)停止生產(chǎn) 89CXX 系列的單片機(jī),現(xiàn)在市面上的 AT89CXX 多是停產(chǎn)前的庫存產(chǎn)品。 單片機(jī)的現(xiàn)狀及發(fā)展方向 : 單片機(jī)是為了工業(yè)控制需要滿足而誕生的,是自動控制系統(tǒng)的核心部件,因而也主要用于工業(yè)控制、智能化儀器儀表、家用電器中。 第 4腳 RS為寄存器選擇,高電平選擇數(shù)據(jù)寄存器、低電平選擇指令寄存器。故選擇靜態(tài)顯示和用編碼鍵盤。所以,在設(shè)計本系統(tǒng)得時候,在滿足可靠性和實時性的前提下,盡可能的通過軟件來實現(xiàn)硬件功能。 根據(jù)第提出的系統(tǒng)設(shè)計方案,結(jié)合以上三條原則,確定了系統(tǒng)硬件的設(shè)計。鍵盤部分采用 編碼鍵盤, 顯示部分采用 LCD液晶顯示屏 完全能夠很好的實現(xiàn)顯示方面的要求。如 圖 圖 編碼鍵盤 電路 18 顯示電路的設(shè)計 當(dāng)系統(tǒng)需要顯示少量數(shù)據(jù)時,采用 LCD液晶顯示屏 進(jìn)行顯示是一種經(jīng)濟(jì)實用的方法。 數(shù)字鍵按下則將相應(yīng)的數(shù)字送入緩存區(qū),功能鍵按下則執(zhí)行相應(yīng)的程序。軟件的編寫過程中費(fèi)了很大的力氣,因為軟件的編寫要求很高,要很細(xì)心,一不小心就會調(diào)用錯誤,很深刻的體會到作為軟件編程人員是絕不能粗心大意的。在寫畢業(yè)設(shè)計論文的階段,陳老師讓我們提前給他評審,不論內(nèi)容字體,還是格式上的問題都一一指出。) { BWR_data(*str)。 P2=P2|0x0F。 EA=0。 //第一次輸入數(shù)字存在 b[16]里,按下中間計算符后,循環(huán) a[len]=b[len]。 //正負(fù)號 bit point。 else if(key==22) key=39。 else if(key==33) key=39。 //清空 else if(key==21) key=39。 else if(key==44) key=39。 else if(key==16) key=39。 //M+ else key=39。039。amp。 b[len+1]=39。039。 } 31 } } } } //負(fù)號處理 if(key==39。 } b[0]=39。 LCD_moveto(1,14len)。||key==39。 39。 arc=key。 for(i=0。 len=0。amp。 39。 arc=0。i16。.39。 LCD_printf(Error!!!)。039。 LCD_printf( )。 LCD 液晶顯示屏模塊程序 include /*【端口設(shè)置宏定義】 */ define LCDPORT P0 //LCD 數(shù)據(jù)接口。i122。 LCD_delay(1)。 LCD_delay(1)。 }*/ /*【帶忙檢測的指令寫入】 */ void BWR_cmd(char cmd) { detect()。 LCDRS=1。 } /*【字符串輸出】 */ void LCD_printf(unsigned char *str) { while(*str!=39。 LCD_delay(5)。 編碼鍵盤模塊程序 include /*【 N ms 延時】 */ /*void Key_delay(int n) { int i。0xC0。 P2=P2|0x0F。 } else if(LN==0x3D) {key=key+2。 //數(shù)組轉(zhuǎn)換成浮點數(shù) sscanf(first,%f,amp。39。 }//浮點數(shù)轉(zhuǎn)化成數(shù)組 if(a||a1000000) {sprintf(first,%e ,a)。她抬起頭,朝窗外望了望:陽光很純凈,很嫵媚,果然是個陽光燦爛的日子。 初三第一學(xué)期期末,我的成績有所進(jìn)步,開家長會的時候,老師表揚(yáng)了我,媽媽特高興。 可以上網(wǎng)了 ,我就天天呆在電腦前。 。起初我有節(jié)制 ,會控制自己 ,玩到 9 點 10 點的不用爸媽催 ,那時候真的很乖啊。再說,村里剛發(fā)了錢,他們高興,他們手里癢癢。它仿佛觸動了她心底的一角,讓她聽到了冰層融化的聲音。 } } “那破玩意兒,有什么用啊,連大學(xué)畢業(yè)證都成費(fèi)紙了,還拿初中畢業(yè)證嚇唬我,誰希罕! ”劉冰兒想。 } else if(opn==39。 sscanf(second,%f,amp。 } else if(LN==0x37) {key=key+4。0xC0。0x0F。n0。 BWR_cmd(0x38)。) {BWR_data(*str)。 LCDPORT=dat。 LCDRW=0。 } /*【不檢測忙的數(shù)據(jù)寫入】 */ /*void NWR_data(char dat) 這個貌似沒用,湊數(shù)的 ~ { LCDRS=1。 LCD_delay(1)。 LCDPORT=0xFF。 define LCDRW P3_6 //讀寫信號: 1讀 LCD; 0寫 LCD。 LCD_printf(a)。.39。i16。 sign=0。 39。C39。039。point==len) { key=39。 point=0。i++) //清空 b { b[i]=39。/39。039。||key==39。 } } 32 } else if(key==39。 sign=1。) { if(len0) { if(sign==0amp。.39。 len++。039。.39。 //錯誤 if(len15) //前 15 個數(shù)字輸入有效 { if(len==0) { LCD_init()。 else if(key==26) key=39。 else if(key==45) key=39。 //正負(fù)號 else if(key==31) key=39。 else if(key==34) key=39。 else if(key==23) key=39。 //數(shù)字鍵處理 if(key==12) key=39。 //再次輸入數(shù)字仍存在 b[16]里,按下等號后,計算 a,b,結(jié)果存在 b[len]。i0。0xC0。 } } void Header() { LCD_moveto(0,0)。更重要的是,他善于與學(xué)生溝通,不僅在畢業(yè)設(shè)計上給我及時的指導(dǎo),更為我大學(xué)最后階段的學(xué)習(xí)提出了許多寶貴的意見。編程時,我充分使用了結(jié)構(gòu)化的思想。 顯示模塊的流程圖如圖 : 20 主程序的設(shè)計 主程序主要是用來對 LCD 液晶顯示屏進(jìn)行初始化的。 最終電路如圖 : 圖 LCD液晶顯示屏 顯示 19 第 五 章 計算器的軟件設(shè)計 計算器的軟件規(guī)劃 簡易計算器的程序主要包括以下功能模塊: 定時查鍵模塊,分為讀鍵程序、判鍵程序段、運(yùn)算操作子程序等部分; 基于 LCD液晶顯示屏的 顯示模塊; 主模塊,為系統(tǒng)的初始化。編碼鍵盤是較多按鍵( 20個以上)和專用驅(qū)動芯片的組合,當(dāng)按下某個按鍵時,它能夠處理按鍵抖動、連擊等問題,直接輸出按鍵的編碼,無需系統(tǒng)軟件干預(yù)。 該系統(tǒng)的硬件設(shè)計采用了模塊化的設(shè)計方法。而且,所用芯片數(shù)量越少,地址和數(shù)據(jù)總線在電路板上受干擾的可能性也就越小。 主程序進(jìn)行初始化,其他的程序選擇模塊 式的方式。 當(dāng) RS和 RW共同為低電平時 ( 00)可以寫入指令或者顯示地址; 當(dāng) RS為低電平 RW為高電平時( 01)可以讀入忙信號; 當(dāng) RS為高電平 RW為低電平時( 10)可以寫入數(shù)據(jù)。 由于單片機(jī)主要面向工業(yè)控制,工作環(huán)境比較惡劣,入高溫,強(qiáng)電磁干擾,甚至含有腐蝕性氣體,在太空中工作的單片機(jī)控制系統(tǒng),還必須具有抗輻射能力,這決定了單片機(jī) CPU 于通用微機(jī) CPU 具有不同的技術(shù)特征和發(fā)展方向: (1) 可靠性高; (2) 控制功能往往很強(qiáng),數(shù)值計算交叉; (3) 指令系統(tǒng)比通用微處理器慢的多; (4) X 系列芯片取代; (5) 抗干擾性強(qiáng),工作溫度范圍寬。 ② 在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。電容取 20PF 左右。 FLASH 存儲器編程時,該引腳加上 +12V 的編程允許電源 Vpp,當(dāng)然這必須是該器件是使用 12V編程電壓 Vpp。 對 FLASH 存儲器編程期間,該引腳還用于輸入編程脈沖( PROG)。 ( 2)其他引腳說明: RST:復(fù)位輸入。 在使用 8 位地址(如 MOVX RI)訪問外部數(shù)據(jù)存儲器時, P2 口輸出 P2鎖存器的內(nèi)容。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流( IIL)。作為輸出口,每位能驅(qū)動 8 個 TTL邏輯電平。 此外, AT89S52 可降至 0Hz 靜態(tài)邏 輯操作,支持 2 種軟件可選擇節(jié)電模式。 方案比較與選擇 通過以上兩種方案論證和比較,從設(shè)計的實用性,方便性和成本出發(fā),選擇了以 AT89S52單片機(jī)作為中央處理單元進(jìn)行計算器的設(shè)計,這樣設(shè)計能夠?qū)崿F(xiàn)對六位浮點數(shù)的加減和三位浮點數(shù)的乘除運(yùn)算。 2 第 二 章 方案論證 方案構(gòu)思 本設(shè)計可以采用
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1