單片機開發范文

時間:2023-04-08 23:21:53

導語:如何才能寫好一篇單片機開發,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

篇1

關鍵詞:單片機;開發板;ISP

中圖分類號:TP368.1 文獻標識碼:A文章編號:1007-9599 (2011) 08-0000-02

MCU Development Borad Design of Multi-function MCS-51

Zhang Daode

(Hubei University of Technology Mechanical Engineering,Wuhan430068,China)

Abstract:The develop boarddesigned here is of common functions,

such as water lamp,timer,interrupt,singing by buzzer,X5045 watch dog,Real time clock DS1302,digital temperature sensor DS18B20,parallel D/A converter DAC0832,serial A/D converter TLC0832,RS-232 interface,

dynamic display of digital tub,ISP download online,SRAM6264 etc.It is meaningful for single chip machine study and development.

Keywords:MCU;Development board;ISP

一、前言

MCS-51系列單片機是目前主流的8位單片機之一[1],但由于它的硬件能力有限,本文設計了一種單片機開發板,綜合了當下流行的單片機接口電路,很好地擴充了MCS-51單片機的功能。

二、系統主要組成及開發平臺

該系統的組成部分的核心是AT89S52單片機芯片,同時擴展了一塊RAM6264,并口8155,同時擴充了DAC0832和TLC0832作為AD/DA轉換電路,在此基礎上還擴充有FM12864中文液晶圖形模塊接口電路、DS18B20溫度傳感檢測電路,DS1302時鐘顯示芯片接口,X5045看門狗接口電路,另外將鍵盤和數碼管顯示作為獨立的模塊,方便了使用也使I/O資源空閑,RS-232串口通信電路可實現開發楹和電腦的雙機通信。電源方面設置了USB供電和外接電源供電兩種方式。

AT89S52單片機口具有8KB的FLASH[2],通過提供的ISP在線下載線可以現場仿真而無須專門的燒寫器即可以將目標程序下載到CPU中,在51 MCU_SYSTEM中就可以觀察到程序的運行情況。本文所使用的開發工具為µVision2集成開發平臺[3],包含一個高效的編輯器、一個項目管理器和一個MAKE工具。并且支持所有Keil C51工具,包括C編譯器、宏匯編器連接/定位器、目標代碼到HEX轉換器。

三、系統主要硬件設計

(一)單片機部分

CPU采用的是AT89S5X系列的單片機,同時兼容飛利浦P89系列的單片機,在本系統是單片機上的EA接的是高電平,表示對ROM的讀寫從內部程序存儲器開始,并且可以延至外部存儲器。在P0口接有470歐的排組上拉數據口,系統主頻率12MHz。

圖1.單片機部分電路設計

(二)8155部分

在本系統中采用8155實現I/O擴展。8155不僅具有兩個8位的I/O端口A、B口和一個6位的I/O端口C口,而且還可以提供256個字節的靜態RAM存儲器和一個14位的定時/計數器。8155和單片機的接口非常簡單,目前被廣泛應用。系統用一片73LS138實現8155、6264等芯片的片選。

圖2.8155接口電路設計

(三)DAC0832部分

DAC0832是8位D/A轉換器,,轉換結果為一對差動電流輸出,轉換時間大約為1us。使用單電源+5VD+15V供電[1]。參考電壓為-10V-+10V。在此我們直接選擇+5V作為參考電壓。DAC0832有三種工作方式:直通方式,單緩沖方式,雙緩沖方式;在此我們選擇直通的工作方式,將XFER、WR2、CS管腳全部接數字地。管腳8接參考電壓,在此我們接的參考電壓是+5V,如圖3所示,可以產生三角波,鋸齒波,梯型波等波形。CE2接在74LS138上,通過分配地址完成片選。

圖3.DAC0832接口電路

(四)TLC0832

TLC0832是八位串行逐次逼近模數轉換器[4],它有兩個可選擇的輸入通道。其接口電路如圖所示。TLC0832的通道0外接了電位器,可以模擬不同的電壓輸入。對TLC0832的控制需要3根I/O口線,可以從單片機及8155接入。

圖4.TLC0832接口電路

(五)X5045接口電路

復位電路采用了帶I2C的監控芯片X5045,上電即可復位[5],電路如圖5所示。另外8155設置了獨立的復位方式以彌補和51單片機的復位不同步缺點。

圖5.看門狗接口電路

(六)鍵盤接口電路

在單片機應用系統中通常應具有人機對話功能能隨時發出各種控制指令和數據輸入以及報告應用系統的運行狀態與運行結果。本文所采用的是獨立式鍵盤,其中key代表阻值為1kΩ的排阻。

(七)數碼管顯示接口電路

系統數碼管顯示及鍵盤顯示均比較靈活,提供了專門的I/O接口,可以用8155來控制,也可以用單片機來控制。開發板支持4位七段示LED數碼顯示器。

四、結束語

限于篇幅,本文關于DS1302、LCD顯示接口以及系統軟件設計等方面未能介紹。本文設計的單片機開發板在實際中發揮了重要作用,適合于單片機學習者及簡單的工程應用。

參考文獻:

[1]楊光友.單片微型計算機原理及接口技術[M].水利水電出版社,2002

[2]AT89S51 Datasheet.Atmel Inc.2006

[3]趙亮.單片機C語言編程與實例[M].人民郵電出版社,2003

[4]張道德.單片機接口技術(C51版).中國水利水電出版社,2007

[5]X5045 Datasheet.Intersil inc.2006

篇2

關鍵詞 Microchip 單片機 功耗 編程

由美國Microchip公司生產的PIC系列單片機,由于其超小型、低功耗、低成本、多品種等特點,已廣泛應用于工業控制、儀器、儀表、通信、家電、玩具等領域,本文總結了作者在PIC單片機開發過程中的一些經驗、技巧,供同行參考。

1 怎樣進一步降低功耗

功耗,在電池供電的儀器儀表中是一個重要的考慮因素。PIC16C××系列單片機本身的功耗較低(在5V,4MHz振蕩頻率時工作電流小于2mA)。為進一步降低功耗,在保證滿足工作要求的前提下,可采用降低工作頻率的方法,工作頻率的下降可大大降低功耗(如PIC16C××在3V,32kHz下工作,其電流可減小到15μA),但較低的工作頻率可能導致部分子程序(如數學計算)需占用較多的時間。在這種情況下,當單片機的振蕩方式采用RC電路形式時,可以采用中途提高工作頻率的辦法來解決。 具體做法是在閑置的一個I/O腳(如RB1)和OSC1管腳之間跨接一電阻(R1),如圖1所示。低速狀態置RB1=0。需進行快速運算時先置RB1=1,由于充電時,電容電壓上升得快,工作頻率增高,運算時間減少,運算結束又置RB1=0,進入低速、低功耗狀態。工作頻率的變化量依R1的阻值而定(注意R1不能選得太小,以防振蕩電路不起振,一般選取大于5kΩ)。

另外,進一步降低功耗可充分利用“sleep”指令。執行“sleep”指令,機器處于睡眠狀態,功耗為幾個微安。程序不僅可在待命狀態使用“sleep”指令來等待事件,也可在延時程序里使用(見例1、例2)。在延時程序中使用“sleep”指令降低功耗是一個方面,同時,即使是關中斷狀態,Port B端口電平的變化可喚醒“sleep”,提前結束延時程序。這一點在一些應用場合特別有用。同時注意在使用“sleep”時要處理好與WDT、中斷的關系。

