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

正文內(nèi)容

畢業(yè)論文-基于at89c51單片機(jī)的電子計(jì)算器設(shè)計(jì)(完整版)

  

【正文】 ... 23 參考文獻(xiàn) .............................................................. 24 附錄 .................................................................. 26 四川師范大學(xué)成都學(xué)院??飘厴I(yè)設(shè)計(jì) 1 第 1 章 緒論 研究背景 單片機(jī) 發(fā)展現(xiàn)狀 單片機(jī)的發(fā)展現(xiàn)狀:使用壽命長(zhǎng);低電壓與低功耗化;發(fā)展速度越來(lái)越快;從 8位、 16 位到 32 位,數(shù)不勝數(shù),應(yīng)有盡有 ,部分與主流 C51 系列兼容,部分與之不兼容,它們各具特色,互補(bǔ)互成。這類單片機(jī)的運(yùn)算速度比標(biāo)準(zhǔn)的單片機(jī)高出 10 倍以上。所以這種工藝將是今后一段時(shí)期單片機(jī)發(fā)展的主要途徑。此外還有MOTOROLA 公司的產(chǎn)品 ,日本幾大公司的專用單片機(jī)。為節(jié)省電能,計(jì)算器都采用 CMOS 工藝制作的大規(guī)模集成電路,并在內(nèi)部裝有定時(shí)不操作自動(dòng)斷電電路。 。矩陣鍵盤(pán)采用四條 I/O 線作為行線,四條 I/O 線作為列線組成鍵盤(pán),在行線和列線的每個(gè)交叉點(diǎn)上設(shè)置一個(gè)按鍵。 電源模塊 設(shè)計(jì) 由于 AT89S52和 LCD1602都是采用 5V供電,而且其他模塊功能也采用 5V電平,本系統(tǒng)采用 LM7805作為穩(wěn)壓芯片,經(jīng)過(guò)初級(jí)和次級(jí)的電容 濾波,最終得到穩(wěn)定的 5V電壓供給系統(tǒng)使用。 單片機(jī)的最小系統(tǒng)設(shè)計(jì): 圖 27最小系統(tǒng) 第 3 章 軟件設(shè)計(jì) 顯示程序設(shè)計(jì) LCD1602 在上電以后,應(yīng)該先等待 50 毫秒左右,讓其內(nèi)部芯片初始化后再對(duì)其進(jìn)行操作。 } lcdwrite_(0x01)。 //數(shù)字初始化 keynum1=0,keynum2=0,sign=0。 beep=1。 軟件調(diào)試 軟件調(diào)試一般分為以下四個(gè)階段: 編寫(xiě)程序并查錯(cuò); 在 C 語(yǔ)言的編譯系統(tǒng)中編譯源程序 四川師范大學(xué)成都學(xué)院??飘厴I(yè)設(shè)計(jì) 20 對(duì)程序進(jìn)行編譯連接,并及時(shí)發(fā)現(xiàn)程序中存在的錯(cuò)誤; 改正錯(cuò)誤。在設(shè)計(jì)的過(guò)程中,也遇到了不少的困難,例如在 LCD 上顯示任意位整數(shù),顯示任意位小數(shù),在輸入小數(shù)的時(shí)候小數(shù)點(diǎn)的處理問(wèn)題,連續(xù)運(yùn)算的結(jié)果保存與清空問(wèn)題等等。利用鍵盤(pán)和 LCD1602 設(shè)計(jì)一個(gè)簡(jiǎn)單的數(shù)學(xué)計(jì)算器,可以完成簡(jiǎn)單的如加,減,乘,除的四則運(yùn)算,并將運(yùn)算結(jié)果在 LCD1602 上顯示出來(lái)。 //清零標(biāo)志 ,1為清零 bit beepflag=0。//任意次方按鍵 uchar keyscan()。((num=0amp。.39。+39。=39。 delayms(5)。 break。) break。 ans1=ans1+point。 sqrtflag1=1。 break。amp。 //顯示小數(shù)點(diǎn) } else lcdwrite_num1(num)。 //開(kāi)方標(biāo)志 lcdwrite_data(0xe8)。 for(i=0。 keynum2。 ans2=ans2+point。||num==39。.39。j++,i++,keynum2) point=point*10+num2[i]。 //進(jìn)行連續(xù)計(jì)算 } } if(ac==1) { ac=0。 if(sign==39。) //計(jì)算多次方 ans=pow(ans1,ans2)。amp。i++) //清除按鍵緩存 num1[i]=0。 lcd_setxy(0,0)。//下降沿觸發(fā) EX1=1。039。 ac=1。N39。0xf0。 case 0x7e:num=39。 temp=tempamp。 break。 } while(temp!=0xf0) 四川師范大學(xué)成都學(xué)院??飘厴I(yè)設(shè)計(jì) 37 { temp=P1。 temp=P1。 case 0xbb:num=3。 } } } P1=0xf7。 while(temp!=0xf0) { temp=P1。 break。 if(keypow==0) { powflag=1。num!=39。 } /*******寫(xiě)命令 **********/ void lcdwrite_(uchar i) { lcddata=i。 LCDRW=0。=0x0f。039。 for(j=0。 nx/=10。 return。 lcdwrite_num(nxtemp)。//顯示第 7位小數(shù) if((nxtemp%1000000%100000%10000%1000%100/10!=0)||(nxtemp%1000000%100000%10000%1000/100!=0)||(nxtemp%1000000%100000%10000/1000!=0)||(nxtemp%1000000%100000/10000!=0)||(nxtemp%1000000/100000!=0)) lcdwrite_data(nxtemp%1000000/100000+0x30)。 //顯示清屏 lcdwrite_(0x01)。 //開(kāi)顯示 0x0e顯示開(kāi),光標(biāo)開(kāi) lcdwrite_(0x0c)。 void lcdwrite_num(long n)。s Zhangye city during their journey to Kazakhstan, Ma。 void lcdwrite_string(uchar *s)。 //設(shè)置光標(biāo)移動(dòng)方向增量方式,并指定顯示不移動(dòng) } ifndef _lcd1602_H_ define _lcd1602_H_ define uint unsigned int define uchar unsigned char define lcddata P0 sbit LCDRS = P2^5。//設(shè)置成 1602 顯示 delayms(5)。//顯示第 5位小數(shù) if((nxtemp%1000000%100000%10000%1000%100/10!=0)||(nxtemp%1000000%100000%10000%1000/100!=0)||(nxtemp%1000000%100000%10000/1000!=0)) 四川師范大學(xué)成都學(xué)院??飘厴I(yè)設(shè)計(jì) 44 lcdwrite_data(nxtemp%1000000%100000%10000/1000+0x30)。.39。39。 } /******顯示 7位小數(shù) *********/ void lcdwrite_float(float n) { uchar i=0。j++) { if(nx=1) length++。 return。//0 在第一行 else address=0xc0+y。 delayms(1)。 LCDRW=0。) //若開(kāi)聲音則每一次按鍵均鳴叫 { beep=0。^39。+39。 break。 temp=tempamp。 case 0x7b:num=39。0xf0。0xf0。 break。 while(temp!=0xf0) //掃描列 { delayms(10)。 break。 switch(temp) { case 0xee:num=7。 //掃描第一行 temp=P1。 if(beepflag==1) //若開(kāi)聲音則每一次按鍵均鳴叫 { beep=0。 lcd_setxy(0,0)。 //開(kāi)中斷 } /***清零中斷程序 ******/ void EX0_int() interrupt 0 { if(beepflag==1) //若開(kāi)聲音則每一次按鍵均鳴叫 { beep=0。039。i8。//ans2=0 或被開(kāi)方數(shù)小于 0 時(shí)提示錯(cuò)誤 else lcdwrite_float(ans)。 lcd_setxy(1,0)。) ans=ans1*ans2。 //清零后進(jìn)行下一次運(yùn)算 } if(sign==39。j0。 四川師范大學(xué)成都學(xué)院專科畢業(yè)設(shè)計(jì) 32 else if(num2[i]==39。||num==39。 //輸入等于號(hào)則退出第二運(yùn)算數(shù)的輸入 } else if(num==39。keynum20。i++) //計(jì)算按下的數(shù)字的大小 { if(num2[i]!=39。 delayms(100)。 keynum2++。.39。 //若清零,則退出輸入 if(sqrtflag1==1) //若第一次 按鍵為開(kāi)方,則直接顯示結(jié)果 { break。 while(keysqrt==0)。 //清除開(kāi)方標(biāo)志 sqrtflag2=0。 } for(keynum1,i++,j=0。keynum10。 lcdwrite_float(ans1)。^39。39。.39。num=9)||num==39。 /****主程序 ***/ void main(void) { maininit()。 //開(kāi)方 1標(biāo)志位 bit sqrtflag2=0。//鍵盤(pán)掃描數(shù)值 uchar keynum1=0,keynum2=0,sign=0,i=0,j=0。雖然某些問(wèn)題解決得不夠完美,但是都是經(jīng)過(guò)自己的思考和努力解決的,在此過(guò)程自己也學(xué)到了很多東西,例如學(xué)會(huì)了矩陣鍵盤(pán)的掃描技術(shù)、 LCD 接口技術(shù)、LCD 的顯示技術(shù)、中斷技術(shù)等等,這些技術(shù)對(duì)熟練單片機(jī)的使用以及單片機(jī)項(xiàng)目開(kāi)發(fā)是非常有幫助的。 系統(tǒng)演示 整體圖的照片: 圖 51未工作時(shí)系統(tǒng) 各項(xiàng)功能測(cè)試: 表 51功能測(cè)試 加法測(cè)試 減法測(cè)試 四川師范大學(xué)成都學(xué)院??飘厴I(yè)設(shè)計(jì) 21 表 52功能測(cè)試 乘法測(cè)試 除法測(cè)試 表 53功能測(cè)試 開(kāi)方測(cè)試 多次方運(yùn)算測(cè)試 表 54功能測(cè)試 錯(cuò)誤提示測(cè)試 1 錯(cuò)誤提示測(cè)試 2 由以上測(cè)試結(jié)果可知,計(jì)算器的各項(xiàng)功能正常,基本能達(dá)到設(shè)計(jì)要求。 軟件系統(tǒng)總框圖如下: 是 是 否 是 是 是 否 是 開(kāi)始 初始化 有按鍵按下? 鍵盤(pán)掃描 返回值為09? 計(jì)算第一次輸入的數(shù)值大小 鍵盤(pán)掃描 LCD 顯示 計(jì)算第二次輸入的數(shù)值大小 運(yùn)算計(jì)算結(jié)果 返回值為09? 繼續(xù)有按鍵被按下? 有按鍵按下? 按鍵值為09? 四川師范大學(xué)成都學(xué)院??飘厴I(yè)
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1