第一篇:一種基于單片機的可控成像系統設計論文
摘 要:基于彩色面陣CCD傳感器設計的高速實時圖像采集系統,以信號處理芯片CXD3172AR為核心,可實現輸出標準PAL/NTSC格式的視頻信號,具有自動白平衡、自動曝光、缺陷補償等功能,并構建優化的模擬前端電路(包括相關雙采樣和自動增益控制)大幅度提高了采集數據的信噪比。根據DSP芯片具有參數化控制的特點,通過單片機實現與DSP的特殊通訊傳輸協議來配置DSP參數,并使用外部開關控制完成各種信號處理功能。通過仿真調試,該電路很好地實現了圖像采集和控制功能。
關鍵詞:單片機;CCD;可控化;圖像采集
基金項目:教育部留學回國人員科碩啟動基金(GGRYJJ07-2)0 引 言光學成像系統是將光學信息轉化為人們更易處理的電子信息的重要工具,特別對于智能監控、醫學診斷及消費電子領域,其重要性就更大。隨著成像系統功能的復雜化,攝像機的便攜易控性成了設計中需考慮的重要要素。自從1969年Willard S.Boyle和George E.Smith發明電荷耦合器(CCD)以來,它一直就是光學成像系統的首選傳感器。相對于目前發展快速CMOS圖像傳感器,它仍然具備噪聲低,動態范圍高的優點。而CCD的模擬前端決定了采集信號的質量,對整個系統信噪比有著決定性的影響,因此對它的噪聲抑制是設計中的重點[1]。完成各種圖像處理功能的模塊是成像系統的核心,針對低照度視頻信號成像[2]的設計要求,采用專業信號處理芯片進行各種處理,通過單片機(MCU)對信號處理芯片(DSP)進行參數配置,以完成各種復雜運算功能的控制,簡化了系統的邏輯設計,使其具有良好的可控性。系統組成該系統由CCD、模擬前端AFE(包括相關雙采樣CDS和自動增益控制AGC)、信號處理模塊、微處理器模塊以及模擬數字輸出模塊等組成。系統框圖如圖1所示。
圖1 CCD成像系統框圖
圖中CCD傳感器是整個系統的基礎,外部光學信號通過光電轉換才能進行各種處理。傳感器輸出模擬信號將經前端放大,以差分輸入的方式進入AFE,然后通過一系列模擬信號的降噪放大處理(CDS,AGC),進入信號處理模塊進行各種運算處理。信號處理模塊是連接CCD輸出和后端通用設備的橋梁,專業信號處理芯片提供了大量視頻處理運算功能和多種視頻輸出格式,為后續處理帶來了方便。通過DSP的各種處理,得到設計要求的色度、亮度和飽和度圖像,最后輸出與終端格式兼容的模擬或者數字信號。模擬輸出可以直接與監視器相連,數字輸出可以通過FPGA,ASIC等器件與VGA,DVI接口顯示器相連。模擬前端模塊
CCD讀出電路的噪聲主要包括讀出電路中所用器件的固有噪聲,以及因電路結構、電路工作方式引入的附加噪聲[3]。主要有1/f噪聲[4]、KTC噪聲[5]和固定平面噪聲[6],這些噪聲限制了圖像傳感器的動態范圍,降低了信噪比。在讀出電路中,相關雙取樣技術(CDS)是目前應用最廣泛的噪聲抑制技術。由于一個像元傳輸時間中的復位噪聲是相關的,相關雙取樣電路(CDS)可以利用信號相減的運算關系來消除或消弱信號里的1/f噪聲、KTC噪聲和固定平面噪聲,從而可大大提高系統的信噪比。自動增益控制電路(AGC)可以使放大電路的增益自動地隨信號強度而調整,使圖像信號的亮度平穩,特別是低照度環境里微弱光信號的放大。但不足的是它也會放大低照度條件下的暗電流,降低圖像質量。另外,模擬前端帶寬的合理選擇可以對系統噪聲和系統調制傳遞函數進行折中,以滿足應用的需求。目前有兩種AFE設計方法,一種是采用分立元器件實現,另一種是采用集成AFE芯片實驗。隨著AFE芯片的成熟,其內部還集成了暗電流校正電路,各項指標遠高于一般分立元器件搭建的電路,并且調試簡單。該系統選擇的集成AFE是CXA2096N,是專門為數字攝像機而設計的,內部包括相關雙取樣電路(CDS)、自動增益控制電路(AGC),為A/D轉換器提供的參考電平以及采樣保持電路,其自動增益變化范圍為-0.8~31.3 dB[7]。信號處理模塊
3.1 視頻處理芯片本文選擇的信號處理芯片是SONY公司的CXD3172AR。該芯片內建10位高精度A/D轉換器,具有自動白平衡、自動曝光、自動黑電平校正和缺陷補償等功能,并能產生驅動CCD的時序脈沖,能夠輸出PAL/NTSC制式的模擬信號和ITU656格式的數字信號[8],其控制方式有2種:通過RS 232接口用PC機軟件控制;通過MCU通用管腳直接用硬件控制。因為MCU的傳輸總線不屬于通用的I2C和SPI總線,所以參考芯片資料,設計了與MCU的通信接口。該芯片支持的最大傳輸速率為400 Kb/s;使用PC機軟件僅支持19.2 Kb/s,且不能完全利用該芯片的帶寬,軟件控制還必須依賴PC機,不利于攜帶。在該系統中,采用純硬件控制方式實現的DSP功能,具有快速靈活的特性。
以CXD3172AR為核心組成信號處理模塊的外圍電路主要有電源、時鐘、視頻輸出接口和控制通信接口。
3.2 時鐘產生電路
CXD3172AR需要產生驅動CCD的時序脈沖,其主時鐘將影響整個系統的正常穩定工作。該系統選擇的CCD兼容PAL制式色彩攝像機,總共像素為795(H)×596(V),系統要求28.375 MHz的時鐘驅動系統和27 MHz的時鐘驅動編解碼器。為了有穩定的時鐘源,采用鎖相環路(PLL),用一個高穩定性參考源的一個分頻和VCXO的一個分頻進行相位比較,產生一個誤差變化電壓,給VCXO進行環路負反饋,從而使輸出頻率更穩定[9]。設計VCXO輸出28.375 MHz時鐘和石英晶振回路輸出27 MHz時鐘,系統產生的水平同步信號頻率為15.625 kHz,其與VCXO的分頻進行相位比較,PCOMP引腳輸出相位比較結果,判斷是否相位鎖定。
3.3 電源電路
系統需要4組獨立電源,其電壓分別為:3.3 V,5 V,15 V,-7 V。基于便攜性的考慮,采用9 V直流電壓作為電路板的輸入,通過線性穩壓電源芯片LT1117-3.3和LT1117-5得到3.3 V和5 V電壓,選擇TPS65131得到15 V和-7 V電壓。TPS65131能夠輸出正負雙電壓,非常適用于便攜性設備。4組電源的輸出端分別通過LC低通濾波器,就能為系統提供高精穩定的直流電源。
3.4 視頻輸出電路
CXD3172AR能輸出PAL制式的模擬信號,其輸入端口采用電流輸出結構,通過電阻產生信號電壓,但是由于系統噪聲的存在,特別是模擬地和數字的干擾,信號走線長度,元器件布局等因素,對輸出端可以增加一級濾波器,以提高信噪比。對于亮度信號而言,芯片內部在輸出端已集成了LPF,故只需對色度信號進行處理。設置DSP輸出Y/C分離信號,視頻信號的帶寬一般為6 MHz,色度信號副載波頻率為(4.43±1.3 MHz),圖2是色度BPF的頻率特性圖。亮度信號和通過BPF的色度信號進入視頻信號混合放大器NJM2274,其輸出阻抗為75Ω,放大后的信號可以直接輸入監視器。
3.5 MCU-DSP通信
DSP處理功能可以通過MCU或軟件進行控制。
將DSP各控制參數通過特定的通信協議傳輸到DSP189第2期顏 豪等:一種基于單片機的可控成像系統設計內部寄存器或者外部E2PROM保存,以使其實現視頻信號的各種處理功能。這里的MCU為STC的STC89C52RC芯片,并且外搭基本硬件電路,使其成為最小系統。DSP控制參數有635 B,在調試的時候,可以存入DSP的寄存器組以便修改,調試完成之后,優化的參數可以存入E2PROM,使得下次掉電復位后可以繼續使用。
圖2 BPF頻率特性
在通信過程中,一個通信協議包傳輸的字節數是可變的,最高可達32 B。DSP接收到一包數據后分析它,執行控制命令,完成1次通信。一個通信包由起始字、命令字、地址字和數據字組成。因為DSP內部寄存器數量有限,在執行完上次命令之前,不會再接收任何其他控制命令。該過程被稱為“通信禁止周期”,并且此時,芯片返回一個確認數據,該數據可能是寫應答信號、讀取數據或者通信錯誤代碼。它的片選信號、時鐘信號和輸入/輸出信號格式如圖3所示。
圖3 通信協議格式
3.6 MCU與DSP的接口在不同硬件接口之間進行數據通信時必須保證其邏輯電平一致,不然通信過程中將出現各種不可預料的錯誤。該設計中, CXD3172AR主供電電源VDD是3.3 V,其邏輯高電平大于等于0.7VDD,邏輯低電平小于等于0.2VDD,它們屬于LVTTL電平。通用MCU管腳一般是TTL電平,所以兩者之間的通信必須經過電平轉換,這里選擇SN74ALVC164245作為電平轉換器。SN74ALVC164245有2組獨立電源端口,分別將其與MCU和DSP各自的主供電電源相連。這樣,就能通過電平轉換器將3.3 V系統和5 V系統連接起來。仿真和調試
圖4是軟件仿真圖,輸入數據是低位先傳,每個字節有8位,字節之間延遲1個時鐘周期,DSP在時鐘上升沿采樣輸入數據,在時鐘下降沿輸出數據。選通信號XCS為低電平有效,為了滿足系統的一定時序冗量,在DSP處理時間內(即通信禁止周期)強制將XCS置高。
由于是軟件仿真的原因,DO沒有波形。但是為了能夠測試通信是否成功,在程序里添加回讀顯示功能,通過4個7端數碼顯示管顯示2個16進制回讀數據,判斷是否通信成功。
圖4 程序仿真圖
同時,參考DSP的幾個基本功能,將其控制參數保存在程序代碼中,通過外部開關的選擇,MCU的P1端口讀出其電平,實現各種功能的控制,其功能見表1。
表1 功能列表
Interface FunctionP1.0~P1.2 AWB ModeP1.3 Color Rolling ControlP1.4 Black Light CompensationP1.5 AE SwitchingP1.6 Flickerless SwitchingP1.7 AGC Switching完成電路板中各部分的設計以及調試后進行實驗,其結果表明,MCU-DSP通信正常,可滿足時序及功能要求。結 語
采用專業信號處理芯片及單片機實現了可控成像系統設計,完成了電路板的調試和功能實驗,為后續數字信號處理提供了源圖像信號。該系統具有電路實現簡單可靠,功能控制方便,能夠輸出多種視頻格式信號,具有簡易靈活性。目前,將該系統已使用于低照度環境下的幀間濾波技術采集系統中,效果很好。
參 考 文 獻
[1]薛旭成,李云飛,郭永飛.CCD成像系統中模擬前端設計[J].光學精密工程,2007,15(8):1191-1195.[2] WHITE M, Lampe D.Characterization of surface channelCCD image arrays at low light levels [J].IEEE Solid-stateCircuits, 1974, 9(1): 1-13.[3]金湘亮.一種低功耗低噪聲相關雙取樣電路的研究[J].電路與系統學報,2003,8(3):23-26.[4] JAKOBSON C, BLOOM I, NEMIROVSKY Y.I/f Noisein CMOS transistors for analog applications from subthre-shod to saturation[J].Solid-state Electronics, 1998, 42(10): 1807-1817.[5] TIAN Hui, FOWLER Boyd, GAMAL Abbas El.Analysisof temporal noise in CMOS photodiode active pixel sensor[J].IEEE Solid-state Circuit, 2001, 36(1): 92-101.[6] OHSAWA Shinji, SASAKI Michio, MIYAGAWA Ryohei,et al.Analysis of low fixed pattern noise cell structures forphotoconversion layer overlaid CCD or CMOS image sensors[J].IEEE Trans.on Electron.Devices, 1997, 44(10):667-671.[7] Sony.CXA2096N datasheet [M].Japan:Sony, 2004.[8] Sony.CXD3172AR datasheet [M].Japan:Sony,2004[9]趙聲衡.石英晶體振蕩器[M].長沙:湖南大學出版社,1997.
第二篇:《單片機應用系統設計》課程教學大綱
《單片機應用系統設計》課程教學大綱
Single-Chip Microcomputer Application System Design 課程編號:公選課
適用專業:全校工科類專業
學 時 數:16
學 分 數:1 執 筆 者:王福忠
編寫日期:2008年12月
一、課程的性質和目的
單片機技術在通信、家電、自動控制、儀器儀表中得到廣泛的應用。單片機應用系統設計是面向工科類專業的一門公共選修課,是一門邏輯性強、理論與實踐并重,軟硬件結合,內容豐富,知識面寬廣的課程。
2.課程任務
通過本課程的學習,使學生對單片微型計算機應用系統有一個系統的了解。掌握單片微型計算機應用系統設計的初步方法,建立有關微型計算機應用系統的初步概念,了解高科技的發展動態,增強學生對后續課程如自動控制原理,微型計算機原理、單片機原理及應用系統等課程學習的興趣。為其他專業課程的學習和走向工作崗位從事單片機應用的相關工作打下良好的基礎。
二、教學要求的基本層次
本課程的教學要求可分為四個層次,即:掌握、理解、應用和了解。1.掌握
對于本課程的重點內容要求學員達到掌握的程度。即要求學員能夠全面、深入地掌握所學內容,能夠舉一反三,熟練解決相關問題。要求學員掌握的內容也就是考試的主要內容。
2.理解
對于本課程的一般內容要求學員能夠理解。即要求學員能夠理解所學內容,對所涉及的內容能夠進行簡單的分析和判斷。
3.應用
使學生具有一定的單片機應用技能和按要求組織單片機應用系統的初步能力 4.了解
對于本課程的次要內容要求學員能夠了解。所涉及的內容都是一些基本概念和簡單敘述,知道了就行,沒有進一步深入和擴展的要求。二.教學內容和要求 1 單片機基礎 1.1 教學內容
(1)單片機的基本概念;(2)單片機的產生與發展;(3)單片機硬件結構;(4)單片機特點及應用; 1.2 教學要求(2學時)本章的基本任務是學習單片微型計算機系統的基本概念、發展概況及應用。單片機與典型微型計算機在結構上的區別。為后續章節奠定基礎知識。
掌握:單片微型計算機系統的基本概念、單片機與典型微型計算機在結構上的區別,單片機系統的擴展和配置的概念;
了解:單片機的特點、發展及應用領域,典型單片機系列的基本情況。2 應用系統的基本組成與設計內容 2.1 教學內容
(1)單片機應用系統的一般硬件組成;(2)單片機應用系統的設計內容 2.2 教學要求(2學時)
本章的基本任務是對應用系統的基本組成與設計內容有一個初步了解,為后續章節提供必要的概念基礎。
理解:典型單片機應用系統結構、前向通道的組成及其特點和各環節的作用、常見的傳感器、后向通道的組成與特點道結構、模擬輸出通道的作用、執行機構、人機通道的結構及其特點、單片機應用系統的設計內容。3 單片機應用系統開發過程與內容 3.1 教學內容
(1)單片機應用系統開發主要步驟;(2)總體方案確定;(3)硬件設計;(4)軟件設計。
3.2 教學要求(2學時)
本章的基本任務是學習單片機應用系統開發過程與內容。
掌握:單片機應用系統開發主要步驟及內容,總體方案,硬件設計,軟件設計等內容與注意的問題。4 人機接口的設計 4.1 教學內容
(1)開關及接口;(2)按鍵、鍵盤及接口;(3)LED顯示器及接口;(4)液晶顯示器(LCD)及其接口 4.2 教學要求(2學時)
掌握:人機接口的基本原理與設計初步方法。5 數據采集技術與輸入接口 5.1 教學內容
(1)檢測信號與數據放大器;(2)采樣保持器及其與微機的連接;(3)A/D轉換器 5.2 教學要求(2學時)
掌握:模擬量輸入數據采集系統設計原則;模擬輸入數據采集系統的結構配置;模擬量輸入數據采集系統設計中應注意的問題;模擬低通濾波器(ALF);模擬多路轉換器;A/D轉換器的選擇和使用注意事項。6 控制輸出(后向)通道與接口 6.1 教學內容
(1)后向通道中的常用器件;(2)后向通道中的D/A轉換技術和接口芯片;(3)執行器類型
6.2 教學要求(1學時)
掌握:后向通道應解決的問題,大功率I/O口接口器件,光電隔離與接口驅動器件,D/A轉換接口設計的一般問題,執行器類型。7 數據處理技術 7.1 教學內容(2學時)
(1)標度變換及其程序設計;(2)數字濾波及其程序設計;(3)控制技術及其算法 7.2 教學要求
掌握:線性儀表的標度變換、非線性測量的標度變換、常用的靜態濾波算法原理、自動控制系統的基本概念、數字PID算法原理。8 單片機系統的抗干擾技術 8.1 教學內容(2學時)
(1)干擾源及其分類;(2)干擾對單片機系統的影響;(3)硬件抗干擾技術;(4)軟件抗干擾技術。8.2 教學要求
掌握:干擾的含義、干擾源的分類、干擾入侵單片機系統的途徑、串模干擾的抑制方法、共模干擾的抑制方法、程序執行過程中的軟件抗干擾。單片機應用系統舉例 9.1 教學內容
(1)單片機應用系統調試工具;(3)單片機應用系統例子 9.2 教學要求(1學時)
掌握:單片機開發系統、萬用表、邏輯分析儀等開發工具。
第三篇:一種基于單片機的正弦波輸出逆變電源的設計
一種基于單片機的正弦波輸出逆變電源的設計
摘 要:介紹了一種正弦波輸出的逆變電源的設計。設計中采用了DC/DC和DC/AC兩級變換,高頻變壓器隔離,單片機控
制。實驗結果表明性能可靠。
關鍵詞:逆變電源;單片機;正弦脈寬調制
O 引言
低壓小功率逆變電源已經被廣泛應用于工業和民用領域。特別是新能源的開發利用,例如太陽能電池的普遍使用,需要一個逆變系統將太陽能電池輸出的直流電壓變換為220V、50Hz交流電壓,以便于使用。本文給出了一種用單片機控制的正弦波輸出逆變電源的設計,它以12V直流電源作為輸入,輸出220V、50Hz、0~150W的正弦波交流電,以滿足大部分常規小電器的供電需求。該電源采用推挽升壓和全橋逆變兩級變換,前后級之間完全隔離。在控制電路上,前級推挽升壓電路采用SG3525芯片控制,采樣變壓器繞組電壓做閉環反饋;逆變部分采用單片機數字化SPWM控制方式,采樣直流母線電壓做電壓前饋控制,同時采樣電流做反饋控制;在保護上,具有輸入過、欠壓保護,輸出過載、短路保護,過熱保護等多重保護功能電路,增強了該電源的可靠性和安全性。
該電源可以在輸人電壓從10.5V到15V變化范圍內,輸出220V±10V的正弦波交流電壓,頻率50Hz±O.5Hz,直流分量 l 主電路 逆變電源主電路采用推挽升壓和全橋逆變兩級變換,如圖1所示。 輸入電壓一端接在變壓器原邊的中間抽頭,另一端接在開關管S1及S2的中點。控制S1及S2輪流導通,在變壓器原邊形成高頻的交流電壓,經過變壓器升壓、整流和濾波在電容C1上得到約370 V直流電壓。對S3~S6組成的逆變橋采用正弦脈寬調制,逆變輸出電壓經過電感L、電容C2濾波后,最終在負載上得到220 V、50 Hz的正弦波交流電。采用高頻變壓器實現前后級之間的隔離,有利于提高系統的安全性。 輸入電壓10.5~15 V,輸入最大電流15 A,考慮一倍的余量,推挽電路開關管S1及S2耐壓不小于30 V,正向電流不 小于30 A,選用IRFZ48N。 升壓高頻變壓器的設計應滿足在輸入電壓最低時,副邊電壓經整流后不小于逆變部分所需要的最低電壓350 V,同時輸入電壓最高時,副邊電壓不能過高,以免損壞元器件。同時也必須考慮繞線上的電壓降和發熱問題。選EE型鐵氧體磁芯,原副邊繞組為7匝:300匝。關于高頻變壓器的設計可以參考文獻。 變壓器副邊輸出整流橋由4個HER307組成.濾波電容選用68μF、450 V電解電容。 根據輸出功率的要求,輸出電流有效值為0 6~O.7 A,考慮一定的電壓和電流余量,逆變橋中的S3~S6選用IRF840。逆變部分采用單極性SPWM控制方式,開關頻率fs=16 kHz。 假沒濾波器時間常數為開關周期的16倍,即諧振頻率取1 kHz,則有 濾波電感電容LC≈2.5×10-3,可選取L=5 mH,C=4.7μF。濾波電感L選用內徑20 mm,外徑40 mm的環形鐵粉芯磁芯,繞線采用直徑O.4 mm的漆包線2股并繞,匝數180匝。數字化SPWM控制方法 該逆變電源的控制電路也分為兩部分。前級推挽升壓電路由PWM專用芯片SG3525控制,采樣變壓器繞組電壓實現電壓閉環反饋控制。后級逆變電路由單片機PICl6C73控制,采樣母線電壓實現電壓前饋控制。前級控制方法比較簡單,在這里主 要介紹后級單片機的數字化SPWM控制方式。 2.l 正弦脈寬調制SPWM 正弦脈寬調制SPWM技術具有線性調壓、抑制諧波等優點,是目前應用最為廣泛的脈寬調制技術.一般用三角波μc作為載波信號,正弦波ug=UgmSin2πfgt作為調制信號,根據μ和μg的交點得到一系列脈寬按正弦規律變化的脈沖信號。則可以定義調制比m=Ugm/Ucm,頻率比K=fc/fa=Tg/Tco。 正弦脈寬調制可以分為單極性SPWM和雙極性SPWM。雙極性SPWM的載波為正負半周都有的對稱三角波,輸出電壓為正負交替的方波序列而沒有零電平,因此可以應用于半橋和全橋電路。實際中應選擇頻率比K為奇數,使得輸出電壓μo具有奇函數對稱和半波對稱的性質,μc無偶次諧波。但是輸出電壓μc中含有比較嚴重的n=K次中心諧波以及n=jk±6次邊頻諧波。 其控制信號為相位互補的兩列脈沖信號。 單極性SPWM的載波為單極性的不對稱三角波,輸出電壓也是單極性的方波。因為輸出電壓中包含零電平,因此,單極性SPWM只能應用于全橋逆變電路。由于其載波本身就具有奇函數對稱和半波對稱特性,無論頻率比K取奇數還是偶數輸出電壓Uo都沒有偶次諧波。輸出電壓的單極性特性使得uo不含有n=k次中心諧波和邊頻諧波,但卻有少量的低頻諧波分量。單極性SPWM的控制信號為一組高頻(載波頻率fe)脈沖和一組低頻(調制頻率fk)脈沖,每組的兩列脈沖相位互補。由三角載波和正弦調制波的幾何關系可以得到,在k》l時,高頻脈沖的占空比D為 2.2 PIC單片機的軟件實現 PICl6C73是Microchip公司的一款中檔單片機,它功能強大而又價格低廉。PICl6C73內部有兩個CCP(Capture、Compare、PWM)模塊,當它工作在PwM模式下,CCP x引腳就可以輸出占空比10位分辨率可調的方波,圖2為其工作原理圖。 TMR2在計數過程中將同步進行兩次比較:TMR2和CCPRxH比較一致將使CCPX引腳輸出低電平;TMR2和PR2比較一致將使CCPx引腳輸出高電平,同時將TMR2清O,并讀入下一個CCPRxH值,如圖3所示。因此,設定CCPRxH值就可以設定占空比,設定PR2值就可以設定脈沖周期。脈沖占空比D可以表示為 在本設計中,全橋逆變器采用單極性SPWM調制方式。CCP1模塊用來產生高頻脈沖,CCP2模塊用來產牛低頻脈沖。選擇16M晶振,根據脈沖周期Tc=[(PR2)+l]×4×4*Tosc和頻率比k=Tg/Tc,可以取PR2=249,k=320,則有Tg=20 ms,高頻脈沖序列每一一個周期中包含:320個脈沖。設調制比m=0.92,將,t=TgN/320代入式(2),聯立式(3)可以得到產生高頻脈沖 所需要的CCP1H的取值,第0~79個脈沖為 CCP1H=230sin(πN/160)(4) 式中:N為O→79。 考慮到正弦波的對稱性,可以得到第80~159個脈沖為 CCP1H=230sin[π×(80—N)/160](5)根據脈沖的互補性,可以得到第160~239個脈沖為 CCP1H=250—230sin(πN/160)(6) 第240~319個脈沖為 CCP1H=250—230Sin[π×(80一N)/160](7) 因此,在程序中存儲表格230sin(πN/160),N∈[0,79]就可以得到整個周期320個高頻脈沖的CCP.H值。第O~79點,CCP1H為正向查表取值;第80~159點,CCP1H為反向查表取值;第160~239點CCP1H為計數周期減去正向查表值;第240~319點CCP1H為計數周期減去反向查表值。 對于低頻脈沖,前半個周期可以看成由占空比始終為1的高頻脈沖組成,后半個周期看成由占空比始終為0的高頻脈沖組成,因此,第O~159個脈沖,CCP2H=250,第160~319個脈沖,CCP2H=O。 圖4為單片機_TMR2中斷程序的流程圖,在中斷程序中查表修改CCPxL的值.就可以改變下一個脈沖的CCPxH值,從而 修改下一個脈沖的占空比,實現SPWM控制。實驗結果 實驗中,輸入電壓變化范圍為10.5~15 V,輸出濾波電感5.3mH,濾波電容8μF,從空載到150W負載狀態下都可以輸出(220±10V)、50Hz的正弦波交流電壓,如表1和表2所示。圖5和圖6分別為空載和150W純阻性負載條件下輸出電壓電流波形。可以看出輸出電壓和電流波形良好,經測量電壓波形的THD為3.6%。結語 本文詳細分析了一種正弦波輸出的逆變電源的設計,以及基于單片機的數字化SPWM控制的實現方法。數字化SPWM控制靈活,電路結構簡單,控制的核心部分在軟件中,有利于保護知識產權。 單片機課程論文設計 ——電子鐘 一 課程設計的主要內容 1 設計思想 1.1硬件設計思想 1.1.1電路設計思想 電路原理圖見圖1,由動態數碼顯示組成時、分、秒的顯示。把“單片機系統”區域中的P1.0-P1.7端口用8芯排線連接到“動態數碼顯示”區域中的A-H端口上;把“單片機系統:區域中的P3.0-P3.7端口用8芯排線連接到“動態數碼顯示”區域中S-S8端口上;“單片機系統”區域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分別用導線連接到“獨立式鍵盤”區域中的SP3、SP2、SP1端口上。 1.1.2鍵盤設計思想 鍵盤是微機的主要設備,按鍵的讀取容易引起錯誤動作。可采用軟件去抖動的方法處理,軟件的觸點在閉合和斷開的時候會產生抖動,這時觸點的邏輯電平是不穩定的,如不采取妥善處理的話,將引起按鍵命令錯誤或重復執行,在這里采用軟件延時的方法來避開抖動,延時時間20ms.1.2軟件設計思想 本系統的主程序主要完成時間顯示和修改時間的功能。而時間單元進位,時間設定時,調定時間設定時等功能全部在中斷服務程序中完成。 1.2.1數據與代碼轉換 由前述可知,從P2口輸出位選碼,從P0口輸出段選碼,LED就會顯示出數字來。但P0口的輸出的數據是要BCD碼,各存儲單元存儲的是二進制數,也就是和要顯示出的字符表達的含義是不一致的。可見,將要顯示的存儲單元的數據直接送到P0口去驅動LED數碼管顯示是不能正確表達的,必須在系統內部將要顯示的數據經過BCD碼行轉換后,將各個單元數據的段選代碼送入P0口,給CD4511譯碼后去驅動數碼管顯示。具體轉換過程如下: 我們先將要顯示的數據裝入累加器A中,再將A中的數據轉換成高低兩位 的BCD碼,再放回A中,然后將A中的值輸出。如:有一個單元存儲了45這樣一位數,則需轉換成四位的BCD碼:(0100)(0101)然后放入A中。A中BCD碼,高位四位代表?4?低四位代表?5?同時送給兩個譯碼器中,譯碼后? 45? 字就在兩個LED中顯示出來。 1.2.2計時功能的實現與中斷服務程序 時間的運行依靠定時中斷子程序對時鐘單元數值進位調整來實現的。計數器T0打開后,進入計時,滿100毫秒后,重裝定時。中斷一次,滿一秒后秒進位,滿60秒后即為1分鐘,分鐘單元進位,60分到了后,時單元進位。得到時、分、秒存儲單元的值,并經譯碼后,通過掃描程序送LED中顯示出來,實現時鐘計時功能。累加是用指令INC來實現的。進入中斷服務程序以后,執行PUSH PSW和PUSH A將程序狀態寄存器PSW的內容和累加器A中的數據保存起來,這便是所謂的? 保護現場?.以保護現場和恢復現場時存取關鍵數據的存儲區叫做堆棧。在軟件的控制之下,堆棧可在片內RAM中的任一區間設定,而堆棧的數據存取與一般的RAM存取又有區別,對它的操作,要遵循? 后進先出? 的原則。 1.2.3時間控制功能與比較指令 系統的另一功能就是實現對執行設備的定時開關控制,其主要控制思想是這樣的:先將執行設備開啟的時間和關閉時間置入RAM某一單元,在計時主程序當中執行幾條比較指令,如果當前計時時間與執行設備的設定開啟時間相等,就執行一條CLR指令,將對應的那路P3置為高電位,開啟;如果當前計時時間與執行設備設定的關閉時間相等,就執行SETB對應的P3置低電位,二極管截止。實現此控制功能用到的比較指令為CJNE A,#direct,rel,其轉移條件是累加器A中的值與立即數不等則轉移。 二 課程設計的目的 實現的功能: ①開機時,電子鐘從12:00:00開始自動計時。②設置按鍵,能對時、分、秒進行調整。 三設計方案的論證 3.1電路原理與電路圖 3.1.1電路原理 電路原理圖見圖1,由動態數碼顯示管組成時、分、秒的顯示。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口輸出的就是位選碼。這是掃描顯示原理。 電路原理圖 C130pFU1X119CRYSTAL18XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD*********617S-0S-1S-2S-3S-4S-5S-6S-7C230pFXTAL2R210kR310kR410kR110k9RSTC310uF293031PSENALEEARP1987654321RESPACK-***78P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51時分秒S-7S-6S-5S-4S-3S-2S-1S-001234567 圖 1 電路原理圖 3.2 流程圖與算法描述 3.2.1流程圖 3.3軟件設計 SECOND EQU 30H;MINITE EQU 31H;HOUR EQU 32H;HOURK BIT P0.2 MINITEK BIT P0.1 SECONDK BIT P0.0 DISPBUF EQU 40H DISPBIT EQU 48H 流程圖 秒寄存器 分寄存器 時寄存器 圖 T2SCNTA EQU 49H T2SCNTB EQU 4AH TEMP ORG 00H; 程序執行開始EQU 4BH 地址 LJMP START; 執行 ORG 0BH;T0 LJMP INT_T0; ;主程序 START: MOV SECOND,#00H; 得單元 MOV MINITE,#00H MOV HOUR,#12 MOV DISPBIT,#00H MOV T2SCNTA,#00H MOV T2SCNTB,#00H MOV TEMP,#0FEH LCALL DISP; 子程序 MOV TMOD,#01H MOV TH0,#(65536-2000)/ 256; MOV TL0,#(65536-2000)/ 256 SETB TR0; SETB ET0; SETB EA; WT: 跳轉到標號START 中斷程序入口 跳至IN-T0執行 清0存放秒分時值 在2KB范圍內長調用 顯示2毫秒 允許TO中斷 開啟T0定時器 總中斷開放 按鍵掃描子程序及校時調整 JB SECONDK, NK1;SECONDK為1(sp1建按下)時跳到 LCALL DELY10MS JB SECONDK,NK1 INC SECOND; 對計數器加1 MOV A,SECOND CJNE A,#60, NS60;沒到60秒返回,到60秒清0;判斷計數器是否滿59 MOV SECOND,#00H NS60: LCALL DISP JNB SECONDK,$; NK1: JB MINITEK,NK2; LCALL DELY10MS JB MINITEK,NK2; INC MINITE MOV A,MINITE CJNE A,#60, NM60 MOV MINITE,#00H NM60: LCALL DISP JNB MINITEK, $; NK2: JB HOURK,NK3 LCALL DELY10MS JB HOURK,NK3 INC HOUR MOV A, HOUR CJNE A, #24,NH24 MOV HOUR,#00H 不滿60秒就循環執行 分控制鍵按下時跳轉 分控制鍵按下時跳轉 不滿60分就循環執行 NH24: LCALL DIS JNB HOURK,$; 不滿24小時就循環執行 NK3 LJMP WT DELY10MS:; 延時1毫秒的子程序 MOV D1: MOV ;顯示子程序 DISP: ; 地址 MOV ADD DEC MOV MOV MOV DIV MOV DEC MOV MOV DEC MOV MOV DEC MOV R6, #10 R7, #248 DJNZ R7, $ DJNZ R6, D1 RET A, #DISPBUF; A, #8 A R1, A A, HOUR; B, #10; AB @R1, A; R1 A, B @R1, A R1;A, #10 @R1, A R1 A, MINITE; 將得出的時間存入40H(DISPBUF)之后的將temp中的十六進制數轉換成10進制 時送A 10進制/10=10進制 累加器送內部RAM單元 分送A MOV B, #10 DIV AB; 十進制調整 MOV @R1, A DEC R1 MOV A, B MOV @R1, A DEC R1 MOV A, #10 MOV @R1,A DEC R1 MOV A, SECOND; MOV B, #10 DIV AB; MOV @R1, A DEC R1 MOV A, B MOV @R1, A DEC R1 RET INT_T0:;T0 MOV TH0,#(65536-2000)/ 256; MOV TL0,#(65536-2000)/ 256 MOV A, #0FFH MOV P3, A MOV A, #DISPBUF ADD A, DISPBIT; MOV R0, A MOV A, @R0; MOV DPTR, #TABLE; MOVC A,@A+DPTR; 秒送A 十進制調整 TIME子程序 2毫秒 地址加,并將時間的各位送到p1 取顯示數據到A 取段碼表地址 查顯示數據對應段碼 中斷服務子程序,即計時 MOV P1, A; 分十位送P1口顯示 MOV A, DISPBIT MOV DPTR, #TAB; 表地址送數據指針 MOVC A,@A+DPTR MOV P3, A INC DISPBIT MOV A, DISPBIT CJNE A, #08H, KNA MOV DISPBIT, #00H KNA: INC T2SCNTA; MOV A, T2SCNTA CJNE A, #100, DONE MOV T2SCNTA, #00H INC T2SCNTB MOV A, T2SCNTB CJNE A, #05H, DONE MOV T2SCNTB,#00H INC SECOND;秒加一 MOV A, SECOND; CJNE A, #60, NEXT; MOV SECOND, #00H; INC MINITE;分加1 MOV A, MINITE; CJNE A, #60, NEXT; MOV MINITE, #00H; INC HOUR; 時加1 MOV A, HOUR CJNE A, #24, NEXT; MOV HOUR, #00H 時間的增加與進位 到60秒了嗎? 到60秒清0 到60分了嗎? 到60分清0 到24小時了嗎? NEXT: LCALL DISP DONE: RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07F 四 系統調試 系統由AT89C51、SEG數碼管、按鍵、電容、晶振、電阻等部分構成,能實現時間的調整、時間校對、定時時間的設定,輸出等功能。系統的功能選擇由按鍵‘時’、‘分’、‘秒’、完成。開機時,顯示12:00:00的時間開始計時;按鍵P0.0/AD0控制“秒”的調整,每按一次加1秒;P0.1/AD1控制“分”的調整,每按一次加1分;P0.2/AD2控制“時”的調整,每按一次加1個小時;系統的主程序主要完成時間顯示和定時輸出判斷功能。而時間單元進位,時間設定時,調定時間設定時等功能全部在中斷服務程序中完成。該電子鐘的精確度在仿真軟件中效果良好。 五 心得體會 計算機控制技術是一門很綜合的課程。任何一個計算機系統都是一個復雜的整體,學習計算機控制技術是要涉及到整體的每一部分。討論某一部分原理時又要涉及到其它部分的工作原理。這樣一來,不僅不能在短時間內較深入理解計算機的工作原理,而且也很難孤立地理解某一部分的工作原理。所以,在循序漸進的課堂教學過程中,我總是處于“學會了一些新知識,弄清了一些原來保留的問題,又出現了一些新問題”的循環中,直到課程結束時,才把保留的問題基本搞清楚。 學習該門課程知識時,其思維方法也和其它課程不同,該課程偏重于工程思維,靈活知識運用,具體地說,在了解了計算機編程后,剩下的是如何將它們用于實際系統中,其創造性勞動在于如何用計算機的有關技術和廠家提供的各種芯片,設計實用的電路和系統,再配上相應的應用程序,完成各種實際應用項目。 這次課程設計較為綜合,主要的困難來自對程序的編寫和校對,功夫不負有心人,經過我的虛心求學和查找資料,最終對實驗的原理有了較清晰的認識。但是仍然存在很多的不足,今后需要加強的地方還是很多,所以在今后的求學路上我會更加努力。望老師批評改正。 六 參考文獻: [1].潘新民,王燕芳編著.微型計算機控制技術[M].北京:電子工業出版社,2003 [2].何立民.單片機應用技術選編(1)[M].北京:北京航空航天大學出版社,1995,6 [3].劉國榮,梁景凱.計算機控制技術與應用[M] .北京:機械工業出版社,1999,5 [4].齊維毅,丁言鎂,齊振國.單片機原理及應用設計實驗[M] .沈陽:遼寧大學出版社,2006,5 [5].李華.MCS-51系列單片機實用接口技術[M].北京:北京航空航天大學出版社,1993,8 [6].潘新民,王燕芳編著.單片微型計算機實用系統設計[M].北京:人民郵電出版社,1992 單片機課程設計 學院:信息工程專業: ——秒表系統設計 一,設計目的: 1,熟悉51單片機的內部結構,計數器,中斷控制器等的用法,來實現簡單的控制應用系統。 2,通過簡單系統的設計了解單片機應用系統的設計與開發過程及其相應的調試程序過程。 二,設計任務: 實驗通過單片機的定時器/計數器定時和計數原理,設計簡單的計時器系統,擁有正確的計時、暫停、清零、快加功能,并同時可以用數碼管顯示,在現實生活中應用廣泛,具有現實意義。 三,設計題目: 秒表系統設計——用AT89C51設計一個2位LED數碼顯示“秒表”,顯示時間為00~99秒,每秒自動加一。另設計一個“開始”按鍵和一個“復位”按鍵。調用子程序:暫停鍵子程序,計時鍵子程序,清0鍵子程序,加一子程序,顯示子程序,定時子程序,所用特殊寄存器:寄存器A,寄存器C,所用中斷:外部中斷INT0、INT1,定時器T0、T1 四,設計的硬件接線圖: 五,設計思路及描述 要求進行計時并在數碼管上顯示時間,則可利用DVCC系列單片機微機仿真實驗系統中的芯片8032(芯片的功能類似于芯片AT89C51,其管腳功能也和AT89C51的管腳功能類似)中的P3.2管腳做為外部中斷0的入口地址,并實現“開始”按鍵的功能;將P3.3做為外部中斷1的入口地址,并實現“清零”按鍵的功能;將P3.0做為數據信號DATA輸入的入口地址;將P3.1做為時鐘信號CLK輸入的入口地址。定時器T0作為每秒加一的定時器;定時器T1作為“快加”鍵的定時器。其中“開始”按鍵當開關由1撥向0(由上向下撥)時開始計時;“清零”按鍵當開關由1撥向0(由上向下撥)時數碼管清零,此時若再撥“開始”按鍵則又可重新開始計時。 六,流程圖 七,程序 源程序: ORG 0000H AJMP MIAN;主程序入口地址 ORG 0003H AJMP ZHONGDUAN0;中斷0入口地址 ORG 000BH AJMP YANSHI;定時器T0入口地址 ORG 0013H AJMP ZHONGDUAN1;中斷1入口地址 ORG 001BH AJMP DINGSHI1;定時器T1入口地址 ORG 0030H ;主程序 ;*********************************************************** MAIN: MOV TCON,#05H;主程序開始 外部中斷跳變模式 MOV TMOD,#11H;定時器0,1模式1 MOV IE,#8FH;開總中斷,中斷0,1,定時器0,1 MOV DPTR,#TAB MOV R1,#00H MOV R2,#00h MOV R3,#40;循環次數40 MOV TL0#2CH;置初值,定時25MS MOV TH0,#0CFH MOV TL1#78H;置初值,定時10MS MOV TH1,#0ECH CLR TR0;關定時器 CLR TR1;***********************************************************;暫停鍵K3,快加鍵K4程序 ;*********************************************************** HERE:JB P1.0,HERE SHOW: CLR TR1 CLR TR0 ACALL XIANSHI KUAIJIA :JB P1.2,KUAIJIA;等待P1.2為0 快加 CLR TR0 SETB TR1 HERE 3JNB P1.2,HERE 3 AJMP HERE;***********************************************************;外部中斷INT0子程序-----計時按鍵K1子程序 ;*********************************************************** ZHONGDUAN 0: SETB TR0;計時按鍵 RETI;***********************************************************;外部中斷INT1子程序----復位按鍵K2子程序 ;*********************************************************** ZHONGDUAN 1: CLR TR0;復位按鍵 CLR TR1 MOV 12H,#00H MOV 11H,#00H ACALL XIANSHI;調用顯示子程序 MOV R1,#00H MOV R2,#00H RETI;***********************************************************;加一子程序 ;*********************************************************** JIA1: INC R1;加1子程序 CJNE R1,#0AH ,LOOP;判斷是否到表尾 MOV R1,#00H INC R2 CJNE R2,#0AH,LOOP MOV R2,#00H LOOP: MOV 12H,R1;重新賦值 MOV 11H,R2 RET;***********************************************************;顯示子程序 ;*********************************************************** XIANSHI: MOV R7,#02H;2個數碼管顯示子程序 MOV R0,#12H LOOP5: MOV R6,#08H;8位2進制數 MOV A,@R0 MOVC A,@A+DPTR LOOP6: RLC A;循環左移 CLR P3.1 MOV P3.0,c SETB P3.1 DJNZ R6,LOOP6 DEC R0 DJNZ R7,LOOP5 RET;***********************************************************;定時器T0子程序;*********************************************************** YANSHI: MOV Tl0,#2CH;定時子程序 MOV TH0,#0CFH DJNZ R3,LOOP7 ACALL JIA1;調用加1子程序 ACALL XIANSHI;調用顯示子程序 MOV R3,#40 LOOP7: RETI;***********************************************************;定時器T1子程序 ;*********************************************************** DINGSHI1:MOV Tl1,#78H;置初值,定時10MS MOV TH1,#0ECH CLR TR0 SETB TR1 MOV 12H ,R1 MOV 11H,R2 JNB p1.0,SHOW ACALL JIA1 ACALL XIANSHI LOP7:TETI;*********************************************************** TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 八,內容提要 利用單片機的定時器/計數器定時和記數的原理,結合dvcc實驗箱上的集成電路芯片8032、LED數碼管以及實驗箱上的按鍵來設計計時器。將軟、硬件有機地結合起來,使得系統能夠正確地進行計時,數碼管能夠正確地顯示時間。其中本設計了四個開關按鍵:其中一個按鍵按下去時以1秒加一開始計時,即秒表開始鍵(本實驗中當開關從1變為0時開始計時),另一個按鍵按下去時暫停計時,使秒表停留在原先的計時(本實驗中當相應開關從1變為0時即停止計時),第三個按鍵按下去時清0(本實驗中當相應開關從1變為0時即停止計時),第四按鍵按下去則是以每10ms秒快速加一計時(本實驗中當開關從1變為0時開始計時)。本設計中開始時都要使各按鍵回到各初始位置,即都處于1狀態。 九,課程設計心得體會 選擇適當的課題,不益太簡單或者太難。做到既能把課題完成又能鍛煉自己的能力!根據課題要求,復習相關的知識,查詢相關的資料。根據實驗條件,找到適合的方案,找到需要的元器件及工具,準備實驗。根據課程設計的要求和自己所要增加的功能寫好程序流程圖,在程序流程圖的基礎上,根據芯片的功能寫出相應的程序。然后再進行程序調試和相應的修改,以達到能夠實現所要求的功能的目的。還要根據實驗的實際情況,添加些額外程序來使系統更加的穩定,如開關的消震蕩(采用延遲)。程序要盡量做到由各個子程序組成,在有些程序后面最好加注釋,這樣在程序出錯的檢查過程中可以更容易查找的到,也更簡潔,更明白易懂。該設計的程序可以參考DVCC系列單片機微機仿真實驗系統實驗指導書中的串并轉換實驗,也可自己根據自己熟悉的方法來編程。在設計控制開關時,注意2個中斷的打開和關閉的先后順序,否則就會出錯。這次的單片機課程設計重點是理論與實際的相結合。不再只讀書了。該設計從頭到尾都要自己參與,熟悉了對整個設計的過程,更系統的鍛煉了自己。 十、參考文獻 蘇家健等編的《單片機原理及應用技術》 高等教育出版社 2004年11月 余錫存等,《單片機原理及接口技術》 西安電子科技大學出版社 2004 孫涵芳等 《單片機原理及應用》 北京航空航天大學出版社 1990 吳金戌等 《8051電片機的實踐與應用》 清華大學出版社第四篇:單片機課程論文設計-電子鐘課程設計
第五篇:單片機課程設計秒表系統設計