單片機(jī)開發(fā)范文

時(shí)間:2023-04-08 23:21:53

導(dǎo)語:如何才能寫好一篇單片機(jī)開發(fā),這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

篇1

關(guān)鍵詞:單片機(jī);開發(fā)板;ISP

中圖分類號:TP368.1 文獻(xiàn)標(biāo)識(shí)碼: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系列單片機(jī)是目前主流的8位單片機(jī)之一[1],但由于它的硬件能力有限,本文設(shè)計(jì)了一種單片機(jī)開發(fā)板,綜合了當(dāng)下流行的單片機(jī)接口電路,很好地?cái)U(kuò)充了MCS-51單片機(jī)的功能。

二、系統(tǒng)主要組成及開發(fā)平臺(tái)

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

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

三、系統(tǒng)主要硬件設(shè)計(jì)

(一)單片機(jī)部分

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

圖1.單片機(jī)部分電路設(shè)計(jì)

(二)8155部分

在本系統(tǒng)中采用8155實(shí)現(xiàn)I/O擴(kuò)展。8155不僅具有兩個(gè)8位的I/O端口A、B口和一個(gè)6位的I/O端口C口,而且還可以提供256個(gè)字節(jié)的靜態(tài)RAM存儲(chǔ)器和一個(gè)14位的定時(shí)/計(jì)數(shù)器。8155和單片機(jī)的接口非常簡單,目前被廣泛應(yīng)用。系統(tǒng)用一片73LS138實(shí)現(xiàn)8155、6264等芯片的片選。

圖2.8155接口電路設(shè)計(jì)

(三)DAC0832部分

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

圖3.DAC0832接口電路

(四)TLC0832

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

圖4.TLC0832接口電路

(五)X5045接口電路

復(fù)位電路采用了帶I2C的監(jiān)控芯片X5045,上電即可復(fù)位[5],電路如圖5所示。另外8155設(shè)置了獨(dú)立的復(fù)位方式以彌補(bǔ)和51單片機(jī)的復(fù)位不同步缺點(diǎn)。

圖5.看門狗接口電路

(六)鍵盤接口電路

在單片機(jī)應(yīng)用系統(tǒng)中通常應(yīng)具有人機(jī)對話功能能隨時(shí)發(fā)出各種控制指令和數(shù)據(jù)輸入以及報(bào)告應(yīng)用系統(tǒng)的運(yùn)行狀態(tài)與運(yùn)行結(jié)果。本文所采用的是獨(dú)立式鍵盤,其中key代表阻值為1kΩ的排阻。

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

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

四、結(jié)束語

限于篇幅,本文關(guān)于DS1302、LCD顯示接口以及系統(tǒng)軟件設(shè)計(jì)等方面未能介紹。本文設(shè)計(jì)的單片機(jī)開發(fā)板在實(shí)際中發(fā)揮了重要作用,適合于單片機(jī)學(xué)習(xí)者及簡單的工程應(yīng)用。

參考文獻(xiàn):

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

[2]AT89S51 Datasheet.Atmel Inc.2006

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

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

[5]X5045 Datasheet.Intersil inc.2006

篇2

關(guān)鍵詞 Microchip 單片機(jī) 功耗 編程

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

1 怎樣進(jìn)一步降低功耗

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

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

圖1 提高工作頻率的方法

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

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

3 用Mplab-C高級語言寫PIC單片機(jī)程序時(shí)要注意的問題

3.1 程序中嵌入?yún)R編指令時(shí)注意書寫格式 見例3。

例3

…… …… while(1) {#asm while(1) { …… #asm /*應(yīng)另起一行*/ #endasm …… }/*不能正確編譯*/ #endasm …… }/*編譯通過*/ …… 當(dāng)內(nèi)嵌匯編指令時(shí),從“#asm”到“endasm”每條指令都必須各占一行,否則編譯時(shí)會(huì)出錯(cuò)。

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

例4

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

3.3 了解乘除法函數(shù)對寄存器的占用

由于PIC片內(nèi)RAM僅幾十個(gè)字節(jié),空間特別寶貴,而Mplab-C編譯器對RAM地址具有不釋放性,即一個(gè)變量使用的地址不能再分配給其它變量。如RAM空間不能滿足太多變量的要求,一些變量只能由用戶強(qiáng)制分配相同的RAM空間交替使用。而Mplab-C中的乘除法函數(shù)需借用RAM空間來存放中間結(jié)果,所以如果乘除法函數(shù)占用的RAM與用戶變量的地址重疊時(shí),就會(huì)導(dǎo)致出現(xiàn)不可預(yù)測的結(jié)果。如果C程序中用到乘除法運(yùn)算,最好先通過程序機(jī)器碼的反匯編代碼(包含在生成的LST文件中)查看乘除法占用地址是否與其它變量地址有沖突,以免程序跑飛。Mplab-C手冊并沒有給出其乘除法函數(shù)對具體RAM地址的占用情況。例5是乘法函數(shù)對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 ;調(diào)用乘法函數(shù) …… 01AF 1283 BCF 03,5 } 01B0 009F MOVWF 1F ;返回結(jié)果低字節(jié) 01B1 0804 MOVF 04,W 01B2 00A0 MOVWF 20 ;返回結(jié)果高字節(jié) 4 對芯片重復(fù)編程

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

