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

正文內(nèi)容

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