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

正文內(nèi)容

基于單片機(jī)的計(jì)算器設(shè)計(jì)計(jì)算器畢業(yè)論文-wenkub.com

2025-06-24 20:50 本頁(yè)面
   

【正文】 if(nxtemp%10!=0) lcdwrite_data(nxtemp/1000000+0x30)。)。//+。)。)。 uint j=0。length) { a[length1]=nx%10+0x30。 nx/=10。 } nx=n。 } if(n0) { lcdwrite_data(39。 if(n==0) { lcdwrite_data(39。//1在第二行 lcdwrite_(address)。 yamp。 LCDEN=1。 LCDRS=1。 LCDEN=0。 while(TempMS)。 delayms(100)。amp。 } while(keypow==0)。 //等待松手 } } } if(keypow==0) { delayms(5)。 break。=39。 case 0xd7:num=39。0xf0。0xf0。0xf0。39。 break。 while(temp!=0xf0) { temp=P1。 while(temp!=0xf0) //掃描列 { delayms(10)。 //等待松手 } } } P1=0xfb。 break。 case 0xbd:num=6。 switch(temp) { case 0xed:num=4。 temp=P1。 //掃描第二行 temp=P1。 } while(temp!=0xf0) //等待松手 { temp=P1。 break。 break。 temp=tempamp。 temp=tempamp。 //若沒有按下任何按鍵,則返回39。 delayms(100)。 conflag=0,newcalc=0。 num=39。 lcdwrite_data(39。 delayms(100)。//開外部中斷0 IT1=1。)。 //等待液晶初始化 lcd_init()。i++) num2[i]=0。i8。 //顯示結(jié)果 sqrtflag1=0,newcalc=1。)||(ans10amp。 if((ans2==0amp。^39。 if(sign==39。) ans=ans1ans2。+39。 break。j) point*=。keynum20。.39。i++) //計(jì)算按下的數(shù)字的大小 { if(num2[i]!=39。^39。*39。+39。 if(sqrtflag2!=1) lcdwrite_data(num)。j++,i++,keynum2) point=point*10+num2[i]。) break。.39。 } } point=0。 beep=1。 if(keysqrt==0) { sqrtflag2=1。 } } else if(num==39。)。)) //記錄按下的數(shù)字 { if(keynum2=7) { if(num==39。((num=0amp。 } if((keyscan()!=39。 //記住運(yùn)算符號(hào) lcdwrite_data(num)。 delayms(10)。 } ans=sqrt(ans1)。//清除開方標(biāo)志 if(keysqrt==0) //計(jì)算開方 { delayms(5)。j) point*=。keynum10。.39。i++) //計(jì)算按下的數(shù)字的大小 { if(num1[i]!=39。) lcdwrite_data(num)。 if(sqrtflag2!=1amp。 lcdwrite_(0x01)。||keysqrt==0) { if(keynum1==0amp。||num==39。||num==39。 } } else if(num==39。)。 } if(keynum1=7) //限制輸入位數(shù) { if(num==39。.39。amp。//初始化 while(1) //整個(gè)系統(tǒng)大循環(huán),讓計(jì)算器一直處于工作狀態(tài) { while(1) //第一運(yùn)算數(shù)掃描 { if(ac==1) break。//開方按鍵sbit keypow=P3^5。 //開方2標(biāo)志位bit powflag=0。 //新運(yùn)算標(biāo)志bit ac=0。 //按鍵計(jì)數(shù),符號(hào)標(biāo)示uchar num1[8]={0},num2[8]={0}。 致 謝本課題是在武傳艷導(dǎo)師的直接關(guān)懷和耐心指導(dǎo)下完成的。通過(guò)使用單片機(jī)編寫的程序?qū)崿F(xiàn)高智能、高效率和更高的可靠性。最后通過(guò)不斷的查閱資料,請(qǐng)教別人,修改程序,下載調(diào)試等過(guò)程,終于把遇到的問(wèn)題逐一解決了。另外,由連續(xù)運(yùn)算、新一輪運(yùn)算測(cè)試、錯(cuò)誤提示測(cè)試的結(jié)果以及運(yùn)算過(guò)程中的AC清零、聲音開關(guān)設(shè)置可見,本設(shè)計(jì)的計(jì)算器的功能基本能實(shí)現(xiàn)。在本次調(diào)試中出現(xiàn)的問(wèn)題有:在程序中有的函數(shù)名未定義;在抄錄程序時(shí),少錄入一些字符,如: ”“{”“”“;、 、等符號(hào),而出現(xiàn)錯(cuò)誤;有一些函數(shù)名錄入時(shí)少寫一個(gè)字母或順序顛倒;沒有注意函數(shù)名的調(diào)用及定義;芯片引腳定義出錯(cuò)而導(dǎo)致沒有實(shí)驗(yàn)現(xiàn)象??煽啃圆睿阂蚱淇煽啃圆畹脑蚝芏啵缃饘倩?、接插件接觸不良會(huì)造成系統(tǒng)時(shí)好時(shí)壞,經(jīng)不起振動(dòng);走線和布局不合理也會(huì)引起系統(tǒng)可靠性差。 }}整體程序包括:、 本系統(tǒng)采用大小循環(huán)嵌套方式的軟件設(shè)計(jì)思想,大循環(huán)則一直在運(yùn)行,使計(jì)算器一直處于工作狀態(tài),并不斷掃描按鍵,小循環(huán)用于識(shí)別數(shù)字是否輸入完,一旦檢測(cè)到輸入的是運(yùn)算符,則轉(zhuǎn)換輸入數(shù)值并儲(chǔ)存起來(lái),最后按下等于號(hào)以后則根據(jù)運(yùn)算符計(jì)算兩個(gè)數(shù)值的大小,并通過(guò)LCD顯示。其程序框圖如圖44:中斷1入口 聲音標(biāo)注位取反 聲音標(biāo)志位為1? 否 開聲音提示 返回主程序 圖44聲音開關(guān)程序流程圖其程序如下:/***聲音中斷程序******/void EX1_int() interrupt 2{ beepflag=~beepflag。 ans1=0,ans2=0,ans=0,point=0。 lcd_setxy(0,0)。 //顯示清屏 lcd_setxy(0,0)。其程序框圖如圖43所示: 中斷0入口 LCD清屏顯示0 各數(shù)據(jù)存儲(chǔ)清零 清零標(biāo)志位置1 返回主程序 圖43清零程序流程圖其程序如下:/***清零中斷程序******/void EX0_int() interrupt 0{ if(beepflag==1) //若開聲音則每一次按鍵均鳴叫 { beep=0。在對(duì)其操作時(shí),應(yīng)參考其時(shí)序圖,先把命令寫入其內(nèi)部寄存器設(shè)置它的工作方式和狀態(tài)。通過(guò)不同的程序?qū)崿F(xiàn)不同的功能,尤其是一些特殊的功能,通過(guò)使用單片機(jī)編寫的程序可以實(shí)現(xiàn)高智能、高效率以及高可靠性!因此我們采用單片機(jī)作為計(jì)算器的主要功能部件,可以很快地實(shí)現(xiàn)運(yùn)算功能。由于AT89S52和LCD1602都是采用5V供電,而且其他模塊功能也采用5V電平,本系統(tǒng)采用LM7805作為穩(wěn)壓芯片,經(jīng)過(guò)初級(jí)和次級(jí)的電容濾波,最終得到穩(wěn)定的5V電壓供給系統(tǒng)使用。、音樂(lè)開關(guān)、開方和多次方運(yùn)算功能模塊設(shè)計(jì)本設(shè)計(jì)要求在任何時(shí)候按下AC清零鍵,都必須退出當(dāng)前操作,數(shù)據(jù)清零,準(zhǔn)備下一次的運(yùn)算,故應(yīng)采用獨(dú)立鍵盤產(chǎn)生下降沿輸入給單片機(jī)外部中斷處理。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度??刂芁CD液晶顯示屏顯示輸出數(shù)據(jù),與RS,RW,E,連接 。P1口:作為輸入口,與鍵盤連接,實(shí)現(xiàn)數(shù)據(jù)的輸入.矩陣鍵盤的設(shè)計(jì)如圖34所示: 圖34矩陣鍵盤圖34矩陣鍵盤鍵值與其功能對(duì)應(yīng)表如表32所示: 表32按鍵功能對(duì)照 對(duì)照 鍵值 0 1 2 3 4 5 6 7 8 9 + / = . 功能 0 1 2 3 4 5 6 7 8 9 + / = 點(diǎn) LCD顯示模塊設(shè)計(jì)LCD1602,工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符(16列2行),故簡(jiǎn)稱1602。 單片機(jī)的最小系統(tǒng)設(shè)計(jì)如圖33所示:圖33 單片機(jī)最小系統(tǒng)計(jì)算器輸入數(shù)字和其他功能按鍵要用到很多按鍵,如果采用獨(dú)立按鍵的方式,在這種情況下,編程會(huì)很簡(jiǎn)單,但是會(huì)占用大量的I/O 口資源,因此在很多情況下都不采用這種方式,而是采用矩陣鍵盤的方案。改變編程單元的地址和寫入的數(shù)據(jù),重復(fù)①—⑤步驟,直到全部文件編程結(jié)束。③ 激活相應(yīng)的控制信號(hào)。如圖32所示。機(jī)器周期=12時(shí)間周期,如12MHz的機(jī)器周期為1微秒。 XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接加到XTAL1,而XTAL2懸空。   如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。 P3口亦作為AT89S52特殊功能(第二功能)使用,如表31所示。 在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。   此外,()和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(),具體如下表所示。程序校驗(yàn)時(shí),需要外部上拉電阻。 對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。AT89S52引腳功能AT89S52 單片機(jī)為40 引腳芯片見圖31。空閑模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工 作。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于 常規(guī)編程器。 第三章 系統(tǒng)硬件設(shè)計(jì) 主控模塊設(shè)計(jì)主要性能: (1) ? 8031 CPU與MCS51 兼容   ? 8K字節(jié)可編程FLASH存儲(chǔ)器(壽命:1000寫/擦循環(huán))   ? 全靜態(tài)工作:0Hz33MHz   ? 三級(jí)加密程序存儲(chǔ)器   ? 128*8位內(nèi)部RAM   ? 32條可編程I/O線   ? 三個(gè)16位定時(shí)器/計(jì)數(shù)器   ? 八個(gè)中斷源   ? 全雙工UART串行通道 ? 低功耗的閑置和掉電模式? 掉電后中斷可喚醒? 看門狗定時(shí)器? 雙數(shù)據(jù)指針? 掉電標(biāo)識(shí)符 ? 片內(nèi)振蕩器和時(shí)鐘電路 (2) 管腳說(shuō)明:    VCC:供電電壓。單片機(jī)廣泛用于智能產(chǎn)品,智能儀表,測(cè)控技術(shù),智能接口等,具有操作簡(jiǎn)單,實(shí)用方便,價(jià)格便宜等優(yōu)點(diǎn),而其中AT89S52以MCS51為內(nèi)核,是單片機(jī)中最典型的代表,應(yīng)用于各種控制領(lǐng)域。但是而基于 SRAM編程的FPGA,其編程信息需存放在外部存儲(chǔ)器上 ,需外部存儲(chǔ)器芯片 ,且使用方法復(fù)雜 ,保密性差,而其對(duì)于一個(gè)簡(jiǎn)單的計(jì)算器而言,實(shí)用FPGA有點(diǎn)大材小用,成本太高。隨著科學(xué)技術(shù)的不斷發(fā)展及計(jì)算器應(yīng)用的普及,人們發(fā)現(xiàn)在工業(yè)控制中,有很多時(shí)候需要在惡劣的環(huán)境中進(jìn)行各種數(shù)據(jù)的采集、運(yùn)算和控制。為節(jié)省電能,計(jì)算器都采用CMOS工藝制作的大規(guī)模集成電路,并在內(nèi)部裝有定時(shí)不操作自動(dòng)斷電電路。為減小計(jì)算器的尺寸,一鍵常常有多種功能。 此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機(jī)除了功能強(qiáng)和功耗低外,還要求其體積要小。CMOS雖然功耗較低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點(diǎn),這些特征,更適合于在要求低功耗,電池供電的應(yīng)用場(chǎng)合。隨著低價(jià)位OTP(One Time Programble)及各種特殊類型片內(nèi)程序存儲(chǔ)器的發(fā)展,加之處圍接口不斷進(jìn)入片內(nèi),推動(dòng)了單片機(jī)“單片”應(yīng)用結(jié)構(gòu)的發(fā)展。另外并加強(qiáng)了位處理、中斷和定時(shí)控制功能。縱觀單片機(jī)的發(fā)展歷史,其有如下發(fā)展趨勢(shì):大容量、高性能以往單片機(jī)內(nèi)的ROM為1KB~4KB,RAM 為64~128B。利用鍵盤和LCD1602設(shè)計(jì)一個(gè)簡(jiǎn)單的數(shù)學(xué)計(jì)算器,可以完成簡(jiǎn)單的如加,減,乘,除的四則運(yùn)算,并將運(yùn)算
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦

基于單片機(jī)的簡(jiǎn)易計(jì)算器設(shè)計(jì)-資料下載頁(yè)

【總結(jié)】電》