在程序的調(diào)試過程中,經(jīng)常遇到常數(shù)的調(diào)整,如常數(shù)的改變能保證對應(yīng)位由“1”變“0”,都可在原片內(nèi)容的基礎(chǔ)繼續(xù)編程。另外,由于指令“NOP”對應(yīng)的機(jī)器碼為“00”,調(diào)試過程中指令的刪除,先用“NOP”指令替代,編譯后也可在原片內(nèi)容上繼續(xù)編程。

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

參考文獻(xiàn)

篇3

關(guān)鍵詞:單片機(jī);排隊(duì)叫號;系統(tǒng)開發(fā)

中圖分類號:TP311.52文獻(xiàn)標(biāo)識(shí)碼: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

一、系統(tǒng)開發(fā)背景

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

二、系統(tǒng)應(yīng)用前景

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

三、可行性分析

(一)技術(shù)可行性

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

(二)操作可行性

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

1.系統(tǒng)流程。該排隊(duì)抽號系統(tǒng)主要對顧客排隊(duì)、等候進(jìn)行數(shù)字化的管理。其管理的核心是排隊(duì)順序,它是排隊(duì)抽號系統(tǒng)解決的基本任務(wù)。

2.顧客進(jìn)入大廳排隊(duì)。顧客按下抽號模塊上的抽號按鍵后。系統(tǒng)根據(jù)排隊(duì)人數(shù)自動(dòng)為顧客排號,并顯示在LCD上,顧客記住自己抽到的號數(shù),便可在坐在一旁等候。

3.排隊(duì)人數(shù)。當(dāng)抽號模塊上沒有按鍵按下時(shí),LCD顯示器上顯示當(dāng)前等待人數(shù),它會(huì)根據(jù)抽號人數(shù)和叫號人數(shù)自動(dòng)改變。

4.客服進(jìn)行叫號。當(dāng)客戶服務(wù)人員按下叫號模塊上的叫號鍵時(shí),叫號模塊根據(jù)排隊(duì)情況自動(dòng)在數(shù)碼管上顯示當(dāng)前所叫號數(shù)。

(三)需求規(guī)范

1.產(chǎn)品背景:排隊(duì)抽號系統(tǒng)是為銀行、醫(yī)院、電信、稅務(wù)、工商等營業(yè)大廳而設(shè)計(jì)的排隊(duì)軟件,本系統(tǒng)開發(fā)時(shí)參考了51單片機(jī)和排隊(duì)論等一系列書籍,結(jié)合現(xiàn)代排隊(duì)管理體制,最終開發(fā)而成。

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

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

(四)系統(tǒng)結(jié)構(gòu)圖

圖一:系統(tǒng)框圖

圖二:硬件連接總圖

四、調(diào)試結(jié)果

(一)電源部分的調(diào)試

初期,由于前端濾波電容未加,導(dǎo)致輸出紋波過大,補(bǔ)上100微法,50V的濾波電容,紋波在允許范圍內(nèi)。

總結(jié):試驗(yàn)過程中一定得認(rèn)真仔細(xì)。電路圖連接完后,需要檢查再通電調(diào)試。

(二)顯示部分的調(diào)試

問題:數(shù)碼管的顯示不穩(wěn)定,不停的閃爍。

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

(三)單片機(jī)控制部分的調(diào)試

單片機(jī)在整個(gè)系統(tǒng)中負(fù)責(zé)響應(yīng)外部輸入和實(shí)現(xiàn)反饋?zhàn)晕铱刂?。由于存在兩路輸出和四路反?在時(shí)序上就比較復(fù)雜,調(diào)試起來也是很復(fù)雜的。

程序的編寫修改完成后,用仿真器仿真時(shí),幾個(gè)控制按鈕不好使,經(jīng)檢驗(yàn),是軟件中等待時(shí)間太短,由于按鍵抖動(dòng),響應(yīng)中斷次數(shù)過多造成控制不穩(wěn)定。增加等待時(shí)間消除抖動(dòng)后,控制部分達(dá)到理想效果。

篇4

關(guān)鍵詞:單片機(jī) 自動(dòng)控制系統(tǒng) 設(shè)計(jì)開發(fā) 要點(diǎn)分析

中圖分類號:TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1674-098X(2014)10(a)-0061-01

單片機(jī)作為一種重要的控制元件,在自動(dòng)控制系統(tǒng)的構(gòu)建中發(fā)揮了重要作用。從當(dāng)前自動(dòng)控制系統(tǒng)的設(shè)計(jì)來看,單片機(jī)的設(shè)計(jì)開發(fā)成為了自動(dòng)控制系統(tǒng)開發(fā)的重要組成部分。結(jié)合當(dāng)前單片機(jī)的設(shè)計(jì)與開發(fā),要想做好單片機(jī)的設(shè)計(jì)與開發(fā)工作,就要對單片機(jī)的設(shè)計(jì)開發(fā)要點(diǎn)有足夠的重視,并從單片機(jī)的設(shè)計(jì)開發(fā)實(shí)際出發(fā),認(rèn)真做好單片機(jī)的設(shè)計(jì)和開發(fā)工作,滿足單片機(jī)設(shè)計(jì)開發(fā)需要,保證單片機(jī)的設(shè)計(jì)開發(fā)效果。由此可見,單片機(jī)的設(shè)計(jì)與開發(fā)需要掌握其要點(diǎn)。

1 單片機(jī)設(shè)計(jì)開發(fā)應(yīng)制定明確的要求

在單片機(jī)設(shè)計(jì)開發(fā)中,要想保證單片機(jī)的設(shè)計(jì)開發(fā)取得積極效果,就要明確設(shè)計(jì)要求,其中指定明確的設(shè)計(jì)要求是十分必要的。從當(dāng)前單片機(jī)設(shè)計(jì)開發(fā)實(shí)際來看,其要求應(yīng)包括以下幾個(gè)方面內(nèi)容。

