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

正文內(nèi)容

電子系統(tǒng)課程設(shè)計17805638(已修改)

2025-06-28 15:37 本頁面
 

【正文】 電子系統(tǒng)課程設(shè)計設(shè)計題目: 基于STC51單片機(jī)的計算器學(xué)院:信息科學(xué)與技術(shù)學(xué)院專業(yè):電子信息科學(xué)與技術(shù)指導(dǎo)老師:余小平小組成員:何鎮(zhèn)江 200805020224 宋俊霖 200805020212 廖海波 200805020210 日期:2011年11月一、確定計算器完成的功能1. 整數(shù)加減乘除法。2. 小數(shù)的除法。3. 矩陣鍵盤輸入指令。4. 每按一次鍵蜂鳴器發(fā)聲一次。5. 計算結(jié)果顯示。 二、系統(tǒng)方案設(shè)計與論證使用單片機(jī)STC51完成計算器的加減乘除法運(yùn)算,并且顯示結(jié)果。 單片機(jī)的選擇 要求單片機(jī)完成簡單的整數(shù)加減乘除法、處理4*4矩陣鍵盤的輸入數(shù)據(jù)、控制顯示器件顯示輸入的數(shù)據(jù)與運(yùn)算的結(jié)果、控制蜂鳴器的發(fā)音。 根據(jù)單片機(jī)完成的功能對單片機(jī)的處理速度要求不高,且考慮到經(jīng)濟(jì)效益,決定使用STC51單片機(jī)。 晶振選擇24MHZ,使STC51單片機(jī)速度跟快,并且價格和12MHZ差不多。 為了防止單片機(jī)程序進(jìn)入死循環(huán)而出不來,增加一個復(fù)位鍵。 顯示器件的選擇 方案一、使用12864作為顯示設(shè)備,但是考慮到計算器只要求顯示數(shù)字,使用12864太浪費(fèi),且價格比較貴,不予選用。 方案二、使用1602作為顯示設(shè)備。相比12864這個器件比較便宜,且能顯示數(shù)字和一些字符,能完成要求功能。 方案三、使用數(shù)碼管作為顯示設(shè)備。數(shù)碼管能顯示數(shù)字和一些特殊字符,而且計算器要求的顯示器件能顯示數(shù)字和一些特殊字符。所以數(shù)碼管能完成我們的要求顯示要求,并且數(shù)碼管是最便宜的。 綜上所述我們選擇性價比最高的數(shù)碼管作為顯示器件。 輸入設(shè)備的選擇 計算器要求輸入的數(shù)據(jù)有(0,1,2,3,4,5,6,7,8,9,*,/,+,,=,clear),共16個。輸入數(shù)據(jù)不多,最后選擇4*4的矩陣鍵盤作為輸入設(shè)備。1,5 聲音信號 現(xiàn)實中使用的計算器每按下一次鍵盤,就會發(fā)出聲音。因此設(shè)計的計算器應(yīng)該要求每按下一次鍵盤就發(fā)聲一次。發(fā)聲設(shè)備使用蜂鳴器就能完成要求。三、實際電路的設(shè)計 1. 單片機(jī)最小系統(tǒng)與復(fù)位電路 單片機(jī)最小系統(tǒng)是指用最少的元器件組成的單片機(jī)可以工作的系統(tǒng)。 31腳(EA/VPP),當(dāng)接高電平時,單片機(jī)在復(fù)位后從內(nèi)部ROM的0000H開始執(zhí)行;當(dāng)接低電平時,復(fù)位后后直接從外部ROM的0000H開始執(zhí)行。我們只使用的單片機(jī)內(nèi)部的ROM區(qū),所以31腳(EA/VPP)應(yīng)接高電平。 復(fù)位電路: 由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合電容電壓不能突變的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,RST腳將會出現(xiàn)高電平,并且,所以,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位.三極管主要是做驅(qū)動用的。因為單片機(jī)的IO口驅(qū)動能力不夠讓蜂鳴器發(fā)出聲音,所以我們通過三極管放大驅(qū)動電流,從而可以讓蜂鳴器發(fā)出聲音,你要是輸出高電平,三極管導(dǎo)通,集電極電流通過蜂鳴器讓蜂鳴器發(fā)出聲音,當(dāng)輸出低電平時,三極管截止,沒有電流流過蜂鳴器,所以就不會發(fā)出聲音。 5位8段共陽極數(shù)碼管動態(tài)顯示原理:每一位都是將8個發(fā)光二極管(下面簡稱LED)的正極接在一塊,就有5個正極,接上5個IO口,這個就是位選,相應(yīng)IO口輸出高電平電平算是選通該位。相同字段LED的負(fù)極連在一起,也有八根線,接上8個IO口,這就是段選,相應(yīng)IO口輸出低電平算是選通該段。一般情況下5個位選只有一個選通,8個段選如果是數(shù)字2,那么選通的那一位數(shù)碼管就會顯示2,其它位數(shù)碼管都是黑的。延遲一段再熄滅它,再選通另一位顯示在那一位該顯示的數(shù)字,延遲一段再熄滅,如此循環(huán),人眼有暫留效應(yīng),只要足夠快人眼看起來就是幾個數(shù)字穩(wěn)定地顯示在5位數(shù)碼管上。如果直接用單片機(jī)控制數(shù)碼管的共陽極,數(shù)碼管發(fā)光很弱,所以用三極管在增加驅(qū)動。如下圖連接。 數(shù)碼管接法如下圖:*4矩陣鍵盤 矩陣鍵盤原理在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。 矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識別也要復(fù)雜一些,上圖中,列線通過電阻接正電源,并將行線所接的單片機(jī)的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒有按下時,所有的輸入端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。 行列掃描法原理: 第一步, 使行線為編程的輸入線,列線是輸出線,拉低所有的列線, 判斷行線的變化,如果有按鍵按下,按鍵按下的對應(yīng)行線被拉低,否則 所有的行線都為高電平。第二步, 在第一步判斷有鍵按下后, 延時 10ms 消除機(jī)械抖動,再次讀取行值,如果此行線還處于低電平狀態(tài)則進(jìn)入下 一步,否則返回第一步重新判斷。第三步,開始掃描按鍵位置,采用逐 行掃描,每間隔 1ms 的時間,分別拉低第一列,第二列,第三列,第四 列,無論拉低哪一列其他三列都為高電平,讀取行值找到按鍵的位置, 分別把行值和列值儲存在寄存器里。第四步,從寄存器中找到行值和列 值并把其合并,得到按鍵值,對此按鍵值進(jìn)行編碼,按照從第一行第一 個一直到第四行第四個逐行進(jìn)行編碼,編碼值從“0000” 至“1111” , 再進(jìn)行譯碼,最后顯示按鍵號碼。 有鍵按下時,就進(jìn)入中斷,在中斷中判斷按鍵與要顯示的數(shù)。原理圖如下:四、系統(tǒng)軟件設(shè)計軟件流程:結(jié)束開始系統(tǒng)初始化,開鍵盤掃描中斷(INTO)有無鍵按下NO進(jìn)入中斷服務(wù)程序循環(huán)顯示關(guān)中斷;蜂鳴器發(fā)音一下,關(guān)掉鍵盤掃描判斷鍵盤是哪個鍵按下按鍵是否釋放YESNO鍵值處理按下的是什么鍵完成對用的功能。并把結(jié)果送數(shù)碼管待顯示數(shù)據(jù)區(qū)返回中斷服務(wù)函數(shù)調(diào)用處數(shù)碼管動態(tài)顯示顯示數(shù)碼管動態(tài)數(shù)據(jù)顯示區(qū)的數(shù)據(jù)有中斷YES五、附件 1. 原理圖 2. 程序/**************************計算器的設(shè)計(簡單版)*******************************//*****************************************************************************//**作品功能:能完成簡單的整數(shù)加\減\乘\除\法,除法的小數(shù)位不顯示(舍去)***********//********輸入最大能輸入五位數(shù)據(jù);且能正常的顯示五位數(shù)結(jié)果,超過五位結(jié)果不信任***//*****************************************************************************//******制作時間:2011年11月08號********************************************//*****************************************************************************//*****************************************************************************//*********************所用頭文件**********************************************/include include define uchar unsigned chardefine uint unsigned int/****************************************單片機(jī)各個口的定義****************/define key_data P1define duan P2sbit wei_1= P3^3。sbit wei_2= P3^4。sbit wei_3= P3^5。sbit wei_4= P3^6。sbit wei_5= P3^7。sbit wei_6= P3^1。sbit BEEP = P3^0。/**************************一些寄存器的設(shè)計********************************/uchar KeyNO。 //鍵盤值uchar duan_1。 //段選中間值uchar x。 //控制小數(shù)點(diǎn)的顯示uchar data data_count[5]={0,0,0,0,0}。 //只能用0~9uchar data data_use[5]={0,0,0,0,0}。 //顯示數(shù)組uchar sCode,kCode,i1,k。 //檢查鍵盤的值所用寄存器uchar key_value[]= //鍵盤值{ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}。uchar key_count。long add,cut,m
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1