彭建英,彭光含,曾志剛
(湖南文理學院,湖南 常德 415000)
單片機實驗電路板,無論對單片機初學人員還是開發人員都具有十分重要的意義,初學人員可以利用實驗電路板逐漸了解單片機的設計原理與功能,開發人員可以進行編程實現工業控制。利用單片機實驗電路板,能夠讓初學者迅速掌握單片機的應用技術特點與實際要求。學生及單片機愛好者可以根據自己的愛好興趣,結合實驗電路板的各功能模塊,設計實現單片機作品,從而提高學生的動手能力和綜合設計能力。
本實驗板可分為多個子模塊,包括單片機最小系統模塊、鍵盤模塊、A/D模塊、D/A模塊、DS1302時鐘模塊、測溫模塊、串口通信模塊、電機模塊、紅外發送接收模塊、LCD1602液晶模塊、流水燈模塊和蜂鳴器模塊。實驗電路板設計原理框圖如圖1所示。

圖1 電路板設計原理框圖
AT89C51是一種低功耗、高性能CMOS(Complementary Metal Oxide Semiconductor,互補金屬氧化物半導體)的8位微控制器,具有4kB系統可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。
轉換器芯片ADC0809適用于8路模擬信號的分時采集,片內有8路模擬選通開關以及相應的通道抵制鎖存用譯碼電路,其轉換時間為100μs左右,A/D轉換后得到的數據應及時傳送給單片機處理。數據傳送的關鍵問題是如何確認A/D轉換的完成,因為只有確認完成后才能進行傳送,為此可采用下述3種方式,分別為定時方式、查詢方式和中斷方式。
D/A轉換器品種繁多,如有權電阻DAC、變形權電阻DAC、T型電阻DAC、電容型DAC和權電流DAC等。DAC0832是采樣頻率為8位的D/A轉換芯片,其集成電路內部有兩極輸入寄存器,使DAC0832芯片具備雙緩沖、單緩沖和直通3種輸入方式,適用于各種電路的需要(如要求多路D/A異步輸入、同步轉換等),所以該芯片的應用很廣泛。本實驗開發板中利用DAC0832可以實現各種波形的輸出。
溫控模塊采用目前廣泛應用的數字溫度傳感器DS18B20,它采用1-wire總線接口的數字溫度傳感器,測試溫度范圍為-55℃~+125℃,精度可達0.067 5℃,最大轉換時間為200ms。1-wire總線支持一主多從通信,所以支持該總線的器件在交互數據過程中需要完成器件尋址(ROM匹配),以確認是哪個從機接收數據,器件內部ROM包含了該器件的唯一ID,對一主一從結構,ROM匹配過程可以省略。采集的數據是數字信號,不需要經過ADC的轉換[1-2]。該模塊同時還可以實現溫度的多點測控。
紅外線遙控信息碼由AT89C51單片機的定時器1中斷產生38kHz紅外線方波信號,由P1.4引腳輸出,經過三極管9013放大,由紅外線發送管發送。若改變電阻R3的大小則可以改變發射距離[3]。
紅外線接收處理采用通用的集成模塊三管腳紅外接收器,輸出為檢波整形過的方波信號。
RS-232C是最早的串行通信接口的電氣標準,該標準定義了數據終端(DTE)和數據通信設備(DCE)間按位串行傳輸的接口信息,合理安排了接口的電氣信號和機械要求,在世界范圍內得到了廣泛的應用。串行通信接口可與PC機超級終端進行通信實驗,也是程序下載時必需的,學生在進行調試時,可隨時進行程序的下載。
DS1302是DALLAS公司推出的涓流充電時鐘芯片,內含有一個實時時鐘/日歷和31字節靜態RAM,通過簡單的串行接口與單片機進行通信。實時時鐘/日歷電路提供秒、分、時、日、月、年的信息,每月的天數和閏年的天數可自動調整,時鐘操作可通過AM/PM指示決定采用24h或12h格式。DS1302與單片機之間能簡單地采用同步串行的方式進行通信,僅需用到RES復位、I/O數據線、SCLK串行時鐘3個口線。對時鐘、RAM的讀/寫數據以一個字節或多達31個字節的字符組方式進行,DS1302工作時功耗很低,保持數據和時鐘信息時功率小于1mW[4]。
通過對每相圈中電流的順序切換來使電機作步進式旋轉。驅動電路由脈沖信號來控制,所以調節脈沖信號的頻率便可改變步進電機的轉速。本次設計的步進電機采用直流+5V電壓,每相電流為0.3A,電機線圈由四相組成。
(1)溫度控制器實驗:利用DS18B20設計一個溫度控制器,在液晶顯示器上顯示溫度值,并對溫度進行測試和設定,當檢測溫度達到溫度上限時開風扇(即開啟電動機),低于下限時關閉風扇并加熱,LED上顯示十進制溫度值。
(2)實時時鐘編程實驗:可以在液晶顯示屏上顯示年、月、日、時、分、秒,可以對時間進行調整,24h實現多次定時功能。
(3)遙控發送和接收實驗:遙控信息通過按鍵發送,接收信息可以通過小燈、蜂鳴器等演示。
(4)函數發生器實驗:利用D/A設計一個函數發生器,并利用按鍵選擇輸出波形,能分別產生三角波、階梯波(每階梯1V)、正向鋸齒波、負向鋸齒波和方波。還可利用鍵盤改變其輸出波形的幅值和頻率。
(5)串行通信實驗:能與PC機通信,在PC機的超級終端上顯示中文字符或其他字符,能用PC機發命令控制單片機功能操作。
(6)音樂編程實驗:能用蜂鳴器演奏自編歌曲。
(7)十字路口交通燈實驗:按照時間控制原則,利用并行接口和定時器,采用時間中斷方式設計一套十字路口的交通燈管理系統,可用流水燈模擬路口交通燈。
(8)步進電機實驗:通過按鍵實現步進電機正轉和反轉控制及其速度的控制,同時實現步數的控制,可以通過按鍵實現速度的控制。
溫度控制器實驗的仿真結果如圖2所示。LCD1602液晶顯示器顯示了當前DS18B20采集的溫度值。溫度數據送單片機處理,由液晶LCD1602實時顯示溫度值為28°。

圖2 溫度控制器實驗仿真結果圖
實時時鐘編程實驗的仿真結果如圖3所示,液晶顯示器顯示了時鐘的年、月、日、時、分、秒。DS1302時鐘芯片的數據能夠由單片機處理,并由液晶LCD1602實時顯示。同時,可通過按鍵進行相應調節。

圖3 實時時鐘編程實驗仿真結果圖
本文以AT89C51單片機為核心,設計了一款單片機綜合性實驗電路板,主要設計了單片機綜合實驗電路板的原理圖,并對各功能模塊進行了硬件設計和介紹,列舉了實驗開發板能進行的實驗項目,并結合PROTEUS和Keil軟件對各功能模塊進行了仿真,仿真結果較準確。
[1] 謝維成,楊加國.單片機原理與應用及C51程序設計[M].北京:清華大學出版社.,2009.
[2] 樓然苗.單片機課程設計指導[M].北京:北京航空航天大學出版社,2007.
[3] 張永楓.單片機應用實訓教程[M].西安:西安電子科技大學出版社,2005.
[4] 郭天祥.51單片機C語言教程[M].北京:電子工業出版社,2010.