1.1 單片機(jī)設(shè)計(jì)開發(fā)要求應(yīng)包括明確的任務(wù)

在單片機(jī)設(shè)計(jì)開發(fā)中,需要明確單片機(jī)設(shè)計(jì)開發(fā)的任務(wù)。這一任務(wù)應(yīng)與單片機(jī)設(shè)計(jì)開發(fā)方案結(jié)合在一起,使單片機(jī)設(shè)計(jì)開發(fā)具有明確目的性,保證單片機(jī)設(shè)計(jì)開發(fā)的整體效果。

1.2 單片機(jī)設(shè)計(jì)開發(fā)要求應(yīng)分為基本要求部分和功能發(fā)揮部分

為了保證單片機(jī)設(shè)計(jì)開發(fā)效果,應(yīng)在基本要求部分明確單片機(jī)設(shè)計(jì)的基本功能,保證單片機(jī)設(shè)計(jì)開發(fā)達(dá)到預(yù)期目的。除此之外,還要合理設(shè)定單片機(jī)系統(tǒng)的其他功能。

1.3 單片機(jī)設(shè)計(jì)開發(fā)要求應(yīng)提高針對性

基于單片機(jī)的特點(diǎn),每一個(gè)以單片機(jī)為主的自動(dòng)控制系統(tǒng)都有特定的服務(wù)對象。為了保證單片機(jī)的設(shè)計(jì)開發(fā)效果,在單片機(jī)的設(shè)計(jì)開發(fā)中應(yīng)提高針對性,滿足系統(tǒng)開發(fā)需求。

2 單片機(jī)設(shè)計(jì)開發(fā)應(yīng)制定完善的系統(tǒng)方案

基于單片機(jī)設(shè)計(jì)開發(fā)的自動(dòng)控制系統(tǒng),其系統(tǒng)方案的設(shè)計(jì)是整個(gè)單片機(jī)設(shè)計(jì)開發(fā)的關(guān)鍵。為了保證單片機(jī)設(shè)計(jì)開發(fā)系統(tǒng)方案的合理性,結(jié)合小車控制系統(tǒng),我們應(yīng)從以下幾個(gè)方面入手。

2.1 對系統(tǒng)的功能模塊及硬件設(shè)備進(jìn)行規(guī)定

(1)MCU:采用STC89C52單片機(jī)。

(2)電機(jī):采用直流減速電機(jī)。

(3)環(huán)境檢測:采用光敏電阻利用ADC 0832進(jìn)行采集。

(4)避障方案:紅外檢測法。

(5)尋跡傳感器:RPR220型光電對管。

2.2 對系統(tǒng)的運(yùn)行流程進(jìn)行規(guī)定

單片機(jī)在設(shè)計(jì)開發(fā)過程中,其整體系統(tǒng)的運(yùn)行流程是關(guān)系到自動(dòng)控制系統(tǒng)整體運(yùn)行效果的關(guān)鍵。為此,對系統(tǒng)的流程進(jìn)行規(guī)定是保證單片機(jī)設(shè)計(jì)開發(fā)效果的關(guān)鍵。

2.3 對系統(tǒng)的實(shí)現(xiàn)方案進(jìn)行規(guī)定

單片機(jī)在具體的實(shí)現(xiàn)過程中,其實(shí)現(xiàn)方案關(guān)系到自動(dòng)控制系統(tǒng)的構(gòu)建效果?;谶@一認(rèn)識(shí),我們應(yīng)對系統(tǒng)的實(shí)現(xiàn)方案進(jìn)行準(zhǔn)確規(guī)定,保證系統(tǒng)的整體構(gòu)建效果。

3 單片機(jī)設(shè)計(jì)開發(fā)應(yīng)做好硬件和軟件的設(shè)計(jì)

從本文的例子來看,在小車控制系統(tǒng)中,單片機(jī)的設(shè)計(jì)開發(fā)需要注重硬件和軟件的設(shè)計(jì)與配合,應(yīng)確保硬件和軟件能夠最大程度的滿足實(shí)際需要,達(dá)到提高自動(dòng)控制系統(tǒng)性能的目的。結(jié)合小車控制系統(tǒng),其硬件系統(tǒng)主要包括單片機(jī)芯片、單片機(jī)開發(fā)板、小車、電機(jī)、DS1302時(shí)鐘電路、光敏電RPR220型光電對管阻、等元件。在這些硬件的統(tǒng)一配置下實(shí)現(xiàn)小車的操作。

其軟件系統(tǒng)主要包括對程序存儲(chǔ)區(qū)、數(shù)據(jù)存儲(chǔ)區(qū)的分配,盡可能做到了既節(jié)省內(nèi)存空間,又使操作方便。同時(shí),在程序設(shè)計(jì)過程中實(shí)現(xiàn)了運(yùn)行狀態(tài)的標(biāo)志化管理,即對各功能程序的運(yùn)行條件、運(yùn)行狀態(tài)、運(yùn)行結(jié)果都設(shè)置了狀態(tài)標(biāo)志以便查尋,程序的轉(zhuǎn)移、運(yùn)動(dòng)都可通過狀態(tài)標(biāo)志條件來控制。此外,為提高程序運(yùn)行的可靠性,監(jiān)控軟件中設(shè)置了自檢程序,在系統(tǒng)啟動(dòng)時(shí)先運(yùn)行自檢程序,用以檢查系統(tǒng)各部件工作是否正常。若正常,用戶便可在監(jiān)控軟件的管理之下,通過鍵盤輸入機(jī)器語言級的程序和數(shù)據(jù)。

