單片機應(yīng)用技術(shù) 課件 項目3、4 汽車轉(zhuǎn)向燈設(shè)計與實現(xiàn)、產(chǎn)品計數(shù)器設(shè)計與實現(xiàn)_第1頁
單片機應(yīng)用技術(shù) 課件 項目3、4 汽車轉(zhuǎn)向燈設(shè)計與實現(xiàn)、產(chǎn)品計數(shù)器設(shè)計與實現(xiàn)_第2頁
單片機應(yīng)用技術(shù) 課件 項目3、4 汽車轉(zhuǎn)向燈設(shè)計與實現(xiàn)、產(chǎn)品計數(shù)器設(shè)計與實現(xiàn)_第3頁
單片機應(yīng)用技術(shù) 課件 項目3、4 汽車轉(zhuǎn)向燈設(shè)計與實現(xiàn)、產(chǎn)品計數(shù)器設(shè)計與實現(xiàn)_第4頁
單片機應(yīng)用技術(shù) 課件 項目3、4 汽車轉(zhuǎn)向燈設(shè)計與實現(xiàn)、產(chǎn)品計數(shù)器設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

項目3汽車轉(zhuǎn)向燈設(shè)計與實現(xiàn)素質(zhì)目標1.通過汽車轉(zhuǎn)向燈項目分析,培養(yǎng)學生安全意識和遵守規(guī)則意識。2.通過分支選擇語句的學習,樹立學生正確的人生觀、價值觀和世界觀。知識目標1.掌握獨立式鍵盤的工作原理與應(yīng)用。2.掌握C語言選擇語句的使用。3.掌握典型分支結(jié)構(gòu)程序設(shè)計和調(diào)試方法。能力目標1.能夠根據(jù)設(shè)計要求,選擇參數(shù)、性能合理的電子元器件,使用Proteus進行硬件電路仿真設(shè)計。2.熟悉C51對并行I/O端口作輸入口操作的編程方法。3.熟練使用典型分支結(jié)構(gòu)程序設(shè)計和調(diào)試方法。設(shè)計要求:

設(shè)計制作以MCS-51單片機為主控芯片,外接鍵盤電路、LED電路,通過編程實現(xiàn)汽車轉(zhuǎn)向燈控制系統(tǒng)?;趩纹瑱C的汽車轉(zhuǎn)向燈控制系統(tǒng)鍵盤知識開關(guān)(switch)按鍵/按鈕(button)鍵盤工作原理1、鍵輸入信號判斷:通過按鍵的接通與斷開,產(chǎn)生兩種相反的邏輯狀態(tài)低電平“0”與高電平“1”。2、鍵功能的實現(xiàn):對于一組鍵或一個鍵盤,需通過接口電路與單片機相連??刹捎貌樵兓蛑袛喾绞綔y試有無鍵按下,再確定是哪一個鍵按下,轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完后再返回主程序按鍵結(jié)構(gòu)與特點機械式按鍵在按下或釋放時,由于機械彈性作用的影響,通常伴隨有一定時間的觸點機械抖動,然后其觸點才穩(wěn)定下來。其抖動過程如右圖所示,抖動時間的長短與開關(guān)的機械特性有關(guān),一般為5

10ms。若有抖動,按鍵按下會被錯誤地認為是多次操作。按鍵觸點的機械抖動

為了克服按鍵觸點機械抖動所致的檢測誤判,必須采取去抖動措施,可從硬件、軟件兩方面予以考慮。鍵數(shù)較少時,采用硬件去抖(R-S觸發(fā)器構(gòu)成的去抖動電路)鍵數(shù)較多時,采用軟件去抖(延時去抖)

軟件上采取的措施是在檢測到有按鍵按下時,執(zhí)行一個10ms左右(具體時間應(yīng)視所使用的按鍵進行調(diào)整)的延時程序,再確認該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認該鍵處于閉合狀態(tài),從而消除抖動的影響。按鍵防抖動措施鍵盤與單片機的連接方式1.獨立式鍵盤2.矩陣式鍵盤鍵盤掃描方式

