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

正文內(nèi)容

基于單片機(jī)的多功能計算器設(shè)計畢業(yè)設(shè)計word格式-wenkub.com

2024-11-25 11:03 本頁面
   

【正文】 //顯示: EOR9超出可顯示的最大值。 //顯示: StoP停止; case 8:vCharCopy(uca_ReportChar8)。 //顯示: PAUSE暫停; // case 6:vCharCopy(uca_ReportChar6)。 //顯示: CHAG1表明從計算器模式切換到計時模式; case 4:vCharCopy(uca_ReportChar4)。 //顯示: EOR1被除數(shù)等于 0; case 2:vCharCopy(uca_ReportChar2)。ucCount6。 LEDCHAR=ucOneCostom。 //如果在首位之后則正常輸出。 } 34 else { if(ucOrderuc_NumberFront) //如果為 0則判斷是不是在數(shù)字首位之前。 } //********************************************************************************************************* //* * //* ***************************** 將 1 個 1 位 數(shù) 按 順 序 顯 示**************************** * //* * //********************************************************************************************************* void vShowOneNum(unsigned char ucOneNum,unsigned char ucOrder) { if(ucOneNum!=0) //如果數(shù)字不為 0則正常輸出。uc_NumberFront++) { if(uca_LedNum[6uc_NumberFront]!=0) //判斷數(shù)據(jù)的首位不為零數(shù)字在第幾位。 uca_LedNum[0] = (ulNumber100000*(long)uca_LedNum[5]10000*(long)uca_LedNum[4] 1000*(long)uca_LedNum[3]100*(long)uca_LedNum[2]10*(long)uca_LedNum[1])。 uca_LedNum[4] = (ulNumber100000*(long)uca_LedNum[5])/10000。 if(ulNumber999999) ulNumber=999999。 //切換到倒 計時模式 OPPPOSE unsigned char uca_ReportChar9[]={0xBF,0x86,0xC0,0x88,0xBF,0x90}。 CHAG0 unsigned char uca_ReportChar5[]={0xBF,0x8C,0x88,0xC1,0x92,0x86}。 EOR2 unsigned char uca_ReportChar3[]={0xC6,0x89,0x88,0xC2,0xBF,0xF9}。 // 自 定 義 報 告 顯 示 字符 unsigned char uca_ReportChar1[]={0xBF,0x86,0xC0,0x88,0xBF,0xF9}。 unsigned char uc_NumberFront=1。 unsigned char code uca_LEDSelect[]= {0x01,0x02,0x04,0x08,0x10,0x20}。 ** //**功能 : unsigned char * pucLedNum(unsigned long ulNumber)。 } } return ucRow+ucLine+1。break。break。 switch(ucTemp) { case 0x0E: ucRow=10。 28 ucTemp=SCANPORTamp。 for(ucLine=0。 //************************************************************************************************* //* * //* ********************************函數(shù)實(shí)現(xiàn) ****************************** * //* * //************************************************************************************************* unsigned char ucKeyScan() { unsigned char ucTemp=0。 //采用逐列掃描的方法,無按鍵時,低 4 位輸出 1,高 4 位輸出 0。 //當(dāng)工作模式為計算器模式時調(diào)用計算器處理函數(shù)。 //0計算器模式; //1計時模式。 } } //程序名 :按鍵處理子函數(shù) // //功能 :當(dāng)有外部中斷 0時調(diào)用此函數(shù),獲得鍵碼,進(jìn)行相應(yīng)處理。break。break。/39。 //如果有運(yùn)算符輸入則執(zhí)行繼續(xù)運(yùn)算。 case 43: vGetResult()。break。break。break。break。break。break。break。break。break。break。 uc_Operator=ucKeyCode。+39。39。break。break。 //39。339。 case 33: vPushTwo(3)。uc_NumPointer=3。break。 //39。539。 case 22: vPushTwo(5)。uc_NumPointer=3。break。 //39。739。 { case 11: vPushTwo(7)。 } } //*********************** 狀 態(tài) 二 預(yù) 處 理 ******************************// //將 1位數(shù)字壓入第二個數(shù)字中 // void vPushTwo(unsigned char ucPushNum) { if(ul_NumberTwo100000) //如果數(shù)字小于 6位則壓入數(shù)字,否則不執(zhí)行。 //39。39。 //* case 34: uc_Operator=34。/39。 // { case 14: uc_Operator=14。 //39。39。 //* case 34: uc_Operator=34。/39。 { case 14: uc_Operator=14。amp。 //39。339。239。139。639。539。439。939。839。739。 } } //*************狀態(tài)一按鍵處理函數(shù) *****************************// void vCalReadyOne(unsigned char ucKeyCode) { switch(ucKeyCode) { //如果由數(shù)字輸入,則壓入數(shù)字一。 b_Zero=0。 ul_NumberOne=0。 //當(dāng)結(jié)果超出顯示范圍時顯示錯誤代碼 EOR9// } else ul_Result=ul_NumberOne+ul_NumberTwo。 } break。 //*************************減法運(yùn)算 *****************************// case 34: if(ul_NumberOneul_NumberTwo) ul_Result=ul_NumberOneul_NumberTwo。 uc_ReportSymbol=9。 uc_ReportSymbol=1。 bit b_Zero=0。 extern unsigned long ul_Result。 // //*********************頭文件及宏定義 *********************// //*************************全局變量 ***********************// extern unsigned long ul_Number。 break。 //進(jìn)入狀態(tài)二。 //根據(jù)不同狀態(tài)分派不同的鍵處理函數(shù) // switch(uc_NumPointer) { case 1: vCalReadyOne(ucKeyCode)。 ul_Number=0。 uc_NumPointer=1。 ul_NumberOne=0。表明正在切換狀態(tài)。 //如果是 2則計時器模式。NO/C39。 //第二個數(shù) unsigned char uc_Operator=0。 extern bit b_LCDClean。 //工作模式 (默認(rèn)為計算器模式 )// extern bit b_WorkMode。 16 ( 1) 《 跟我學(xué)用單片機(jī) 》 肖洪兵 第 2 版 北京:北京航空航天大學(xué)出版社 , ( 2) 《 單片機(jī)高級教程 》 何立民 第 1 版.北京:北京航空航天 大學(xué)出版社 , ( 3)《 單片機(jī)基礎(chǔ) 》 李廣第 第 1 版.北京:北京航空航天大學(xué)出版社, 附錄(程序 清單 ) //**程序名 :計算器處理主程序,根據(jù)計算器的輸入狀態(tài)分派不同的函數(shù)對按鍵進(jìn)行處理。 當(dāng)然,我們學(xué)到的只是一些最為基礎(chǔ)的東西,還有很多東西還得深入學(xué)習(xí),進(jìn)一步加強(qiáng)。 這是在軟件中遇到的問題,此外在買器材時也遇到一些問題。 9: EOR9 超出可顯示的最大值。 10 開始 計算器初始化 是否為計算模式 是否為計時模式 是否為倒 計時模式 結(jié)束 Y NO Y NO Y NO 執(zhí)行該模式下的操作 執(zhí)行該模式下的操作 執(zhí)行該模式下的操作 11 4 硬件設(shè)計 74LS245 驅(qū)動電路 AT89C51 主控制電路 矩陣鍵盤控制電路 LED 顯示電路 12 硬件電路圖 4. 3 引腳鎖定 P0口接驅(qū)動器 74LS245。 雖然有點(diǎn)誤差但 誤差不大 基本達(dá)到要求。通過程序的編寫使簡單的器件實(shí)現(xiàn)豐富的功能。 (14腳 )T0:定時器 /計數(shù)器 0計數(shù)輸入端。除作 I/O端口外,它還提供特殊的第二功能,其具體 8 含義為: (10腳 )RXD:串行數(shù)據(jù)接收端。 ⑷ .多功能 I/O引 : P0口 (32~ 39腳 ): P0數(shù)據(jù) /地址復(fù)用總線端口。 ALE/PROG(30 腳 ): ALE 即允許地址鎖存信號輸出,當(dāng)單片機(jī)訪問外部存儲器時該腳的輸出信號用于鎖存 P0的低 8位地址,其輸出的頻率為時鐘振蕩頻率的 1/6。 其引腳圖以及工作原理如下: 現(xiàn)簡要介紹各引腳的功能。 P0 口與 74LS245 輸入端 相連 ,/CE 端接地,保證數(shù)據(jù)現(xiàn)暢通。 74LS245 還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。 LED 數(shù)碼管 顯示器由 6 個發(fā)光二極管組成,因此也稱之為 6 段 LED 顯示器,其排列形狀如 上。 : 方案一:用 LCD 顯示,要用 LCD 顯示,需要學(xué)習(xí)其專用的驅(qū)動控制芯片,比如 HD61203,軟件實(shí)現(xiàn)較為復(fù)雜,且 LCD 的價格昂貴。 其原理圖如圖 2 所示: 5 S2SWPBS3SWPBS4SWPBS5SWPBS6SWPBS7SWPBS8SWPBS9SWPBS10SWPBS11SWPBS12SWP
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦

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

【總結(jié)】電》