單片機設計范文
時間:2023-04-03 05:30:55
導語:如何才能寫好一篇單片機設計,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
中圖分類號:TP3 文獻標識碼:A 文章編號:1674-098X(2014)10(a)-0061-01
單片機作為一種重要的控制元件,在自動控制系統的構建中發揮了重要作用。從當前自動控制系統的設計來看,單片機的設計開發成為了自動控制系統開發的重要組成部分。結合當前單片機的設計與開發,要想做好單片機的設計與開發工作,就要對單片機的設計開發要點有足夠的重視,并從單片機的設計開發實際出發,認真做好單片機的設計和開發工作,滿足單片機設計開發需要,保證單片機的設計開發效果。由此可見,單片機的設計與開發需要掌握其要點。
1 單片機設計開發應制定明確的要求
在單片機設計開發中,要想保證單片機的設計開發取得積極效果,就要明確設計要求,其中指定明確的設計要求是十分必要的。從當前單片機設計開發實際來看,其要求應包括以下幾個方面內容。
1.1 單片機設計開發要求應包括明確的任務
在單片機設計開發中,需要明確單片機設計開發的任務。這一任務應與單片機設計開發方案結合在一起,使單片機設計開發具有明確目的性,保證單片機設計開發的整體效果。
1.2 單片機設計開發要求應分為基本要求部分和功能發揮部分
為了保證單片機設計開發效果,應在基本要求部分明確單片機設計的基本功能,保證單片機設計開發達到預期目的。除此之外,還要合理設定單片機系統的其他功能。
1.3 單片機設計開發要求應提高針對性
基于單片機的特點,每一個以單片機為主的自動控制系統都有特定的服務對象。為了保證單片機的設計開發效果,在單片機的設計開發中應提高針對性,滿足系統開發需求。
2 單片機設計開發應制定完善的系統方案
基于單片機設計開發的自動控制系統,其系統方案的設計是整個單片機設計開發的關鍵。為了保證單片機設計開發系統方案的合理性,結合小車控制系統,我們應從以下幾個方面入手。
2.1 對系統的功能模塊及硬件設備進行規定
(1)MCU:采用STC89C52單片機。
(2)電機:采用直流減速電機。
(3)環境檢測:采用光敏電阻利用ADC 0832進行采集。
(4)避障方案:紅外檢測法。
(5)尋跡傳感器:RPR220型光電對管。
2.2 對系統的運行流程進行規定
單片機在設計開發過程中,其整體系統的運行流程是關系到自動控制系統整體運行效果的關鍵。為此,對系統的流程進行規定是保證單片機設計開發效果的關鍵。
2.3 對系統的實現方案進行規定
單片機在具體的實現過程中,其實現方案關系到自動控制系統的構建效果。基于這一認識,我們應對系統的實現方案進行準確規定,保證系統的整體構建效果。
3 單片機設計開發應做好硬件和軟件的設計
從本文的例子來看,在小車控制系統中,單片機的設計開發需要注重硬件和軟件的設計與配合,應確保硬件和軟件能夠最大程度的滿足實際需要,達到提高自動控制系統性能的目的。結合小車控制系統,其硬件系統主要包括單片機芯片、單片機開發板、小車、電機、DS1302時鐘電路、光敏電RPR220型光電對管阻、等元件。在這些硬件的統一配置下實現小車的操作。
其軟件系統主要包括對程序存儲區、數據存儲區的分配,盡可能做到了既節省內存空間,又使操作方便。同時,在程序設計過程中實現了運行狀態的標志化管理,即對各功能程序的運行條件、運行狀態、運行結果都設置了狀態標志以便查尋,程序的轉移、運動都可通過狀態標志條件來控制。此外,為提高程序運行的可靠性,監控軟件中設置了自檢程序,在系統啟動時先運行自檢程序,用以檢查系統各部件工作是否正常。若正常,用戶便可在監控軟件的管理之下,通過鍵盤輸入機器語言級的程序和數據。
監控程序主要由初始化引導程序、顯示程序、鍵盤分析程序、命令處理程序和一些常用的子程序組成,整個監控程序占2K字節。
4 單片機設計開發應做好程序編制
單片機系統共有12個控制命令,命令處理程序完成這12個命令的處理。它們分別是:D命令:顯示存儲器內容。E命令:檢查I O接口中輸入口的內容。F命令:填充存儲器內容。G命令:轉向某一指定地址開始執行程序。I命令:將外設的信息轉儲到存儲器中。O命令:將存儲器中的信息轉送到外設上。M命令:轉移數據塊。P命令:連接打印機及打印存儲器內容。S命令:檢查和修改存儲器的內容。T命令:執行程序中的一條指令。V命令:校驗兩存儲區的內容。X命令:檢查和修改CPU寄存器的內容。初始化引導程序完成對機器的初始狀態進行設置以及斷點處理。顯示程序將要顯示的內容對照顯示碼表在液晶顯示器上顯示出來。
5 結語
通過該文的分析可知,在單片機設計開發過程中,要想保證單片機的設計開發質量,就要對單片機的設計開發要點有全面準確的把握。結合單片機設計開發實際,單片機的設計開發應從制定明確的要求、制定完善的系統方案、硬件和軟件的設計及做好程序編制等方面入手,切實提高單片機設計與開發質量,滿足單片機設計開發需要。
參考文獻
[1] 趙海蘭.基于單片機的紅外遙控智能小車的設計[J].無線互聯科技,2011(3).
[2] 何立民.單片機技術的現狀與未來[J].中國計算機報,2012.
[3] 姚培.基于單片機控制的智能循跡避障小車[J].機電信息,2010(12).
[4] 趙振德.多功能遙控智能小車的制作[J].電子制作,2011(4).
篇2
[關鍵詞] 單片計算機 中央處理器 隨機存儲器 只讀存儲器
本文通過用對一個能實現定時,時鐘,日歷顯示功能的時間系統的設計學習,詳細介紹了51 單片機應用中的數據轉換顯示,數碼管顯示原理,動態掃描顯示原理,單片機的定時中斷原理、從而了解單片機相關指令在各方面的應用,文章后附有電路圖,以供讀者參考。本系統由AT89C51、LED 數碼管、按鍵、發光二極管等部分構成,能實現時間的調整、定時時間的設定,輸出等功能。系統的功能選擇由SB0、SB1、SB2、SB3、SB4 完成。其中SB0為時間校對,定時器調整功能鍵,按SB 0 進入調整狀態。SB1 為功能切換鍵。第一輪按動SB1 依次進入一路、二路、三路定時時間設置提示程序,按SB3 進入各路定時調整狀態。定時時間到,二極管發亮。到了關斷時間后滅掉。如果不進入繼續按SB1 鍵,依次進入時間 年位校對、月位校對、日位校對、時位校對、分位校對、秒位校對狀態。不管是進入那種狀態,按動SB2 皆可以使被調整位進行不進位增量加1 變化。各預置量設置完成后,系統將所有的設置存入RAM 中,按SB1 退出調整狀態。上電后,系統自動進入計時狀態,起始于00時00分。SB4 為年月日顯示轉換鍵,可使原來顯示時分秒轉換顯示年月日。
一、電路原理分析
1、顯示原理
由6 個共陰極的數碼管組成時、分、秒的顯示;P0 口的8 條數據線P0.0 至P0.7 分別與兩個CD4511 譯碼的ABCD 口相接,P2 口的 P2.0 至P2.2 分別通過電阻R10 至R13 與VT1 至VT3 的基極相連接。這樣通過P0 口送出一個存儲單元的高位、低位BCD顯示代碼,通過P2 口送出掃描選通代碼輪流點亮LED1 至LED6,就會將要顯示的數據在數碼管中顯示出來。從P0 口輸出的代碼是BCD 碼,從P2 口輸出的就是位選碼。這是掃描顯示原理。
2、數碼管結構及代碼顯示
共陰LED 數碼管結構、字段及引腳排列見圖2 圖2;共陰LED 數碼管由8 只發光二極管VD1 至VD8 共陰連接并按8字形結構排列而成。這樣,我們將這些二極管的正極接高低不同的電位,把所有的負極接地,當正極為高電位時相應的二極管就會導通而發光,從而使數碼管呈現不同的字符。而只有P2 相應呈現高電位,VT 個管導通,LED1 的GND 與地相接,LED 位被選中才具備發光的使能條件;可見,在利用P2 口送出位選碼,使各位輪流得到發光使能條件的同時,通過P0 口分別送出不同的段選碼,就會在LED1 至LED4 中顯示出不同的數字來。
3、鍵盤及讀數原理
鍵盤是人與微機打交道的主要設備,按鍵的讀取容易引起誤動作。可采用軟件去抖動的方法處理,軟件的觸點在閉合和斷開的時候會產生抖動,這時觸點的邏輯電。平是不穩定的,如不采取妥善處理的話,將引起按鍵命令錯誤或重復執行,在這里采用軟件延時的方法來避開抖動,延時時間20ms。
4、連擊功能的實現
按下某鍵時,對應的功能鍵解釋程序得到執行,如操作者沒有釋放按鍵,則對應的功能會反復執行,好象連續執行,在這里我們采用軟件延時250ms,當按鍵沒釋放則執行下一條對應程序。利用連擊功能,能實現快速調時操作。
二、程序設計思想和相關指令介紹
本系統的主程序主要完成時間顯示和定時輸出判斷功能。而年月日顯示和各時間單元進位,時間設定時,調定時間設定時等功能全部在中斷服務程序中完成。
1、數據與代碼轉換
由前述可知,從P2 口輸出位選碼,從P0 口輸出段選碼,LED 就會顯示出數字來。但P0口的輸出的數據是要BCD 碼,各存儲單元存儲的是二進制數,也就是和要顯示出的字符表達的含義是不一致的。可見,將要顯示的存儲單元的數據直接送到P0 口去驅動LED 數碼管顯示是不能正確表達的,必須在系統內部將要顯示的數據經過BCD 碼行轉換后,將各個單元數據的段選代碼送入P0 口,給CD4511 譯碼后去驅動數碼管顯示。具體轉換過程如下:
Created with novaPDF Printer (省略).
Please register to remove this message.
我們先將要顯示的數據裝入累加器A中,再將A中的數據轉換成高低兩位的BCD 碼,再放回A中,然后將A 中的值輸出。如:有一個單元存儲了45 這樣一位數,則需轉換成四位的BCD碼:(0100)(0101)然后放入A 中。A中BCD碼,高位四位代表4低四位代表5同時送給兩個譯碼器中,譯碼后45字就在兩個LED 中顯示出來。
2、計時功能的實現與中斷服務程序
時間的運行依靠定時中斷子程序對時鐘單元數值進位調整來實現的。計數器T0 打開后,進入計時,滿100 毫秒后,重裝定時。中斷一次,滿一秒后秒進位,滿60 秒后即為1 分鐘,分鐘單元進位,60 分到了后,時單元進位,24 小時滿后,天單元進位。這樣然后根據進率,得到年、月、日、時、分、秒存儲單元的值,并經譯碼后,通過掃描程序送LED 中顯示出來,實現時鐘計時功能。累加是用指令INC 來實現的。進入中斷服務程序以后,執行PUSH PSW 和PUSH A 將程序狀態寄存器PSW 的內容和累加器A 中的數據保存起來,這便是所謂的保護現場。以保護現場和恢復現場時存取關鍵數據的存儲區叫做堆棧,在軟件的控制之下,堆棧可在片內RAM 中的任一區間設定,而堆棧的數據存取與一般的RAM 存取又有區別,對它的操作,要遵循¡ 后進先出¡ 的原則。
3、時鐘誤差分析
開啟定時器/計數器0,使之開始計時,中斷后進入中斷程序。自停止計數到、計數又開始,中間執行了7 條指令,也就是延遲了13 個單周期共用時間26us,這樣,每個中斷的總時間應為為100.026sm,而原來定時是100ms,,所以,也就是說每次中斷定時多了26um.這樣,可改變計數重裝值,使每次中斷定時時間為99.974sm,加上原來的7 條指令所用的時間,正好100sm.計數10 次得1s.這樣就可得到較精確的計時秒數,然后根據進率,得到時、分的值。
4、時間控制功能與比較指令
系統的另一功能就是實現對執行設備的定時開關控制,其主要控制思想是這樣的:先將執行設備開啟的時間和關閉時間置入RAM 某一單元,在計時主程序當中執行幾條比較指令,如果當前計時時間與執行設備的設定開啟時間相等,就執行一條 CLR 指令,將對應的那路P3 置為高電位,開啟;如果當前計時時間與執行設備設定的關閉時間相等,就執行SETB對應的P3 置低電位,二極管截止,。實現此控制功能用到的比較指令為CJNE A,#direct,rel,其轉移條件是累加器A 中的值與立即數不等則轉移。
參考文獻:
[1]謝自美,《電子線路設計、實驗、測試 》武漢:華中理工大學出版社,2000.
篇3
【關鍵詞】4*4矩陣鍵盤 亞龍YL236設備 設計
1 亞龍YL236矩陣鍵盤介紹
1.1 概念介紹
在單片機按鍵使用過程中,當鍵盤中按鍵數量多時為了減少端口的占用,通常將按鍵排列成矩陣的形式。這樣可以更多地節省I/O口的占用量。在亞龍YL236設備上,MCU06指令模塊上的4*4矩陣鍵盤如圖1和圖2所示。
1.2 硬件介紹
矩陣鍵盤是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個交叉點上,設置一個按鍵。這樣可以用8個輸入口實現16個按鍵的功能。在實際操作中,用亞龍YL236設備,以矩陣鍵盤按鍵后顯示0,1,2,3……A,B,C,D,E,F到數碼管上為例來最終完成程序的編寫。矩陣鍵盤硬件接線圖如圖3所示。
2 設計方法分析
2.1 設計方法一:線反轉查詢法
對于矩陣鍵盤常用的掃描方法為線反轉查詢法。具體方法為:首先使行作為輸入,使用單片機內部電阻上拉為高電平,列輸出低電平,讀行的狀態。如果行有一個I/O口是低,說明有鍵按下,進行下一步,否則退出掃描。如果有鍵按下,置列為輸入,行輸出低電平,讀列的狀態。最后根據行列的狀態表就可以知道是哪個鍵被按下。如圖3“A”按鍵被按下的狀態為10111011B,即十六進制的BBH。按此方法編寫表格如表1。
根據線反轉查詢法,設計出程序流程圖如圖4所示。
根據流程圖,我們編寫出它的按鍵子程序如下:
keyscan()//4*4按鍵子程序
{P1=0x0f; //列輸出低電平,讀行的狀態
temp1=P1;
if(temp1!=0x0f)//有按鍵按下
{delay(5); //消抖
P1=0x0f; //列輸出低電平,讀行的狀態
temp1=P1;
if(temp1!=0x0f)//有按鍵按下
{P1=0xf0;//行輸出低電平,讀列的狀態
temp2=P1;
temp=temp1|temp2;//兩者相或
switch(temp)
{case 0xee:flag=0;break;
//11101110即 第一個按鍵被按下
case 0xde:flag=1;break;
case 0xbe:flag=2;break;
case 0x7e:flag=3;break;
case 0xed:flag=4;break;
case 0xdd:flag=5;break;
case 0xbd:flag=6;break;
case 0x7d:flag=7;break;
case 0xeb:flag=8;break;
case 0xdb:flag=9;break;
case 0xbb:flag=10;break;
case 0x7b:flag=11;break;
case 0xe7:flag=12;break;
case 0xd7:flag=13;break;
case 0xb7:flag=14;break;
case 0x77:flag=15;break;}
while(temp2!=0xf0)//松手檢測
{P1=0xf0;temp2=P1;}}}
return flag;}
2.2 設計方法二:逐行掃描法
對矩陣鍵盤逐行掃描。具體方法為,分別掃描鍵盤的四行,每掃描一行,判斷該行有無按鍵按下,若無按鍵按下,繼續掃描第二行,直到掃描四行結束。若有按鍵按下,得到按鍵號,結束程序。
根據設想,設計出程序流程圖如圖5所示。
根據流程圖,我們編寫出它的子程序如下:
keyscan()
{P1=0xfe;//給P1口送檢測信號111111110,即先檢測第一列有無按鍵 按下
temp=P1; //將檢測信號賦給變量temp
temp=temp&0xf0; //與11110000相"與"去除低四位檢測部分
if(temp!=0xf0) //判斷是否有按鍵被按下
{delay(5); //按鍵防抖動延時
P1=0xfe;
temp=P1; //將檢測信號賦給變量temp
temp=temp&0xf0;
if(temp!=0xf0) //再次判斷
{switch(temp) //利用switch函數判斷temp值
{case 0xe0:flag=0;break; //若P0等于0xe0,即11100000,則第一個按被按下
case 0xd0: flag=1; break;
case 0xb0: flag=2; break;
case 0x70: flag=3; break;}
while(temp!=0xf0)//松手檢測
{temp=P1;temp=temp&0xf0;}}}
P1=0xfd;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{delay(5);
P1=0xfd;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{switch(temp)
{case 0xe0: flag=4; break;
case 0xd0: flag=5; break;
case 0xb0: flag=6; break;
case 0x70: flag=7; break;}
while(temp!=0xf0)//松手檢測
{temp=P1;
temp=temp&0xf0;}}}
P1=0xfb;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{delay(5);
P1=0xfb;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{switch(temp)
{case 0xe0: flag=8; break;
case 0xd0: flag=9;break;
case 0xb0: flag=10;break;
case 0x70: flag=11;break;}
while(temp!=0xf0)//松手檢測
{temp=P1;
temp=temp&0xf0;}}}
P1=0xf7;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{delay(5);
P1=0xf7;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{switch(temp)
{case 0xe0: flag=12;break;
case 0xd0: flag=13;break;
case 0xb0: flag=14;break;
case 0x70: flag=15;break;}
while(temp!=0xf0)//松手檢測
{temp=P1;
temp=temp&0xf0;}}}
return flag;}
2.3 設計方法比較
對于上面兩種方法,在實際應用中,都能較好地實現按鍵識別的功能。下面我們來研究比較下哪種編程設計方式更好。語句條數比較:第一種方法在程序運行時,最多運行30條語句完成任務,得到需要的按鍵數據。第二種方法需要運行最多70條語句完成任務,得到按鍵數據。如此比較,明顯第一種方法比較精煉,運行時間較短。理解難易比較:第一種方式需要先拉低列,有按鍵按下后再拉低行,中間需要用到兩個中間變量temp1和temp2,在實際的教學過程中發現往往有些學生對此的理解常會出現模糊狀態,搞不明白temp1和temp2的意義。導致對后面16個case的結果不理解。第二種方法分四行分別檢測,每次只用到一個中間參數temp。單行檢測,雖然檢測步數變多了,但是在平時的教學中,發現第二種方法學生理解起來比較順暢。所以對于這兩種方法各有特點。在平時的應用中若是4*4矩陣鍵盤初學者,第二種方法比較好理解。若學習時間較長,有一定基礎或理解能力較好,第一種方法更精煉,更適合。
在亞龍YL236設備上我們來直觀地應用4*4矩陣鍵盤顯示1到F到數碼管上。
用到模塊設備:MCU01主機模塊,MCU02電源模塊,MCU03仿真模塊,MCU04顯示模塊,MCU06指令模塊。實訓步驟:1.用電子連線將電源模塊上的5V電源引到所用模塊的5V電源輸入端。將電源模塊上5V的END引到所用模塊的5V的END上。確保主機模塊上的EA選擇開關在1的位置。2.將仿真模塊連接到主機模塊。3.主機模塊P1.0到P1.7接指令模塊的R0到C3。主機模塊P0口接顯示模塊數碼管數據口。主機模塊P2.5接顯示模塊數碼管WR,主機模塊P2.6接顯示模塊數碼管數據CS2,主機模塊P2.7口接顯示模塊數碼管數據CS1。用medwin軟件編寫程序,調試正確后,產生代碼并裝入單片機仿真,全速運行,最后到單片機實物模塊中驗證,程序如下:
下載調試,最后亞龍YL236設備上運行結果如圖6所示,分別按第一個鍵到最后一個鍵,分別顯示0到F。
從運行實物結果可以看出,兩種不同的按鍵子程序測試都能成功運行。在實際的操作中,可以根據自己的理解能力來選擇適合自己的方法。
本文介紹了亞龍236設備上矩陣鍵盤的原理以及程序設計應用。通過分析我們了解了兩種程序的寫法,當然遠遠還不止這兩種方法,拋磚引玉,大家也可以探討更好的方法來應用于實踐。此模塊是整個設備的重點,這里的測試程序用到和數碼管相配合,同時也可以和該設備的其他任何模塊綜合應用。它是綜合題的核心模塊,因此了解它之后,能更好地為綜合實踐打基本。
參考文獻
篇4
關鍵詞:stc89C52;紅外傳感器;智能循跡小車
DOI:10.16640/ki.37-1222/t.2017.08.245
1 引言
智能循跡汽車是汽車電子、人工智能、機械制造多個學科領域的結合體,具有重要的應用價值。智能尋跡車是運用單片機為基礎設計的,智能循跡小車利用傳感器來識別賽道信息,利用傳感器檢測智能車的加速度和速度,從而實現快速穩定的尋跡行駛。本設計簡單易懂,但是應用價值很高。在科技越來越發達的現代社會,汽車的普及率已經非常之高。許多汽車制造廠商提出無人駕駛的概念,例如特斯拉。因此次設計具有很高的科研價值。
2 基于單片機設計的智能小車的總設計方案
該設計是以89C52單片機為主控制芯片,通過7.5V電池直接給電機供電。經過穩壓電路給單片機以及傳感器供電。系統采用L298N驅動芯片來實現小車的運動和轉向。采用四路紅外傳感器來實現小車的循跡。采用紅外傳感器實現小車的測速。使用PWM對小車進行調速,使用加度傳感器來防止小車發生側翻。
3 硬件電路設計
硬件電路的設計單片機最小系統模塊為控制中心、電源模塊功能,電機驅動模塊實現小車的轉向及運動,紅外循跡傳感器模塊測速模塊實現賽道信息檢測。下面介紹一下驅動傳感器模塊、電機驅動模塊、測速模塊。
3.1 電源模塊電路
系統是利用兩節3.5V鎳鉻電池供電。通過5V文雅電路轉換稱觀點偏激所需的電壓。7電壓直接供給電機驅動芯片。以下是O計的硬件圖。
3.2 電機驅動模塊電路
電機驅動模塊主要控制小車的方向,因此對電機驅動具有反應快、可靠性高等特點。因此采用L298N芯片,通過操作單片機的I/O口電平信號,即可對電機進行正反轉、停止操作的控制。
3.3 測速模塊
系統使用紅外傳感器檢測直流電機的轉速。只需要在碼盤智商粘貼一個接受廣電信號的接收裝置,然后對采集的信息進行處理即可得出小車的速度。
3.4 循跡模塊
采用TCRT5000制作的四路循跡模塊具有價格低廉,穩定性高的特點。TCRT5000光電傳感器模塊是一款紅外反射式光電開關。TCRT5000具有可靠性高,價格便宜,制作簡單的特點。
3.5 加速度傳感器模塊
ADXL345芯片非常適合進行加速度的測量,測量范圍大,數字輸出數據訪問簡單方便。而且該芯片穩定性以及可靠性非常高。采集的信息通過加法處理即可得到小車的加速度。
4 軟件代碼調試
系統開始工作,首先初始化IIC、PWM、外部中斷。初始化結束后開始循環,單片機各個模塊開始工作,然后講采集的數據發送給單片機。單片分析數據對小車的前進路線進行調整,并將信息通過1602顯示出來。
5 結語
以stc89c52作為主控芯片,設計的智能尋跡小車,經過多次實驗其尋跡效果良好,速度和轉向控制響應快,系統的定性和抗干擾能力強,而且能夠適應不同程度的光照條件下。同時針對最近大熱的無人駕駛汽車而言,此設計能更好的幫助人們理解無人駕駛的概念。關于智能循跡小車此設計只是簡單的進行研究,系統還需要進一步的完善。后期將加入自動導航功能。
參考文獻:
[1]郭天祥.51單片機C語言教程[M].北京:電子工業出版社,2009.
[2]黃智偉.全國大學生電子設計競賽系統設計[M].北京航空航天大學出版社,2011.
篇5
關鍵詞:單片機 液晶顯示器 計時器
中圖分類號:TP368.1 文獻標識碼:A 文章編號:1007-9416(2015)11-0000-00
1 前言
單片機是20世紀中期發展起來的一種面向控制的大規模集成電路模塊,具有功能強、體積小、可靠性高、價格低廉等特點,在工業控制、數據采集、智能儀表、機電一體化、家用電器等領域得到了廣泛的應用,極大的提高了這些領域的技術水平和自動化程度。本設計系統就是利用MSP430單片機作為核心,用其驅動1602液晶顯示模塊來設計棋類比賽(兩位選手)計時器,即兩位選手比賽,當第一位選手走過棋之后按下開關就對第二位選手用時做計時處理。同時第一位選手的時間將會停止,第二位選手在以前所用的時間上繼續計時,計時效果精確到秒,具有很大的使用價值。
2 主要元件的比較選定
2.1 單片機的選定
現在市場上使用最多就是MSP430的單片機和51系列單片機, 首先,89C51單片機是8位單片機。其指令是采用的被稱為“CISC”的復雜指令集,共具有111條指令。而MSP430單片機是16位的單片機,采用了精簡指令集(RISC)結構,只有簡潔的 27 條指令,大量的指令則是模擬指令,眾多的寄存器以及片內數據存儲器都可參加多種運算。這些內核指令均為單周期指令,功能強,運行的速度快。由于MSP430單片機與51系列單片機相比具有很大的優越性。而本設計系統要求具有較短的指令執行時間和較低的功耗,另外還需要有比較方便的編程。故選用MSP430F149單片機。
2.2 顯示器的選定
顯示器的選定可以選擇液晶顯示器,也可以選擇傳統的數碼管顯示器。液晶顯示屏(LCD)具有輕薄短小、低耗電量、無輻射危險,平面直角顯示以及影像穩定不閃爍等優勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強的特點。傳統的數碼管顯示器具有低能耗、低損耗、低壓、壽命長、耐老化、防曬、防潮、防火、防高低溫,對外界環境要求低,易于維護,同時其精度高,秤量快,精確可靠,操作簡單,但是要利用傳統的數碼管顯示器顯示信息字符比較困難,其只能顯示數字和簡單的字母。系統設計要求選用能顯示一些字符信息,所以選用液晶顯示器作為顯示器。
3 硬件設計
3.1 LCD顯示模塊的設計
在使用1602液晶顯示模塊之前,因為本開發板同時支持5V和3.3V供電的液晶,因為本設計選用3.3V供電的液晶,所以要把開發板上的J7跳線座的LCD和3.3V腳短接。使用液晶模塊時,先將數碼管旁邊的跳線座SMG的短路帽取下,否則數碼管電路會影響液晶的輸出。
3.2 復位電路的設計
在單片機系統里,單片機需要復位電路,復位電路可以采用R-C復位電路,也可以采用復位芯片實現的復位電路,R-C復位電路具有經濟性,但可靠性不高,用復位芯片實現的復位電路具有很高的可靠性。
比賽計時前先按下S1開關進行復位,復位電路工作,驅動MSP430F149的第58個引腳。復位結束后才可以進行計時。此復位電路復位只是對計時器的復位,如果整個系統程序運行出現錯誤,只需要打開看門狗。設置看門狗溢出的時間間隔,在軟件設計的時候估計在看門狗可能會溢出的地方清除看門狗定時器的內容,程序在正常的情況下不會發生看門狗溢出的情況,也就不會產生系統復位信號:當程序發生異常的時候,就沒有地方能清除看門狗定時器的內容,看門狗在設置時間到來時就會產生系統復位信號,重新啟動系統,從而程序正常運行。
3.3 主控制器的設計
單片機電路作為整個系統的核心控制部分,主要完成于其他電路的接口,在該系統中,單片機主要負責對模擬量和數字開關量進行采集,將采集到的數據通過串口傳給上位機。
主處理模塊主要是將各個模塊進行協調處理和進行數據交互。主處理模塊首先完成初始化工作,初始化后進入循環處理,在循環過程中主處理獲得采集的模擬數據和數字量數據,并將得到的數據發送到上位機。下位機也接受來自上位機的數據。整個程序基于中斷服務結構,為了實現中斷程序與主程序之間的數據交互,通過設置一些全局變量和全局的緩沖區來實現,具體的流程圖如圖1所示。
4 系統調試與總結
本次系統調試采用IAR軟件仿真,首先設計計時器的源程序,源程序經過匯編后,生成的目標文件經過仿真調試。調試成功后,可連接硬件進行工作。調試步驟如下:(1)生成文件燒錄到MSP430F149單片機芯片中,然后運行,根據指示燈進行按鍵操作。首先按下A1開關上電后先進行復位操作。(2)復位后當按下K1時,顯示器上的Plaryer1時間開始計時。(3)按下K2開關后,顯示器上的Plaryer2時間開始計時.
參考文獻
[1] 李朝清.單片機原理及串行外設接口技術[M]. 北京航空航天大學出版社,1999年.
篇6
關鍵詞:溫室大棚;無線傳輸;溫度的監測;實時
1 引言
隨著生活水平的提高,人們對家居需求由面積需求變為舒適需求。地板采暖采用輻射方式供暖,符合人體生理需求曲線,如果控制系統選取得當,不僅可以提高房間舒適度,更可以使系統運行費用降低許多。如今一般是在典型位置安裝一個溫控裝置,溫控裝置連接到壁掛爐,溫控器根據室溫和溫度設定直接控制鍋爐運行,各房間不同回路由工作人員憑經驗手動調節分水器球閥,改變不同回路的流量,從而達到調節各房間的室溫的效果。使用這種控制方法,即使是有經驗的工作人員,也難以調節得十分準確,何況各家庭成員由于年齡不同,所需舒適溫度不同,需要經常對室溫進行調節。
2 設計方案
系統總體設計思想是以SST89E564RC單片機為控制核心,整個系統硬件部分包括溫度檢測部分、控制執行部分、顯示及鍵盤系統及最小系統基本電路。系統利用單片機獲得溫度傳感器數據并與系統設計值進行比較,根據比較結果分別控制執行系統。溫度控制系統控制框圖如圖1所示。
3 系統硬件設計
根據系統所需完成的功能,設計系統硬件結構如圖2所示。
利用SST89E564RC紋機及新型測溫器件設計了多點溫控采暖控制系統,根據室內各點溫度設定實時控制采暖系統,從而提高居室的舒適性以及采暖的經濟。溫度壓力傳感器是由溫度敏感元件和檢測線路組成的。溫度傳感器從使用的角度大致可分為接觸式和非接觸式兩大類,前者是讓溫度傳感器直接與待測物體接觸,來敏感被測物體溫度的變化,而后者是使溫度傳感器與待測物體離開一定的距離,檢測從待測物體放射出的紅外線,從而達到測溫的目的。此設計中溫度傳感器采用Dallas半導體公司的數字化溫度傳感器DSl8820。該傳感器支持“一線總線”接口,可方便地進行多點溫度測量,還可以程序設定9~12位的分辨率,最高精度為±0.062 5℃,分辨率設定及用戶設定的報警溫度存儲在E2PROM中,掉電后依然保存。該產品支持3~5.5 V的電壓范圍,因其體積小使系統設計更靈活、方便
4 結論
微型計算機在智能化電器發展中起著至關重要的作用,而單片機經濟實用、開發簡便,因而在工業控制、家電智能化等領域占據了廣泛的市場。這里針對目前溫度控制器現狀設計了一種新方案,利用單片機及新型測溫器件設計了一種多點溫控采暖控制系統,該系統能夠同時測量多點溫度,并根據溫度設定實時控制各回路通斷及壁掛爐的燃燒與停止,從而進一步提高居室的舒適性以及采暖系統的經濟性
參考文獻
[1]閆玉德.單片微型計算機原理與設計[M].北京:中國電力出版社,2010
[2]王守中.51單片機開發入門與典型實例[M].北京:人民郵電出版社,2007
[3]李光飛.單片機課程設計實例指導[M].北京:北京航空航天大學出版社,2004.
[4]羅亞萍.基于AT89C52單片機的室內有毒氣體監控系統[J].山西電子技術,2011,05(2):17-19.
[5]張友德.單片微型機原理、應用與實驗[M].上海:復旦大學出版社,2005
[6]江世明,黃同成.單片機原理及應用[M].北京:中國鐵道出版社,2010
[7]江世明.單片機原理及應用實驗教程[M].北京:中國鐵道出版社,2010
[8]周潤景.基于proteus的電路及單片機設計與仿真[M].北京:北京航空航天大學出版社,2010
[9]郭天祥.51單片機C語言教程[M].北京:電子工業出版社,2009
作者簡介
肖勤,邵陽學院魏源國際學院電子科學與技術專業學生。
篇7
【關鍵詞】單片機 數碼管 獨立式按鍵
1 引言
搶答器是一種廣泛應用于各類知識競賽和文藝活動等場合的設備。本文利用單片機設計了8路搶答器系統,該系統要求用8個獨立式按鍵作為搶答輸入按鍵,序號分別為0~7,當某一參賽者首先按下搶答按鈕時,在數碼管上顯示參賽者的序號,表示搶答成功,此時搶答器不再接受其他輸入信號,直到按下系統復位按鈕,系統再次接受下一輪的搶答輸入。
2 系統硬件設計
本系統是由AT89C52單片機、晶振電路、復位電路、S0、S1、S2、S3、S4、S5、S6、S7這8個獨立按鍵,4.7kΩ的電阻排RP1、一個共陽極LED數碼管,8個510Ω的電阻構成的。
LED數碼管由8個發光二級管(以下簡稱段)構成,通過不同的發光字段組合可用來顯示符號“”、數字0~9、小數點“.”、字符A~F、Y、U、R、H、L和P等。在本系統中用1位共陽極LED數碼管作為顯示器件,顯示搶答器的狀態信息,由于本系統只用到一個數碼管,采用靜態連接方式將其與單片機的P1口連接。
8個獨立按鍵S0、S1、S2、S3、S4、S5、S6、S7連接到P0口,將與P0.0引腳連接的按鍵S0作為“0”號搶答輸入,與P0.1引腳連接的按鍵S1作為“1”號搶答輸入,依次類推。S0~S7這8個獨立按鍵都單獨占用一根I/O端口線,適用于按鍵數目比較少的應用場合,優點是軟件結構簡單。
電路中P0口外接的上拉電阻是保證按鍵斷開時,I/O端口為高電平;按鍵按下時相應端口為低電平。
3 系統軟件設計
程序設計思路:系統上電時,數碼管顯示“”,表示開始搶答,當記錄到最先按下的按鍵序號后,數碼管將顯示該參賽者的序號,同時無法再接受其他按鍵的輸入;當系統按下復位按鈕S8時,系統顯示“”,表示可以接受新一輪的搶答。
定義數組disp[ ]用來存放共陽極數碼管顯示碼表{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0xbf},顯示碼表中的數值分別對應十進制數字0~7,在這個數組定義語句中,關鍵字code是為了把canxu[ ]數組存儲在片內程序存儲器ROM中,該數組與程序代碼一起固化在程序存儲器中。
定義一個變量key用來存放8個獨立按鍵的按鍵信息。單片機剛上電的時候,數碼管顯示“”,表示開始搶答,通過key=P0語句,將P0口的按鍵信息賦給變量key,也就是第一次讀按鍵狀態,按鍵在閉合和斷開時,觸點會存在抖動現象,利用延時函數delay(1200)將按下時抖動的時間消除,再執行key=P0語句,再一次將P0口的按鍵信息賦給變量key,也就是第二次讀按鍵狀態,此時如果從P0口得到的按鍵信息是0xfe的話,那么就說明是第0個獨立按鍵被按下去了,此時在LED數碼管上顯示十進制數字“0”,表明第0號參賽者搶答成功。如果從P0口得到的按鍵信息是0xfd的話,那么就說明是第1個獨立按鍵被按下去了,此時在LED數碼管上顯示十進制數字“1”,表明第1號參賽者搶答成功。
依次類推,如果從P0口得到的按鍵信息分別是0xfb 、0xf7、0xef、0xdf、0xbf、0x7f的話,那么就說明分別是第2、3、4、5、6、7個獨立按鍵被按下去了,此時在LED數碼管上分別顯示十進制數字“2”、“3”、“4”、“5”、“6”、“7”,表明第2、3、4、5、6、7 號參賽者搶答成功。
程序中用switch......case......語句來判斷S0~S7這8個獨立按鍵中的哪個按鍵被按下去了,同時在數碼管上顯示相應的按鍵序號。
部分程序如下所示:
key=P0; //第一次讀按鍵狀態
delay(1200); //延時消抖
key=P0; //第二次讀按鍵狀態
switch(key) //根據按鍵的值進行多分支跳轉
{
case 0xfe: P1=canxu[0];yanshi(10000);while(1);break;// 按下S0鍵,數碼管顯示0,待機
case 0xfd: P1=canxu[1]; yanshi(10000);while(1);break;// 按下S1鍵,數碼管顯示1,待機
case 0xfb: P1=canxu[2]; yanshi(10000);while(1);break;// 按下S2鍵,數碼管顯示2,待機
case 0xf7: P1=canxu[3]; yanshi(10000);while(1);break;// 按下S3鍵,數碼管顯示3,待機
case 0xef: P1= canxu [4]; yanshi(10000);while(1);break;//按下S4鍵,數碼管顯示4,待機
case 0xdf: P1= canxu [5]; yanshi(10000);while(1);break;//按下S5鍵,數碼管顯示5,待機
case 0xbf: P1= canxu [6]; yanshi(10000);while(1);break;//按下S6鍵,數碼管顯示6,待機
case 0x7f: P1= canxu [7]; yanshi(10000);while(1);break;//按下S7鍵,數碼管顯示7,待機
default: break;
} }
}
4 結束語
本文從系統硬件設計和軟件設計兩方面詳細闡述了8路搶答器的設計方法, 并在proteus軟件中對其進行了仿真,達到了預期目標,該8路搶答器設計簡單,實現容易,實用性強。
參考文獻
[1]孫軍輝.基于單片機應用的多路無線搶答器的設計[J].中國現代教育裝備,2012.
[2]鄒顯圣.基于單片機控制的智能搶答器研究[J].電子設計工程,2011.
作者簡介
張成法(1984-),男,山東省青州市人。碩士研究生學歷。研究方向為單片機與嵌入式系統。
篇8
【關鍵詞】語音識別;自動化;控制
前言
我國早在七十年代末就開始了語音技術的研究,由于各方面實驗設備技術普遍落后,發展很緩慢,期間大多數研究者主要集中在語音識別的基礎理論、模型及算法等方面研究和改進。隨著工業技術的發展和語音控制技術上的投入增加,我國在中文語音技術的基礎研究方面取得了一系列研究成果。目前市場的語音控制系統的產品比較單一,本文基于SPCE061A單片機進行了語音控制系統的設計。
1、語音控制識別方法
一般來說,語音識別的方法有三種:基于聲道模型和語音知識的方法、模式匹配的方法以及利用人工神經網絡的方法。
(1)語音控制識別系統的結構。主要包括語音信號的采樣和預處理部分、特征參數提取部分、語音識別核心部分以及語音識別后處理部分,圖1給出了語音識別系統的基本結構。
語音控制識別的過程是一個模式識別匹配的過程。在這個過程中,首先要根據人的語音特點建立語音模型,對輸入的語音信號進行分析,并抽取所需的特征,在此基礎上建立語音識別所需的模式。而在識別過程中要根據語音識別的整體模型,將輸入的語音信號的特征與已經存在的語音模式進行比較,根據一定的搜索和匹配策略,找出一系列最優的與輸入的語音相匹配的模式。然后,根據此模式號的定義,通過查表就可以給出計算機的識別結果。
(2)基于語音學和聲學的方法。該方法起步較早,在語音識別技術提出的開始,就有了這方面的研究,但由于其模型及語音知識過于復雜,現階段還沒有達到實用的階段。
(3)模式匹配的方法。模式匹配方法的發展比較成熟,目前已達到實用階段。在模式匹配方法中,需經過四個步驟:特征提取、模式訓練、模式識別和判決。
(4)人工神經網絡的方法。利用人工神經網絡的方法是80年代末期提出的一種新的語音識別方法。人工神經網絡(ANN)本質上是一個自適應非線性動力學系統,模擬了人類神經活動的原理,具有自適應性、并行性、魯棒性、容錯性和學習特性,其強的分類能力和輸入-輸出映射能力在語音識別中都很有吸引力。但由于存在訓練、識別時間太長的缺點,目前仍處于實驗探索階段。由于ANN不能很好的描述語音信號的時間動態特性,所以常把ANN與傳統識別方法結合,分別利用各自優點來進行語音識別。
2、控制系統設計
SPCE061A是凌陽科技研發生產的性價比很高的一款十六位單片機,使用它可以非常方便靈活的實現語音的錄入識別和輸出系統,該芯片擁有8路10位精度的ADC,其中一路為音頻轉換通道,并且內置有自動增益電路。這為實現語音錄入提供了方便的硬件條件。兩路10精度的DAC,只需要外接功放即可完成語音的播放。另外,凌陽十六位單片機具有易學易用的效率較高的一套指令系統和集成開發環境。在此環境中,支持標準C語言,可以實現C語言與凌陽匯編語言的互相調用,并且,提供了語音錄放的庫函數,只要了解庫函數的使用,就會很容易完成語音錄放,這些都為軟件開發提供了方便的條件。SPCE061內還集成了一個接口,使得對該芯片的編程、仿真都變得非常方便,而在線仿真電路接口不占用芯片上的硬件資源,結合凌陽科技提供的集成開發環境用戶可以利用它對芯片進行真實的仿真;而程序的燒寫也是通過該接口進行下載。
(1)硬件設計。整個系統主要由鍵盤輸入電路、MIC輸入電路、語音輸出電路、紅外發射電路組成。通過分析按鍵命令或語音識別結果,利用正常的結果以紅外指令碼發出,控制電視機的運行,同時用語音提示。系統組成如圖2所示。
(2)系統程序設計。在軟件設計方面,采用模塊化程序結構,當前方案包括初始化、鍵盤掃描、溫度采集、溫度播報、萬年歷時間計算、萬年歷播報、紅外發射、語音識別、語音播放等模塊。程序設計流程如圖3所示。
3、結論
本文利用單片機設計了一類語音識別控制系統,系統簡單實用,可開發性強可以在很多工業產品上使用。為工程開發設計人員提供了參考。
參考文獻
篇9
關鍵詞:單片機 汽車車燈 控制器
中圖分類號:TH4 文獻標識碼:A 文章編號:1007-9416(2012)02-0137-02
汽車車燈和報警信號燈是汽車運動方向和車身狀態的表示信號,關系著汽車的安全問題。傳統的汽車閃光器結構簡單體積小、閃光頻率穩定、監控作用明顯,故被廣泛使用。但這樣的繼電器由于自身條件的限制,可靠性低,定時時間不夠精確,使用壽命較短。而采用MCU(微控制器)控制的車燈控制器可避免此類問題的出現,此類控制器具有較高的可靠性,定時時間精確度高,還可以承受一定的溫度變化。此類控制器采用單片機控制原理,基本不受周圍環境的影響,不僅可以達到精確控制的目的,而且使用壽命也大大延長。MCU(微控制器)是整個控制系統的核心部分,它的選擇決定了系統的軟件開發環境以及硬件連接方式等一系列的問題。基于單片機的汽車車燈控制器一直以來都是汽車單片機設計中的一個十分重要的領域。
1、汽車車燈的工作要求
車控制作用時,撥動相應側的車開關,相應側的車燈低頻閃爍,同時駕駛室里相應側LED指示燈向左或向右也以同樣低的頻率閃爍;左右兩側車燈有故障時,駕駛室里LED 車指示燈向左或向右高頻閃爍;汽車緊急報警時,四個車燈同時高頻率閃爍,駕駛室里左右LED 車指示燈向左和向右同頻率閃爍,此時車控制不起作用。LED 車指示燈工作時,相應側的繼電器或蜂鳴器同時工作并發出“啪啪”的響聲。
2、單片機硬件控制器設計
2.1 硬件控制系統方框圖
汽車車燈控制器硬件系統包括控制模塊、輸入模塊、故障檢測模塊、輸出模塊以及輔助元件,硬件控制系統方框圖如圖1所示。
2.2 核心元件的選取
微控制器選用MC68HC08系列單片機,本設計采用16 個引腳的MC68HC08QY4芯片。該芯片性價比高、引腳少,內部集成了各種I/O模塊以及A/D轉換模塊,是本設計的最佳選擇。
智能功率開關芯片選用BTS6143D,該芯片是一款集成了SIPMOS片上技術的高邊智能功率開關芯片,適用于汽車單片機苛刻的工作環境,其工作的溫度范圍可從-40℃至+150℃。此外,BTS6143D 還具有多項保護功能:短路保護、過載保護、過壓保護、過溫關斷、掉地和掉電保護、靜電放電保護和電源反接保護等。
2.3 故障檢測
當車燈出現故障(發生短路或斷路)時,根據反饋回來的數據判斷自動檢測車燈故障,如果在正常范圍內則低頻閃爍,在正常范圍之外的則高頻閃爍。
如果出現斷路的情況,左側燈的電阻增大,電流減小,反饋電流也減小,反饋電阻RIS地作為下拉電阻,反饋電壓減小,端口PTA0的電壓減小;如果出現短路的情況則恰恰相反,反饋電流增大,端口PTA0電壓也增大。
如果左側兩個車燈都斷路,IL為0,反饋電壓為0;有一個斷路時,IL為P/VOUT(P為21瓦)。
如果左側兩個車燈都短路,IL非常大,反饋電壓也非常大;有一個短路時,IL也很大,反饋電壓也很大。
如果左側兩個車燈都正常工作時,IL為2P/VOUT為7.5A(P為21瓦)。同側兩個車燈正常工作時(工作環境為25°C)根據實際線路情況有一定的誤差,正常的IL為7.5A,反饋比例(kILIS=IL:IIS)kILIS正常為9700,最低為8000,最高為10800,端口PTA0為A/D口,所采集的模擬量電壓為6.944V~9.375V,將測得的反饋電壓模擬量轉化成數字量(二進制)為0110.1111~1001.0110,十六進制為0x06.F1A9~0x09.6并將轉換來的數據與正常范圍進行比較,如果在正常范圍內則單片機發出相應的信號使車燈低頻閃爍,否則高頻閃爍。(正常工作閃爍頻率為40次/Min,故障時閃爍頻率為80次/Min)向駕駛員報警。
為保證車燈功率滿足的要求,對左側車燈(前、后)用一塊BTS6143D芯片控制,將BTS6143D芯片接在MCU(微控制器)上,右側車燈同理。
3、程序編譯
File name: 車燈控制器.asm
author: luther
scribe:汽車車燈控制電路
org 0000h
ljmp start
org 0100h
start:
mov A,#05H;閃5次
mov R7,#0ffh;開始時燈全滅
mov 80h,R7;把顯示輸出
mov r0,#08h;延時1秒
lcall delay
scan:
鍵位掃描,B為0f0h,P3口為0b0h
jnb 0b2h,left;P3.2為左轉燈
jnb 0b3h,right;P3.3為右轉燈
jnb 0b4h,stop;P3.4為停車紅燈
jnb 0b5h,back ;
sjmp scan
left:
mov A,#05H ;閃5次
mov R7,#11111110b;
MOV 80H,R7
mov r0,#03h
lcall delay
dec a
mov 80h,#0ffh
lcall delay
cjne a,#00h,LEFT
ret
right:
mov a,#05H ;閃5次
mov R7,#01111111b ;右轉燈閃,即最上層的燈
MOV 80H,R7
mov r0,#03h
lcall delay
dec a
mov 80h,#0ffh
lcall delay
cjne a,#00h,right
ret
stop:
mov R7,#10011001b ;從下往上數2367號燈亮,即停車燈
MOV 80H,R7
mov r0,#08h
lcall delay
ret
back:
mov A,#05H ;閃5次
mov R7,#11100111b?;中間燈閃,即倒車燈
MOV 80H,R7
cpl 0b7h ;cpl p3.7
mov r0,#04h
lcall delay
dec a
mov 80h,#0ffh
cpl 0b7h
lcall delay
cjne a,#00h,back
ret
DELAY: MOV 0F0H,R0
MOV R4,0F0H
L3: MOV R2 ,#250
L1: MOV R3 ,#250
L2: DJNZ R3 ,L2
DJNZ R2 ,L1
DJNZ R4 ,L3
RET
END
4、結語
本設計實現了對汽車車燈的單片機控制,并且可以對發生的故障進行診斷如車燈的短路、斷路等進行故障診斷并進行報警。 具有結構簡單、配置靈活、降低成本的優點,完全達到了期望的性能和價格要求。
參考文獻
[1]陳旭川,胡超,杜海洋,林坤,嚴駿,基于HT46R24的汽車車燈智能控制器設計[J].重慶工學院學報(自然科學版),2007(9).
[2]孫余凱,田其貴等.新型汽車單片機電器原理與故障檢修方法[M].北京:人民郵電出版社,2002.
作者簡介
篇10
關鍵詞:單片機;實訓;教學
中圖分類號:TP368 文獻標識碼:A 文章編號:1007-9599 (2012) 21-0000-02
單片機是電子電氣類一門“古老”的學科,單片機的發展往往也被看做人類產品智能化的發展。隨著時代的進步以及人們對產品智能化的可求,單片機不僅從單一的對機械控制發展到了多領域的智能化控制,更從無操作系統時展到了有操作系統時代,從而帶動了新興產業——嵌入式產業鏈的發展,如今,單片機及嵌入式產品幾乎深入到了我們工作、生活和學習的各個領域。那么,作為嵌入式及電子電氣類相關學科的一門重要的基礎課程,單片機的地位就顯得舉足輕重了。
在單片機的教學中,單片機的實踐教學是使學生真正學會運用單片機的必備實訓手段,通過這樣的教學手段,不僅可以讓學生很好的掌握單片機知識,還能達到為后續課程打基礎、為畢業設計做準備、為單片機實現直接就業與企業工作環境對接的教學目的。
在幾年的教學過程中,我們本著以工作過程為導向,以企業典型工作任務為依托的教學模式,將單片機的教學過程按照企業對產品的開發流程進行設計,采用分階段分任務分組合作的教學模式完成,具體設計如下:
1 明確工作任務
工作任務是實訓教學的起點,它傳遞給學生的信息是“我們要做什么”。工作任務明確能夠保證研究方向的準確性,工作任務明確能夠有效的了解任務所需的知識和技能,有利于學生對知識的搜集和學習。在教學中,我們為了讓學生對工作任務所需掌握的知識點一目了然,往往在確定工作任務時采用比較直觀的語言表達方式提出任務,如“單片機讓一個LED燈閃爍”、“單片機讓一個LED燈定時1秒閃爍”、“單片機讓單數碼管顯示0~9十個十進制數”等等,這種直觀的語言描述往往可以降低任務的復雜性,讓學生更快更直接的了解知識點,從而有利于后續工作的開展。
2 確定工作目標
工作目標指導任務完成的方向性。工作目標明確才能進一步分析工作任務的具體需求和目的;工作目標明確才能具體分析和選擇下一步工作該做什么、怎么做、做的目的是什么。通常在這一教學環節中,我們會將學生組織成若干個開發工作組,將工作任務看成招標商的招標任務,將工作組定位為若干個投標公司,通過一種企業競爭式的模式,組織學生完成工作任務。這一環節,主要是各個工作組進行組內討論,分析工作目標;通過工作目標,進一步確定工作任務所需的知識點、進而通過工作組對資料的查找和搜集,在提出工作任務的前提下,組織組內學生完成對芯片的選擇、元器件的選擇以及開發工具的選擇的任務。
3 完成任務的系統設計
在單片機的企業開發流程中,系統設計是十分重要的階段。單片機系統設計的目的是在保證工作目標實現的基礎上,以提高系統的簡單性、可行性、可靠性、完整性、可擴展性、可維護性、安全性以及經濟效益等為出發點,進一步詳細設計的實現工作目標完成工作任務的設備及芯片的參數選型,如輸入信號的類型和數量,輸出控制的對象和數量,接口設備的種類及類型,環境配置,工作電源要求以及產品整體成本要求等。
4 電路原理圖設計
原理圖是硬件組裝的依據,原理圖的設計好壞直接關系到制作產品的可行性,因此,學會繪制原理圖是學生走向工作崗位操作的第一步。我們所使用的原理圖設計工具是PROTEL軟件。PROTEL是個龐大的EDA軟件,它不僅可以繪制電路原理圖繪制,還可以模擬電路與數字電路混合信號仿真、多層印制電路板設計等等,目前幾乎所有的電子公司都要用到它,因此這里使用PROTEL軟件的另一個目的是實現能夠最大限度的縮小學校和企業的差距,從而做到校企對接。
5 軟件程序設計
單片機是靠命令完成工作的,命令是靠軟件編寫的,因此軟件設計環節必不可少。軟件設計不僅能夠培養學生良好的問題分析能力,組織能力、順序協調能力等社會必要能力,更重要的是一個好的程序往往決定了產品的興衰和成敗,因此軟件設計也是單片機開發中不容忽視的階段。
軟件設計的流程一般分為:設計軟件的功能和實現的算法和方法、軟件的總體結構設計和模塊設計、編程和調試、程序聯調和測試以及編寫、提交程序幾個過程。由于低級的匯編語言過于依賴固定單片機芯片,往往不便于程序的移植,因此我們在教學中,使用高級語言——C語言進行單片機的程序設計,使得程序設計更易于理解,更有利于系統擴展和學生進一步深入學習。
6 電路仿真設計
仿真是指在計算機上采用特定的軟件模擬單片機運行的狀態,進而確定單片機系統設計的可行性。我們在這一環節中使用PROTUES電路仿真軟件模擬電路原理圖的結構,通過導入程序觀察運行結果來確定設計的準確性。對于初學者來說,如果直接焊接電路不僅可能帶來不必要的經濟損失,更可能在焊接中由于出現不確定的問題而導致無法觀察執行效果,無法確定產品的問題來自于軟件還是硬件,因此仿真往往是解決這一問題的一個好辦法,它即節約了成本又能讓學生明確看到自己制作的產品的執行效果,進而能夠是學生正確分析問題的所在。實際教學中,我們發現這一環節的實施往往給學生帶來了極大的學習樂趣,從而有效的提高的學習效果,鼓勵了學生繼續專研的信心,為后續任務打下更堅實的基礎。
7 繪制電路板
電路板是元器件連接的平臺,電路板的設計有利于優化設備間的布局,因此電路板設計也是單片機設計中比較嚴謹的工作環節,在這一環節中我們仍然借助PROTEL軟件來完成。
8 成品焊接
焊接是一種以加熱方式接合金屬或其他熱塑性材料如塑料的制造工藝及技術。焊接是電裝生產中不可避免的的重要環節。這里我們通過焊接技術完成成品的組裝,到這里為止基本的產品設計過程就初步設計完成了。
9 成品調試
成品制作完畢后,就進入成品整體的調試環節了,在這一環節的實施中,工作組學生根據成品的運行效果,將問題的研究方向確定為軟件和硬件兩種因素,通過組內成員的分析及教師的從旁指導,反復調試直至問題解決。
10 小組測評