在單片機應(yīng)用系統(tǒng)中,鍵盤掃描只是CPU的工作內(nèi)容之一。CPU對鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時響應(yīng)按鍵操作,又不要過多占用CPU的工作時間。通常,鍵盤的工作方式有三種,即編程掃描、定時掃描和中斷掃描。

鍵盤掃描程序一般應(yīng)包括以下內(nèi)容:(1)判別有無鍵按下。(2)鍵盤掃描取得閉合鍵的行、列值。(3)用計算法或查表法得到鍵值。(4)判斷閉合鍵是否釋放,如沒釋放則繼續(xù)等待。(5)將閉合鍵鍵號保存,同時轉(zhuǎn)去執(zhí)行該閉合鍵的功能。

本系統(tǒng)功能由硬件和軟件兩大部份協(xié)調(diào)完成,硬件部分主要完成信息的顯示;軟件主要完成信號的處理及控制功能等。汽車信號燈控制系統(tǒng)以單片機AT89C52、電源電路、復(fù)位電路及時鐘電路構(gòu)成的最小系統(tǒng)模塊和外圍接口電路組成,外圍接口電路主要由LED顯示電路、按鍵輸入電路構(gòu)成。系統(tǒng)通過單片機并行I/O口構(gòu)成鍵盤輸入和LED顯示輸出電路,可實現(xiàn)汽車轉(zhuǎn)彎燈中各信號燈的功能操作。汽車轉(zhuǎn)向燈系統(tǒng)方案設(shè)計LED電路按鍵輸入電路復(fù)位電路時鐘電路電源電路單片機硬件方案確定最小系統(tǒng)

電路單片機硬件方案按鍵輸入電路LED顯示電路

硬件電路設(shè)計汽車轉(zhuǎn)向燈參考仿真電路圖C語言知識1、運算符和表達式2、選擇(分支)語句

軟件設(shè)計運算符及表達式運算類型運算符優(yōu)先級結(jié)合性括號運算符()1從左至右邏輯非和按位取反!~2從右至左算術(shù)運算*/%3從左至右+-4從左至右左移、右移運算<<>>5從左至右關(guān)系運算<<=>>=6從左至右==!=7從左至右位運算&8從左至右^9從左至右|10從左至右邏輯與&&11從左至右邏輯或||12從左至右賦值運算與復(fù)合賦值運算

=+=、-=、*=、/=、%=、&=、^=、|=、<<=、>>=14從右至左選擇分支語句1、if語句2、if……else語句3、if-elseif-else語句

if選擇語句基本if語句的格式如下:if(表達式){

語句組;

}if語句執(zhí)行過程:當“表達式”的結(jié)果為“真”時,執(zhí)行其后的“語句組”,否則跳過該語句組,繼續(xù)執(zhí)行下面的語句。

if語句中的“表達式”通常為邏輯表達式或關(guān)系表達式,在if語句中,“表達式”必須用括號括起來。在if語句中,花括號“{}”里面的語句組如果只有一條語句,可以省略花括號。如“if(P3_0==0)P1_0=0;”語句,但是為了提高程序的可讀性和防止程序書寫錯誤,建議讀者在任何情況下,都加上花括號。if-else選擇語句if-else語句的一般格式如下:if(表達式) {

語句組A;

} else{

語句組B;

}if-else語句執(zhí)行過程:當“表達式”的結(jié)果為“真”時,執(zhí)行其后的“語句組1”,否則執(zhí)行“語句組2”圖6-if-else語句執(zhí)行流程if……elseif……else語句

if-elseif-else是ifelse語句組成的嵌套,用于實現(xiàn)多個條件分支的選擇。其一般格式如下:if(表達式){語句1;}elseif(表達式){語句2;}elseif(表達式){語句3;}elseif(表達式){語句4;}else{語句N;}

if-elseif-else語句執(zhí)行流程