監(jiān)控程序主要由初始化引導(dǎo)程序、顯示程序、鍵盤分析程序、命令處理程序和一些常用的子程序組成,整個(gè)監(jiān)控程序占2K字節(jié)。

4 單片機(jī)設(shè)計(jì)開發(fā)應(yīng)做好程序編制

單片機(jī)系統(tǒng)共有12個(gè)控制命令,命令處理程序完成這12個(gè)命令的處理。它們分別是:D命令:顯示存儲(chǔ)器內(nèi)容。E命令:檢查I O接口中輸入口的內(nèi)容。F命令:填充存儲(chǔ)器內(nèi)容。G命令:轉(zhuǎn)向某一指定地址開始執(zhí)行程序。I命令:將外設(shè)的信息轉(zhuǎn)儲(chǔ)到存儲(chǔ)器中。O命令:將存儲(chǔ)器中的信息轉(zhuǎn)送到外設(shè)上。M命令:轉(zhuǎn)移數(shù)據(jù)塊。P命令:連接打印機(jī)及打印存儲(chǔ)器內(nèi)容。S命令:檢查和修改存儲(chǔ)器的內(nèi)容。T命令:執(zhí)行程序中的一條指令。V命令:校驗(yàn)兩存儲(chǔ)區(qū)的內(nèi)容。X命令:檢查和修改CPU寄存器的內(nèi)容。初始化引導(dǎo)程序完成對機(jī)器的初始狀態(tài)進(jìn)行設(shè)置以及斷點(diǎn)處理。顯示程序?qū)⒁@示的內(nèi)容對照顯示碼表在液晶顯示器上顯示出來。

5 結(jié)語

通過該文的分析可知,在單片機(jī)設(shè)計(jì)開發(fā)過程中,要想保證單片機(jī)的設(shè)計(jì)開發(fā)質(zhì)量,就要對單片機(jī)的設(shè)計(jì)開發(fā)要點(diǎn)有全面準(zhǔn)確的把握。結(jié)合單片機(jī)設(shè)計(jì)開發(fā)實(shí)際,單片機(jī)的設(shè)計(jì)開發(fā)應(yīng)從制定明確的要求、制定完善的系統(tǒng)方案、硬件和軟件的設(shè)計(jì)及做好程序編制等方面入手,切實(shí)提高單片機(jī)設(shè)計(jì)與開發(fā)質(zhì)量,滿足單片機(jī)設(shè)計(jì)開發(fā)需要。

參考文獻(xiàn)

[1] 趙海蘭.基于單片機(jī)的紅外遙控智能小車的設(shè)計(jì)[J].無線互聯(lián)科技,2011(3).

[2] 何立民.單片機(jī)技術(shù)的現(xiàn)狀與未來[J].中國計(jì)算機(jī)報(bào),2012.

[3] 姚培.基于單片機(jī)控制的智能循跡避障小車[J].機(jī)電信息,2010(12).

[4] 趙振德.多功能遙控智能小車的制作[J].電子制作,2011(4).

篇5

(浙江警官職業(yè)學(xué)院 浙江 杭州 310018)

摘要:“單片機(jī)應(yīng)用技術(shù)”是安全防范技術(shù)專業(yè)的一門主干課程,面向安防產(chǎn)品開發(fā)、生產(chǎn)、測試一線工作崗位,直接培養(yǎng)學(xué)生“安防單片機(jī)產(chǎn)品調(diào)試”的核心職業(yè)能力。針對課程的特點(diǎn),應(yīng)從安防行業(yè)實(shí)際出發(fā),引入“任務(wù)驅(qū)動(dòng)”理念,為培養(yǎng)學(xué)生工程實(shí)踐能力和創(chuàng)新能力,在課程設(shè)計(jì)理念、教學(xué)內(nèi)容選取與組織、教學(xué)方法手段、考核等方面進(jìn)行教學(xué)改革。

關(guān)鍵詞 :單片機(jī)應(yīng)用技術(shù);安防;教學(xué)改革;任務(wù)驅(qū)動(dòng)

中圖分類號:G712 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1672-5727(2014)08-0094-03

現(xiàn)狀分析

安全防范技術(shù)專業(yè)是為順應(yīng)安防產(chǎn)業(yè)發(fā)展而建立的專業(yè)。作為一個(gè)公共安全與技術(shù)防范緊密結(jié)合的新興產(chǎn)業(yè),迫切需要安防產(chǎn)品開發(fā)、生產(chǎn)、測試一線崗位的高素質(zhì)技能型安防專業(yè)人才?!皢纹瑱C(jī)應(yīng)用技術(shù)”是安全防范技術(shù)專業(yè)的專業(yè)基礎(chǔ)課,面向安防產(chǎn)品開發(fā)、生產(chǎn)、測試一線工作崗位,直接培養(yǎng)學(xué)生“安防單片機(jī)產(chǎn)品調(diào)試”的核心職業(yè)能力,是一門面向應(yīng)用的、具有很強(qiáng)的實(shí)踐性與綜合性的課程,具有承前啟后的重要地位。學(xué)好單片機(jī)課程,可為學(xué)生在以后學(xué)習(xí)監(jiān)控技術(shù)和消防等課程打下堅(jiān)實(shí)的基礎(chǔ)。同時(shí),單片機(jī)技術(shù)是開發(fā)安防智能儀器儀表的關(guān)鍵技術(shù),具有中央控制器的作用,安防產(chǎn)品幾乎離不開單片機(jī),學(xué)好單片機(jī)課程,有利于學(xué)生在以后工作中的可持續(xù)發(fā)展。

