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

正文內(nèi)容

片機(jī)課程設(shè)計(jì)---計(jì)算器實(shí)驗(yàn)-預(yù)覽頁

2025-07-08 22:45 上一頁面

下一頁面
 

【正文】 ........................... 錯(cuò)誤 !未定義書簽。 擴(kuò)展功能設(shè)計(jì) .............................................................. 錯(cuò)誤 !未定義書簽。 第 5 章 學(xué)習(xí)心得 .................. 錯(cuò)誤 !未定義書簽。另外,還對(duì)計(jì)算器的功能進(jìn)行了擴(kuò)展,添加了一些特殊運(yùn)算和錯(cuò)誤報(bào)警的功能。 ② 鍵盤包括數(shù)字鍵( 0~ 9)、符號(hào)鍵( +、 、 、 247。程序流程圖如下: 2 3 第 2 章 硬件模塊介紹 運(yùn)算模塊 MCS51 單片機(jī)是在一塊芯片中集成了 CPU、 RAM、 ROM、定時(shí)器 /計(jì)數(shù)器和多功能 I/O等一臺(tái)計(jì)算機(jī)所需要的基本功能部件。鍵盤是由若干個(gè)按鍵組成的開關(guān)矩陣,它是最簡(jiǎn)單的單片機(jī)輸入設(shè)備,通過鍵盤可輸入數(shù)據(jù)和命令,實(shí)現(xiàn)簡(jiǎn)單的人機(jī)對(duì)話。當(dāng)系統(tǒng)操作較簡(jiǎn)單所需按鍵較少時(shí),可采用獨(dú)立式非編碼鍵盤,而當(dāng)系統(tǒng)操作較復(fù)雜,需要按鍵較多時(shí),可采用矩陣式非編碼鍵盤。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中 I/O 口的利用率,如圖 2— 1所 示: 圖 21 矩陣式鍵盤 5 鍵盤的原理 如圖 2— 2所示, 采用列掃描法來識(shí)別按鍵。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個(gè)鍵按下,鍵的功能是什么?還要消除按鍵在閉合或斷開時(shí)的抖動(dòng)。第二步,行線輪流輸出低電平,從列線 P14~P17 讀入數(shù)據(jù),若有某一列為低電平,則對(duì)應(yīng)行線上有鍵按下。因而作為典型的外圍器件, LED 顯示單元是反映系統(tǒng)輸出和操作輸入的有效器件。 共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極 (COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線 GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。簡(jiǎn)易計(jì)算器用到的數(shù)字 0~9的共陰極字形代碼如下表 2— 1所示: 顯示字形 g f g d c b a 段碼 0 0 1 1 1 1 1 1 3fh 1 0 0 0 0 1 1 0 06h 2 1 0 1 1 0 1 1 5bh 3 1 0 0 1 1 1 1 4fh 4 1 1 0 0 1 1 0 66h 5 1 1 0 1 1 0 1 6dh 6 1 1 1 1 1 0 1 7dh 7 0 0 0 0 1 1 1 07h 8 1 1 1 1 1 1 1 7fh 8 9 1 1 0 0 1 1 1 67h A 1 1 1 0 1 1 1 77h B 1 1 1 1 1 0 0 7ch C 0 1 1 1 0 0 1 39h D 1 0 1 1 1 1 0 5eh E 1 1 1 1 0 0 1 79h F 1 1 1 0 0 0 1 71h 表 21 0— 9 七段數(shù)碼管共陰極 字形代碼 動(dòng)態(tài)顯示的工作原理 點(diǎn)亮顯示 器的方法有靜態(tài)和動(dòng)態(tài)兩種,這里顯示位數(shù)較多,采用動(dòng)態(tài)顯示較合適,如圖 2— 4所示, 所謂動(dòng)態(tài)顯示,就是 用掃描的方法一位一位輪流點(diǎn)亮 顯示器 的各位 ,該方法只需一個(gè) 8位段輸出口和一個(gè) 8位掃描輸出口,后者的作用是依次接通各位 LED。 圖 2— 5 音頻放大濾波電路 第 3章 軟件設(shè)計(jì) 基本功能設(shè)計(jì) 實(shí)驗(yàn)現(xiàn)象: 可以 實(shí)現(xiàn)基本的運(yùn)算 —— 加減乘除 以及 數(shù)據(jù)清 零 的功能 , 用 A、 B、 C、 D、 E、 F鍵分別代表“ +”、“ ”、“ *”、“ /”、“ =”、“清零” 。 // 鍵盤行碼讀回口 開始 初始化參數(shù) LED 顯示 有鍵輸入 讀取鍵碼 鍵碼是? 數(shù)字鍵 清零鍵 功能鍵 輸入數(shù)值 狀態(tài)清零 數(shù)值送顯示緩沖 根據(jù)上次功能鍵和輸入的數(shù)據(jù)計(jì)算結(jié)果 本次功能鍵?是? 是“ =” 其它鍵 計(jì)算最后結(jié)果 保存結(jié)果和功能鍵 結(jié)果送顯示緩沖 等待數(shù)值輸入 12 unsigned char LEDBuf[LEDLen]。 i !=0。 unsigned char LED。 i++) { OUTBIT = 0。 // trun on one LED 位選 Delay(1)。 13 return (~IN amp。 unsigned char k。 Pos = 1。amp。 2) i += 1。 8) i += 3。 return(KeyTable[i])。 14 } else { // 在符號(hào)位顯示 ‘ ’ LEDBuf[0] = 0x40。 LEDBuf[3] = 0。 i = 4。 // 定義整型變量 Last,Result分別存放第一個(gè)運(yùn)算數(shù),第二個(gè)運(yùn)算數(shù)和結(jié) 果 unsigned char OP。 OP = ADD。 // 得到按下鍵的代碼 if ( (Key = 0) amp。 // 數(shù)值送顯示緩沖 } else if (Key == CLR) { // 是清零鍵 Last = 0。 // 數(shù)值送顯示緩沖 } else if ( (Key==ADD) || (Key==SUB) || (Key==MUL) || (Key==DIV) || (Key=EQU) ) { // 是功能鍵 switch (OP) { //上一按鍵是 ? case ADD: Result = Last + Result。 case MUL: Result = Last * Result。 } if (Key == EQU) { // 功能鍵是‘ =’ Last = 0。 } DisplayResult(Result)。 define LEDLen 6 //設(shè)置 LED顯示位數(shù)為六位 define PB1 2 define PB0 1 xdata unsigned char Control _at_ 0x8003。 // 段控制口 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 // 不顯示符號(hào)位 LEDBuf[0] = 0。 LEDBuf[2] = 0。 Result = Result / 10。 } } unsigned char PulseCNT。 void Timer() interrupt 1 { TR0 = 0。 Speaker = Pulse。 // 定義整型變量 Last,Result 分別存放第一個(gè)運(yùn)算數(shù),第二個(gè)運(yùn)算數(shù)和結(jié)果 unsigned int ttttt,x。 // 給變量賦初值 Result = 0。 Control = mode。 // EA=1, IT0 = 1 DisplayResult(Result)。amp。 0xff。 PulseCNT = 200。 } DisplayResult(Result)。 // 狀態(tài)清零 DisplayResult(Result)。 0xff。 PulseCNT = 200。 } break。 if (Result0){ 22 ToneHigh = Tone 8。 TL0 = ToneLow。 // 發(fā) 100 個(gè)脈沖 Speaker = 0。 // 根據(jù)上一鍵進(jìn)行相應(yīng)的運(yùn)算,計(jì)算最后結(jié)果 break。 } Result=ttttt。 TH0 = ToneHigh。 while (PulseCNT != 0) 。 case qy: Result = Last % Result。iResult1。 23 if (Result0){ ToneHigh = Tone 8。 TL0 = ToneLow。 // 發(fā) 100 個(gè)脈沖 Speaker = 0。 break。iResult1。 } Result = Last 。 TH0 = ToneHigh。 while (PulseCNT != 0) 。 case pys: Result=Last+Result。 break。 0xff。 PulseCNT = 200。 } break。 OP = Key。在這期間,雖然遇到了一些困難,但通過老師和學(xué)長(zhǎng)的指導(dǎo)和與同學(xué)的交流,以及查閱相關(guān)資料,從剛開始的迷茫到慢慢地有了清晰的思路并動(dòng)手設(shè)計(jì)、操作,從而順利地完成了這次課程設(shè)計(jì)。這次課程設(shè)計(jì)為我們以后的深入學(xué)習(xí)和發(fā)展打下了良好的基礎(chǔ),我將從中吸取經(jīng)驗(yàn)教訓(xùn),找到自己的不足,從而進(jìn)一步提高自己,做出更好的
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1