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

正文內(nèi)容

基于單片機的多功能計算器設(shè)計畢業(yè)設(shè)計word格式-在線瀏覽

2025-02-01 11:03本頁面
  

【正文】 : EOR9 超出可顯示的最大值。 所以可以將該設(shè)計電路進行擴展,真正設(shè)計為一個多功能的科學(xué)計算器。 這是在軟件中遇到的問題,此外在買器材時也遇到一些問題。 在焊接電路的時候,由于有些器件太小了如:貼片電容、貼片電阻等,所以難免會焊接錯誤,此時我們必須不停的調(diào)試找出錯誤,否則會導(dǎo)致整個電路的損壞。 當(dāng)然,我們學(xué)到的只是一些最為基礎(chǔ)的東西,還有很多東西還得深入學(xué)習(xí),進一步加強。這不僅增強了我 們 對 單片機 設(shè)計 的興趣, 更 增強了自己的動手能力 ,這要感謝老師的指導(dǎo)和同學(xué)的幫助! 電子行業(yè)是一門發(fā)展相當(dāng)迅速的行業(yè),每天都會有新的產(chǎn)品和應(yīng)用需求,所以,在學(xué)好書本知識的同時還要時時關(guān)注相關(guān)領(lǐng)域的最新動態(tài),學(xué)會自主分析解決目前技術(shù)中存在的問題。 16 ( 1) 《 跟我學(xué)用單片機 》 肖洪兵 第 2 版 北京:北京航空航天大學(xué)出版社 , ( 2) 《 單片機高級教程 》 何立民 第 1 版.北京:北京航空航天 大學(xué)出版社 , ( 3)《 單片機基礎(chǔ) 》 李廣第 第 1 版.北京:北京航空航天大學(xué)出版社, 附錄(程序 清單 ) //**程序名 :計算器處理主程序,根據(jù)計算器的輸入狀態(tài)分派不同的函數(shù)對按鍵進行處理。 頭文件及宏定義 include *全局變量 * extern unsigned long ul_Number。 //工作模式 (默認(rèn)為計算器模式 )// extern bit b_WorkMode。 //定義在 。 extern bit b_LCDClean。 unsigned long ul_NumberOne=0。 //第二個數(shù) unsigned char uc_Operator=0。 //運算結(jié)果 unsigned char uc_NumPointer=1。NO/C39。 { if(uc_ModeChange==2) //如果是狀態(tài)一則看 uc_ModeChange是不是 2。 //如果是 2則計時器模式。 uc_ReportSymbol=3。表明正在切換狀態(tài)。 } else { uc_ModeChange++。 ul_NumberOne=0。 ul_NumberTwo=0。 uc_NumPointer=1。 //清除所有數(shù)據(jù),將所有數(shù)據(jù)恢復(fù)到狀態(tài)一。 ul_Number=0。 } } else 18 { //如果不是“ NO/C”鍵,首先將 uc_ModeChange清零。 //根據(jù)不同狀態(tài)分派不同的鍵處理函數(shù) // switch(uc_NumPointer) { case 1: vCalReadyOne(ucKeyCode)。 break。 //進入狀態(tài)二。 case 3: vCalReadyThree(ucKeyCode)。 break。 } } } 程序名 :計算器案件初始處理及運算。 // //*********************頭文件及宏定義 *********************// //*************************全局變量 ***********************// extern unsigned long ul_Number。 extern unsigned long ul_NumberTwo。 extern unsigned long ul_Result。 extern bit b_LCDClean。 bit b_Zero=0。 //*************************計算結(jié)果 *****************************// void vGetResult() { switch(uc_Operator) { //*************************除法運算 *****************************// case 14: if(ul_NumberTwo!=0) ul_Result=ul_NumberOne/ul_NumberTwo。 uc_ReportSymbol=1。 } break。 uc_ReportSymbol=9。 //當(dāng)結(jié)果超出顯示范圍時顯示錯誤代碼 EOR9// } else ul_Result=ul_NumberOne*ul_NumberTwo。 //*************************減法運算 *****************************// case 34: if(ul_NumberOneul_NumberTwo) ul_Result=ul_NumberOneul_NumberTwo。 uc_ReportSymbol=2。 } break。 uc_ReportSymbol=9。 //當(dāng)結(jié)果超出顯示范圍時顯示錯誤代碼 EOR9// } else ul_Result=ul_NumberOne+ul_NumberTwo。 default:break。 ul_NumberOne=0。 ul_NumberTwo=0。 b_Zero=0。 { ul_NumberOne=ul_NumberOne*10+ucPushNum。 } } //*************狀態(tài)一按鍵處理函數(shù) *****************************// void vCalReadyOne(unsigned char ucKeyCode) { switch(ucKeyCode) { //如果由數(shù)字輸入,則壓入數(shù)字一。break。739。break。839。break。939。break。439。break。539。break。639。break。139。break。239。break。339。b_Zero=1。 //39。當(dāng)壓入數(shù)字為 0 時,置 0檢測標(biāo)志。amp。 22 { //如果沒有 0輸入,然而數(shù)字 1是 0, ul_NumberOne=ul_Result。 { case 14: uc_Operator=14。break。/39。uc_NumPointer=2。 //* case 34: uc_Operator=34。break。39。uc_NumPointer=2。 //39。 default: break。 // { case 14: uc_Operator=14。break。/39。uc_NumPointer=2。 //* case 34: uc_Operator=34。break。39。uc_NumPointer=2。 //39。 default: break。 } } //*********************** 狀 態(tài) 二 預(yù) 處 理 ******************************// //將 1位數(shù)字壓入第二個數(shù)字中 // void vPushTwo(unsigned char ucPushNum) { if(ul_NumberTwo100000) //如果數(shù)字小于 6位則壓入數(shù)字,否則不執(zhí)行。 23 ul_Number=ul_NumberTwo。 { case 11: vPushTwo(7)。break。739。uc_NumPointer=3。 //39。 case 13: vPushTwo(9)。break。939。uc_NumPointer=3。 //39。 case 22: vPushTwo(5)。break。539。uc_NumPointer=3。 //39。 case 31: vPushTwo(1)。break。139。uc_NumPointer=3。 //39。 case 33: vPushTwo(3)。break。339。uc_NumPointer=3。 //39。 //如果有運算符輸入則將運算符鍵碼存儲在 uc_Operator中。break。/39。break。break。39。break。+39。 } } //*********************狀態(tài)三預(yù)處理 ***************************// //狀態(tài)三繼續(xù)運算函數(shù) // void vCalContinue(unsigned char ucKeyCode) { 24 vGetResult()。 uc_Operator=ucKeyCode。 } //狀態(tài)三 按鍵處理函數(shù) // void vCalReadyThree(unsigned char ucKeyCode) { switch(ucKeyCode) { //狀態(tài)三下如果有數(shù)字輸入,則壓入數(shù)字二。break。739。break。839。break。939。break。439。break。539。break。639。break。139。break。239。break。339。break。039。 case 43: vGetResult()。 //39。 //如果有運算符輸入則執(zhí)行繼續(xù)運算。break。/39。break。break。39。break。+39。 } } //程序名 :按鍵處理子函數(shù) // //功能 :當(dāng)有外部中斷 0時調(diào)用此函數(shù),獲得鍵碼,進行相應(yīng)處理。 //鍵盤防抖動標(biāo)志位。 //0計算器模式; //1計時模式。 //當(dāng)工作模式為計時模式時調(diào)用計時器處理函數(shù)。 //當(dāng)工作模式為計算器模式時調(diào)用計算器處理函數(shù)。高位為行號 ** //** 低位為列號。 //采用逐列掃描的方法,無按鍵時,低 4 位輸出 1,高 4 位輸出 0。 //************************************************************************************************* //* 27 * //* ********************************全局變量 ****************************** * //* * //************************************************************************************************* unsigned char uca_LineScan[4]={0xEF,0xDF,0xBF,0x7F}。 //************************************************************************************************* //* * //* ********************************函數(shù)實現(xiàn) ****************************** * //* * //************************************************************************************************* unsigned char ucKeyScan() { unsigned char ucTemp=0。 unsigned char ucRow=0,ucLine=0。 for(ucLine=0。ucLine++) //列掃描 { SCANPORT=uca_LineScan[ucLine]。 28 ucTemp=SCANPORTamp。 //輸入掃描電位,并屏蔽高 4位。 switch(ucTemp) { case 0x0E: ucRow=10。 //如果有,則判斷行號。break。break。break。break。 } } return ucRow+ucLin
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1