在單片機應(yīng)用系統(tǒng)中,鍵盤掃描只是CPU的工作內(nèi)容之一。CPU對鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時響應(yīng)按鍵操作,又不要過多占用CPU的工作時間。通常,鍵盤的工作方式有三種,即編程掃描、定時掃描和中斷掃描。鍵盤掃描程序一般應(yīng)包括以下內(nèi)容:(1)判別有無鍵按下。(2)鍵盤掃描取得閉合鍵的行、列值。(3)用計算法或查表法得到鍵值。(4)判斷閉合鍵是否釋放,如沒釋放則繼續(xù)等待。(5)將閉合鍵鍵號保存,同時轉(zhuǎn)去執(zhí)行該閉合鍵的功能。

鍵盤掃描方式主程序算法及流程圖開始初始化:LED全滅,正常行駛;輸入端口初始化;鍵盤掃描程序Y有鍵按下N主程序設(shè)計流程圖

主程序主要完成硬件初始化、鍵盤掃描與鍵位功能處理程序、延時功能函數(shù)調(diào)用等功能。1.判別有無鍵按下(延時去抖)

方法:實時讀取I/O口狀態(tài),取反后測試,若有鍵閉合,則x≠0;若無鍵閉合,則x=0。當測試有鍵閉合時,需要進行延時去抖動處理,按鍵消除抖動仍采用延時函數(shù)。即在發(fā)現(xiàn)有鍵盤按下后,延時10ms再進行逐行掃描。因為鍵被按下時的閉合時間遠遠大于10ms,所以延時后再掃描再判斷。若某鍵閉合則相應(yīng)單片機引腳輸入低電平。if(x==0)continue;//如果無鍵按下則認為是按鍵抖動,重新掃描鍵盤。2.采用查詢方式確定鍵位,根據(jù)鍵值轉(zhuǎn)去執(zhí)行該閉合鍵的功能方法:如果有鍵按下,則根據(jù)按鍵的不同執(zhí)行相應(yīng)的按鍵操作。鍵值處理程序為選擇(分支)結(jié)構(gòu),使用了if-elseif-else語句。

