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

正文內(nèi)容

基于8051與1601lcd設(shè)計的計算器-預(yù)覽頁

2024-12-14 15:38 上一頁面

下一頁面
 

【正文】 anode digital display, software part is written by the C language. Design task Using a keyboard and digital pipe design a simple mathematical calculator, can plete simple as add, subtract, multiply, divide arithmetic, and the operation result in digital tube will be displayed. 第一章 緒論 計算器 ( Calculator) 是微型電子計算機的一種特殊類型 。 簡易計算器主要用于加減乘除;科學(xué)計算器,又增添了初等函數(shù)運算(有的還帶有數(shù)據(jù)總加、求平均值等統(tǒng)計運算) 。 隨著社會需求,計算器也從原有單一的數(shù)字加減計算 演變?yōu)閺?fù)雜的多種運算。另一方面,在單片機百花齊放的時代,我們需放點精力在單片機上,針對為何選8051,因為它是一種通用型的單片機,性價比較高,雖然是 8位的單片機,但現(xiàn)在應(yīng)用的量及范圍還很大,同時,因 51單片機發(fā)展的歷史長,學(xué)習(xí)資料比較多而且完善。計算器以 FPGA為核心控制器,系統(tǒng)由分頻模塊、運算模塊和譯碼顯示模塊四個模塊構(gòu)成。該計算器用 555 做時鐘信號發(fā)生器,通過選擇開關(guān)把 CP 脈沖加到計數(shù)器,計數(shù)器置數(shù)時,先將置數(shù)開關(guān)合上,再通過 BCD 撥碼開關(guān)置數(shù),完成后將置數(shù)開關(guān)復(fù)位,計數(shù)器的輸出要通過七段譯碼器送到數(shù)碼管顯示,將計數(shù)器的輸出信號送到比較器與所設(shè)的上限數(shù)值進(jìn)行比較,將比較結(jié)果再通過繼電器輸出,將結(jié)果送 到脈沖信號發(fā)生器,進(jìn)行加減法計算。 如果優(yōu)先級大于當(dāng)前棧頂元素,那么將其壓棧, 如果其優(yōu)先級小于當(dāng)前棧頂元素,那么執(zhí)行 取當(dāng)前棧頂操作符,如果優(yōu)先級相等,則當(dāng)前操作符出棧 ...... 方案四 基于單片機的簡易計算器設(shè)計 此方案中,硬件主要由四部分組成,核心部分為 8051單片機芯片,按鍵部分是一個 KEYPADCALCULATOR鍵盤,采用軟件識別鍵值,并執(zhí)行相應(yīng)的操作。 方案論證與設(shè)計 方案一:用 FPGA 來實現(xiàn) ,可以將所有器件集成在一塊芯片上,體積大大減小,外圍電路也比較簡單,易于實現(xiàn),但其運算速度比單片機實現(xiàn)慢,價格也比較昂貴。利用 RAM 存放計算器系統(tǒng)存儲的數(shù)據(jù),從而可以根據(jù)需要隨時的讀入和寫出。 針對軟件編程,看個人習(xí)慣,用匯編來實現(xiàn)或者用 C 語言程序來實現(xiàn)都可以。 作為大學(xué)生的我們,尤其是電子信息專業(yè)的我們,對于開發(fā)單片機,探 索單片機,增強自己的專業(yè)技術(shù)技能,為我國的高科技技術(shù)貢獻(xiàn)一份自己力所能及的力量更是特別重要。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨特的一些功能,通過使用單片機編寫的程序可以實現(xiàn)高智能,高效率,以及高可靠性!因此我們采用單片機作為計算器的主要功能部件,可以進(jìn)行很快地實現(xiàn)運算功能 ,如圖 21所示: 輸入模塊:鍵盤掃描 計算器輸入數(shù)字和其他功能按鍵要用到很多按鍵,如果采用獨立按鍵的方式,在這種情況下,編程會很簡單,但是會占用大量的 I/O 口資源,因此在很多情況下都不采用這種方式 。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機系統(tǒng)中 I/O 口的利用率。判斷有無按鍵按下的方法是:第一步,置列線 P34~P37 為輸入狀態(tài),從行線 P30~P33 輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。 運算模塊:單片機控制 AT80C51 單片機是在一塊芯片中集成了 CPU、 RAM、 ROM、定時器 /計數(shù)器和多功能 I/O 等一臺計算機所需要的基本功能部件。 顯示模塊: LCD1602 本設(shè)計采用 LCD 液晶顯示器來顯示輸出數(shù)據(jù)。列掃描信號進(jìn)行讀入行的信號判斷該列是否有列的輸出 —— 是則進(jìn)行按照行列計算鍵盤的值,查表取得鍵碼并返回 —— 若否則進(jìn)行再次掃描。運算主程序框圖如34 所示 : 圖 運算主程序框圖 開 始 初始化參數(shù) LCD 顯示 有鍵輸入 讀取鍵碼 數(shù) 字鍵盤 輸入數(shù)值 數(shù)值送顯示緩沖 鍵碼是? 清零鍵 功能鍵盤 狀態(tài)清零 根據(jù)上次功能鍵和輸入的數(shù)據(jù)計算結(jié)果 本次功能鍵 是“ =” 其它鍵 計 算最 后結(jié)果 保存結(jié)果和功能鍵 結(jié)果送顯示緩沖 等待數(shù)值鍵入 最后總結(jié) : 本設(shè)計采用 80S51 芯片,實現(xiàn)了利用單片機進(jìn)行了一個簡單計算器設(shè)計。 設(shè)計的關(guān)鍵所在,必須非常熟悉單片機的原理與結(jié)構(gòu),同時還要對整個設(shè)計流程有很好的把握,將單片機和其他模塊完整的銜接。 實驗結(jié)果與性能達(dá)標(biāo) 我的計算器只能進(jìn)行最多三位數(shù)結(jié)果最多顯示四位數(shù)的四則運算,如果要進(jìn)行更大的數(shù)的運算則只需要在程序中稍加改動即可。第三:相關(guān)知識掌握的不夠全面,缺少系統(tǒng)設(shè)計的經(jīng)驗。我覺得動手之前,頭腦里必須清楚該怎么做,這一點是很重要的。 在此次的 畢業(yè) 設(shè)計中我最大的體會就是進(jìn)一步認(rèn) 識到了理論聯(lián)系實踐的重要要性。謝謝老師給我們提供這么好的機會,為我們之后走向社會奠定了一個好的基礎(chǔ)。 致 謝 畢業(yè)設(shè)計就要結(jié)束了,在這一段時間里,我感到自己的收獲是非常大的,使我在專業(yè)技能、動手能力多方面都有了很大的提高。這使得我能夠順利的完成畢業(yè)設(shè)計工作。 sbit lo=P2^6。 uchar temp,num,i。 uchar code asc_code[]={39。,39。,39。,39。,39。,39。,39。,39。}。 for(x=z。y)。 E=0。 0x80)。 lcdrs=0。 E=0。 lcdrs=1。 E=0。 write_(0x38)。 write_(0x38)。 /*顯示關(guān)閉 */ write_(0x01)。 /*顯示開及光標(biāo)設(shè)置 */ } /* 清屏函數(shù) */ void LCD_Clear(void) { write_(0x01)。 } write_data( Data)。 ge=a%10。 } /* 鍵盤掃描 */ uchar keyscan() { P3=0x7f。 while(temp!=0x0f) //檢測是否有按鍵按下 { delay(5)。 while(temp!=0x0f) { // temp=P3。 break。 break。 // } return num。0x0f。0x0f。 case 0x0d: num=5。 case 0x07: num=7。0x0f。 temp=tempamp。 temp=tempamp。 break。 break。 temp=tempamp。 } //////////////////////// P3=0xef。 while(temp!=0x0f) { delay(5)。 while(temp!=0x0f) { // temp=P3。 break。 break。 } return num。 int a,b。amp。 if(i==1) //輸入第二位數(shù)時 a=a*10+num。 if(j==0) //輸入第一位數(shù)時 b=num。 } } else if(num!=0xffamp。num16) { if(asc_code[num]==39。||asc_code[num]==39。) //檢測是否有運算符按下 { sign++。=39。+39。39。*39。/39。 //顯示函數(shù) } } } }
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1