單片機(jī)的傳統(tǒng)教學(xué)采用的是先基礎(chǔ)、后應(yīng)用的模式,重理論教學(xué),借大量的原理引導(dǎo)學(xué)生入門,應(yīng)用技術(shù)只是點(diǎn)綴,各個(gè)知識(shí)點(diǎn)不能緊密結(jié)合,并且實(shí)踐操作存在一定的時(shí)間滯后性,使學(xué)生對單片機(jī)的學(xué)習(xí)一直局限于抽象的理論學(xué)習(xí)中,理解起來困難,而且感覺枯燥乏味,學(xué)習(xí)興趣不濃厚。

基于目前的現(xiàn)狀,應(yīng)根據(jù)項(xiàng)目導(dǎo)向、任務(wù)驅(qū)動(dòng)教學(xué)的需要開發(fā)建設(shè)“單片機(jī)應(yīng)用技術(shù)”課程,以提高學(xué)生的學(xué)習(xí)興趣,增強(qiáng)學(xué)生的操作技能和實(shí)踐能力。

課程設(shè)計(jì)理念

為使高職學(xué)生具備一定的安防單片機(jī)產(chǎn)品組裝與調(diào)試、維護(hù)維修、產(chǎn)品設(shè)計(jì)的輔助能力,“單片機(jī)應(yīng)用技術(shù)”課程打破了傳統(tǒng)的學(xué)科教學(xué)模式,以職業(yè)崗位要求為前提,以職業(yè)能力的培養(yǎng)為重點(diǎn),從以下幾個(gè)方面進(jìn)行了課程設(shè)計(jì)。

首先,企業(yè)全程參與課程設(shè)計(jì)。通過與省內(nèi)安防企業(yè)的合作,向安防產(chǎn)品研發(fā)生產(chǎn)企業(yè)設(shè)計(jì)、測試等一線人員以及在安防行業(yè)從事產(chǎn)品測試、維管的往屆畢業(yè)生征求關(guān)于課程建設(shè)的建議。

其次,以工作任務(wù)為載體,引入“任務(wù)驅(qū)動(dòng)”思想,構(gòu)建課程內(nèi)容。通過單片機(jī)在安防產(chǎn)品中應(yīng)用情況的調(diào)研和分析,緊扣單片機(jī)的開發(fā)流程,篩選得出了安防產(chǎn)品維護(hù)員、安防設(shè)備維修員、安防產(chǎn)品調(diào)試員、安防產(chǎn)品設(shè)計(jì)助理等崗位的典型工作任務(wù)。每個(gè)工作任務(wù)的教學(xué)內(nèi)容和過程都按照完整的開發(fā)流程展開,根據(jù)不同的對象和系統(tǒng),各環(huán)節(jié)的教學(xué)要求有所側(cè)重,著重培養(yǎng)學(xué)生安防產(chǎn)品的軟件調(diào)試與軟硬件聯(lián)調(diào)能力。

再次,以激發(fā)學(xué)生學(xué)習(xí)興趣為目的選擇設(shè)計(jì)對象,盡量貼近學(xué)生的活動(dòng)領(lǐng)域和生活經(jīng)驗(yàn),采取簡單易懂的實(shí)例,從而增強(qiáng)學(xué)生的自信心,提高學(xué)習(xí)興趣。

教學(xué)內(nèi)容選取

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

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

教學(xué)內(nèi)容組織與安排

基于真實(shí)任務(wù),遵循學(xué)習(xí)規(guī)律,按照單片機(jī)開發(fā)工作過程組織安排教學(xué)內(nèi)容。

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

每一個(gè)工作任務(wù)的實(shí)施,都按照單片機(jī)的實(shí)際開發(fā)工作過程組織安排教學(xué)內(nèi)容,注重學(xué)生軟硬件調(diào)試能力的培養(yǎng),體現(xiàn)職業(yè)性與實(shí)踐性。在每個(gè)任務(wù)最后還安排一個(gè)產(chǎn)品調(diào)試維修分析環(huán)節(jié),使學(xué)生在具備一定的軟硬件調(diào)試、維護(hù)維修能力的基礎(chǔ)上,進(jìn)一步開闊其視野,提升其能力。每個(gè)工作過程的實(shí)施過程如圖2所示。課程內(nèi)容的組織與安排如圖3所示。

教學(xué)方法與手段改革

以學(xué)生為主體,穿插應(yīng)用分組討論、自學(xué)答疑、課堂提問、啟發(fā)教學(xué)等教學(xué)方法引導(dǎo)學(xué)生積極思考、主動(dòng)學(xué)習(xí)、靈活運(yùn)用。同時(shí),根據(jù)不同的學(xué)習(xí)內(nèi)容、不同的工作任務(wù),采用不同的教學(xué)方法。下面介紹幾種常用教學(xué)方法的具體運(yùn)用。

任務(wù)驅(qū)動(dòng)法 在課程的每個(gè)階段,定出具體任務(wù)。例如,學(xué)習(xí)單片機(jī)的指令系統(tǒng)知識(shí)之前,先下達(dá)“使用信號燈模擬報(bào)警主機(jī)防區(qū)指示燈”的工作任務(wù),然后分析工作流程,最后得出要完成這個(gè)工作任務(wù)需要哪些知識(shí),進(jìn)而進(jìn)入知識(shí)點(diǎn)的學(xué)習(xí),學(xué)好后再來解決這個(gè)工作任務(wù)。做到邊做邊學(xué),學(xué)中做,做中學(xué)。

