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

正文內(nèi)容

片機(jī)課程設(shè)計---計算器實驗-wenkub

2023-06-17 22:45:21 本頁面
 

【正文】 2 燕山大學(xué)課程設(shè)計(論文)任務(wù)書 院(系):電氣工程學(xué)院 基層教學(xué)單位:自動化儀表 系 學(xué) 號 090103020219 學(xué)生姓名 樸瑞琦 專業(yè)(班級) 09級儀表二班 設(shè)計題目 計算器實驗 設(shè) 計 技 術(shù) 參 數(shù) 獨(dú)立完成設(shè)計任務(wù); 編程,上機(jī)調(diào)試; 連接硬件實驗線路,實現(xiàn)所要求的功能; 完成設(shè)計,提交課程設(shè)計報告。 工 作 量 軟件編程與硬件調(diào)試相結(jié)合,繪制設(shè)計流程圖,并編程進(jìn)行硬件實現(xiàn)。 計算器在人們的日常中是比較的常見的電子產(chǎn)品之一 , 可是它還在發(fā)展之中,以后必將出現(xiàn)功能更加強(qiáng)大的計算器,基于這樣的理念, 本次課程設(shè)計的任務(wù)是利用單片機(jī)設(shè)計一個計算器,能夠進(jìn)行 多位 簡單的整數(shù)加 、減 、 乘 、 除 的運(yùn)算及具有清零的功能,同時還對其功能進(jìn)行了擴(kuò)展 ,增加了一些特殊運(yùn)算及錯誤報警功能。 第一章 設(shè)計目標(biāo)與設(shè)計方案 ............ 錯誤 !未定義書簽。 運(yùn)算模塊 ...................................................................... 錯誤 !未定義書簽。 LED 的顯示原理 ................................................ 錯誤 !未定義書簽。 基本功能設(shè)計 .............................................................. 錯誤 !未定義書簽。 硬件電路連線 .............................................................. 錯誤 !未定義書簽。 2)實現(xiàn)方法: 為了滿足設(shè)計 的基本要求,可以 實現(xiàn)基本的運(yùn)算(加減乘除),數(shù)據(jù)清 零 的功能。具體設(shè)計方案如下: ① 首先實現(xiàn)計算器的基本功能,即可以進(jìn)行四則運(yùn)算,對數(shù)字的大小范圍要求不高,故采用可以進(jìn)行三位數(shù)字的運(yùn)算,選用 4*6的 鍵盤實現(xiàn)數(shù)據(jù)輸入,用 6 個 LED 數(shù)碼管顯示數(shù)據(jù)。 根據(jù)需要我們可以采用自上而下的程序設(shè)計方法,此方 法先從主程序開始設(shè)計,然后再編制各子程序,層層細(xì)化 , 逐步求精,最終完成一個復(fù)雜程序的設(shè)計。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨(dú)特的一些功能,通過使用單片機(jī)編寫的程序可以實現(xiàn)高智能,高效率,以及高可靠性!因此我們采用單片機(jī)作為計算器的主要功能部件,可以進(jìn)行很快地實現(xiàn)運(yùn)算功能 ,如圖 21所示: 1P 1 . 02P 1 . 1P 1 . 23P 1 . 34 4 03 9 3 8 3 7 V c cP 0 . 0P 0 . 1P 0 . 25P 1 . 46P 1 . 5P 1 . 67P 1 . 78 3 63 53 43 3P 0 . 3P 0 . 4P 0 . 5P 0 . 69R S T / V P D1 0R X D P 3 . 0T X D P 3 . 11 1I N T 0 P 3 . 21 23 23 13 02 9P 0 . 7E A / V p pA L E / P R O GP S E N8 0 5 11 3I N T 1 P 3 . 31 4T 0 P 3 . 4T 1 P 3 . 51 5W R P 3 . 61 62 82 72 62 5P 2 . 7P 2 . 6P 2 . 5P 2 . 41 7R D P 3 . 71 8X T A L 2X T A L 11 9V s s2 02 42 32 22 1P 2 . 3P 2 . 2P 2 . 1P 2 . 0 4 MCS— 51引腳配置圖 T 輸入模塊 計算器的數(shù)據(jù)輸入由鍵盤來實現(xiàn)。根據(jù)鍵盤與單片機(jī)接法不同,非編碼鍵盤又分為獨(dú)立式和矩陣式兩種。在行線和列線的每個交叉點(diǎn)上設(shè)置一個按鍵,這樣鍵盤上按鍵的個數(shù)就為 4 6個。鍵盤的一端(列線)通過電阻接 VCC,而接地是通過程序輸出數(shù)字“ 0”實現(xiàn)的。判斷有無按鍵按下的方法是:第一步,置列線 P14~P17 為輸入狀態(tài),從行線 P10~P13 輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。 6 圖 2— 2 鍵盤結(jié)構(gòu) 顯示模塊 發(fā)光二極管 LED 是單片機(jī)應(yīng)用系統(tǒng)中的一宗簡單而常用的輸出設(shè)備,其在系統(tǒng)中的主要作用是顯示單片機(jī)的輸出數(shù)據(jù)、狀態(tài)等。這種顯示器有兩種形式 :一種是發(fā)光二極管的陰極連在一起的共陰極顯示器,另一種是陽極連在一起的 共陽極顯示器。共陰數(shù)碼管是指將所有發(fā) 7 光二極管的陰極接到一起形成公共陰極 (COM)的數(shù)碼管。七段發(fā)光二極管,再加上一個小數(shù)點(diǎn)位,共計 8段,因此提供的字形代碼的長度正好是一個字節(jié)。聲音的頻率由端口輸入時延時控制,不同頻率的脈沖控制喇叭發(fā)出不同的音調(diào)。 // 段控制口 xdata unsigned char IN _at_ 0x9001。 while (CNT !=0) for (i=100。 unsigned char Pos。 i LEDLen。 // 段選 OUTBIT = Pos。 // 鍵盤各鍵代碼 unsigned char TestKey() // 檢查鍵盤是否有鍵按下 { OUTBIT = 0。 unsigned char i。 do { OUTBIT = ~ Pos。 } while ((i != 0) amp。 if (k amp。 else if (k amp。 while (TestKey())。 if (Result = 0) { // 數(shù)值大于 0 // 不顯示符號位 LEDBuf[0] = 0。 LEDBuf[2] = 0。 Result = Result / 10。 } } void main() { signed int Last, Result。 // 給變量賦初值 Result = 0。 // 用于顯示按下 的數(shù)及結(jié)果 // 讀取鍵碼 Key = GetKey()。 // 輸入數(shù)值 // 數(shù)值送顯示緩沖 DisplayResult(Result)。 // 狀態(tài)清零 15 DisplayResult(Result)。 break。 // 根據(jù)上一鍵進(jìn)行相應(yīng)的運(yùn)算 ,計算最后結(jié)果 break。 OP = Key。 程序流程圖: 16 擴(kuò)展后程序流程圖 開始 初始化參數(shù) LED 顯示 有鍵輸入 讀取鍵碼 鍵碼是? 數(shù)字鍵 清零鍵 功能鍵 輸入數(shù)值 狀態(tài)清零 根據(jù)上次功能鍵和輸入的數(shù)據(jù)計算結(jié)果 本次功能鍵?是? 是“ =” 其它鍵 計算最后結(jié)果 保存結(jié)果和功 能鍵 等待數(shù)值輸入 是 否 超范圍? 報警 數(shù)值送顯示緩沖 是 否超范圍 否 是 報警 結(jié)果送顯示緩沖 否 是 17 擴(kuò)展后的程序: include include define mode 0x82。 // 位控制口 xdata unsigned char OUTSEG _at_ 0x9004。 // 共陰極數(shù)碼管 字形代碼 void Delay(unsigned char CNT) // 延時子程序 { unsigned char i。 } void DisplayLED() // 逐位顯示數(shù)碼管 { unsigned char i, j。 for (i = 0。 OUTSEG = LED。 } 18 } unsigned char KeyTable[] = { 0x16, 0x15, 0x14, 0xff, 0x13, 0x12, 0x11, 0x10, 0x0d, 0x0c, 0x0b, 0x0a, 0x0e, 0x03, 0x06, 0x09, 0x0f, 0x02, 0x05, 0x08, 0x00, 0x01, 0x04, 0x07 }。 } unsigned char GetKey() // 得到按下鍵的 數(shù)值 { unsigned char Pos。 Pos = 0x20。 0x0f。 if (k != 0) { i *= 4。 4) i += 2。 do Delay(10)。 // 如果沒有鍵按下,返回清零代碼 0xff } 19 define ADD 0x0a // 宏定義 ,各運(yùn)算對應(yīng)相應(yīng)鍵的代碼 define SUB 0x0b define MUL 0x0c define DIV 0x0d define EQU 0x0e define CLR 0x0f define qf 0xff define qy 0x14 define jc 0x15 define bj 0x16 define zh 0x10 define pys 0x11 define kf 0x12 define pf 0x13 void DisplayResult(signed int Result) // 計算結(jié)果逐位送入顯示 緩沖區(qū)中 { unsigned char i。 } LEDBuf[1] = 0。 // 數(shù)值對 10取模,所得結(jié)果為最低位 LEDBuf[5] = LEDMAP[Result % 10]。 Result = Result /
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1