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

正文內(nèi)容

基于c51單片機簡易計算器的課程設(shè)計論文(編輯修改稿)

2024-10-03 19:37 本頁面
 

【文章內(nèi)容簡介】 數(shù)碼管點亮的字位碼。由于采用的是共陰數(shù)碼管,所以只有該位數(shù)碼管對應(yīng)的 為 1,其他位 位 0,點亮延時 10MS。然后 P1 口輸出數(shù)值十位七段碼, 位 1,數(shù)值十位數(shù)碼管點亮,延時 10MS。接著 P1 口輸出數(shù)值百位七段碼, 為 1,數(shù)值百位數(shù)碼管點亮,延時 10MS。最后 P1 口輸出數(shù)值千位七段碼, 為 1,數(shù)值千位數(shù)碼管點亮,延時 10MS。 發(fā)光二極管 LED 是單片機應(yīng)用系統(tǒng)中的一種簡單而最常 用的輸出設(shè)備,其在系統(tǒng)中的主要作用是顯示單片機的輸出數(shù)據(jù)、狀態(tài)等。因而作為典型的外圍器件,LED 顯示單元是反映系統(tǒng)輸出和操作輸入的有效元器件。 LED 具備數(shù)字接口可以方便的和單片機引腳連接;它的優(yōu)點是價格低,壽命長,對電壓電流的要求低以及容易實現(xiàn)多路等,因而在單片機應(yīng)用系統(tǒng)中獲得了廣泛的應(yīng)用,所以在此設(shè)計中我首先選用了 LED作為顯示器件。如圖 310所示: 圖 36 數(shù)碼顯示管 11 4. 程序設(shè)計 本方案中的程序設(shè)計采用了模塊化設(shè)計,各部分程序都分別進行獨立的設(shè)計,最后主程序通過調(diào)用各模塊程序來運行,編 程中所使用的語言全部都是 C語言,可以 利用 keil 軟件進行靈活的編譯,編譯完成后也可生成 HEX 文件,利用 ISP編程軟件通過串口寫到單片機中。本方案程序設(shè)計中部分 包括主程序模塊、液晶顯示模塊、功能按鍵和控制輸出等部分。下面僅僅敘述了各部分程序設(shè)計的基本思想和流程圖,詳細程序請參閱附錄。 讀鍵輸入程序流程圖 為了實現(xiàn)鍵盤的數(shù)據(jù)輸入功能和命令處理功能,每個鍵都有其處理子程序,為此每個鍵都對應(yīng)一個碼 —— 鍵碼。為了得到被按鍵的鍵碼,現(xiàn)使用行掃描法識別按鍵。列掃描信號進行讀入行的信號判斷該列是否有列的輸出 —— 是則進行按照行列計算鍵盤的值,查表取得鍵碼并返回 —— 若否則進行再次掃描。 程序框圖如下 4— 1 圖: 12 鍵盤輸入流程圖 4— 1 開始 初始化地址 讀入行掃描信號 輸出列掃描信號 等待按鍵釋放 該列有信號? 四列掃描完? 返回 根據(jù)行列計算鍵值 返回 列掃描信號位移 查表得鍵碼 是 否 是 否 13 LED顯示程序流程圖設(shè)計 LED 數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們需要的數(shù)位,因此根據(jù) LED 數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。 A、 靜態(tài)顯示驅(qū)動: 靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的 I/O 埠進行驅(qū)動,或者使用如 BCD 碼二 十進位 *器 *進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用 I/O 埠多,如驅(qū)動 5個數(shù)碼管靜態(tài)顯示則需要 5 8=40 根 I/O埠來驅(qū)動,要知道一個 89S51 單片機可用的 I/O埠才 32 個呢。故實際應(yīng)用時必須增加 *驅(qū)動器進行驅(qū)動,增加了硬體電路的復(fù)雜性。 B、 動態(tài)顯示驅(qū)動: 數(shù)碼管動態(tài)顯示介面是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的 8 個顯示筆劃 a,b,c,d,e,f,g,dp 的同名端連在一起,另外為每個數(shù)碼管的公共極 COM 增加位元選通控制電路,位元選通由各自獨立的I/O 線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是哪個數(shù)碼管會顯示出字形,取決于單片機對位元選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位元就會顯示出字形,沒有選通的數(shù)碼管就不會亮。 透過分時輪流控制各個 LED 數(shù)碼管的 COM 端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位元數(shù)碼管的點亮?xí)r間為 1~ 2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的 I/O 埠,而且功耗更低。 綜上所述我們在本設(shè)計方案中選用了動態(tài)顯示。 14 6 位 LED 顯示的程序框圖如圖 42所示: 圖 42 LED顯示 流程圖 主程序進行程序中用到的一些存儲單元的初始化,數(shù)值顯示和 4*4鍵盤掃描。首先,進行存儲單元初始化,給數(shù)碼管顯示單元 30H33H 賦予“ 0000”字形數(shù)據(jù),將數(shù)值計數(shù)單元,存儲單元, 23H25H,34H37H,38H,39H,3AH,3BH,3CH,賦予初值零。之后,調(diào)用鍵盤掃描子程序,和數(shù)碼管顯示數(shù)據(jù)轉(zhuǎn)換程序,數(shù)碼管動態(tài)顯示子程序。主程序不斷進行鍵盤掃描,數(shù)碼管顯示數(shù)據(jù)轉(zhuǎn)換子程序和動態(tài)顯示子程序。 首先初始化參數(shù),送 LED 低位顯示“ 0”,功能鍵(“ +” 、“ ” 、“ *” 、“ /” 、 “ +” )位不顯示。然后掃描鍵盤看是否有鍵輸入,若有,讀取鍵碼。判斷鍵碼是數(shù)字鍵、清零鍵還是“ +” 、“ — ” 、“ *” “ /” ,是數(shù)值鍵則送 LED 顯示并保存數(shù)值,是清零鍵則做清零處理,是功能鍵則又判斷是“ =”還是運算鍵,若是“ =”則計算最后結(jié)果并送 LED 顯示,若是運算鍵則保存相對運算程序的首地址。 15 運算主程序框圖如 43所示: 圖 43 運算主程序框圖 在程序設(shè)計方法上,模塊化程序設(shè)計是單片機應(yīng)用中最常用的程序設(shè)計方法。設(shè)計的中心思想是把一個復(fù)雜應(yīng)用程序按整體功能 劃分成若干相對獨立的程序模塊,各模塊可以進行單獨的設(shè)計、編程和調(diào)試,然后組合起來。這種方法便于設(shè)計和調(diào)試,容易實現(xiàn)多個程序共存,但各個模塊之間的連接有一定的難度。根據(jù)需要我們可以采取自上而下的程序設(shè)計方法,此方法先從主程序開始設(shè)計,然后再編制各從屬程序和子程序,層層細化逐步完成,最終完成一個復(fù)雜程序的設(shè)計。這種方法比較符合人們的日常思維,缺點是一級的程序錯誤會對整個程序 16 產(chǎn)生影響。 功能和操作:加減乘除運算和顯示。 A: 上電后,屏幕初始化,按下“ ON/C”鍵。 B: 計算。按下數(shù)字鍵,屏幕顯示要運算的第一個 數(shù)字,再按下符號鍵,然后再按下 數(shù)字鍵,屏幕顯示要運算的第二個數(shù)字,最后按下 “﹦ ”號鍵,屏幕上顯示出計算結(jié)果。 C:如果要再次計算,可以按下 “ON/C”鍵清零,或者按下單片機的復(fù)位鍵,重新初始化。 硬件聯(lián)系圖如下圖: 硬件連線圖 17 5 結(jié)論 課程設(shè)計是培養(yǎng)學(xué)生運用所學(xué)的專業(yè)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實際動手能力的重要
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