引導(dǎo)文法 在課程中以引導(dǎo)文法展開教學(xué),包括:(1)給出一個(gè)任務(wù)以及功能要求的文字引導(dǎo)文件;(2)確定初步設(shè)計(jì)方案;(3)分析系統(tǒng)硬件構(gòu)成圖;(4)設(shè)計(jì)流程圖;(5)編程并調(diào)試,使學(xué)生在實(shí)訓(xùn)中熟悉單片機(jī)軟硬件設(shè)計(jì)的方法和技巧。

示例教學(xué)法 邊操作示范,邊講解相應(yīng)的理論知識(shí),使學(xué)生熟悉項(xiàng)目的完成過程。比如教師在介紹單片機(jī)系統(tǒng)的調(diào)試要領(lǐng)時(shí),將現(xiàn)成的試驗(yàn)箱與計(jì)算機(jī)系統(tǒng)連接,通過單步、斷點(diǎn)調(diào)試程序,實(shí)時(shí)觀察實(shí)驗(yàn)效果,使學(xué)生真實(shí)領(lǐng)會(huì)調(diào)試過程的要領(lǐng)。

理論講解教學(xué)法 課程內(nèi)容部分采用教師理論講解教學(xué)法,使學(xué)生直接了解和掌握相關(guān)知識(shí)點(diǎn)。比如,在介紹單片機(jī)存儲(chǔ)器的結(jié)構(gòu)時(shí),通過動(dòng)畫板書形象展示存儲(chǔ)器的構(gòu)成。

實(shí)例教學(xué)法 在教學(xué)過程中使用大量的實(shí)例進(jìn)行教學(xué)。比如,在介紹單片機(jī)的基礎(chǔ)知識(shí)時(shí),列舉大量單片機(jī)在安防設(shè)備、工業(yè)控制設(shè)備、醫(yī)療儀器中的應(yīng)用實(shí)例,使學(xué)生比較全面地了解單片機(jī)的作用。

考核方法改革

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

該課程是司法部精品課程。通過課程改革,使學(xué)生在各個(gè)工作任務(wù)的實(shí)現(xiàn)過程中,建立單片機(jī)系統(tǒng)的整體概念,使學(xué)生具有應(yīng)用單片機(jī)系統(tǒng)進(jìn)行軟硬件開發(fā)的初步能力,能將理論基礎(chǔ)知識(shí)與安防工程應(yīng)用相結(jié)合,培養(yǎng)學(xué)生的工程實(shí)踐能力和創(chuàng)新能力、理論聯(lián)系實(shí)際能力及解決實(shí)際問題的能力。

參考文獻(xiàn):

[1]于復(fù)生,范文利.任務(wù)驅(qū)動(dòng)教學(xué)法在機(jī)電一體化系統(tǒng)設(shè)計(jì)教學(xué)中的實(shí)踐與探索[J].電氣電子教學(xué)學(xué)報(bào),2004(1).

[2]徐國慶.職業(yè)教育項(xiàng)目課程的幾個(gè)關(guān)鍵問題[J].中國職業(yè)技術(shù)教育,2007(4).

[3]劉艷.案例教學(xué)法在單片機(jī)教學(xué)中的應(yīng)用[J].電腦知識(shí)與技術(shù),2008(5).

[4]李全利.單片機(jī)原理及應(yīng)用技術(shù)[M].北京:高等教育出版社,2001.

篇6

關(guān)鍵詞:單片機(jī);信號發(fā)生;硬件電路

MCS-51單片機(jī)是在一塊芯片中集成了CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器和多種功能的I/O口等一臺(tái)計(jì)算機(jī)所需的基本功能部件。MAX038是MAXIM公司生產(chǎn)的一通用波形發(fā)生芯片。采用8051控制MAX038芯片,使該函數(shù)發(fā)生器的三種波形共用一個(gè)引腳輸出,具有輸出頻率范圍寬、波形穩(wěn)定,失真小的特點(diǎn)。

1 芯片功能分析

1.1 51單片機(jī)

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

1.2 MAX038

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

2 系統(tǒng)構(gòu)成

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

3 單片機(jī)處理程序

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

4 波形生成設(shè)計(jì)

4.1 方波輸出

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

4.2 正弦波輸出

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

[參考文獻(xiàn)]

篇7

關(guān)鍵詞:單片機(jī) 閘閥門 檢測方法

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

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

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

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

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

(1)分辨率高,最高可達(dá)8192線/轉(zhuǎn)(13位);

(2)量程大,最高可達(dá)4096轉(zhuǎn)(12位);

(3)掉電位置保護(hù),無論開度儀掉電多少時(shí)間,系統(tǒng)上電后,ROQ425總能準(zhǔn)確地測量出閘門當(dāng)前的開度。

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

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

1. 硬件設(shè)計(jì) 硬件設(shè)計(jì)方案主要實(shí)現(xiàn)

(1)與ROQ425的SSI連接;

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

(3)完成輸入串行數(shù)據(jù)(ROQ425 SSI)到輸出4-20mA的轉(zhuǎn)換。

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

1.1 ROQ425 SSI接口介紹