圖1 提高工作頻率的方法

例1(用Mplab-C編寫) 例2(用Masm編寫) Delay() Delay { ;此行可加開關中斷指令 /*此行可加開關中斷指令*/ movlw.10 for (i=0; i

INTCON中的各中斷允許位對中斷狀態位并無影響。當PORT B配置成輸入方式時,RB引腳輸入在每個讀操作周期被抽樣并與舊的鎖存值比較,一旦不同就產生一個高電平,置RBIF=1。在開RB中斷前,也許RBIF已置“1”,所以在開RB中斷時應先清RBIF位,以免受RBIF原值的影響,同時在中斷處理完成后最好是清RBIF位。

3 用Mplab-C高級語言寫PIC單片機程序時要注意的問題

3.1 程序中嵌入匯編指令時注意書寫格式 見例3。

例3

…… …… while(1) {#asm while(1) { …… #asm /*應另起一行*/ #endasm …… }/*不能正確編譯*/ #endasm …… }/*編譯通過*/ …… 當內嵌匯編指令時,從“#asm”到“endasm”每條指令都必須各占一行,否則編譯時會出錯。

3.2 加法、乘法的最安全的表示方法 見例4。

例4

#include #include unsigned int a, b; unsigned long c; void main() { a=200; b=2; c=a*b; } /*得不到正確的結果c=400*/ 原因是Mplab-C以8×8乘法方式來編譯c=a*b,返回單字節結果給c,結果的溢出被忽略。改上例中的“c=a*b;”表達式為“c=a;c=c*b;”,最為安全(對加法的處理同上)。

3.3 了解乘除法函數對寄存器的占用

由于PIC片內RAM僅幾十個字節,空間特別寶貴,而Mplab-C編譯器對RAM地址具有不釋放性,即一個變量使用的地址不能再分配給其它變量。如RAM空間不能滿足太多變量的要求,一些變量只能由用戶強制分配相同的RAM空間交替使用。而Mplab-C中的乘除法函數需借用RAM空間來存放中間結果,所以如果乘除法函數占用的RAM與用戶變量的地址重疊時,就會導致出現不可預測的結果。如果C程序中用到乘除法運算,最好先通過程序機器碼的反匯編代碼(包含在生成的LST文件中)查看乘除法占用地址是否與其它變量地址有沖突,以免程序跑飛。Mplab-C手冊并沒有給出其乘除法函數對具體RAM地址的占用情況。例5是乘法函數對0×13、0×14、0×19、0×1A地址占用情況。

例5

部分反匯編代碼 #include 01A7 081F MOVF 1F,W #include 01A8 0093 MOVWF 13 ;借用 unsigned long Value @0x1 01A9 0820 MOVF 20,W char Xm @0x2d; 01AA 0094 MOVWF 14 ;借用 void main() 01AB 082D MOVF 2D,W {Value=20; 01AC 0099 MOVWF 19 ;借用 Xm=40; 01AD 019A CLRF1A ;借用 Value=Value*Xm 01AE 235F CALL 035Fh ;調用乘法函數 …… 01AF 1283 BCF 03,5 } 01B0 009F MOVWF 1F ;返回結果低字節 01B1 0804 MOVF 04,W 01B2 00A0 MOVWF 20 ;返回結果高字節 4 對芯片重復編程

對無硬件仿真器的用戶,總是選用帶EPROM的芯片來調試程序。每更改一次程序,都是將原來的內容先擦除,再編程,其過程浪費了相當多的時間,又縮短了芯片的使用壽命。如果后一次編程的結果較前一次,僅是對應的機器碼字節的相同位由“1”變成“0”,就可在前一次編程芯片上再次寫入數據,而不必擦除原片內容。

在程序的調試過程中,經常遇到常數的調整,如常數的改變能保證對應位由“1”變“0”,都可在原片內容的基礎繼續編程。另外,由于指令“NOP”對應的機器碼為“00”,調試過程中指令的刪除,先用“NOP”指令替代,編譯后也可在原片內容上繼續編程。

另外,在對帶EPROM的芯片編程時,特別注意程序保密狀態位。廠家對新一代帶EPROM芯片的保密狀態位已由原來的EPROM可擦型改為了熔絲型,一旦程序代碼保密熔絲編程為“0”,可重復編程的 EPROM 芯片就無法再次編程了。使用時應注意這點,以免造成不必要的浪費(Microchip 資料并未對此做出說明)。

參考文獻

篇3

關鍵詞:單片機;排隊叫號;系統開發

中圖分類號:TP311.52文獻標識碼:A文章編號:1007-9599 (2010) 06-0000-01

Queue No.Calling System Design Based on SCM Development

Ou Zhixuan

(Guangxi City College,Chongzuo,532100,China)

Abstract:This paper has designed a line Queue number system.The system is based on the order of the core line pumping,pumping customers using the client number,client's staff called the number called number;through the display shows the current time the call numbers and the number of people waiting in line,customers line up to keep abreast of information,through reasonable program structure to implement the pumping line number.To improve the efficiency of waiting to address the queue disorder,extrusion and other phenomena after the former owner,to achieve line automation and standardization.Through the use of the system,customers do not have to line up wasting a lot of energy,easy to manage queuing order,while adapting to the digital information age management requirements,improve service levels and quality.

Keywords:Microcontroller;Queue number;System development

一、系統開發背景

排隊論(又稱隨機服務系統)是研究系統由于隨機因素的干擾而出現排隊(或擁塞)現象的規律的一門學科,它適用于一切服務系統,包括公共服務系統、通信系統、計算機系統等。可以說,凡是出現擁塞現象的系統,都屬于隨機服務系統。一個對象通過擁塞系統接受服務必須經過三個環節,即到達、排隊等候處理、接受服務和離去。例如在醫院中,排隊流程如下:患者在掛號的同時領取排隊號碼,然后到候診區候診;當為前一患者完成診斷后,醫生通過本系統呼叫隊列中下一位患者,患者就可直接到空閑診室行排隊等候服務。

二、系統應用前景

伴隨著服務行業業務量不斷增長,業務種類日益增多,排隊等候已成為人們經常面臨的實際問題。在銀行,醫院,電信,稅務,工商等營業大廳里,前擁后擠,雜亂無章的排隊等候,已是司空見慣的現象,影響了服務質量。因此,改善服務質量,樹立良好的企業形象,解決客戶勞累的排隊現象,創造人性化服務環境已成為急需解決的問題。設計一套排隊抽號的服務系統,可以很好的解決因排隊引起的種種問題。

三、可行性分析

(一)技術可行性

本系統由鍵盤輸入系統、單片機系統、屏幕顯示系統組成,系統分為兩個模塊:抽號模塊和叫號模塊,其控制核心均為AT89C52單片機,選用此單片機編程簡單,開發工具便于使用,能滿足很好的滿足排隊抽號的控制數據處理,抽號模塊采用LCD液晶顯示器,這樣顯示數據直觀,便于客戶理解,若只采用數碼管顯示,會造成顯示內容單一,不便于客戶理解記憶,叫號模塊采用數碼管顯示,此模塊只需顯示當前所叫號數,因此采用數碼管顯示清楚,直觀,客戶容易看清當前所叫號數,抽號模塊輸入只需使用一個抽號按鍵即可,便于客戶操作,叫號模塊包括叫號鍵和清零鍵,工作人員除了可以叫號外,可以隨時按清零鍵,復位排隊系統。

(二)操作可行性

本系統界面統一規范,操作簡單,提示信息功能完整,用戶只要經過簡單的了解即可上手。大大的方便了用戶的操作和管理,顧客不必為排隊、等候而前后擁擠,可以輕松的等待排隊,節省了顧客的時間和精力。

1.系統流程。該排隊抽號系統主要對顧客排隊、等候進行數字化的管理。其管理的核心是排隊順序,它是排隊抽號系統解決的基本任務。

2.顧客進入大廳排隊。顧客按下抽號模塊上的抽號按鍵后。系統根據排隊人數自動為顧客排號,并顯示在LCD上,顧客記住自己抽到的號數,便可在坐在一旁等候。

3.排隊人數。當抽號模塊上沒有按鍵按下時,LCD顯示器上顯示當前等待人數,它會根據抽號人數和叫號人數自動改變。

4.客服進行叫號。當客戶服務人員按下叫號模塊上的叫號鍵時,叫號模塊根據排隊情況自動在數碼管上顯示當前所叫號數。

(三)需求規范

1.產品背景:排隊抽號系統是為銀行、醫院、電信、稅務、工商等營業大廳而設計的排隊軟件,本系統開發時參考了51單片機和排隊論等一系列書籍,結合現代排隊管理體制,最終開發而成。

2.產品概述:本系統分為兩個模塊:抽號模塊和叫號模塊,其控制核心均為AT89C52單片機,抽號模塊采用LCD液晶顯示器,這樣顯示數據直觀,便于客戶理解,叫號模塊采用數碼管顯示,此模塊只需顯示當前所叫號數,因此采用數碼管顯示清楚,直觀,客戶容易看清當前所叫號數,抽號模塊輸入只需使用一個抽號按鍵即可,便于客戶操作,叫號模塊包括叫號鍵和清零鍵,工作人員除了可以叫號外,可以隨時按清零鍵,復位排隊系統。

3.功能需求:排隊抽號系統可以應用于銀行、醫院、電信、稅務、工商等營業大廳。本系統是采用液晶顯示和鍵盤輸入,界面使用字符顯示,提高排隊管理水平,增加現代化管理水平、管理質量和管理工作效率。

(四)系統結構圖

圖一:系統框圖

圖二:硬件連接總圖

四、調試結果

(一)電源部分的調試

初期,由于前端濾波電容未加,導致輸出紋波過大,補上100微法,50V的濾波電容,紋波在允許范圍內。

總結:試驗過程中一定得認真仔細。電路圖連接完后,需要檢查再通電調試。

(二)顯示部分的調試

問題:數碼管的顯示不穩定,不停的閃爍。

分析:沒有考慮到干擾及環境的制約。于是我們把在面包板上連好的電路焊接在印刷板上,并采用電容濾波盡可能去除紋波和干擾。

(三)單片機控制部分的調試

單片機在整個系統中負責響應外部輸入和實現反饋自我控制。由于存在兩路輸出和四路反饋,在時序上就比較復雜,調試起來也是很復雜的。

程序的編寫修改完成后,用仿真器仿真時,幾個控制按鈕不好使,經檢驗,是軟件中等待時間太短,由于按鍵抖動,響應中斷次數過多造成控制不穩定。增加等待時間消除抖動后,控制部分達到理想效果。

篇4

關鍵詞:單片機 自動控制系統 設計開發 要點分析

中圖分類號: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).

篇5

(浙江警官職業學院 浙江 杭州 310018)

摘要:“單片機應用技術”是安全防范技術專業的一門主干課程,面向安防產品開發、生產、測試一線工作崗位,直接培養學生“安防單片機產品調試”的核心職業能力。針對課程的特點,應從安防行業實際出發,引入“任務驅動”理念,為培養學生工程實踐能力和創新能力,在課程設計理念、教學內容選取與組織、教學方法手段、考核等方面進行教學改革。

關鍵詞 :單片機應用技術;安防;教學改革;任務驅動

中圖分類號:G712 文獻標識碼:A 文章編號:1672-5727(2014)08-0094-03

現狀分析

安全防范技術專業是為順應安防產業發展而建立的專業。作為一個公共安全與技術防范緊密結合的新興產業,迫切需要安防產品開發、生產、測試一線崗位的高素質技能型安防專業人才。“單片機應用技術”是安全防范技術專業的專業基礎課,面向安防產品開發、生產、測試一線工作崗位,直接培養學生“安防單片機產品調試”的核心職業能力,是一門面向應用的、具有很強的實踐性與綜合性的課程,具有承前啟后的重要地位。學好單片機課程,可為學生在以后學習監控技術和消防等課程打下堅實的基礎。同時,單片機技術是開發安防智能儀器儀表的關鍵技術,具有中央控制器的作用,安防產品幾乎離不開單片機,學好單片機課程,有利于學生在以后工作中的可持續發展。

單片機的傳統教學采用的是先基礎、后應用的模式,重理論教學,借大量的原理引導學生入門,應用技術只是點綴,各個知識點不能緊密結合,并且實踐操作存在一定的時間滯后性,使學生對單片機的學習一直局限于抽象的理論學習中,理解起來困難,而且感覺枯燥乏味,學習興趣不濃厚。

基于目前的現狀,應根據項目導向、任務驅動教學的需要開發建設“單片機應用技術”課程,以提高學生的學習興趣,增強學生的操作技能和實踐能力。

課程設計理念

為使高職學生具備一定的安防單片機產品組裝與調試、維護維修、產品設計的輔助能力,“單片機應用技術”課程打破了傳統的學科教學模式,以職業崗位要求為前提,以職業能力的培養為重點,從以下幾個方面進行了課程設計。

首先,企業全程參與課程設計。通過與省內安防企業的合作,向安防產品研發生產企業設計、測試等一線人員以及在安防行業從事產品測試、維管的往屆畢業生征求關于課程建設的建議。

其次,以工作任務為載體,引入“任務驅動”思想,構建課程內容。通過單片機在安防產品中應用情況的調研和分析,緊扣單片機的開發流程,篩選得出了安防產品維護員、安防設備維修員、安防產品調試員、安防產品設計助理等崗位的典型工作任務。每個工作任務的教學內容和過程都按照完整的開發流程展開,根據不同的對象和系統,各環節的教學要求有所側重,著重培養學生安防產品的軟件調試與軟硬件聯調能力。

再次,以激發學生學習興趣為目的選擇設計對象,盡量貼近學生的活動領域和生活經驗,采取簡單易懂的實例,從而增強學生的自信心,提高學習興趣。

教學內容選取

針對職業崗位進行能力需求分析 在深入調研的基礎上,針對安防產品組裝與調試、安防產品設計助理、安防產品維護維修等崗位,在課程專家指導下,由行業專家和專業教師共同分析崗位中的典型工作任務,推衍出對應的職業能力,如表1所示。這些職業能力都是基于安防單片機應用產品設計、制作與調試工作過程中應具備的基本工作能力分解出來的。

工作任務的設計 “單片機應用技術”課程的知識點主要包括存儲器、I/O接口、指令系統、定時器/計數器、中斷、匯編語言的應用、接口技術的運用等。安全防范系統主要包括入侵報警系統、視頻監控系統、門禁控制系統、消防控制系統等,如圖1所示。本課程從這四大獨立系統的常見產品著手,收集了大量與安防專業有關的安防單片機一線實例,篩選、整合成7個典型的工作任務,把這7個任務作為線索穿插于單片機硬件、指令系統、匯編語言、接口技術的講解中,讓學生在具體的工作任務中學到理論知識,同時進行仿真和硬件實驗,變抽象為具體。7個任務由淺入深,始終圍繞典型的單片機開發設計過程展開,注重學生軟件調試與軟硬件聯調能力的培養,從而使學生的能力得到逐步提高。同時注重理念、方法和職業素質的培養,以利于學生將能力拓展到其他領域。7個任務各自對應的知識、技能和素質要求如表2所示。在進行知識學習的同時,加強實踐訓練,通過課程實訓、畢業設計等實訓環節的系統化訓練,使學生獲得單片機應用的基本知識和技能,為學生的可持續發展打下良好的基礎。

教學內容組織與安排

基于真實任務,遵循學習規律,按照單片機開發工作過程組織安排教學內容。

教學內容的組織突破了傳統知識體系結構,按照單片機開發工作流程的要求,重組、序化內容。實際上,單片機開發的安防產品牽涉面廣,具有一定的復雜性和特定性。根據能力培養的基本規律,在課程設計中對實際安防單片機產品一線的任務進行了篩選、簡化,基于企業真實案例得到充足的教學素材,然后根據安全技術防范系統的組成,選擇常見安防單片機產品,遵循學生職業能力培養遞進規律,由淺入深組織教學,共設置了7個工作任務(即簡單家庭緊急報警電路的實現、可燃氣體檢測報警器的實現、安防報警信號燈的控制、消防水箱水位的控制、反射型紅外探測器在單片機中的應用、電子密碼鍵盤的實現、電動云臺的控制)。

每一個工作任務的實施,都按照單片機的實際開發工作過程組織安排教學內容,注重學生軟硬件調試能力的培養,體現職業性與實踐性。在每個任務最后還安排一個產品調試維修分析環節,使學生在具備一定的軟硬件調試、維護維修能力的基礎上,進一步開闊其視野,提升其能力。每個工作過程的實施過程如圖2所示。課程內容的組織與安排如圖3所示。

教學方法與手段改革

以學生為主體,穿插應用分組討論、自學答疑、課堂提問、啟發教學等教學方法引導學生積極思考、主動學習、靈活運用。同時,根據不同的學習內容、不同的工作任務,采用不同的教學方法。下面介紹幾種常用教學方法的具體運用。

任務驅動法 在課程的每個階段,定出具體任務。例如,學習單片機的指令系統知識之前,先下達“使用信號燈模擬報警主機防區指示燈”的工作任務,然后分析工作流程,最后得出要完成這個工作任務需要哪些知識,進而進入知識點的學習,學好后再來解決這個工作任務。做到邊做邊學,學中做,做中學。

引導文法 在課程中以引導文法展開教學,包括:(1)給出一個任務以及功能要求的文字引導文件;(2)確定初步設計方案;(3)分析系統硬件構成圖;(4)設計流程圖;(5)編程并調試,使學生在實訓中熟悉單片機軟硬件設計的方法和技巧。

示例教學法 邊操作示范,邊講解相應的理論知識,使學生熟悉項目的完成過程。比如教師在介紹單片機系統的調試要領時,將現成的試驗箱與計算機系統連接,通過單步、斷點調試程序,實時觀察實驗效果,使學生真實領會調試過程的要領。

理論講解教學法 課程內容部分采用教師理論講解教學法,使學生直接了解和掌握相關知識點。比如,在介紹單片機存儲器的結構時,通過動畫板書形象展示存儲器的構成。

實例教學法 在教學過程中使用大量的實例進行教學。比如,在介紹單片機的基礎知識時,列舉大量單片機在安防設備、工業控制設備、醫療儀器中的應用實例,使學生比較全面地了解單片機的作用。

考核方法改革

采用與本課程教學相適應的多種考核形式,一方面注重平時成績,另一方面注重實際能力,克服“讀死書、為了考試而學習”的高分低能的現象,培養工程型應用人才。成績評定采取三部分考核評價體系,即“筆試+實驗考試+平時成績”,其中筆試占50%,實驗考核占30%,提問、作業、平時表現等平時成績占20%。

該課程是司法部精品課程。通過課程改革,使學生在各個工作任務的實現過程中,建立單片機系統的整體概念,使學生具有應用單片機系統進行軟硬件開發的初步能力,能將理論基礎知識與安防工程應用相結合,培養學生的工程實踐能力和創新能力、理論聯系實際能力及解決實際問題的能力。

參考文獻:

[1]于復生,范文利.任務驅動教學法在機電一體化系統設計教學中的實踐與探索[J].電氣電子教學學報,2004(1).

[2]徐國慶.職業教育項目課程的幾個關鍵問題[J].中國職業技術教育,2007(4).

[3]劉艷.案例教學法在單片機教學中的應用[J].電腦知識與技術,2008(5).

[4]李全利.單片機原理及應用技術[M].北京:高等教育出版社,2001.

篇6

關鍵詞:單片機;信號發生;硬件電路

MCS-51單片機是在一塊芯片中集成了CPU、RAM、ROM、定時器/計數器和多種功能的I/O口等一臺計算機所需的基本功能部件。MAX038是MAXIM公司生產的一通用波形發生芯片。采用8051控制MAX038芯片,使該函數發生器的三種波形共用一個引腳輸出,具有輸出頻率范圍寬、波形穩定,失真小的特點。

1 芯片功能分析

1.1 51單片機

單片機全稱為單片微型計算機(Single Chip Microcomputer)。它具有嵌入式應用系統所要求的體系結構、微處理器、指令系統、總線方式、管理模式等。它把計算機的基本部件微型化并集成到一塊芯片上,通常片內都含有中央處理器(CPU)、數據存儲器(RAM)、程序控制器(ROM、EPROM、Flash ROM)、定時器/計數器和各種輸入/輸出(I/O)接口。

1.2 MAX038

MAX038比起以前比較常用的函數發生器件如8038系列,從頻率范圍,頻率精確度,對芯片及波形的控制性能。用戶使用的方便性等方面都有了很大的提高,因此可廣泛應用于波形的產生、壓控振蕩器、脈寬調制器、頻率合成器、及FSK發生器等。以MAX038為核心的0-20MHZ寬頻帶函數信號發生器,具有頻率調節、輸出偏移調節、輸出幅度調節、輸出衰減以及正弦波、方波、三角波、和TTL同步電平信號輸出。能夠滿足常規和高頻模擬電路、高頻數字電路的調試要求。

2 系統構成

為了利用單片機對函數發生器進行控制,采用8051單片機和8279、DAC1020等芯片實現硬件電路。用8279完成鍵盤輸入和LED顯示控制兩種功能,鍵盤按鍵設置:數字鍵0~9,小數點,正弦波、方波和三角波切換鍵,頻率選擇Hz、kHz、MHz切換鍵,占空比鍵,回車鍵。采用外部譯碼方式,8279的SL0~SL2經74LS138(1)輸出接鍵盤,同時經74LS138(2)輸出驅動后送LED。8279的顯示輸出B0~B3,A0~A3作8位數據輸出。MAX038的頻率控制電壓由10位DAC1020提供。8051的P2.6作為DAC1020的片選信號,采用雙緩沖器方式,鎖存10位數據。DADJ引腳電壓范圍-2.4V~+2.4V由8位DAC0832的雙極性輸出電壓提供,即占空比調節的控制電壓。用8051的P2.5作為DAC0832的片選信號,基準電壓采用MAX038內部2.5V基準電壓,接入VR端。DAC0832的ILE接+5V,片選端和數據傳送端都與74LS373輸出線A0相連。

3 單片機處理程序

主程序先對8279進行初始化,即允許中斷申請,清8279狀態,置鍵盤顯示方式及時鐘編程等,再置MAX038初始波形與頻率、占空比。然后測試回車鍵是否閉合,以決定是否進行中斷處理,判斷輸出波形并輸出控制信號,有關輸出波形頻率的控制電壓及占空比的計算送DAC1020及DAC0832,最后將波形頻率及占空比送顯示緩沖區,調顯示子程序顯示。進行處理時,首先根據輸入的鍵值完成對輸出波形、波段以及頻率的選擇,然后根據有關公式計算輸出頻率,所需電壓的編程數據送DAC1020,如果輸出為矩形波,則還要將占空比的編程數據送DAC0832 這樣就在MAX038的引腳l9輸出相應波形和頻率的信號。

4 波形生成設計

4.1 方波輸出

方波輸出由8051單片機內部自帶的定時器/計數器實現。采用定時器/計數器T1,工作方式1,計數器位數是16位;門控位GATE置0,定時器的運行只受控制寄存器TCON中運行控制位(TR)的控制;計數器初值的設定由以下公式計算得到:N=2n-TCfosc/12其中n為計數器位數;TC為定時時間;fosc為振蕩頻率。通過小鍵盤,由用戶鍵入需要輸出方波的周期,在P0口將得到所需的方波波形。

4.2 正弦波輸出

正弦波的產生采用查表法,單片機的I/O輸出均為+5V的TTL電平,因此產生的正弦波幅值為+5V。將一個周期內的正弦波等分為N份,那么第1點的角度為0°,對應的正弦值為5sin0°;第2點的角度為360°/N,對應的正弦值為5sin(360°/N )……,如此計算,將這些模擬量正弦值都轉換為雙極性方式下的數字量,得到按照點號順序排列的數字量正弦值表格。

[參考文獻]

篇7

關鍵詞:單片機 閘閥門 檢測方法

閘閥門開度檢測裝置在淮安三線船閘工程中,是實現閘閥門安全、高效和智能化運行的主要設備之一。該檢測裝置運用主要目的為:

(1)在閘閥門啟閉操作時,用于實時指示閘閥門的開度位置,以利于操作員及時掌握閘閥門的運行情況;

(2)閘閥門開度參與閘閥門的運行控制,如使閥門開啟至任意設定開度,實時監視閥門在這一設定開度時的下滑情況,并根據閥門下滑至不同關鍵位置時,立即采取相應的處理措施。

(3)控制左右人字閘門同步運行與平穩變速運行。

ROQ425是德國海德漢(HENDENHAIN)的(13位+12位)絕對編碼器。特別適合于高精度、大量程閘閥門行程測量和控制的場合,是構成閘閥門檢測裝置的主要部件。具有如下主要特點:

(1)分辨率高,最高可達8192線/轉(13位);

(2)量程大,最高可達4096轉(12位);

(3)掉電位置保護,無論開度儀掉電多少時間,系統上電后,ROQ425總能準確地測量出閘門當前的開度。

(4)數據輸出接口,采用串行同步接口(SSI)傳輸數據。

PLC以其固有的特性,在閘閥門智能化處理中得到了廣泛的應用。解決好PLC與閘閥門開度檢測裝置間的數據傳輸接口是實現閘閥門高效、可靠、安全運行的關鍵。雖然,PLC提供SSI輸入模塊,但這類模塊價格太高,需要配置專用電纜和處理軟件。利用單片機實現與閘閥門開度檢測裝置(SSI)的輸入接口,實現串行數據轉換成并行數據與PLC數值量輸入模塊連接的輸出接口。這樣既降低了成本,又簡化了PLC的編程。

1. 硬件設計 硬件設計方案主要實現

(1)與ROQ425的SSI連接;

(2)與PLC模擬量輸入模塊和MODBUS口的連接;

(3)完成輸入串行數據(ROQ425 SSI)到輸出4-20mA的轉換。

(4)完成輸入串行數據(ROQ425 SSI)通過MODBUS口輸出到PLC

1.1 ROQ425 SSI接口介紹

ROQ425 SSI接口電壓為5V±5%,空載時最大電流功耗為250mA。采用差分SN65LBC176線接收/驅動器進行數據傳輸,最遠傳輸距離可達100m。ROQ425內部接口見圖1。

ROQ425是多圈絕對型旋轉編碼器,每圈用13位表示精度,用12位記錄圈數。因此,開度絕對位置值采用25位字長表示。數據發送時序關系見圖2,其工作原理為:

不發送數據時,CLOCK為高電平。 數據發送過程:當ROQ425接收到CLOCK發送周期(nT)的第一個下降沿時,ROQ425讀取25位字長的絕對位置值存入數據緩存器。數據緩存器中數據隨著CLOCK發送周期的上升沿串行同步發送數據,第一個發出的數據位是絕對位置值的第25位(MSB),最后一個發出的數據位是絕對位置值的第1位。 中斷數據發送:在數據發送過程中,當CLOCK為高電平時間超過t3(35us)時,ROQ425終止當前數據發送周期,為下一個重新開始的發送周期做好準備。 數據重發:當完成一個絕對位置值的數據字發送周期后,DATA維持t3時間的低電平。若在t3(12~35us)內,CLOCK開始一個新的發送周期,就會重發剛才發送的絕對位置值數據。 1.2 硬件工作原理

硬件設計由SSI接口、I/O接口、單片機和電源四部分組成。

(1)SSI接口選用ROQ425推薦的RS422接口芯片MAX488。

(2)I/O接口采用光電耦合器隔離,DA模塊采用AD7541和AD694。MODBUS接口模塊采用MAX232E。

(3)單片機選用高性能的AT89C51(單字長指令、定時/計數器、看門狗)

(4)選用24VDC輸入5VDC輸出和24VDC輸入15VDC輸出的DC/DC模塊電源。

原理圖如下

轉貼于 2.軟件設計 通過對AT89C51進行編程,達到實時將SSI接口數據轉換成4-20輸出或通過MODBUS口傳送至PLC系統的目的。主要流程如下:

第一步 :初始化設置。包括串口設置,中斷設置,PLC地址的設置,零點設置等 第二步:讀取ROQ425數據并轉換成十進制 第三步:將轉換過的數據通過并口和串口輸出 第四步:重復第二步 下面是AT89C51的部分源程序:

#include

#include

/* define I/O functions */

#include

/* define absacc functions */

#include

/* define absacc functions */

#include /*#define uchar unsigned char*/

#define _Nop() _nop_()

typedef unsigned int word;

typedef unsigned char byte;

typedef unsigned long dword;

static word data da,db,dc,df,p,crc1,cir,high;

static dword data da1,db1,dc1,df1,dd,de,max,zero,zero2,dcb;

static byte data show[7],show1[4],show2[4],sendm[8],s[4],bb[4];

static byte data dd1,watch,kk,t[1],dd2[1];

code byte disp[16]={0x77,0x41,0x3b,0x6b,0x4d,0x6e,0x7e,0x43,0x7f,0x6f,0x5f,0x7c,0x36,0x79,0x3e,0x1e};

void readgray();/*讀取ROQ425數據*/

void delay();

void i_start();

void i_stop();

void i_init();

void i_send(byte);

void display();

void change(dword);

void change1(dword);

void setzero();

void zero1();

void nub();

void addr();

void cir1();

void e_start();

void e_stop();

void e_send(byte);

byte e_recevie();

void e_ack(bit);

void e_send1(dword);

bit isend(byte,byte,byte *,byte);

bit ireceive(byte,byte,byte *,byte);

void watchdog();

void one();

void two();

void three();

void one1();

void two1();

void three1();

void pos();

void res();

void comsend(byte);

word crc16(byte *);

byte shj();

void main()

{

register i,j,k,x;

bit d;

dcb=0;

show[0]=0x70;

show[1]=0x00;

show[2]=0x27;

display();

for (i=0;i

{

show1[i]=0;

show2[i]=0;

}

SCON=0xc8;/*采用方式3 */

TMOD=0x20;

TH1=0xfd;

TL1=0xfd;

TR1=1;

ET1=0;

ES=0;

EA=0;

high=0x07;

max=8000;

dd1=0;

sda1=1;

delay();

sda1=0;

dd2[0]=0;

while(1)

{

for (j=0;j

{

for (x=0;x

{

zero2*=2;

z=(bit)(show2[j]&0x80);

if (z==1)

zero2++;

show2[j]=show2[j]

}

}

zero=zero2;

p=0;

watchdog();

txd=1;

readgray();

watchdog();

dd=da & 0x0fff;

de=db & 0x1fff;

dc1=dd*8192+de;

P0=dc1 & 0x000000ff;//(dc1 & 0x000001fe)>>1;

P2=(dc1 & 0x00000f00)>>8;//(dc1 & 0x00001e00)>>9;

if(t[0]==1)

{

if((zero>=0)&&(zero

one();

else

if((zero>10000000)&&(zero

two();

else

three();

}

else

{

if((zero>=0)&&(zero

one1();

else

if((zero>10000000)&&(zero

two1();

else

three1();

}

sendm[0]=0x06;

sendm[1]=0x06;

sendm[2]=0x00;

sendm[3]=0x05;

sendm[4]=dc1/256;

sendm[5]=dc1%256;

crc1=crc16(sendm);

sendm[6]=crc1 / 256;

sendm[7]=crc1 & 0xff;

rd=1;

for(i=0;i

{

ACC=sendm[i];

TB8=par;

comsend(sendm[i]);

}

watchdog();

display();

}//end while

篇8

關鍵詞: USB單片機 實驗裝置

【中圖分類號】TE319

0引言

單片機一門實踐性很強的專業課程,通過實驗環節能夠有效地鞏固課堂上所學的理論知識,全面提升學生的動手能力和創新能力,培養出行業所需的應用型人才,目前市場上適合學生使用的片機實驗板有兩類:一類通過RS232串行口與PC機相連,同時它還需使用外接電源。另一類號稱USB型的實驗板只是通過PC機USB接口獲取電源,真正與PC機的連接還是通過RS232串口。以上兩類實驗板與PC機相連時,一般需要將主機箱從電腦桌中搬出,才能與機箱背后的RS232串行口連接,如果在普通機房使用時,由于地方狹小不易伸展,所以限制較多,特別是插拔實驗板時很不方便。

1 USB單片機實驗裝置的總體設計

本文設計的USB型單片機實驗裝置通過采用USB接口與PC機連機的方式,使它具備了與其它單片機實驗裝置相比更加優越、更加方便的操作方式。當我們在普通機房或者家中使用USB型單片機實驗裝置的時候,我們可以方便的將實驗裝置上的USB接口與電腦機箱上的前置或后置USB口進行連接,它可以直接從USB口上獲取到5V電源,并且不需要再連接其它的譬如:RS232串口線、電源線。不必為了插上接口再將機箱從電腦桌中搬出,可謂相當方便。USB型單片機實驗裝置支持ISP在線編程技術(In -System Programming)我們可以直接對已經調試好的目標代碼進行下載調試,先將芯片插入芯片槽中,運行下載軟件,通過USB口,我們調試好的目標代碼就會直接被下載到單片機芯片中,上電后自動運行用戶的代碼與以前需要另接ISP下載器相比其設計更加省時、便利。

USB型單片機實驗裝置通過USB接口與KELL通訊,可以實時地調試目標程序,其在線軟件仿真器不僅支持以前匯編語言源代碼的調試,對于現在主流C51高級語言源代碼同樣完全適用。除此之外它還支持:

(1)單步執行STEP 、STEP OVER、10個斷點、運行到光標、全速運行;

(2)支持變量的顯示和修改;

(3)支持數據存儲器、代碼存儲器、SFR特殊功能寄存器及P0-P3 端口的讀寫;

(4)支持對8051 程序存儲區的反匯編及在線匯編等功能

USB型單片機控制裝置是以AT89S52單片機為核心的單片機嵌入式系統,與PC機的連接方式如圖1所示,實驗儀從USB總線上獲取5V電源,通過CH341控制芯片將USB總線轉換為串行口與單片機相連,實驗電路包括基本的數碼管、單脈沖、獨立式鍵盤、行列式鍵盤、蜂鳴器電路以及I2C總線器件、單總線器件、串行A/D轉換、紅外線收發、LCD顯示電路等,可完成各類基礎型、應用型實驗,采用的 AT89S52單片機內嵌在線軟件仿真器,并具有在系統中編程的功能,這樣可以在PC上使用KEIL軟件對實驗電路進行實時仿真調試,最終將程序寫入芯片運行,無需專用的仿真器及編程器。

圖1 USB型單片機控制裝置示意圖

由此可見,USB單片機實驗裝置可謂麻雀雖小,五臟俱全,通過上述的功能我們能夠完成二十多個硬件實驗,完全能夠滿足學生的日常實驗和學習需求。

另外在成本方面,由于單片機已成為計算機、電子、控制、機電等專業的必修課程,現在許多大專院校有的實驗設備已基本處于滿負荷工作狀態,盡管如此,目前單片機實驗效果尚不理想,由于涉及硬件的連接、源程序的輸入調試,各種意想不到的錯誤難以避免,對于初學者來說往往要耗費不少時間,雖有老師巡回輔導,仍有不少學生來不及在2課時內完成實驗。為提高學生分析問題解決問題的能力,學生應該有更多的實驗時間,增加實驗臺、實驗箱的數量是一個辦法,但因班級眾多,實驗臺與實驗箱的價格昂貴,成本高,實際實施難度較大。USB型單片機控制裝置所需材料均為價格低廉的電子元器件,實物如圖2,價格在60元以下,多數同學都可以接受,這樣每個學生都能擁有一個經濟的單片機實驗裝置,在課余時間和假期還能繼續未完成的實驗或者進行應用型的實驗,有效地培養學生的學習興趣,促進其動手能力和創新能力提高。我們在市場上進行調查:學校購買單片機實驗裝置,個人不愿意購買,另一方面自己認為單片機學習太困難。USB型單片機實驗裝置也是根據現代電腦技術發展需要而產生,它裝置結構配置完善,但其成本是一般市場價格的30%,大大滿足了學生的需求。大家都非常喜歡這樣的單片機實驗裝置。

圖2 USB型單片機控制裝置實物圖

2結論

USB型單片機實驗裝置USB型單片機實驗系統裝置結合經典的單片機電路,把單片機及硬件電路模塊集成在一塊實驗板上,通過合理設計,使模塊各自獨立工作而互不干擾。它通過USB接口與PC機連機,具有實時仿真調試功能。由于采用即插即用的USB接口代替了傳統的RS232串行口,省卻了外接電源,不僅連接非常方便,而且降低了成本。同時根據單片機課程的實驗教學大綱精心設計了基礎型、應用型實驗電路,采用了KEIL仿真調試環境,能對實驗電路、程序進行實時調試。USB型單片機實驗裝置結構配置完善,應用技術寬泛,能夠完全滿足學生的日常需求,再加上它便于攜帶,使用方便,價格低廉。所以它的市場會很廣闊。

參考文獻

[1] 賴麒文.8051單片機語言開發環境實務與設計.科學出版社,2002.

[2] 徐惠民.單片微型計算機原理接口應用. 北京:北京郵電大學出版社,1999.

[3] 尹申燕.1-Wire器件與51系列單片機的軟件接口.電子工程師,2002(9):10-14.

篇9

CCD(Charge Coupled Devices)電荷耦合器件應用系統的關鍵技術在于CCD驅動時序的產生和輸出信號的采集與處理。目前驅動主要有直接數字電路驅動、EPROM驅動、專用IC驅動、復雜的CPLD驅動等常用的驅動方法,但是它們存在著邏輯設計較為復雜、調試困難、柔性較差等缺點。在數據采集和處理方面,大多數都經過差動放大、采樣保持、A/D轉換,再通過總線或采集卡等接口與PC機相連。這種系統結構龐大,而且在信號處理、通信軟件和界面設計等方面要耗費大量的精力。應該說這種應用系統在靜態測量處理方面有其優點,但如果要滿足實時控制系統的連續檢測要求以及系統體積精小而容易裝配等特點,則必須簡化驅動電路、數據采集過程和處理方式。本文正是出于這種考慮,開發出了一種基于單片機的實時性檢測系統:僅用Atmel公司一塊小型的AT89C2051單片機便能產生穩定、精確、高速的驅動脈沖。該電路結構簡單、調試方便、CPU占用率低,將驅動、采集和處理融為一體,而且與上位機的連接僅用兩條導線便可實現檢測信息傳輸。這種方法大大簡化了線陣CCD檢測系統的結構,在機器人視覺、智能小車、軌跡導引等動態檢測方面有獨特的應用優勢。

1 線陣CCD實時檢測系統模型

以機器人路徑識別為例具體說明如何利用線陣CCD開發實時動態環境檢測系統。

假設在一個深色(如黑色、藍、綠等)平面上用寬度為30mm的白線作為機器人將要運動的軌跡導引線,利用線陣CCD開發出檢測白線軌跡的檢測系統。先利用光學系統用攝像頭將路面信息成像到CCD的感光面上;然后讀取白線的位置檢測信息作為機器人的視覺,讓機器人在上位機的控制下沿白線軌跡運動。這是一個典型的CCD實時檢測系統。整體檢測系統如圖1所示。

2 硬件設計

利用CCD的光電特性,設計出的電路應能判別視頻信號上輸出的深色和白色區別,這樣才能識別白線,時刻反應機器人當前所在的物理位置,以便對其運動做相應的調整。 線陣CCD選用NEC公司的μPD3575D型號。芯片為20腳DIP封裝,像敏單元數目為1024,像敏單元大小為14μm×l41μm×l4μm(相鄰像元中心距為14μm),光敏區域采用高靈敏度和低暗電流PN結作為光敏單元,內置采用保持電路、輸出放大電路,外觀尺寸為25.5mm×10mm,易于裝卸。該器件工作在5V驅動(脈沖)、12V電源條件下。

系統簡要電路如圖2所示。驅動用的單片機是AT89C2051。它是Atmel公司生產的自帶2KB可編程Flash存儲器的與MSC-51兼容的高性能處理器。它與常規的51芯片有相同的核心和相近的結構功能如RAM、定時/記數器、中斷結構、串行口、振蕩器和時鐘電路等;有最高達24MHz的振蕩頻率,能高速地驅動CCD;有較少的精簡I/O端口,因此體積很小,非常適用做小型應用系統的處理器。對很多嵌入式控制應用提供了一個高度靈活的有效解決方案。本線陣CCD檢測系統發揮了其小而靈活的特點,既陡系統資源得到了充分的應用又讓系統結陶精簡緊奏,電路中二值化部分的電位器R_T用來調整二值化比較電平的閥值(0~5V),通過它調節整個CCD的灰度分辨率。同時整個系統對外接口十分簡單,只需接上電源和兩條通向上位機的信號線。上位機只需等待同步信號FC和檢測脈沖信號BIN_OUT到來的中斷信號,與AT89C2051相互獨立,彼此之間沒有任何時鐘信號或復用關系。因此實際運用中器件互換性較強。既可選用普通的AT89C51進行一定的端口擴展接收FC和BIN_OUT,也可選用中斷能力較強的SOC芯片C8051FXX系列等。整個檢測系統具有良好的柔性,最終電路體積可控制在手掌心大小之內。

圖2

3 信號時序及軟件設計

由于硬件設計時考慮用軟件產生CCD驅動信號,這樣軟件設計的最大難點為既要滿足CCD芯片的驅動信號要求又要完成檢測信息的完整表述。綜合比較各種方法后得出了整個軟件設計思路如下:

驅動描述:NEC公司的線陣μPD3575D所需驅動信號與TOSHIBA公司傳統的TCD系列略有差異,具體驅動信號為:時鐘φ10、轉移脈沖φTG、復位時鐘φRO和采樣保持時鐘φSHO,時序關系如圖3所示。

μPD3575D為雙溝道線陣CCD,它有兩列525位的CCD移位寄存器,分列在像敏陣列的兩邊,在一個積分的φTG周期中至少有525個φ10脈沖:另外考慮到一些暗信號和空驅動.本系統開發中取φ10脈沖寬度約為10μs、φTG積分時間為12ms。

單片機驅動主要是通過程序編程控制輸出驅動的時序信號,可以通過修改程序方便地修改輸出時序,單片機是靠指令產生I/O口的輸出邏輯,在使用邏輯轉移指令時,必須注意精心配置,避免產生驅動時序相位上的不同步。因為轉移指令要根據某些條件產生程序分支,而分支程序在不同的條件下執行周期通常不同,會造成CCD驅動時序不同步。

    檢測過程描述:參見圖2的系統電路圖,當CCD被驅動后因其光電特性會有視頻模擬信號Vout輸出,信號如圖4所示。可以看出:模擬信號Vout在CCD掃描到深色區和白色區有明顯的幅值大小區別,要提取的信息就是這個變化的電壓信號,但單片機不能直接處理模擬信號Vout,因此必須先將Vout通過二值化處理得到數字信號BIN(見圖2二值化電路部分)。這樣便得到了反映白線左右兩個邊緣的脈沖信號BIN。為了方便上位機的處理,不直接輸出信號BIN,而是將BIN反饋給AT89C2051,讓其通過程序編制來捕捉其上升沿和下降沿的跳變,再從另外的引腳輸出與BIN上升沿和下降沿同步的負脈沖信號BIN_OUT。這樣上位機可方便地通過中斷檢測到白線的左右側。這里AT89C205l還要輸出一個同步信號FC(即驅動轉移脈沖φTG)。因為系統是在連續掃描地面信息,故FC脈沖可標志CCD上一次掃描的結束和新一行掃描的開始。新一行開始掃描時,上位機收到FC負脈沖后可進入中斷對定時器TO、Tl清零并立即開始計數。當收到BIN_OUT的第一個負脈沖后進入中斷并停止,定時器TO;當收到BIN_OUT的第二個負脈沖后進人中斷并停止定時器T1,讀出定時器TO、T1里的數t0、t1。t0、t1便反映了路面白線的坐標位置,很明顯t1與t0之差便是白線寬度。

篇10

【關鍵詞】單片機 DS18B20 RS-485 GSM

隨著科技的發展,自動化技術及其程度越來越高,自動檢測技術和智能控制技術亦廣泛地應用于現實的生活與工業生產中,越來越多的科技作品出現在人們的生活里,它們的創造給人們帶來了許多便利。

在養護的過程,有部分人因工作繁忙無暇照顧,尤其在外出差旅游時,魚有可能因無人照料而發生意外。或許,也有人想養魚,但想到養魚有一系列的工作,最終打退堂鼓。因此這類人們急需一種便捷、合理的工具來解決這類難題。

該設計的智能化養魚養護系統能由使用者根據不同魚類的生活習性設置相應的程序,使魚兒的生活環境最佳化,自動完成養魚的全過程。

1 系統硬件設計

本研究將智能養魚控制系統劃分為多個功能單元,形成相應功能的電子單元模塊。包括從機控制器部分,主要由加氧模塊、溫度采集模塊、飼料投放模塊等幾個部分組成。其次是數據傳輸與存儲部分,包括多功能數據采集存儲以及基于GSM網絡數據傳輸等部分組成;再次是Visual C#養魚監控界面。最后實現系統集成與養魚精細智能管理。

智能養魚控制系統先通過溫度傳感器等得到相關參數和數據,再由數據采集與基于GSM網絡的通訊傳輸技術構成整個系統信息的存儲與傳輸。

1.1 系統信息處理器

主機信息處理器的I/O資源分配如表1所示,主要實現(通過控制MAX323)與電腦串口進行通信及控制無線模塊(nRf2401)的發射或接收這兩個功能。由于這款單片機是基于增強的AVR RISC結構的低功耗8位CMOS微控制器,采用先進的指令集以及單時鐘周期指令執行時間,所以其在運行速度上有強大的優勢,是傳統51內核的12倍速,這樣在很大程度上提高了本系統的工作頻率。主機信息處理器控制原理圖如圖1所示。

從機控制處理器的I/O資源分配如表2所示,主要實現對無線模塊收發、溫度傳感器信號的處理、舵機驅動等的控制。主要應用了ATmega8單片機的PWM、定時器、外部中斷資源、內置看門狗、多種通信等功能。

1.2 溫度測量模塊設計

本模塊采用DS18B20數字溫度傳感器實現,信息經過單線接口送入DS18B20或從DS18B20送出,因此從中央處理器到DS18B20僅需接一條線讀、寫和完成溫度變換所需的電源可以數據線本身提供。DS1820的引腳只有三個VDD,GND,DQ,連接圖如圖2所示。

1.3 RS-485通信網絡模塊的設計

系統采用RS-485通訊方式來實現主機信息處理器與PC機的通訊。RS-485采用平衡式傳送方式,輸入、輸出均為差動方式,這樣在受到干擾時,兩根信號線可能同時產生干擾電平,對差動輸入不起作用,因此RS-485傳輸距離遠。RS-485的接受器的輸入負載小,可允許一個傳送器驅動多個接受器,而且處于禁止狀態的輸出的漏電流較小,可允許多個傳送器的輸出并聯。因此,采用RS-485協議是較為理想的選擇,其電路原理如圖3所示。

1.4 基于GSM網絡的數據無線傳送端

系統中GSM模塊,采用的是西門子公司的TC35I。TC35I 模塊主要由GSM基帶處理器、GSM射頻模塊、供電模塊(ASIC)、閃存、ZIF連接器、天線接口六部分組成。作為TC35i的核心, 基帶處理器主要處理GSM終端內的語音、數據信號, 并涵蓋了蜂窩射頻設備中的所有的模擬和數字功能。在不需要額外硬件電路的前提下, 可支持FR、HR和EFR語音信道編碼。能快速安全可靠地實現數據、語音傳輸, 短消息(Short Message Service)和傳真服務。

2 系統軟件設計

本系統的核心元件是采用Atmega8單片機,在充分考慮單片機的資源和修改程序的方便前提下采用了C語言進行程序的編寫。

2.1 數據串口通信數據格式設計

在ATmega系列單片機中,都具有一個能用同步和異步串行接收器和轉發器(USART),它是一個高度靈活的串行通訊設備,可以全雙工操作,異步或同步傳輸及靈活的幀格式。在本設計中,設置串口傳輸波特率為9600bps。串行數據幀通常由數據字加上同步位(開始位與停止位)以及用于糾錯的奇偶校驗位構成而USART接收多達30種組合的數據幀格式,本系統采用的數據幀格式為八個數據位加上一個開始位一個停止位,如圖4所示。

八位數據位中又細分為:起始數據位兩個55 AA(由于這兩個數據的十六進制數據為01010101 10101010,在傳輸過程中不容易因干擾而出錯。);08 04這兩個作為IP地址;XX是一個命令字,如控制加熱模塊是否啟動;00 00 00 00這四個作為數據位,用于表示溫度等數據;停止位為0F。

2.2 CRC校驗設計

PC機和主機信息處理器的數據采集是采用CRC冗余校驗。CRC冗余檢驗的基本思想是利用線性編碼理論,在發送端根據要傳送的k位二進制碼序列,以一定的規則產生一個檢驗碼r位(就是CRC碼),附在信息后面,構成一個新的二進制碼序列數共(k+r)位,最后發送出去。接收端根據同樣的規則校驗,以確定傳送中是否出錯。

2.3 從機軟件設計

PC機接收來自從機所采集到的數字量,由溫度傳感器DS18B20檢測到的數據,經過模數轉換后其溫度與數據的對應關系為16位的數字量,所以在傳輸過程中,將數據保存在4個包含4位大小空間的字符型數組中,并將每個數組由nRF2401向監測終端的串口發送數據。

3 結束語

智能養魚控制系統的軟件功能齊全且模塊化設計,隨著養魚系統的發展和控制環節的增多,該系統在結構和功能等方面可以方便地進行擴展。本系統可廣泛用于家庭、大型場所觀賞魚和河塘養魚等,為飼養者提供高效、便捷的服務,是飼養者的好幫手。同時,本系統功能完善且模塊化設計,可根據具體應用進行裁剪,具有很高的推廣價值。

參考文獻

[1]于永學,葛建.1一Wire總線數數字溫度傳感器DSl8820及應用[J].電子產品世界,2003.

[2]郝麗英.大規模多點溫度巡檢系統設計與應用[J].交通科技與經濟,2002.

[3]李長林等編著.AVR單片機應用設計[M].北京:電子工業出版社,2005.9

[4]沈文、Eagle lee 詹衛前編著.AVR單片機C語言開發入門指導[M].北京:清華大學出版社,2003.5

[5]張克彥編著.AVR單片機實用程序設計[M].北京:北京航空航天大學出版社,2004.2