鍵盤掃描程序分析鍵盤掃描程序分析開始左轉(zhuǎn)信號讀取鍵值是否有鍵按下?P1.0按下YYP1.4按下P1.2按下P1.6按下YYNNN右轉(zhuǎn)信號剎車信號緊急信號NNYwhile(1) {/**************鍵盤掃描*************************************************/P1=0xff; //鍵盤初始化

x=P1;//讀鍵盤狀態(tài)

x=~x;//鍵盤狀態(tài)取反

if(x==0)continue;//如果無鍵按下則認為是按鍵抖動,重新掃描鍵盤

delay(250);//延時去抖動

if(x==0)continue;//如果無鍵按下則認為是按鍵抖動,重新掃描鍵盤/*****************根據(jù)鍵值相應(yīng)執(zhí)行功能*******************************************/

if(K1==0)//K1鍵:左轉(zhuǎn)

{P0=tab[0];delay(100);P0=0x00;delay(100);}elseif(K2==0) //K2鍵:右轉(zhuǎn)

{P0=tab[1];delay(100);P0=0x00;delay(100);}elseif(K3==0) //K3鍵:剎車

{while(k3==0)P0=tab[2];P0=0x00;}elseif(K4==0) //K4鍵:緊急

{P0=tab[3];delay(100);P0=0x00;delay(100);

}elseP0=0x00;//正常}鍵盤掃描程序分析1.獨立式按鍵采用每個按鍵單獨占用一根I/O口線結(jié)構(gòu)。當按下和釋放按鍵時,輸入到單片機I/O端口的電平是不一樣的,因此可以根據(jù)不同端口電平的變化判斷是否有按鍵按下以及是哪一個按鍵按下。獨立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根I/O口線,因此,在按鍵較多時,I/O口線浪費較大。2.C51語言供給了4種形式的條件語句:C51提供三種形式的if語句:①if(表達式){語句;}②if(表達式){語句1;}else{語句2;}③if(表達式1){語句1;}elseif(表達式2){語句2;}elseif(表達式3){語句3;}……else{語句n;}一鍵多功能按鍵識別電路設(shè)計設(shè)計要求:用一鍵多功能的實現(xiàn)花樣流水燈的控制。即同一個鍵位通過按下次數(shù)選擇控制不同的LED流水燈效果。項目4產(chǎn)品計數(shù)器設(shè)計與實現(xiàn)素質(zhì)目標1.通過數(shù)碼管低功耗節(jié)能顯示培養(yǎng)學生節(jié)約意識。2.培養(yǎng)學生的代碼編寫規(guī)范、勇于實踐的勞動精神和精益求精的工匠精神。知識目標1.能說出數(shù)碼管常見型號和類型和數(shù)碼管靜態(tài)顯示方式。2.能提供數(shù)碼管靜態(tài)電路設(shè)計。3.能說出C語言一維數(shù)組的使用。能力目標1.能分析電路原理圖和能使用常用元器件設(shè)計數(shù)碼管靜態(tài)顯示電路模塊。2.能夠基于C語言,熟練使用一維數(shù)組的查表功能,學會數(shù)碼管靜態(tài)顯示的程序編寫調(diào)試。設(shè)計要求:設(shè)計一個產(chǎn)品計數(shù)器的單片機應(yīng)用系統(tǒng),即單片機的某個I/O口作輸入口,外接紅外線光電傳感器作為實時產(chǎn)品計數(shù),1個獨立按鍵為計數(shù)值復(fù)位清零的功能按鈕;單片機的某些I/O口作輸出口,接2個1位數(shù)碼管,通過編程實現(xiàn)產(chǎn)品計數(shù)顯示效果?;趩纹瑱C的產(chǎn)品計數(shù)器產(chǎn)品計數(shù)器簡介計數(shù)器是一種可以用在不同工作、生活場合,對超市、停車場、公交汽車、銀行、圖書館、快遞業(yè)、印刷業(yè)等場合的人數(shù)、車數(shù)或者產(chǎn)品數(shù)量進行統(tǒng)計和管理。產(chǎn)品計數(shù)器利用單片機技術(shù)和光電傳感器、按鍵、數(shù)碼管等組成系統(tǒng),通過光電傳感器檢測已加工的產(chǎn)品,并將這一自動檢測信息送入單片機系統(tǒng)中;通過獨立按鍵完成復(fù)位清零操作;通過數(shù)碼管顯示計數(shù)數(shù)量信息,采用數(shù)碼管靜態(tài)顯示方式,可以保證其長時間運作,也具備了高亮度、可視性、小功耗、使用壽命長等優(yōu)點。數(shù)碼管簡介數(shù)碼管是一種用于顯示數(shù)字和一些字母符號的電子元件,通常由LED或熒光燈組成,其基本單元是發(fā)光二極管。通過對其不同的管腳輸入相對應(yīng)的電流,會使其發(fā)亮,從而能夠顯示時間、日期、溫度等所有可用數(shù)字表示的參數(shù)。由于它的價格便宜,被廣泛用作數(shù)字儀器儀表、自動化控制裝置、計算機的數(shù)顯器件,特別是在家用電器領(lǐng)域應(yīng)用極為普遍,如空調(diào)、熱水器、冰箱等。數(shù)碼管實物圖常見的數(shù)碼管包括七段數(shù)碼管和十六段數(shù)碼管。七段數(shù)碼管由七個LED燈組成,分別表示數(shù)字0-9以及一些字母符號。十六段數(shù)碼管則由16個LED燈組成,除了數(shù)字0-9以外,還可以表示更多的字母符號和圖形。數(shù)碼管可以作為一種節(jié)能的顯示器件來使用,它的功耗通常比液晶顯示器等其他顯示器件要低得多,數(shù)碼管是固態(tài)器件,使用壽命比其他顯示器件要長,數(shù)碼管通常只顯示數(shù)字和字母,而不需要顯示復(fù)雜的圖形和圖像,因此它們可以使用較低的分辨率和較少的像素。這意味著數(shù)碼管所需的計算和圖形處理能力更低,從而減少了能源消耗。數(shù)碼管的主要特點是:(1)驅(qū)動發(fā)光只需要低電壓、小電流的條件,并且其能與CMOS電路、TTL電路兼容。(2)數(shù)碼管的響應(yīng)時間非常短(<0.1μs),它的高頻特性好,單色性好,亮度高。(3)數(shù)碼管的體積小,重量輕,抗沖擊能力高。數(shù)碼管的結(jié)構(gòu)和分類LED數(shù)碼管(LEDSegmentDisplays)是由多個發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管,如圖所示。數(shù)碼管內(nèi)部電路圖數(shù)碼管字形編碼要使數(shù)碼管顯示出相應(yīng)的數(shù)字或字符,必須使段數(shù)據(jù)口輸出相應(yīng)的字形編碼。字型碼各位定義為:數(shù)據(jù)線D0與a字段對應(yīng),D1與b字段對應(yīng)……,依此類推。如使用共陰極數(shù)碼管,數(shù)據(jù)為0表示對應(yīng)字段滅,數(shù)據(jù)為1表示對應(yīng)字段亮。如使用共陽極數(shù)碼管,數(shù)據(jù)為0表示對應(yīng)字段亮,數(shù)據(jù)為1表示對應(yīng)字段滅;如要顯示“0”,共陰極數(shù)碼管的字型編碼應(yīng)為:00111111B(即3FH),共陽極數(shù)碼管的字型編碼應(yīng)為:11000000B(即C0H)。數(shù)碼管字形編碼顯示數(shù)字共陰順序小數(shù)點滅共陽順序小數(shù)點亮共陽順序小數(shù)點滅Dpgfedcba16進制0001111113FH40HC0H10000011006H79HF9H2010110115BH24HA4H3010011114FH30HB0H40110011066H19H99H5011011016DH12H92H6011111017DH02H82H70000011107H78HF8H8011111117FH00H80H9011011116FH10H90H根據(jù)LED顯示的硬件設(shè)計方法的不同,LED顯示驅(qū)動分為靜態(tài)顯示和動態(tài)顯示兩種方法。1.靜態(tài)顯示方式所謂靜態(tài)顯示方式,就是當顯示某一個數(shù)字時,代表相應(yīng)筆劃的發(fā)光二極管恒定發(fā)光,例如7段數(shù)碼管的a、b、c、d、e、f筆段亮時顯示數(shù)字0;b、c亮時顯示1;a、b、d、e、g亮時顯示2等。數(shù)碼管的顯示方式靜態(tài)顯示電路數(shù)碼管的靜態(tài)顯示方式連接所有LED的位選均共同連接到+VCC或GND,每個LED的8根段選線分別連接一個8位并行I/O口,從該I/O口送出相應(yīng)的字型碼顯示字型。特點原理簡單;顯示亮度強,無閃爍;占用I/O資源較多。數(shù)碼管的動態(tài)顯示方式連接

所有LED的段選線共同連接在一起共用一個8位I/O口,而每個LED的位選分別由一根相應(yīng)的I/O口線控制。因此必須采用動態(tài)掃描顯示方式,每一個時刻只選通其中一個LED,同時在段選口送出該位LED的字型碼。動態(tài)顯示電路紅外線光電傳感器紅外線光電傳感器是一種利用人肉眼看不見的、波長為780nm-1mm的近紅外線和紅外線的反射在介質(zhì)中傳播后經(jīng)過長距離后返回接收信息來自動檢測和判別物體的傳感器。紅外線光電傳感器是由發(fā)射器、接收器和檢測電路三部分組成。紅外線光電傳感器數(shù)組數(shù)組:構(gòu)造數(shù)據(jù)類型,是一組有序數(shù)據(jù)的集合數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型整型實型字符型數(shù)組結(jié)構(gòu)聯(lián)合枚舉單精度型雙精度C語言的數(shù)據(jù)類型數(shù)組的概念數(shù)組是構(gòu)造數(shù)據(jù)類型,是一組有序數(shù)據(jù)的集合,數(shù)組中的每個元素都屬于同一種數(shù)據(jù)類型,不允許在同一數(shù)組中出現(xiàn)不同類型的變量,數(shù)組元素的數(shù)據(jù)類型就是該數(shù)組的基本類型。例如,整型數(shù)據(jù)的有序集合稱為整型數(shù)組,字符型數(shù)據(jù)的有序集合稱為字符型數(shù)組。數(shù)組分為一維、二維、三維和多維數(shù)組等,常用的是一維、二維和字符數(shù)組。數(shù)組的基本特點構(gòu)造類型數(shù)據(jù):由基本類型數(shù)據(jù)按照一定規(guī)則組成。數(shù)組:同類型數(shù)據(jù)的一個有序集合。數(shù)組用一個名字來標識,稱為數(shù)組名。數(shù)組中各元素的順序用下標表示,下標為n的元素可以表示為數(shù)組名[n]。改變[]中的下標就可以訪問數(shù)組中所有的元素。應(yīng)用場合:需要處理的數(shù)據(jù)為數(shù)量已知的若干相同類型的數(shù)據(jù)時。注意:數(shù)組先定義,后使用。一維數(shù)組的定義和引用一維數(shù)組的定義:一般格式:類型標識符數(shù)組名[常量表達式];

int

array[10];

unsignedcharnum[7];說明:數(shù)組名——見名知意;數(shù)組名中存放的是一個地址常量,它代表整個數(shù)組的首地址。同一數(shù)組中的所有元素,按其下標的順序占用一段連續(xù)的存儲單元。方括弧而非圓括弧;常量表達式:可以是常量或符號常量;表示數(shù)組元素的個數(shù)(也稱數(shù)組長度)。不允許對數(shù)組大小作動態(tài)定義。數(shù)組元素下標從0開始。array[0],array[1],…array[9];遵循標識符命名規(guī)則一維數(shù)組的定義和引用一維數(shù)組的初始化:一般格式:數(shù)據(jù)類型數(shù)組名[常量表達式]={初值表};說明:定義時賦初值;intscore[5]={1,2,3,4,5};給一部分元素賦值;intscore[5]={1,2};不對數(shù)組全部元素賦值,則全部元素被賦值為0;

intscore[5];給全部數(shù)組元素賦初值時,可以不指定數(shù)組長度;

intscore[]={1,2,3,4,5};一維數(shù)組的定義和引用一維數(shù)組的查表功能:數(shù)組的一個非常有用的功能之一就是查表。表可以事先計算后裝入程序存儲器中。如:unsignedcharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//定義數(shù)組tab[],并初始化unsignedchark;

while(1){ for(k=0;k<10;k++) {P2=tab[k];//查表取數(shù)}

}二維數(shù)組或多維數(shù)組數(shù)組的下標具有兩個或兩個以上,則稱為二維數(shù)組或多維數(shù)組。定義二維數(shù)組的一般形式如下:

類型說明符數(shù)組名[行數(shù)][列數(shù)];其中,數(shù)組名是一個標識符,行數(shù)和列數(shù)都是常量表達式。例如:floatdemo2[3][4];//demo2數(shù)組有3行4列共12個實型元素二維數(shù)組也可以在定義時進行整體初始化,也可以在定義后單個地進行賦值。例如:inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};//全部初始化intb[3][4]={{1,2,3,4},{5,6,7,8},{}};//部分初始化,未初始化的個元素為0字符數(shù)組若一個數(shù)組的元素是字符型的,則該數(shù)組就是一個字符數(shù)組。例如:chara[12]={“ChongQing”};//字符數(shù)

charadd[3][6]={"weight","height","width"};//字符串數(shù)組

本系統(tǒng)功能由硬件和軟件兩大部份協(xié)調(diào)完成,硬件部分主要完成信息的顯示;軟件主要完成信號的處理及控制。與數(shù)碼管電路組成控制系統(tǒng)。該系統(tǒng)硬件主要包括以下幾個模塊:AT89C52主控模塊、數(shù)碼管靜態(tài)顯示電路模塊等。其中AT89C52主要完成外圍硬件的控制以及一些運算功能,傳感器電路完成計數(shù),按鍵完成復(fù)位功能,數(shù)碼管完成數(shù)字00到99的顯示功能。本系統(tǒng)軟件主要實現(xiàn)產(chǎn)品計數(shù)顯示功能。產(chǎn)品計數(shù)器方案設(shè)計單片機數(shù)碼管顯示電路復(fù)位電路時鐘電路電源電路紅外光電傳感器電路按鍵電路硬件方案確定最小系統(tǒng)單片機傳感器電路設(shè)計硬件方案按鍵復(fù)位設(shè)計數(shù)碼管顯示設(shè)計硬件電路設(shè)計產(chǎn)品計數(shù)器系統(tǒng)硬件結(jié)構(gòu)包括最小系統(tǒng)、按鍵電路(其中一個按鍵模擬傳感器信號,另一個按鍵為復(fù)位按鈕)及數(shù)碼管顯示電路。產(chǎn)品計數(shù)器的計數(shù)由按鍵電路完成,利用P1口的P1.0~P1.1端口分別模擬外部傳感器信號和實現(xiàn)計數(shù)值復(fù)位清零功能。采用2個1位共陽極數(shù)碼管為顯示器。單片機的P2口、P3口分別與兩個數(shù)碼管的段碼連接,其中P2口連接顯示計數(shù)的十位,P3口連接顯示計數(shù)的個位。P2口、P3口的八個引腳剛好對應(yīng)P2、P3口特殊功能寄存器的八個二進位,當P2、P3口某個引腳輸出高電平“1”時,對應(yīng)數(shù)碼管段碼熄滅;當P2、P3口某個引腳輸出低電平“0”時,對應(yīng)數(shù)碼管段碼點亮。若將計數(shù)值進行十進制數(shù)分離,再分別給P2、P3口送入不同的數(shù)字,就能在兩個數(shù)碼管上看到數(shù)值的顯示了。產(chǎn)品計數(shù)器的硬件原理圖算法分析對于數(shù)碼管而言,要顯示數(shù)字或字母,首先應(yīng)該選中該數(shù)碼管,然后點亮相應(yīng)字段。例如:顯示數(shù)字“3”,應(yīng)當是a亮、b亮、c亮、d亮、e不亮、f不亮、g亮、Dp不亮??梢粤谐鰯?shù)碼管顯示數(shù)字的段碼表(以兩位數(shù)碼管顯示的個位數(shù)為例)。產(chǎn)品計數(shù)器系統(tǒng)程序設(shè)計段名稱DPGFEDCBA對應(yīng)段碼對應(yīng)引腳P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0數(shù)字011000000C0H數(shù)字111111001F9H數(shù)字210100100A4H數(shù)字310110000B0H數(shù)字41001100199H數(shù)字51001001092H數(shù)字61000001082H數(shù)字711111000F8H數(shù)字81000000080H數(shù)字91001000090H共陽數(shù)碼管顯示數(shù)字的段碼表算法分析由于數(shù)碼管顯示的數(shù)字“0~9”的字型碼“C0H、F9H、A4H、B0H、99H、92H、82H、F8H、80H、90H”沒有規(guī)律可循,只能采用查表的方式來完成我們所需的要求。在程序設(shè)計中可以設(shè)計一個變量,每隔一定時間在“0~9”之間變化,然后按照這個數(shù)據(jù)去查找段碼表,把查到的數(shù)據(jù)送到P3口。

所謂表格(數(shù)組)是指在程序中定義的一串有序的常數(shù),如平方表、字形碼表、鍵碼表等。因為程序一般都是固化在程序存儲器(通常是只讀存儲器ROM類型)中,因此可以說表格(數(shù)組)是預(yù)先定義在程序的數(shù)據(jù)區(qū)中,然后和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論