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

正文內(nèi)容

基于51單片機(jī)的簡易計算器設(shè)計報告-wenkub.com

2025-06-03 22:34 本頁面
   

【正文】 // lcdwrite_(0x05)。// lcdwrite_(0x0f)。 lcdwrite_(0x38)。}/*******初始化液晶*******/void lcd_init(void){ lcdwrite_(0x01)。//顯示第4位小數(shù) if((nxtemp%1000000%100000%10000%1000%100/10!=0)||(nxtemp%1000000%100000%10000%1000/100!=0)) lcdwrite_data(nxtemp%1000000%100000%10000%1000/100+0x30)。// 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。 break。 switch(temp) { case 0xe7:num=39。 temp=P1。 //掃描第四行 temp=P1。 } while(temp!=0xf0) //等待松手 { temp=P1。 case 0xbb:num=5。*39。 temp=tempamp。 temp=tempamp。 temp=tempamp。 break。 break。0xf0。0xf0。0xf0。 case 0x7e:num=0。 break。+39。 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。)||(ans0amp。 if((ans2==0amp。^39。 if(sign==39。) ans=ans1ans2。+39。 break。j) point*=。keynum20。.39。i++) //計算按下的數(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)算符號 lcdwrite_data(num)。 delayms(10)。 } ans=sqrt(ans1)。//清除開方標(biāo)志 if(keysqrt==0) //計算開方 { delayms(5)。j) point*=。keynum10。.39。i++) //計算按下的數(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) //整個系統(tǒng)大循環(huán),讓計算器一直處于工作狀態(tài) { while(1) //第一運(yùn)算數(shù)掃描 { if(ac==1) break。//開方按鍵sbit keypow=P3^5。 //開方1標(biāo)志位bit sqrtflag2=0。 //繼續(xù)運(yùn)算標(biāo)志位bit newcalc=0。//鍵盤掃描數(shù)值uchar keynum1=0,keynum2=0,sign=0,i=0,j=0。在兩周的課程設(shè)計時間里,經(jīng)過努力拼搏,查閱了很多資料和文獻(xiàn),終于完成了基于單片機(jī)的計算器的設(shè)計。最后通過不斷的查閱資料,請教別人,修改程序,下載調(diào)試等過程,終于把遇到的問題逐一解決了。另外,由連續(xù)運(yùn)算、新一輪運(yùn)算測試、錯誤提示測試的結(jié)果以及運(yùn)算過程中的AC清零、聲音開關(guān)設(shè)置可見,本設(shè)計的計算器的功能基本能實(shí)現(xiàn)。其程序框圖如右圖: 聲音開關(guān)子程序設(shè)計 根據(jù)要求,聲音開關(guān)使用外部中斷1來處理,當(dāng)按下聲音開關(guān)時,觸發(fā)單片機(jī)進(jìn)入外部中斷1,在中斷程序里,通過對聲音開關(guān)標(biāo)志位取反,在按鍵掃描過程中,加入對聲音標(biāo)志位的判斷,若為1,則發(fā)出聲音,即可實(shí)現(xiàn)聲音提示功能。在對其操作時,應(yīng)參考其時序圖,先把命令寫入其內(nèi)部寄存器設(shè)置它的工作方式和狀態(tài)。而開方或多次方運(yùn)算,則可與矩陣鍵盤一起檢測,也當(dāng)做一個運(yùn)算符處理。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中I/O 口的利用率。1602LCD 液晶具有功耗低、顯示內(nèi)容豐富、清晰,顯示信息量大,顯示速度較快,界面友好等而得到廣泛應(yīng)用,因此使用1602液晶顯示屏,可以方便的顯示多種字符,特別適用于單片機(jī)計算器的雙行顯示。1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。: 系統(tǒng)總體框圖經(jīng)過反復(fù)推敲最終確定系統(tǒng)采用以下方案:(1)采用AT89S52作為主控芯片;(2)顯示模塊使用LCD1602液晶顯示屏;(3)輸入模塊使用4*4矩陣鍵盤;(4)AC清零按鍵使用獨(dú)立按鍵并接入單片機(jī)外部中斷引腳;(5)聲音提示開關(guān)按鍵使用獨(dú)立按鍵并接入單片機(jī)外部中斷引腳;(6)平方和開方按鍵由開發(fā)板上的獨(dú)立按鍵實(shí)現(xiàn);(7)電源采用LM7805穩(wěn)壓電路。(6) 開方和多次方運(yùn)算功能的實(shí)現(xiàn):采用獨(dú)立按鍵,再檢測運(yùn)算符的時候也檢測這兩個按鍵,一旦符合按下則進(jìn)行開方或者多次方運(yùn)算,程序可通過條用“”頭文件中的sqrt和pow函數(shù)實(shí)現(xiàn)。運(yùn)算符,則直接利用第一次運(yùn)算的結(jié)果進(jìn)行下一次運(yùn)算。(2) 計算器一般包含數(shù)字鍵(0~9),符號鍵(+、-、247。(2)當(dāng)運(yùn)算完第一次完整的計算以后,可以在不按任何按鍵的情況下,進(jìn)行新的一輪運(yùn)算,若運(yùn)算完一次運(yùn)算后繼續(xù)按運(yùn)算符按鍵,則利用之前一次
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦

畢業(yè)設(shè)計(論文)-基于mc51單片機(jī)的簡易計算器設(shè)計-資料下載頁

【總結(jié)】電》