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

正文內(nèi)容

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

2022-12-10 11:03:57 本頁(yè)面
 

【正文】 BS13SWPBS14SWPBS15SWPBS16SWPBS17SWPBP10 P11 P12 P13P15P16P17P14 圖 2 矩陣鍵盤輸入 本設(shè)計(jì)使用鍵盤輸入預(yù)置 用于計(jì)算或計(jì)時(shí) , 按鍵較多。 該計(jì)算器設(shè)計(jì)是采用 C語(yǔ)言編寫,實(shí)現(xiàn)了六位數(shù)范圍內(nèi)的加、減、乘、除基本的四則運(yùn)算,此外該計(jì)算器除了具備基本的計(jì)算功能以外還具有計(jì)時(shí)和倒計(jì)時(shí)的功能,也就是說該計(jì)算器具有兩個(gè)工作模式,計(jì)算模式和計(jì)時(shí)模式,而計(jì)時(shí)模式里又包含正計(jì)時(shí)和倒計(jì)時(shí)的功能,這樣一個(gè)簡(jiǎn)易的計(jì)算器實(shí)現(xiàn)了多功能,比較實(shí)用和方便。 要求: ( 1) 6 位數(shù)范圍內(nèi)的計(jì)算 顯示 ( 2) 要有錯(cuò)誤提示 具有的設(shè)計(jì)條件 需要購(gòu)買單片機(jī)、 數(shù)據(jù)緩沖 器 、開關(guān) 等電子元件一批。電子信息工程專業(yè)綜合課程設(shè)計(jì)任務(wù)書 設(shè)計(jì) 題目 基于單片機(jī)的 多功能 計(jì)算器 設(shè)計(jì) 設(shè)計(jì)類型 應(yīng)用型 導(dǎo)師姓名 林澤坤 史俊 主要內(nèi)容及目標(biāo) 使用 AT89C51 單片機(jī)設(shè)計(jì)一個(gè)多功能計(jì)算器,主要用到矩陣鍵盤, LED 數(shù)碼管顯示數(shù)據(jù) 。大約 20 元。 該設(shè)計(jì)電路是采用 AT89C51 單片機(jī)為主要控 制電路,然后使用 74LS245 緩沖驅(qū)動(dòng)電路驅(qū)動(dòng)六位 LED 數(shù)碼管顯示數(shù)據(jù), 利用 加上 4 4矩陣鍵盤 完成電路的實(shí)際操作。若采用獨(dú)立按鍵,需 頻繁按鍵,為軟件設(shè)計(jì)增加負(fù)擔(dān),且操作界面不友好。 方案二: 采用 LED數(shù)碼管串行靜態(tài)顯示,雖然其顯示亮度高,但是如果顯示器的位數(shù)較多,需要增加鎖存器,故 而 靜態(tài)顯示占用 I/O 口線較多 ,CPU 的開銷較大。 注:該設(shè)計(jì)電路中的 6 段 LED 數(shù)碼 顯示器 是共陽(yáng)極的。 當(dāng) 8051 單片機(jī)的 P0 口總線負(fù)載達(dá)到或超過 P0 最大負(fù)載能力時(shí),必須接入 74LS245等總線驅(qū)動(dòng)器。8051 的 /RD 和 /PSEN 相與后接 DIR,使得 /RD 或 /PSEN 有效時(shí), 74LS245 輸入( ←Di ),其它時(shí)間處于輸出( →Di )。 ⑴ .主電源引腳 : Vss(20腳 ):地線 Vcc(40腳 ): +5V電源 ⑵ .外接晶振或外部振蕩器引腳 : XTAL1(19腳 ):當(dāng)采用芯片內(nèi)部時(shí)鐘信號(hào)時(shí),接外部晶振的一個(gè)引腳;當(dāng)采用外部時(shí)鐘信號(hào)時(shí),此腳應(yīng)接 地。 PROG為編程脈沖輸入端, 當(dāng)選用 8751單片機(jī)時(shí),由此腳輸入編程脈 沖。 P1口 (1~ 8腳 ): P1靜態(tài)通用端口。 (11腳 )TXD:串行數(shù)據(jù)發(fā)送端。 (15腳 )T1:定時(shí)器 /計(jì)數(shù)器 1計(jì)數(shù) 輸入端。 使用雙精度類型來存放計(jì)算器的兩個(gè)輸入數(shù)值和最后的計(jì)算結(jié)果,最大接 收 的輸入位數(shù)為 6位,超出 6位顯示報(bào)錯(cuò),并且需要清屏,然后重新輸入。此外,該計(jì)算器還設(shè)有四個(gè)功能按鍵, 可以輸入相應(yīng)的按鍵對(duì)應(yīng)的鍵值 ,進(jìn)行模式轉(zhuǎn)換或數(shù)據(jù)更改。 P1口接顯示器 LED的段選 。 14 15 出于我們水平有限,雖然我們?cè)O(shè)計(jì)的這個(gè)計(jì)算器具有計(jì)算和計(jì)時(shí)的多功能,但是還有很多不足,例如,該計(jì)算器只能實(shí)現(xiàn)正整數(shù)的加減乘除運(yùn)算,無法實(shí)現(xiàn)小數(shù)以及負(fù)數(shù)的運(yùn)算 。如,本來是要去買我們?cè)仍O(shè)定的標(biāo)準(zhǔn)型號(hào)的器材,但是在買器材的過程中發(fā)現(xiàn),有些器材買不到,此時(shí)我們只好重新查閱資料,找具有相應(yīng) 功能的元器件代替,但必須要嚴(yán)格相近,否則,會(huì)影響電路的功能。 總之 在 這次單片機(jī) 學(xué)習(xí)中 我 們 受益匪淺。 //**功能 :當(dāng) b_WorkMode=0是,若有鍵按下則調(diào)用此函數(shù)對(duì)鍵碼進(jìn)行處理。 //0計(jì)算器模式; //1計(jì)時(shí)模式。 extern unsigned char uc_ReportSymbol。 //運(yùn)算符 unsigned long ul_Result=0。 { if(uc_NumPointer==1) //如果是‘ NO/C’鍵則判斷手機(jī)否是狀態(tài)一。 b_WorkMode=1。 b_LCDClean=1。 //清除所有數(shù)據(jù),將所有數(shù)據(jù)恢復(fù)到狀態(tài)一。 } } else { ul_NumberOne=0。 uc_NumPointer=1。 //進(jìn)入狀態(tài)一。 break。 default:break。 extern unsigned long ul_NumberOne。 extern unsigned char uc_NumPointer。 //狀態(tài)一 0輸入檢測(cè),若有 0輸入則置一。 //當(dāng)被除數(shù)等于 0時(shí)顯示錯(cuò)誤代碼 EOR1// b_LCDClean=1。 b_LCDClean=1。 else { ul_Result=0。 //*************************加法運(yùn)算 *****************************// case 44: if((ul_NumberOne+ul_NumberTwo)999999) { ul_Result=0。 break。 //恢復(fù)計(jì)算前初始狀態(tài)。 } 21 //**************************狀態(tài)一預(yù)處理 *********************// //*************將 1位數(shù)字壓入第一個(gè)數(shù)字中 *********************// void vPushOne(unsigned char ucPushNum) { if(ul_NumberOne100000) //如果數(shù)字小于 6位則壓入數(shù)字,否則不執(zhí)行。 case 11: vPushOne(7)。 case 12: vPushOne(8)。 case 13: vPushOne(9)。 case 21: vPushOne(4)。 case 22: vPushOne(5)。 case 23: vPushOne(6)。 case 31: vPushOne(1)。 case 32: vPushOne(2)。 case 33: vPushOne(3)。 case 42: vPushOne(0)。039。ul_NumberOne==0) //如果是運(yùn)算符,則首先判斷是否有 0輸入。uc_NumPointer=2。 case 24: uc_Operator=24。uc_NumPointer=2。 case 44: uc_Operator=44。+39。uc_NumPointer=2。 case 24: uc_Operator=24。uc_NumPointer=2。 case 44: uc_Operator=44。+39。 { ul_NumberTwo=ul_NumberTwo*10+ucPushNum。uc_NumPointer=3。 case 12: vPushTwo(8)。839。 //39。break。uc_NumPointer=3。 case 23: vPushTwo(6)。639。 //39。break。uc_NumPointer=3。 case 42: vPushTwo(0)。039。 //39。 //* case 34: uc_Operator=34。 case 44: uc_Operator=44。 default: break。 uc_NumPointer=2。 //39。 //39。 //39。 //39。 //39。 //39。 //39。 //39。 //39。 //39。break。 case 14: vCalContinue(14)。 case 24: vCalContinue(24)。 //39。 //39。 // //*************************頭文件及宏定義 *********************// include //****************************全局變量 ***********************// extern bit b_KeyShock。 //******************************按鍵處理函數(shù)主函數(shù) ****************************** * //* * //************************************************************************************************* void vKeyProcess(unsigned char ucKeyCodeTemp) { if(b_WorkMode==1) vTimer(ucKeyCodeTemp)。 //************************************************************************************************* //************************************************************************************************* //**程序名 :鍵盤掃描子程序 ** 26 //**功能 :當(dāng)有外部中斷 0時(shí)調(diào)用此函數(shù),使用列掃描的方式獲取鍵碼,鍵碼由 2位數(shù)字組成。 //當(dāng)有按鍵時(shí),高 4位輸出掃描電位,低 4位輸入掃描結(jié)果。 //掃描狀態(tài)暫存。ucLine4。0x0F。break。 case 0x0B: ucRow=30。 default: ucRow=50。 //返回按鍵編碼。 ** //** 計(jì)算一個(gè)在 000000 到 999999 之間的數(shù)的每位數(shù)字并存儲(chǔ)在數(shù)組中 .并 返回?cái)?shù)組的首地址 ** //** void vShowOneNum(unsigned char ucOneNum,unsigned char ucOrder)。 //分別點(diǎn)亮第 6, 5, 4, 3, 2, 1號(hào)燈。 //只是數(shù)字的首位。 //被除數(shù)等于 0。 //表明從計(jì)算器模式切換到計(jì)時(shí)模式。 //暫停 PAUSE //unsigned char uca_ReportChar6[]={0xBF,0x92,0x87,0x88,0x88,0x87}。 //超出可顯示的最大值。 if(ulNumber0) ulNumber=0。 uca_LedNum[3] = (ulNumber100000*(long)uca_LedNum[5]10000*(long)uca_LedNum[4])/1000。 //最低位存在數(shù)組【 0】中。 break。 { LEDSELECT=0。 LEDSELECT=0。 LEDCHAR=uca_LEDCode[ucOneNum]。 LEDSELECT=uca_LEDSelect[ucOrder]。ucCount++) { uca_ShowCustom[ucCount]=ucaArray[ucCount]。break。break。break。break。 default:break。break。break。break。break。break。 for(ucCount=0。 } } } //********************************************************************************************************* //* * //* *************************** 將 1 個(gè)自定義字符按順序顯示************************* * //* * //***************************************************************************************
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦

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

【總結(jié)】電》