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

正文內(nèi)容

簡易計算器的設計本科畢業(yè)設計-資料下載頁

2024-12-01 16:24本頁面

【導讀】近幾年單片機技術的發(fā)展很快,其中,電子產(chǎn)品的更新速度迅猛。器是日常生活中比較常見的電子產(chǎn)品之一。如何才能使計算器技術更加的成。熟,充分利用已有的硬件和軟件條件,設計出更出色的計算器。本文介紹的計算器是以單片機為核心設計的一個通用計算器。該系統(tǒng)通過檢測矩陣鍵盤掃描,判斷是否按鍵,經(jīng)數(shù)據(jù)轉(zhuǎn)換把數(shù)值。主要內(nèi)容可以分為:。原理進行了簡單的闡述;能模塊劃分及所采用的元器件進行了詳細說明;夠滿足本設計的要求。計算器的未來是小型化和輕便化,現(xiàn)在市面上出現(xiàn)的使

  

【正文】 [i]!=39。.39。) ans2=ans2*10+num2[i]。 else if(num2[i]==39。.39。) break。 keynum2。 } for(keynum2,i++,j=0。keynum20。j++,i++,keynum2) point=point*10+num2[i]。 for(。j0。j) point*=。 if(sqrtflag2!=1) lcdwrite_data(num)。 ans2=ans2+point。 break。 //輸入等于號則退出第二運算數(shù)的輸入 } else if(num==39。+39。||num==39。39。||num==39。*39。||num==39。/39。||num==39。^39。) { point=0。 for(i=0。keynum20。i++) //計算按下的數(shù)字的大小 { if(num2[i]!=39。.39。) ans2=ans2*10+num2[i]。 else if(num2[i]==39。.39。) break。 keynum2。 } 河南科技大學本科畢業(yè)設計論文 40 for(keynum2,i++,j=0。keynum20。j++,i++,keynum2) point=point*10+num2[i]。 for(。j0。j) point*=。 lcdwrite_data(num)。 ans2=ans2+point。 conflag=1。 break。 //進行連續(xù)計算 } } if(ac==1) { ac=0。 continue。 //清零后進行下一次運算 } if(sign==39。+39。) //計算結果 ans=ans1+ans2。 if(sign==39。39。) ans=ans1ans2。 if(sign==39。*39。) ans=ans1*ans2。 if(sign==39。/39。) ans=ans1/ans2。 if(sign==39。^39。) //計算多次方 ans=pow(ans1,ans2)。 if(sqrtflag2==1) //計算開方 ans=sqrt(ans1)。 lcd_setxy(1,0)。 if((ans2==0amp。amp。sign==39。/39。)||(ans10amp。amp。sqrtflag2==1)) 河南科技大學本科畢業(yè)設計論文 41 lcdwrite_string(math error)。//ans2=0 或被開方數(shù)小于 0 時提示錯誤 else lcdwrite_float(ans)。 //顯示結果 sqrtflag1=0,newcalc=1。 //為 新的一次運算準備 ans1=0。 ans2=0。 for(i=0。i8。i++) //清除按鍵緩存 num1[i]=0。 for(i=0。i8。i++) num2[i]=0。 if(conflag==1) { conflag=0。 goto here。 //跳轉(zhuǎn)到連續(xù)運算 } } } /*****初始化程序 *****/ void maininit(void) { delayms(100)。 //等待液晶初始化 lcd_init()。 lcd_setxy(0,0)。 lcdwrite_data(39。039。)。 lcd_setxy(0,0)。 IT0=1。//下降沿觸發(fā) EX0=1。//開外部中斷 0 IT1=1。//下降沿觸發(fā) EX1=1。//開外部中斷 1 河南科技大學本科畢業(yè)設計論文 42 EA=1。 //開中斷 } lcdwrite_(0x01)。 //顯示清屏 lcd_setxy(0,0)。 lcdwrite_data(39。039。)。 lcd_setxy(0,0)。 num=39。N39。 //數(shù)字初始化 keynum1=0,keynum2=0,sign=0。 ans1=0,ans2=0,ans=0,point=0。 conflag=0,newcalc=0。 ac=1。 } /*****鍵盤掃描程序 *****/ uchar keyscan() { num=39。N39。 //若沒有按下任何按鍵 , 則返回 39。N39。 P1=0xfe。 //掃描第一行 temp=P1。 temp=tempamp。0xf0。 while(temp!=0xf0) //掃描列 { delayms(10)。 temp=P1。 temp=tempamp。0xf0。 while(temp!=0xf0) { temp=P1。 switch(temp) { 河南科技大學本科畢業(yè)設計論文 43 case 0xee:num=7。 break。 case 0xde:num=8。 break。 case 0xbe:num=9。 break。 case 0x7e:num=39。/39。 break。 } while(temp!=0xf0) //等待松手 { temp=P1。 temp=tempamp。0xf0。 } } } P1=0xfd。 //掃描第二行 temp=P1。 temp=tempamp。0xf0。 while(temp!=0xf0) //掃描列 { delayms(10)。 temp=P1。 temp=tempamp。0xf0。 while(temp!=0xf0) { temp=P1。 switch(temp) { 河南科技大學本科畢業(yè)設計論文 44 case 0xed:num=4。 break。 case 0xdd:num=5。 break。 case 0xbd:num=6。 break。 case 0x7d:num=39。*39。 break。 } while(temp!=0xf0) { temp=P1。 temp=tempamp。0xf0。 //等待松手 } } } P1=0xfb。 //掃描第三行 temp=P1。 temp=tempamp。0xf0。 while(temp!=0xf0) //掃描列 { delayms(10)。 temp=P1。 temp=tempamp。0xf0。 while(temp!=0xf0) { temp=P1。 switch(temp) { 河南科技大學本科畢業(yè)設計論文 45 case 0xeb:num=1。 break。 case 0xdb:num=2。 break。 case 0xbb:num=3。 break。 case 0x7b:num=39。39。 break。 } while(temp!=0xf0) //等待松手 { temp=P1。 temp=tempamp。0xf0。 } } } P1=0xf7。 //掃描第四行 temp=P1。 temp=tempamp。0xf0。 while(temp!=0xf0) //掃描列 { delayms(10)。 temp=P1。 temp=tempamp。0xf0。 while(temp!=0xf0) { temp=P1。 switch(temp) { 河南科技大學本科畢業(yè)設計論文 46 case 0xe7:num=0。 break。 case 0xd7:num=39。.39。 break。 case 0xb7:num=39。=39。 break。 case 0x77:num=39。+39。 break。 } while(temp!=0xf0) { temp=P1。 temp=tempamp。0xf0。 //等待松手 } } } if(keypow==0) { delayms(5)。 if(keypow==0) { powflag=1。 num=39。^39。 } while(keypow==0)。 //掃描多次方按鍵 delayms(5)。 while(keypow==0)。 } if(beepflag==1amp。amp。num!=39。N39。) //若開聲音則每一次按鍵均鳴叫 河南科技大學本科畢業(yè)設計論文 47 { beep=0。 delayms(100)。 beep=1。 } return num。 } include include include /***********延時 1ms 程序 ******/ void delayms(uint x) //12M 延時 1ms { unsigned int TempMS = x*110。 while(TempMS)。 } /*******寫命令 **********/ void lcdwrite_(uchar i) { lcddata=i。 LCDRS=0。 LCDRW=0。 LCDEN=0。 delayms(1)。 LCDEN=1。 } /*******寫數(shù)據(jù) ***********/ void lcdwrite_data(uchar i) 河南科技大學本科畢業(yè)設計論文 48 { lcddata=i。 LCDRS=1。 LCDRW=0。 LCDEN=0。 delayms(1)。 LCDEN=1。 } /*******寫字符串 ***********/ void lcdwrite_string(uchar *s) { while(*s) { lcdwrite_data(*s)。 s++。 } } /*設置 lcd 光標值 */ void lcd_setxy(uchar x,uchar y) { uchar address。 yamp。=0x0f。 if(!x) address=0x80+y。//0 在第一行 else address=0xc0+y。//1 在第二行 lcdwrite_(address)。 } //********顯示 1 位數(shù)字 ************// 河南科技大學本科畢業(yè)設計論文 49 void lcdwrite_num1(uint n) { lcdwrite_data(n+48)。 } //*****顯示任意位數(shù)字 ******// void lcdwrite_num(long n) { uchar length=0,j,a[8]={0,0,0,0,0,0,0,0}。 long nx。 if(n==0) { lcdwrite_data(39。039。)。 return。 } if(n0) { lcdwrite_data(39。39。)。 n=0n。 } nx=n。 for(j=0。j8。j++) { if(nx=1) length++。 nx/=10。 } nx=n。 f
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1