ROQ425 SSI接口電壓為5V±5%,空載時(shí)最大電流功耗為250mA。采用差分SN65LBC176線接收/驅(qū)動(dòng)器進(jìn)行數(shù)據(jù)傳輸,最遠(yuǎn)傳輸距離可達(dá)100m。ROQ425內(nèi)部接口見圖1。

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

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

硬件設(shè)計(jì)由SSI接口、I/O接口、單片機(jī)和電源四部分組成。

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

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

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

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

原理圖如下

轉(zhuǎn)貼于 2.軟件設(shè)計(jì) 通過對AT89C51進(jìn)行編程,達(dá)到實(shí)時(shí)將SSI接口數(shù)據(jù)轉(zhuǎn)換成4-20輸出或通過MODBUS口傳送至PLC系統(tǒng)的目的。主要流程如下:

第一步 :初始化設(shè)置。包括串口設(shè)置,中斷設(shè)置,PLC地址的設(shè)置,零點(diǎn)設(shè)置等 第二步:讀取ROQ425數(shù)據(jù)并轉(zhuǎn)換成十進(jìn)制 第三步:將轉(zhuǎn)換過的數(shù)據(jù)通過并口和串口輸出 第四步:重復(fù)第二步 下面是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數(shù)據(jù)*/

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

關(guān)鍵詞: USB單片機(jī) 實(shí)驗(yàn)裝置

【中圖分類號】TE319

0引言

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

1 USB單片機(jī)實(shí)驗(yàn)裝置的總體設(shè)計(jì)

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

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

(1)單步執(zhí)行STEP 、STEP OVER、10個(gè)斷點(diǎn)、運(yùn)行到光標(biāo)、全速運(yùn)行;

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

(3)支持?jǐn)?shù)據(jù)存儲(chǔ)器、代碼存儲(chǔ)器、SFR特殊功能寄存器及P0-P3 端口的讀寫;

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

USB型單片機(jī)控制裝置是以AT89S52單片機(jī)為核心的單片機(jī)嵌入式系統(tǒng),與PC機(jī)的連接方式如圖1所示,實(shí)驗(yàn)儀從USB總線上獲取5V電源,通過CH341控制芯片將USB總線轉(zhuǎn)換為串行口與單片機(jī)相連,實(shí)驗(yàn)電路包括基本的數(shù)碼管、單脈沖、獨(dú)立式鍵盤、行列式鍵盤、蜂鳴器電路以及I2C總線器件、單總線器件、串行A/D轉(zhuǎn)換、紅外線收發(fā)、LCD顯示電路等,可完成各類基礎(chǔ)型、應(yīng)用型實(shí)驗(yàn),采用的 AT89S52單片機(jī)內(nèi)嵌在線軟件仿真器,并具有在系統(tǒng)中編程的功能,這樣可以在PC上使用KEIL軟件對實(shí)驗(yàn)電路進(jìn)行實(shí)時(shí)仿真調(diào)試,最終將程序?qū)懭胄酒\(yùn)行,無需專用的仿真器及編程器。

圖1 USB型單片機(jī)控制裝置示意圖

由此可見,USB單片機(jī)實(shí)驗(yàn)裝置可謂麻雀雖小,五臟俱全,通過上述的功能我們能夠完成二十多個(gè)硬件實(shí)驗(yàn),完全能夠滿足學(xué)生的日常實(shí)驗(yàn)和學(xué)習(xí)需求。

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

圖2 USB型單片機(jī)控制裝置實(shí)物圖

2結(jié)論

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

參考文獻(xiàn)

[1] 賴麒文.8051單片機(jī)語言開發(fā)環(huán)境實(shí)務(wù)與設(shè)計(jì).科學(xué)出版社,2002.

[2] 徐惠民.單片微型計(jì)算機(jī)原理接口應(yīng)用. 北京:北京郵電大學(xué)出版社,1999.

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

篇9

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

1 線陣CCD實(shí)時(shí)檢測系統(tǒng)模型

以機(jī)器人路徑識(shí)別為例具體說明如何利用線陣CCD開發(fā)實(shí)時(shí)動(dòng)態(tài)環(huán)境檢測系統(tǒng)。

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

2 硬件設(shè)計(jì)

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

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

圖2

3 信號時(shí)序及軟件設(shè)計(jì)

由于硬件設(shè)計(jì)時(shí)考慮用軟件產(chǎn)生CCD驅(qū)動(dòng)信號,這樣軟件設(shè)計(jì)的最大難點(diǎn)為既要滿足CCD芯片的驅(qū)動(dòng)信號要求又要完成檢測信息的完整表述。綜合比較各種方法后得出了整個(gè)軟件設(shè)計(jì)思路如下:

驅(qū)動(dòng)描述:NEC公司的線陣μPD3575D所需驅(qū)動(dòng)信號與TOSHIBA公司傳統(tǒng)的TCD系列略有差異,具體驅(qū)動(dòng)信號為:時(shí)鐘φ10、轉(zhuǎn)移脈沖φTG、復(fù)位時(shí)鐘φRO和采樣保持時(shí)鐘φSHO,時(shí)序關(guān)系如圖3所示。

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

單片機(jī)驅(qū)動(dòng)主要是通過程序編程控制輸出驅(qū)動(dòng)的時(shí)序信號,可以通過修改程序方便地修改輸出時(shí)序,單片機(jī)是靠指令產(chǎn)生I/O口的輸出邏輯,在使用邏輯轉(zhuǎn)移指令時(shí),必須注意精心配置,避免產(chǎn)生驅(qū)動(dòng)時(shí)序相位上的不同步。因?yàn)檗D(zhuǎn)移指令要根據(jù)某些條件產(chǎn)生程序分支,而分支程序在不同的條件下執(zhí)行周期通常不同,會(huì)造成CCD驅(qū)動(dòng)時(shí)序不同步。

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

