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

正文內(nèi)容

單片機(jī)課程設(shè)計(jì)基于51單片機(jī)的簡易計(jì)算器(編輯修改稿)

2024-12-10 11:40 本頁面
 

【文章內(nèi)容簡介】 el 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。 片上 Flash 允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash,使得AT89S52 在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。 圖 圖 11 數(shù)碼管 LED 數(shù)碼管實(shí)際上是由七個(gè)發(fā)光管組成 8 字形構(gòu)成的,加上小數(shù)點(diǎn)就是 8個(gè)。這些段分別由字母 a,b,c,d,e,f,g,dp 來表示。當(dāng)數(shù)碼管特定的段加上電壓后,這些特定的段就會(huì)發(fā)亮,以形成我們眼睛看到的 2 個(gè) 8 數(shù)碼管字樣了。如:顯示一個(gè) “2” 字,那么應(yīng)當(dāng)是 a亮 b 亮 g 亮 e亮 d亮 f不亮 c不亮 dp不亮。 LED 數(shù)碼管有一般亮和超亮等不同之分,也有 寸、 1 寸等不同的尺寸。小尺寸數(shù)碼管的顯示筆畫常用一個(gè)發(fā)光二極管組成,而大尺寸的數(shù)碼管由二個(gè)或多個(gè)發(fā)光二極管組成,一般情況下,單個(gè)發(fā)光二極管的管壓降為 ,電流不超過 30mA。發(fā)光二極管的陽極連接到一起連接到電源正極的稱為共陽數(shù)碼管,發(fā)光二極管的陰極連接到一起連接到電源負(fù)極的稱為共陰數(shù)碼管。常用 LED 數(shù)碼管顯示 的數(shù)字和字符是 0、 A、 B、 C、 D、 E、 F。 各模塊功能設(shè)計(jì) 鍵盤輸入模塊: 本設(shè)計(jì)中鍵盤分布鍵值如下表所示: 7 8 9 + 4 5 6 1 2 3 0 C = 247。 工作原理 圖 12 本設(shè)計(jì)采用 P3 口作為矩陣鍵盤輸入口。開始工作后,單片機(jī)先對(duì)矩陣鍵盤的行進(jìn)行掃描若無鍵按下,即先使 P3 為 11110000,然后檢測外來輸入,若有輸入,則可使四位的 0 其中一位置 1,即完成了按鍵行號(hào)的輸入。列掃描原理同行掃描相同,不過 P3 初始為 00001111。檢測完行號(hào)與列號(hào)后,從而產(chǎn)生一個(gè) 8位二進(jìn)制碼,即可對(duì)鍵盤值進(jìn)行輸入 (程序?qū)崿F(xiàn)見附錄 char jianpan()段 )。 矩陣鍵盤的工作原理可以用以下框圖簡單表示: 行 掃 描列 掃 描有 鍵 按 下返 回 鍵 值 是否 本設(shè)計(jì)鍵值與八位碼對(duì)應(yīng)關(guān)系: 鍵值 8 二進(jìn)制位碼 十六進(jìn)制 0 00011000 18 1 00010100 14 2 00100100 24 3 01000100 34 4 00010010 12 5 00100010 22 6 01000010 42 圖 13 7 00010001 11 8 00100001 21 9 01000001 41 +/10 10000001 81 - /11 10000010 82 /12 10000100 84 247。 /13 10001000 88 =/14 01001000 48 C/15 00101000 28 矩陣鍵盤與單片機(jī)的電路連接如下面兩幅圖所示: 表 圖 14 控制模塊 控制模塊控制著數(shù)字錄入, 數(shù)字錄入是進(jìn)行計(jì)算的前提,它是將從矩陣鍵盤上輸入的數(shù)值、運(yùn)算符等錄入單片機(jī)處理器進(jìn)行處理,從而得出運(yùn)算結(jié)果 (程序見附錄二 KONGZHI 段) 。本設(shè)計(jì)數(shù)字錄入 模塊工作流程如下: 15 等 待鍵 值第 一 個(gè) 鍵 值 為運(yùn) 算 符個(gè) 位 為 0 十 位 為空舊 結(jié) 果 不 參 與 運(yùn) 算個(gè) 位 為 0 , 十 位為 空舊 結(jié) 果 作 為 第 一 個(gè)數(shù) 參 與 運(yùn) 算 八 位 有 效 數(shù) 字開 始否是是否數(shù) 值 超 過 八 位清 零是否計(jì) 算運(yùn) 算 符 為 =顯 示否等 待 “ = ” 輸 入結(jié) 束判 斷 運(yùn) 算 符等 待 運(yùn) 算 符 輸 入CC 或 第 九 位 數(shù) 是是否第 二 個(gè) 數(shù) 錄 入否C是否圖 16 計(jì)算模塊 計(jì)算模塊作為 計(jì)算器的 的核心模塊 共有加、減、乘、除四個(gè)部 分。其設(shè)計(jì)原理是先將鍵盤輸入的 BCD 碼數(shù)字轉(zhuǎn)換為十進(jìn)制數(shù)字,然后再對(duì)其進(jìn)行運(yùn)算。由于由于最后需要進(jìn)行輸出顯示,所以我們對(duì)最終結(jié)果又做了一次轉(zhuǎn)換將結(jié)果轉(zhuǎn)換為 BCD 碼,以便在 LED 上顯示。下面以加法為例對(duì)計(jì)算模塊進(jìn)行原理介紹 (完整程序段見附錄二 jisuan 段 )。 void jisuan(char k,char a[8],char b[8]) { char r[8]。數(shù)組 r 用于存儲(chǔ)計(jì)算結(jié)果的 BCD 碼 long i,x,y。 i=0。 x=0。存儲(chǔ)第一個(gè)數(shù) y=0。存儲(chǔ)第二個(gè)數(shù) for(i=7。i0。i) //數(shù)值轉(zhuǎn)化,將代表空格的 12 轉(zhuǎn)化為數(shù)字 0,因?yàn)閭€(gè)位不顯示空格,默認(rèn)為 0,所以不轉(zhuǎn)化 { while(a[i]==12)a[i]=0。 while(b[i]==12)b[i]=0。 } x=a[4]。 x=10000*x。 x=x+a[0]+a[1]*10+a[2]*100+a[3]*1000+a[5]*100000+a[6]*1000000+a[7]*10000000。將鍵盤輸入的第一個(gè)數(shù)轉(zhuǎn)換為十進(jìn)制數(shù) y=b[4]。 y=10000*y。 y=y+b[0]+b[1]*10+b[2]*100+b[3]*1000+b[5]*100000+b[6]*1000000+b[7]*10000000。 將鍵盤輸入的第二個(gè)數(shù)轉(zhuǎn)換為十進(jìn)制數(shù) 17 if(k==10)//加法運(yùn)算 { x=x+y。 if(x99999999) //大于 8位,顯示 “Err” { r[0]=11。 //r r[1]=11。 //r r[2]=10。 //E r[3]=12。 //空格 r[4]=12。 r[5]=12。 r[6]=12。 r[7]=12。 } else { r[0]=x%10。 r[1]=(x%100)/10。 r[2]=(x%1000)/100。 r[3]=(x%10000)/1000。 r[4]=(x%100000)/10000。 r[5]=(x%1000000)/100000。 r[6]=(x%10000000)/1000000。 r[7]=x/10000000。//此段的功能是利用求余的方法將計(jì)算結(jié)果轉(zhuǎn)換為 BCD 碼 } } 從以上程序段中我們可以看出 C語言的簡單與直觀,再進(jìn)行加法運(yùn)算時(shí)只要輸入“ +”,就能對(duì) 數(shù)字進(jìn)行運(yùn)算,若選用匯編語言,代碼將變得很復(fù)雜。 18 顯示模塊 本設(shè)計(jì)采用了八位 LED 數(shù)碼管。可以顯示 0~99999999,之間的任意整數(shù)。 由于 LED 數(shù)碼管有八個(gè),若采用靜態(tài)顯示,則最少需要 56根數(shù)據(jù)線與八根地址線,這對(duì)只有 40 根引腳的單片機(jī)是不可能實(shí)現(xiàn)的。所以我們采用了動(dòng)態(tài)掃描的顯示方法。其原理是不同時(shí)刻對(duì)不同位上的數(shù)碼管進(jìn)行選通,同時(shí)對(duì)其進(jìn)行數(shù)碼輸出。當(dāng)掃描頻率很高時(shí),將不會(huì)看到數(shù)碼關(guān)的閃爍。本設(shè)計(jì) 利用 了 定時(shí)器中斷來 實(shí)現(xiàn)間時(shí)顯示 。(程序段見附錄二 XIANSHI 段) 電路圖: 為了 使 LED 的顯示能與單片機(jī)速度能夠匹配,因此在 P1口與 LED 之間加入了74HC245 鎖存器。 晶振與復(fù)位模塊 圖 圖 19 本模塊的晶振為 12MHz,其為單片機(jī)工作提供時(shí)鐘頻率,是單片機(jī)必不可少的部件。 另外,為防止單片機(jī)由于各種原因而出現(xiàn)死機(jī)現(xiàn)象,本模塊專門設(shè)計(jì)了一個(gè)獨(dú)立的 RST 鍵,按下它可對(duì)單片機(jī)進(jìn)行復(fù)位。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1