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

正文內(nèi)容

基于單片機(jī)的多功能計(jì)算器設(shè)計(jì)畢業(yè)設(shè)計(jì)word格式(編輯修改稿)

2025-01-04 11:03 本頁面
 

【文章內(nèi)容簡介】 EOR2:被減數(shù)小于減數(shù); // // EOR9:超出可顯示的最大值。 // //*********************頭文件及宏定義 *********************// //*************************全局變量 ***********************// extern unsigned long ul_Number。 extern unsigned long ul_NumberOne。 extern unsigned long ul_NumberTwo。 19 extern unsigned char uc_Operator。 extern unsigned long ul_Result。 extern unsigned char uc_NumPointer。 extern bit b_LCDClean。 extern unsigned char uc_ReportSymbol。 bit b_Zero=0。 //狀態(tài)一 0輸入檢測(cè),若有 0輸入則置一。 //*************************計(jì)算結(jié)果 *****************************// void vGetResult() { switch(uc_Operator) { //*************************除法運(yùn)算 *****************************// case 14: if(ul_NumberTwo!=0) ul_Result=ul_NumberOne/ul_NumberTwo。 else { ul_Result=0。 uc_ReportSymbol=1。 //當(dāng)被除數(shù)等于 0時(shí)顯示錯(cuò)誤代碼 EOR1// b_LCDClean=1。 } break。 //*************************乘法運(yùn)算 *****************************// case 24: if((ul_NumberOne*ul_NumberTwo)999999) { ul_Result=0。 uc_ReportSymbol=9。 b_LCDClean=1。 //當(dāng)結(jié)果超出顯示范圍時(shí)顯示錯(cuò)誤代碼 EOR9// } else ul_Result=ul_NumberOne*ul_NumberTwo。 20 break。 //*************************減法運(yùn)算 *****************************// case 34: if(ul_NumberOneul_NumberTwo) ul_Result=ul_NumberOneul_NumberTwo。 else { ul_Result=0。 uc_ReportSymbol=2。 //當(dāng)被減數(shù)小于減數(shù)時(shí)顯示錯(cuò)誤代碼 EOR2// b_LCDClean=1。 } break。 //*************************加法運(yùn)算 *****************************// case 44: if((ul_NumberOne+ul_NumberTwo)999999) { ul_Result=0。 uc_ReportSymbol=9。 b_LCDClean=1。 //當(dāng)結(jié)果超出顯示范圍時(shí)顯示錯(cuò)誤代碼 EOR9// } else ul_Result=ul_NumberOne+ul_NumberTwo。 break。 default:break。 } ul_Number=ul_Result。 ul_NumberOne=0。 //恢復(fù)計(jì)算前初始狀態(tài)。 ul_NumberTwo=0。 uc_NumPointer=1。 b_Zero=0。 } 21 //**************************狀態(tài)一預(yù)處理 *********************// //*************將 1位數(shù)字壓入第一個(gè)數(shù)字中 *********************// void vPushOne(unsigned char ucPushNum) { if(ul_NumberOne100000) //如果數(shù)字小于 6位則壓入數(shù)字,否則不執(zhí)行。 { ul_NumberOne=ul_NumberOne*10+ucPushNum。 ul_Number=ul_NumberOne。 } } //*************狀態(tài)一按鍵處理函數(shù) *****************************// void vCalReadyOne(unsigned char ucKeyCode) { switch(ucKeyCode) { //如果由數(shù)字輸入,則壓入數(shù)字一。 case 11: vPushOne(7)。break。 //39。739。 case 12: vPushOne(8)。break。 //39。839。 case 13: vPushOne(9)。break。 //39。939。 case 21: vPushOne(4)。break。 //39。439。 case 22: vPushOne(5)。break。 //39。539。 case 23: vPushOne(6)。break。 //39。639。 case 31: vPushOne(1)。break。 //39。139。 case 32: vPushOne(2)。break。 //39。239。 case 33: vPushOne(3)。break。 //39。339。 case 42: vPushOne(0)。b_Zero=1。break。 //39。039。,當(dāng)壓入數(shù)字為 0 時(shí),置 0檢測(cè)標(biāo)志。 default: //此處的 b_Zero判斷主要是為了實(shí)現(xiàn)連續(xù)運(yùn)算功能 // if(b_Zero==0amp。amp。ul_NumberOne==0) //如果是運(yùn)算符,則首先判斷是否有 0輸入。 22 { //如果沒有 0輸入,然而數(shù)字 1是 0, ul_NumberOne=ul_Result。 //說明是繼續(xù)上一次運(yùn)算,將上一次運(yùn)算結(jié)束 switch(ucKeyCode) //賦給第一個(gè)數(shù),進(jìn)行連續(xù)運(yùn)算。 { case 14: uc_Operator=14。uc_NumPointer=2。break。 //39。/39。 case 24: uc_Operator=24。uc_NumPointer=2。break。 //* case 34: uc_Operator=34。uc_NumPointer=2。break。 //39。39。 case 44: uc_Operator=44。uc_NumPointer=2。break。 //39。+39。 default: break。 } } else switch(ucKeyCode) //如果有 0輸入,則說明是全新計(jì)算,正常進(jìn)行。 // { case 14: uc_Operator=14。uc_NumPointer=2。break。 //39。/39。 case 24: uc_Operator=24。uc_NumPointer=2。break。 //* case 34: uc_Operator=34。uc_NumPointer=2。break。 //39。39。 case 44: uc_Operator=44。uc_NumPointer=2。break。 //39。+39。 default: break。 } break。 } } //*********************** 狀 態(tài) 二 預(yù) 處 理 ******************************// //將 1位數(shù)字壓入第二個(gè)數(shù)字中 // void vPushTwo(unsigned char ucPushNum) { if(ul_NumberTwo100000) //如果數(shù)字小于 6位則壓入數(shù)字,否則不執(zhí)行。 { ul_NumberTwo=ul_NumberTwo*10+ucPushNum。 23 ul_Number=ul_NumberTwo。 } } //狀態(tài)二按鍵處理函數(shù) // void vCalReadyTwo(unsigned char ucKeyCode) { switch(ucKeyCode) //狀態(tài)二下如果有數(shù)字輸入則將數(shù)字壓入數(shù)字二,轉(zhuǎn)到狀 態(tài)三。 { case 11: vPushTwo(7)。uc_NumPointer=3。break。 //39。739。 case 12: vPushTwo(8)。uc_NumPointer=3。break。 //39。839。 case 13: vPushTwo(9)。uc_NumPointer=3。break。 //39。939。 case 21: vPushTwo(4)。uc_NumPointer=3。break。 //39。439。 case 22: vPushTwo(5)。uc_NumPointer=3。break。 //39。539。 case 23: vPushTwo(6)。uc_NumPointer=3。break。 //39。639。 case 31: vPushTwo(1)。uc_NumPointer=3。break。 //39。139。 case 32: vPushTwo(2)。uc_NumPointer=3。break。 //39。239。 case 33: vPushTwo(3)。uc_NumPointer=3。break。 //39。339。 case 42: vPushTwo(0)。uc_NumPointer=3。break。 //39。039。 //如果有運(yùn)算符輸入則將運(yùn)算符鍵碼存儲(chǔ)在 uc_Operator中。 case 14: uc_Operator=14。break。 //39。/39。 case 24: uc_Operator=24。break。 //* case 34: uc_Operator=34。break。 //39。39。 case 44: uc_Operator=44。break。 //39。+39。 default: break。 } } //*********************狀態(tài)三預(yù)處理 ***************************// //狀態(tài)三繼續(xù)運(yùn)算函數(shù) // void vCalContinue(unsigned char ucKeyCode) { 24 vGetResult()。 ul_NumberOne=ul_Result。 uc_Operator=ucKeyCode。 uc_NumPointer=2。 } //狀態(tài)三 按鍵處理函數(shù) // void vCalReadyThree(unsigned char ucKeyCode) { switch(ucKeyCode) { //狀態(tài)三下如果有數(shù)字輸入,則壓入數(shù)字二。 case 11: vPushTwo(7)。break。 //39。739。 case 12: vPushTwo(8)。break。 //39。839。 case 13: vPushTwo(9)。break。 //39。939。 case 21: vPushTwo(4)。break。 //39。439。 case 22: vPushTwo(5)。break。 //39。539。 case 23: vPushTwo(6)。break。 //39。639。 case 31: vPushTwo(1)。break。 //39。139。 case 32: vPushTwo(2)。break。 //39。239。 case 33: vPushTwo(3)。b
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦

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

【總結(jié)】電》