篇10

【關(guān)鍵詞】單片機(jī) DS18B20 RS-485 GSM

隨著科技的發(fā)展,自動(dòng)化技術(shù)及其程度越來越高,自動(dòng)檢測技術(shù)和智能控制技術(shù)亦廣泛地應(yīng)用于現(xiàn)實(shí)的生活與工業(yè)生產(chǎn)中,越來越多的科技作品出現(xiàn)在人們的生活里,它們的創(chuàng)造給人們帶來了許多便利。

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

該設(shè)計(jì)的智能化養(yǎng)魚養(yǎng)護(hù)系統(tǒng)能由使用者根據(jù)不同魚類的生活習(xí)性設(shè)置相應(yīng)的程序,使魚兒的生活環(huán)境最佳化,自動(dòng)完成養(yǎng)魚的全過程。

1 系統(tǒng)硬件設(shè)計(jì)

本研究將智能養(yǎng)魚控制系統(tǒng)劃分為多個(gè)功能單元,形成相應(yīng)功能的電子單元模塊。包括從機(jī)控制器部分,主要由加氧模塊、溫度采集模塊、飼料投放模塊等幾個(gè)部分組成。其次是數(shù)據(jù)傳輸與存儲(chǔ)部分,包括多功能數(shù)據(jù)采集存儲(chǔ)以及基于GSM網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)炔糠纸M成;再次是Visual C#養(yǎng)魚監(jiān)控界面。最后實(shí)現(xiàn)系統(tǒng)集成與養(yǎng)魚精細(xì)智能管理。

智能養(yǎng)魚控制系統(tǒng)先通過溫度傳感器等得到相關(guān)參數(shù)和數(shù)據(jù),再由數(shù)據(jù)采集與基于GSM網(wǎng)絡(luò)的通訊傳輸技術(shù)構(gòu)成整個(gè)系統(tǒng)信息的存儲(chǔ)與傳輸。

1.1 系統(tǒng)信息處理器

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

從機(jī)控制處理器的I/O資源分配如表2所示,主要實(shí)現(xiàn)對無線模塊收發(fā)、溫度傳感器信號的處理、舵機(jī)驅(qū)動(dòng)等的控制。主要應(yīng)用了ATmega8單片機(jī)的PWM、定時(shí)器、外部中斷資源、內(nèi)置看門狗、多種通信等功能。

1.2 溫度測量模塊設(shè)計(jì)

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

1.3 RS-485通信網(wǎng)絡(luò)模塊的設(shè)計(jì)

系統(tǒng)采用RS-485通訊方式來實(shí)現(xiàn)主機(jī)信息處理器與PC機(jī)的通訊。RS-485采用平衡式傳送方式,輸入、輸出均為差動(dòng)方式,這樣在受到干擾時(shí),兩根信號線可能同時(shí)產(chǎn)生干擾電平,對差動(dòng)輸入不起作用,因此RS-485傳輸距離遠(yuǎn)。RS-485的接受器的輸入負(fù)載小,可允許一個(gè)傳送器驅(qū)動(dòng)多個(gè)接受器,而且處于禁止?fàn)顟B(tài)的輸出的漏電流較小,可允許多個(gè)傳送器的輸出并聯(lián)。因此,采用RS-485協(xié)議是較為理想的選擇,其電路原理如圖3所示。

1.4 基于GSM網(wǎng)絡(luò)的數(shù)據(jù)無線傳送端

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

2 系統(tǒng)軟件設(shè)計(jì)

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

2.1 數(shù)據(jù)串口通信數(shù)據(jù)格式設(shè)計(jì)

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

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

2.2 CRC校驗(yàn)設(shè)計(jì)

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

2.3 從機(jī)軟件設(shè)計(jì)

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

3 結(jié)束語

智能養(yǎng)魚控制系統(tǒng)的軟件功能齊全且模塊化設(shè)計(jì),隨著養(yǎng)魚系統(tǒng)的發(fā)展和控制環(huán)節(jié)的增多,該系統(tǒng)在結(jié)構(gòu)和功能等方面可以方便地進(jìn)行擴(kuò)展。本系統(tǒng)可廣泛用于家庭、大型場所觀賞魚和河塘養(yǎng)魚等,為飼養(yǎng)者提供高效、便捷的服務(wù),是飼養(yǎng)者的好幫手。同時(shí),本系統(tǒng)功能完善且模塊化設(shè)計(jì),可根據(jù)具體應(yīng)用進(jìn)行裁剪,具有很高的推廣價(jià)值。

參考文獻(xiàn)

[1]于永學(xué),葛建.1一Wire總線數(shù)數(shù)字溫度傳感器DSl8820及應(yīng)用[J].電子產(chǎn)品世界,2003.

[2]郝麗英.大規(guī)模多點(diǎn)溫度巡檢系統(tǒng)設(shè)計(jì)與應(yīng)用[J].交通科技與經(jīng)濟(jì),2002.

[3]李長林等編著.AVR單片機(jī)應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2005.9

[4]沈文、Eagle lee 詹衛(wèi)前編著.AVR單片機(jī)C語言開發(fā)入門指導(dǎo)[M].北京:清華大學(xué)出版社,2003.5

[5]張克彥編著.AVR單片機(jī)實(shí)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2004.2