真人一对一直播,chinese极品人妻videos,青草社区,亚洲影院丰满少妇中文字幕无码

0
首頁 精品范文 單片機最小系統(tǒng)

單片機最小系統(tǒng)

時間:2023-05-29 17:43:51

開篇:寫作不僅是一種記錄,更是一種創(chuàng)造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇單片機最小系統(tǒng),希望這些內容能成為您創(chuàng)作過程中的良師益友,陪伴您不斷探索和進步。

單片機最小系統(tǒng)

第1篇

關鍵詞: 單片機最小系統(tǒng); C語言

中圖分類號: TN42 文獻標識碼: A 文章編號: 1009-8631(2012)09-0091-02

一、系統(tǒng)特點

本系統(tǒng)設計是使用AT89S52進行設計,使用C語言進行編程。

AT89S52是一個低功耗集成塊,8位CMOS工藝處理器,具有8K在線可編程FLASH存儲器。作為這次設計的核心部分,對它進行擴展。

為了對最小系統(tǒng)進行檢查,設計是增加了記數(shù)這個功能,為了方便程序下載,在實際使用的過程中,增加了下載接口。系統(tǒng)可實現(xiàn)的功能有:(1)4×4鍵盤;(2)LED顯示;(3)報警;(4)串行通信;(5)記數(shù)。

二、功能實現(xiàn)

(一)4×4鍵盤

鍵盤是這個系統(tǒng)的關鍵部分,用它可以實現(xiàn)數(shù)字的輸入和命令的輸入,是單片機實現(xiàn)人機交換的最主要的設備,因此鍵盤是關鍵。

矩陣鍵盤是最常用的鍵盤,一般情況下可以用逐行掃描法來實現(xiàn)這種鍵盤功能。一般先通過輸出端口在所有的行線上發(fā)出全掃描信號,然后檢查輸入端口的列線信號是否全為“1”,是“1”則表示無鍵按下,若不全為“1”,這是還不能確定按下的鍵是屬于那一行的。再次,再用逐行掃描來確定鍵的位置。先掃描第0行,即輸出1100,然后讀入列信號,判斷是否去全為“1”,是“1”則表示無鍵按下,若不全為“1”,則表示有鍵按下,閉合的位置處于第0行與不為“1”的列線的相交處。以次類推,最終找到哪個鍵閉合。找到閉合鍵后,通過其所對應的行值和列值,用特定的方法就可以得到閉合鍵的特征值。流程圖如圖1所示。

程序如下:

#include

#include

#include

#include

void key_scan(void);

void delay10ms(void);

void alarm(void);

void display(void);

void receieve(void);

void send(void);

void counter(void);

unsigned char code table[]={

0xC0,0xF9,0xA4,0xB0,0x99, //0~4

0x92,0x82,0xF8,0x80,0x90, //5~9

0x88,0x83,0xA7,0xA1,0x86,0x8E};//a-f

void main(void)

{void key_scan(void)//鍵盤掃描

{unsigned char idata temp,hangxuan;

unsigned int idata i,j;

temp=P1;

temp&=0xf0;

if(temp!=0xf0)

{delay10ms();

temp=P1;

temp&=0xf0;

if(temp!=0xf0)

{hangxuan=0x01;

for(i=0;i

{P1=~(1

for(j=0;j

{temp=P1;

temp&=0xf0;

switch(temp) {case

0xe0:keyvalue=i*4+0;break;

case 0xd0:keyvalue=i*4+1;break;

case 0xb0:keyvalue=i*4+2;break;

case 0x70:keyvalue=i*4+3;break;}

break; }

led[4]=led[3]; //使四位

LED可以滾動顯示

led[3]=led[2];

led[2]=led[1];

led[1]=led[0];

led[0]=keyvalue;

display(); //調用顯示

}}}}}

(二)LED顯示

其實在鍵盤中就已經使用了顯示程序,就是把有信息顯示在4個LED上面。一般通過查表來實現(xiàn)。

程序如下;

void display(void)//顯示

{unsigned int i;

unsigned char weixuan=0x01;

for(i=0;i

{P0=table[led[i]];

P2=~(1

delay10ms();

(三)報警

所謂報警就是在需要的時候使單片機的電路可以發(fā)出聲音來報警。

這里用的是一個三極管和一個蜂鳴器,并利用一個I/O口驅動它們。在需要的時候向該I/O口寫入1使其導通,就可以發(fā)出聲音。 程序如下:

void alarm(void)//報警

{delay10ms();

P3=0X10; //P3.4

delay10ms();

P3=0x00; //P3.4

}

(四)串口通信

AT89S52內部具有兩個串行口,可同時發(fā)送和接收數(shù)據。它有四種工作方式,可供不同場合使用,波特率由軟件設置。接收和發(fā)送可用查詢或中斷方式,使用非常靈活。這里我們?yōu)榱颂岣逤PU的效率,接收數(shù)據采用中斷方式,發(fā)送數(shù)據采用查詢方式。

程序如下:

TMOD=0X20;//計數(shù)器工作方式2

TL1=0XFD;//波特率 9600

TH1=0XFD;

TR1=1;//

SCON=0X50;//

EA=1;//中斷

void send(void)//串行發(fā)送

{if(TI!=0)

{ TI=0;

SBUF=led[0];

display(); }}

/****************************************************/

void receive(void) interrupt 4 using 3//串行接收

{unsigned int i;

if(RI!=0)

{RI=0;

led[0]=SBUF;

for(i=0;i

{led[i+1]=led[i];

display()}

(五)記數(shù)

記數(shù)就是利用單片機內部的定時/計數(shù)器產生記數(shù),并把它們的結果在LED上顯示出來。流程圖如圖2。

程序如下:

void counter(void)//記數(shù)

{for(;keyvalue=0,led[0]=0,led[1]=0,led[2]=0,led[3]=0;keyvalue++)

{ if(keyvalue=='0')

{led[0]=led[0]+1;

delay10ms(); }

else if(led[0]=='0')

{led[1]=led[1]+1;

delay10ms(); }

else if(led[1]=='0')

{ led[2]=led[2]+1;

delay10ms();}

else if(led[2]=='0')

{ keyvalue='0';

led[0]='0';

led[1]='0';

led[2]='0'; }

else

; } //分號不能省略

三、總程序

總程序就是把以上的幾個子程序進行組合,使它們實現(xiàn)應有的功能。有兩種方式可以實現(xiàn)這種功能。

1.單任務系統(tǒng):它是在把其他程序嵌套在鍵盤掃描程序中。

2.多任務系統(tǒng):鍵盤掃描和其他程序是并行的。

這里才用第二種。流程圖如圖3;總體電路圖如圖4。

總程序如:

參考文獻:

[1] 徐泳龍.單片機原理及應用[M].北京:機械工業(yè)出版社,2004.

[2] 成都木,馬科技.單片機原理及應用[M].北京:北京希望電子出版社,2000.

[3] 王福瑞.單片微機測控系統(tǒng)設計大全[M].北京:北京航天大學出版社,1998.

第2篇

關鍵詞:智能充電器;自主選擇;保護;單片機控制

一、引言

本文選用AT89S51單片機作為控制芯片,設計了智能充電器系統(tǒng)。該系統(tǒng)經過測試,具有一定的穩(wěn)定性,并且可以根據用戶需要進行自主選擇充電方式,而且在充電過程中能對被充電電池進行保護從而防止過電壓。

二、智能充電器的發(fā)展

電池充電是通過逆向化學反應將能量存儲到化學系統(tǒng)里實現(xiàn)的,由于使用的化學物質的不同,電池的特性也不同,其充電的方式也不大一樣。現(xiàn)代的快速充電器( 即電池可以在小于3 個小時的時間里充滿電,通常是一個小時) 需要能夠對單元電壓、充電電流和電池溫度進行精確地測量,在充滿電的同時避免由于過充電造成的損壞。

鋰電池具有較高的能量密度,與其它電池相比具有體積小、重量輕等優(yōu)勢,但對保護電路要求較高。在電池的使用過程中,需要嚴格避免出現(xiàn)過充、過放電現(xiàn)象,通常鋰離子電池充電方式為恒流-恒壓方式。為保證安全充電,一般通過檢測充電電池的電壓來判斷電池是否充滿,除電壓檢測外還需采用其它的輔助方法作為防止過充的后備措施,如檢測電池溫度、限定充電時間等輔助方法。

三、智能充電器原理

設計的充電器具有檢測鎳氫電池的狀態(tài),自動切換電路組態(tài)以滿足充電電池的充電需要。充電器短路保護功能,以恒壓充電方式進入維護充電模,充電狀態(tài)顯示的功能。根據系統(tǒng)的需要設計了以89c51為主芯片的電源供電系統(tǒng),鍵盤模塊采用了行列掃描的4*4鍵盤,顯示模塊采用了4位7段數(shù)碼管,溫度控制模塊采用發(fā)光二極管代替,軟件部分主要設計了以C語言為開發(fā)工具。進行了詳細設計和編碼。

在操作過程中,首先按復位鍵初始化,然后調節(jié)LED以及各個硬件。接著按鍵1加電壓,然后按鍵2減電壓,直到達到對充電電池準確的電壓為止,最后返回。

三、智能充電器顯示部分程序的設計

為了節(jié)省開發(fā)成本,系統(tǒng)使用的是LED數(shù)碼管顯示器。為了使系統(tǒng)便于調試,最終采用了動態(tài)掃描顯示方式的方案。LED數(shù)碼管顯示部分電路如圖1所示。

圖1 LED數(shù)碼管顯示電路原理圖

LED數(shù)碼管顯示塊是一種常用的顯示器件,由發(fā)光二極管構成顯示字段。在微機應用系統(tǒng)中通常使用的是七段LED。七段LED顯示塊中有8個發(fā)光二極管,故也稱八段顯示器,其中7個發(fā)光二極管構成七筆字形“8”,1個發(fā)光二極管構成小數(shù)點。七段LED顯示塊與微機接口非常容易,只要將1個8位并行輸出口與顯示塊的發(fā)光二極管引腳相連即可,8位并行輸出口輸出不同的字節(jié)數(shù)據即可獲得不同的數(shù)字或字符。一般1個七段LED顯示塊可顯示的內容有限。

從圖1中可以看到,本設計使用的是共陽型四位一體的七段LED數(shù)碼管顯示塊。因為在與單片機連接時,單片機的通用輸出端口無法給LED數(shù)碼管足夠的驅動電流,所以本設計給出了一種簡單的驅動電路。此驅動電路使用的是市面上價格便宜的PNP型三極管,型號為S8550。LED數(shù)碼管顯示系統(tǒng)的段選端與單片機的P0口連接,位選端連接驅動電路后,與單片機P2口的低4位連接。

硬件電路設計是整個系統(tǒng)最關鍵部分,硬件電路主要包括單片機控制電路,保護電路,輸出電路等。

四、單片機最小系統(tǒng)電路的設計

單片機的最小系統(tǒng),又可以稱為最小應用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。對于51系列單片機來說,最小系統(tǒng)一般應包括:復位電路、晶振電路、單片機。STC89C52單片機最小系統(tǒng)圖見圖2。

圖2 STC89C52單片機最小系統(tǒng)圖

復位電路:是由電容串聯(lián)電阻構成的,當系統(tǒng)一上電的時候,RST腳就會出現(xiàn)高電平,高電平持續(xù)的時候是由電路的RC值的大小確定的,當RST腳的高電平出現(xiàn)兩個機器周期以上就會執(zhí)行復位操作。本系統(tǒng)設計中,當程序運行不正常或者停止運行時,系統(tǒng)就要進行復位操作。

晶振電路:典型的晶振取值為11.0592MHz,晶振周期就是(1/11.0592)μs。在正常工作的情況下可以采用更高頻率的晶振,51單片機最小系統(tǒng)晶振的振蕩頻率直接影響單片機的處理速度,頻率越大處理速度越快。

在STC89C52單片機最小系統(tǒng)中,RST引腳是復位信號的輸入端,復位信號是高電平有效,其有效時間維持在兩個機器周期以上。X1和X2兩個引腳為芯片內部振蕩電路的輸入端與輸出端,在X1、X2 的引腳上外接定時元件(一個石英晶體和兩個電容),內部振蕩器便能產生自激振蕩。

在設計過程中,力求硬件線路簡單,充分發(fā)揮軟件在編程方面靈活的特點,來滿足系統(tǒng)設計的要求。本設計實現(xiàn)了低功耗、低價格,提高了系統(tǒng)的可靠性和可擴展性。

參考文獻

[1] 張道德.單片機接口技術.第一版.中國水利水電出版社,2007.

[2] 閻石.數(shù)字電子技術基礎[M].北京:高等教育出版社,1998.

第3篇

關鍵詞:單片機;流水燈;教學改革

作者簡介:王學惠(1974-),女,黑龍江友誼人,黑龍江科技學院機械學院,副教授;劉元林(1970-),男,山東平陰人,黑龍江科技學院機械學院,教授。(黑龍江?哈爾濱?150027)

基金項目:本文系黑龍江省高等教育學會“十二五”課題(編號:HGJXHB2 110872、HGJXHB1 110856)的研究成果。

中圖分類號:G642.0?????文獻標識碼:A?????文章編號:1007-0079(2012)28-0050-01

“單片機原理及應用”是機械工程專業(yè)的一門專業(yè)平臺課,課程內容側重于實際應用。該課程的教學對象是機械工程專業(yè)的學生,他們已具備一定的電工學和計算機及控制理論知識,教學上應以單片機結構及應用設計為主,使學生通過本課程的學習,具備獨立設計單片機測控系統(tǒng)的能力,能對單片機的組成原理和結構有比較深刻的理解,基本掌握單片機應用系統(tǒng)設計方法,可靈活地使用芯片構成單片機應用系統(tǒng),具備單片機硬件設計和軟件編程能力。

為了在現(xiàn)有的學時中盡快引導學生入門,使其在理論分析與實踐兩個方面的能力都有所提高,教師從課程內容體系安排和考核方式等方面進行了一定的探索和研究。

一、“單片機原理及應用”課程教學的現(xiàn)狀及存在問題分析

“單片機原理及應用”是一門理論與實踐聯(lián)系非常緊密的課程,目前的課程教學包括理論和實踐教學兩部分。下面就從理論和實踐教學兩個方面入手,分析目前單片機課程教學的現(xiàn)狀及存在的問題。

1.理論教學現(xiàn)狀及存在問題

理論教學是單片機課程教學的重要組成部分,也是實踐教學的基礎。目前理論教學主要依賴于課堂教學,傳統(tǒng)的理論教學主要依賴于黑板教學。計算機技術的發(fā)展和多媒體技術在教學中的廣泛應用,在一定程度上提高了課堂教學的效果。另外,啟發(fā)式、講授式等多種教學方法以及圖片、動畫、視頻等手段在多媒體課件中的應用,有效地提高了學生對理論知識的理解。但是,就教學效果而言,學生學到的只是單片機的理論,而且學習手段單一,枯燥,致使學生學得吃力,老師教得辛苦,教學效果也沒有顯現(xiàn)出來。學生不知道其所以然,自然也不知道單片機到底是如何工作,如何實現(xiàn)系統(tǒng)控制的,致使學生學習興趣不濃。沒有實踐的支撐,理論的教學就達不到預期的效果,自然理論也不能指導實踐。

2.實踐教學現(xiàn)狀及存在問題

目前的實踐教學主要形式為課內實驗,偏重于做一些常規(guī)的驗證性、認識性實驗,綜合性、設計性實踐環(huán)節(jié)較少,嚴重影響學生的動手實踐能力,不能很好地發(fā)揮學生自主學習的潛力,就業(yè)競爭優(yōu)勢不明顯。[1]實驗課的教學采用實驗箱,進行實驗時,學生只要對硬件按照實驗說明進行簡單連線就可以完成,并不清楚原理。[2]這種方法對學生而言,大量的概念都是第一次接觸,而且抽象,沒有感性認識,往往不能充分理解理論知識,沒有創(chuàng)新性,沒有問題的提出,激發(fā)不了學生的學習興趣。

從以上現(xiàn)狀及存在問題可看出,該課程教學的主要矛盾點在于理論和實踐教學相脫節(jié),理論教學單純學理論知識;實踐教學浮于形式,只演示一遍而已,不利于學生實踐技能的培養(yǎng),更談不上工程應用能力的培養(yǎng),不利于培養(yǎng)目標的實現(xiàn)。理論教學缺乏實踐的支撐和驗證,使得理論教學無的放矢。實踐教學也不能對理論教學起到很好的推進作用,最有效的方法是改革現(xiàn)有的課程教學體系,在實踐教學中學習理論知識,加深對理論知識的理解和運用,使得理論教學有的放矢。采用理論和實踐教學有機結合的方法,有利于提高學生的工程應用能力。

二、課程教學內容體系改革

本課程主要講述MCS-51系列單片機的硬件結構、組成原理和指令系統(tǒng),并結合實例,重點介紹單片機應用系統(tǒng)的設計方法。對于實踐性、應用性很強的機械專業(yè)課程來講,實踐教學系統(tǒng)是關鍵環(huán)節(jié)。[3]

1.課程教學內容的制定

課堂教學是實踐教學體系中最重要的環(huán)節(jié),其質量的好壞直接影響學生的學習態(tài)度與學習效果。[4]課程理論教學內容分為基本內容教學和擴展內容教學兩部分。在基本內容教學中以流水燈為課程主線,將最小系統(tǒng)、基本指令、中斷、定時器等內容融會到這個主線當中,以實際制作的流水燈為依托,不改變硬件結構,采用不同的方法實現(xiàn)燈的流水過程,從而深入淺出地把復雜的理論應用到具體的實踐中。擴展內容教學主要是在基本教學內容的基礎上,擴展芯片(如A/D、D/A、顯示及鍵盤等芯片)構成單片機應用系統(tǒng)。

2.實作部分內容安排

黑龍江科技學院應用型本科人才培養(yǎng)的目標是培養(yǎng)學生的工程實踐能力,能夠動手制作單片機應用系統(tǒng)是單片機原理及應用課程所期望達到的培養(yǎng)目標。為實現(xiàn)這一目標,針對單片機這門實踐性很強的課程,必須構建以實踐為主線的課程教學體系,提高實踐環(huán)節(jié)在課程中的比重,尤其是實際用單片機制作完成一個系統(tǒng),使學生在教中學,學中作,以作促學。

通過具體的實物制作,激發(fā)學生的興趣,使學生能夠真正體會到學習的樂趣。結合理論教學的內容,實作也分成兩個部分,一部分是以單片機為基礎的流水燈制作,另外一部分是以單片機為基礎的擴展制作。學生在熟練掌握基本技能的基礎上,以完成自選、綜合設計性內容為目的,教師引導學生自行選題、自主設計實作過程、自我選配實驗器材。[5]

三、教學改革的具體實施

第4篇

關鍵詞:單片機;電加熱;道岔除雪

前言:冬季降雪,特別是大(暴)雪災害天氣,給鐵路運輸安全、暢通帶來極大困難。道岔積雪和結冰,將導致道岔轉換不良、進路不能鎖閉、信號不能開放,由此引發(fā)的車站咽喉堵塞、列車受阻運行晚點以及職工傷害的危險因素增多,一瞬間的疏忽就可能造成事故。因此做好除雪保暢通工作,直接關系著鐵路運輸安全正點和平穩(wěn)有序,必須予以高度重視。

一、電加熱融雪法概況

電加熱融雪法,就是在道岔上安裝加熱裝置,使用前啟動加熱裝置,融化道岔部位的積雪,目前在一些高速鐵路和一些樞紐的關健道岔上使用。道岔融雪系統(tǒng)由控制中心、控制柜、環(huán)境監(jiān)測裝置、電加熱元件、隔離變壓器、連接線纜和通道組成,適用于各種類型道岔融雪的需要,當發(fā)生降雪或溫度變化時,系統(tǒng)可自動啟動電加熱融雪電路,并且根據電加熱系統(tǒng)類型的不同,采取相應的人工設置,保證道岔正常轉換。結構圖如圖1所示。

二、硬件最小系統(tǒng)設計

本系統(tǒng)包括單片機的晶振電路和復位電路。

1、單片機的晶振電路

單片機內部有一個高增益反向放大器,用于構成振蕩器,引腳XTAL1和XTAL2分別是此放大器的輸入和輸出端。在單片機的XTAL1和XTAL2兩端跨接晶體振蕩器X1和X2,就構成了穩(wěn)定的自己振蕩器,其發(fā)出的脈沖直接送入內部時鐘發(fā)生器。電容的值為30pF。為了減少寄生電容,更好地保證振蕩器穩(wěn)定可靠地工作,諧振器和電容應盡可能安裝得愈單片機芯片靠近。

2、復位電路

在由單片機構成的微型計算機系統(tǒng)中,由于單片機的工作會受到來自外界電磁場的干擾,造成程序的跑飛,而陷入死循環(huán)中,所以出于對單片機的運行狀態(tài)進行實時監(jiān)測的考慮,便產生了一種用于監(jiān)測單片機的程序運行狀態(tài)芯片,俗稱“看門狗”。

看門電路的應用,是單片機可以在無人的狀態(tài)下實現(xiàn)連續(xù)工作,其工作原理是:看門狗芯片和單片機的一個I/O引腳相連,這一程序語句是分散的放在單片機其他控制語句中間的,一旦單片機由于干擾造成程序跑飛而陷入某一程序段不進入死循環(huán)狀態(tài)時,些看門狗引腳的程序便不能被執(zhí)行,這個時候,看門狗電路就會由于得不到單片機送來的信號,便在它和單片機復位引腳相連的引腳上送出一個復位信號,使單片機發(fā)生復位,即使程序從程序存儲器的起始位置開始執(zhí)行,這樣實現(xiàn)了單片機的自動復位。

利用計數(shù)器CD4060構成的看門狗的電路CD4060的定時時間數(shù)由C1和R1決定,經Q1分頻后定時產生一個復位脈沖。當系統(tǒng)工作不正常時,看門狗電路就會向系統(tǒng)發(fā)出復位信號。防止系統(tǒng)出現(xiàn)死機等問題。

當RESET從高電平變?yōu)榈碗娖揭院螅瑔纹瑱C從0000H地址開始執(zhí)行程序。在復位有效期間,ALE和/PSEN引腳輸出高電平。

3、最小系統(tǒng)電路圖

如圖2所示,在單片機的XTAL1和XTAL2兩端跨接晶體振蕩器X1和X2,就構成了穩(wěn)定的自己振蕩器,其發(fā)出的脈沖直接送入內部時鐘發(fā)生器,看門狗的RESET引腳與AT89C52的RESET引腳相連,當RESET信號從高電平變?yōu)榈碗娖揭院螅瑔纹瑱C從0000H地址開始執(zhí)行程序。在復位有效期間,ALE引腳和/PSEN引腳輸出高電平。由此,構成了本系統(tǒng)的單片機最小系統(tǒng)。

三、軟件設計流程圖

系統(tǒng)設計時,除了系統(tǒng)硬件設計外,大量的工作就是如何根據每個生產對象的實際需要設計應用程序。因此,軟件設計在微機控制系統(tǒng)設計中占重要地位。對于本系統(tǒng),軟件更為重要。

在單片機控制系統(tǒng)中,大體上可分為數(shù)據處理、過程控制兩個基本類型。數(shù)據處理包括:數(shù)據的采集、數(shù)據檢測等。過程控制程序主要是使單片機按一定的方法進行計算,然后再輸出,以便控制生產。

為了完成上述任務,在進行軟件設計時,通常把整個過程分成若干個部分,每一部分叫做一個模塊。所謂“模塊”,實質上就是所完成一定功能,相對獨立的程序段,這種程序設計方法叫模塊程序設計法。

模塊程序設計法的主要優(yōu)點是:

1、單個模塊比起一個完整的程序易編寫及調試;

2、模塊可以共存,一個模塊可以被多個任務在不同條件下調用;

3、模塊程序允許設計者分割任務和利用已有程序,為設計者提供方便。

本系統(tǒng)軟件采用模塊化結構,由主程序AD子程序、鍵盤子程序、顯示子程序和輸出控制子程序。

第5篇

【關鍵詞】555;多諧振蕩器;單片機;LCD1602

1.引言

在電子儀器、儀表的制造及使用行業(yè),有大量的印刷電路板需要調試、測量與維修[1],需要對電阻電容的數(shù)值進行測試。

本文介紹了一種基于AT89C51單片機和555定時器的數(shù)顯式電阻和電容測量系統(tǒng)設計和仿真,然后制作出電路實物,實現(xiàn)系統(tǒng)的功能。系統(tǒng)利用555定時器和待測電阻(或電容)組成多諧振蕩器,通過單片機定時器測量555輸出信號的周期,根據周期和待測電阻(或電容)的數(shù)學關系再計算出電阻(或電容)值,再通過1602液晶顯示器將其顯示出來。該測量系統(tǒng)具有結構簡單,方便實用等優(yōu)點。

2.設計方案與原理

2.1 設計總方案

整個測量系統(tǒng)由單片機最小系統(tǒng),按鍵,電阻、電容和555組成的多諧振蕩器和液晶顯示等幾個電路模塊組成。如圖1所示。

2.2 多諧振蕩器原理

如圖2所示,測量電容時,利用555和待測電容CX和電阻R1和R2(R1和R2為已知電阻)等組成多諧振蕩器,這樣從555的輸出端Q將輸出周期性方波,接到示波器,如圖2(b)所示。該信號不是一個占空比為50%的方波,根據參考文獻2,一個周期T中高電平時間持續(xù)時間為:

測量電阻時,另用一個555組成一個多諧振蕩器電路,將待測電阻RX接在R1的位置(或者將RX和一個已知電阻串聯(lián)),CX替換成一個已知的電容C。這樣一個周期時間為:

2.3 單片機計時原理

555輸出的周期性方波信號送給單片機進行計時,測量出信號的一個周期時間T,再利用上面的數(shù)學關系進行計算處理,得到待測的電容或者電阻值。單片機計時的原理是:利用單片機的外部中斷0和定時器0。555的輸出信號接到單片機的外部中斷0引腳P3.2,將其設置成下降沿觸發(fā)。當555的輸出信號為下降沿時,觸發(fā)外部中斷,開啟單片機的定時器0開始計時,直到下一次下降沿到達時,即一個周期到達了,停止計時,這時定時器記下的就是一個周期的時間長度。

3.硬件模塊設計

3.1 單片機最小系統(tǒng)

系統(tǒng)核心的控制器采用的是AT89C51單片機,圖3所示為單片機最小系統(tǒng),包括單片機和單片機正常工作需要的晶振電路和復位電路。Proteus中默認單片機電源和地已接好,所以圖中省去了。

3.2 按鍵電路

按鍵電路用于確定是測量電容還是電阻,如圖4所示,采用了一個單刀雙擲按鍵。當按鍵打到上方接通單片機P3.6引腳時,用于測量電容;打到下方P3.7引腳時,用于測量電阻。

3.3 555多諧振蕩器

如圖5所示,利用555和待測電容或者電阻組成多諧振蕩器,555產生的周期性方波從Q引腳輸出,然后接至單片機的外部中斷INT0引腳[3],即P3.2引腳。測量時,兩電路只有一個接至單片機,分別用于測量電容和電阻。

3.4 液晶顯示電路

測量的結果要顯示出來,本系統(tǒng)采用LCD 1602作為顯示器,圖6為LCD1602和單片機的連接電路,P0口接了上拉電阻,作為數(shù)據口;P2口的前3位作為讀寫和使能的控制引腳。

4.軟件設計

系統(tǒng)軟件流程圖如7所示。接通電源,首先是初始化工作,包括定時器T0、外部中斷0和LCD1602的初始化。然后啟動555芯片,通過單片機判斷是否有中斷請求,若無的話,繼續(xù)等待中斷請求;若有的話,啟動定時器開始計時直到有中斷請求時停止計時。得到計時值,即555輸出信號的一個周期后,判斷是測量電阻還是測量電容。判斷后將電阻或者電容值由LCD1602顯示出來。

5.仿真結果

將上述各電路模塊整合到一起,組成一個測量系統(tǒng)。采用Keil編寫好程序無誤后,在Proteus中進行電路仿真。分別測量一個50kΩ電阻和一個150μF電容的仿真結果如圖8所示。從中可以看出,測量有一定的誤差,這主要是因為采用前面公式計算時取了近似值。仿真通過后,按照仿真電路,購買需要的元器件,制作出實物電路。

6.結束語

本文介紹了一種基于555定時器和單片機的電阻和電容測量系統(tǒng)設計。在系統(tǒng)的設計和仿真中,是以Keil和Proteus兩種軟件為平臺。在Keil中使用C語言編寫了程序,再利用Proteus仿真了系統(tǒng)電路的功能。該測量電路簡單可靠,較易實現(xiàn),能夠測量一定范圍內的電阻和電容值。

參考文獻

[1]任曉虹,周啟炎.一種電阻電容測量電路的設計[J].沈陽工業(yè)學院學報,2002,21(1).

[2]康華光.電子技術基礎(數(shù)字部分第五版)[M].高等教育出版社,2008,12.

第6篇

關鍵詞:單片機;液晶顯示器;設計與分析

DOI:10.16640/ki.37-1222/t.2017.14.205

0 前言

這些年來中國計算機無論從硬件應用上或是軟件系統(tǒng)設計也開發(fā)開上都有了不同程度的進步。有力的推進了主體為相關電子元件的銷售行業(yè)。而現(xiàn)今基于單片機所進行的液晶顯示器方面的設計,雖然在大環(huán)境影響下有了一定的發(fā)展,但是還是因內部資源的相關存儲以及數(shù)據方面處理的速度有一定的制約性,又因單片機價錢便宜而且適用的范圍也很廣泛的的特點也是受到了相關設計者的廣泛使用。而單片機作為于液晶顯示器設計的相關方式與方法還是有所進步的,所以下文主要分析基于單片機的液晶顯示器設計,再根據相關的硬件系統(tǒng)的設計,針對液晶顯示和時鐘以及溫度的采集等等實際性的設計進行詳細的分析,希望可以為液晶顯示器的整體提供具有參考價值的文獻。具體內容如下:

1 相關設計硬件所進行的分析

基于單片機的液晶顯示器設計在系統(tǒng)硬件的各電路中,主要組成大體上有含單片機的最小系統(tǒng)以及液晶顯示器內部電路和設置方面的電路以及時鐘與溫度采集所使用的電路等。

(1)分析單片機的最小系統(tǒng)設計原理。組成單片機的最小系統(tǒng)一般有外部晶振以及電源與復位相關的電路等,在它們共同的作用下才能確保單片機系統(tǒng)可以正常的運轉進而控制整體的系統(tǒng)。分析芯片的相關溫度數(shù)據可以看出,在進行讀取或者是寫入芯片的數(shù)據時,顯示的是日歷以及時鐘的數(shù)據等,再使用程序進行檢驗是否使用按鍵或其他操作。然后就可以在顯示的驅動芯片中進行數(shù)據的寫入,從而液晶顯示器的屏幕就可以把相關內容顯示了。

(2)分析液晶顯示器內部電路設計。現(xiàn)今液晶顯示器所使用的芯片有很多種,并且可以支持320×240(QVGA)等等的實際分辨率,而在顯示器內部進行安置173kB的RAM,就可以顯示高達26萬色。接口方式可以選擇8或是9或是16或是18位i80的系統(tǒng)全為總線,SPI總線以及RGB與VSYNC等的接口。一般會用總線式接口的電路代替外部數(shù)據存儲器進行液晶顯示器設計。

(3)分析時鐘顯示的電路設計。時鐘顯示的電路設計一般都是DS1302芯片來構成也是充電時鐘芯片,其內一般有實時時鐘以及日歷和31字節(jié)的靜態(tài)RAM,再運用不同的單片機進行接口方面的通信。運用芯片進行秒分時以及日月年等詳細時間信息的獲取,并按實際每月天數(shù)(閏年也可以計算實際天數(shù))進行不同類型的計算而消耗的功量低。

(4)分析溫度采集所使用的電路設計。芯片電路的設計大多很簡單相對來說體積也小,所以組成測溫系統(tǒng)的相關線路也簡單,只需采用簡單通信線將多個DS18B20數(shù)字的溫度計連接即可,這樣一個端口完成所有數(shù)據讀取與寫入,每個芯片只有唯一一個序列號且可以掛多個芯片。需要注意的是在進行實際設計中,控制實際數(shù)字溫度計的溫度在-55℃到125℃的范圍之間并設定告警的溫度值,分辨率需設為9到12位。這樣芯片就會和實際使用的單片機進行電路連接。

(5)分析電路設置的相關原理。電路設置的相關原理是把日期時間與實際情況進行數(shù)據同步便于用戶使用。在基于單片機的液晶顯示器進行設計進,按鍵可設為進行主要內容的修改,這樣就可以實現(xiàn)自動性的調整系統(tǒng)時間。第一次設置在結束后可按第二個鍵,時鐘就可繼續(xù)運行同時指示符消失,需要注意在進入調節(jié)狀態(tài)時按下+或-按鈕否則沒效果。

2 相關設計軟件系統(tǒng)所進行的分析

設計軟件系統(tǒng)通常運用顯示的子程序以及DS1302芯片的子程序和DS8B20芯片的子程序,而按鍵處理的主程序也是包括子程序的。按鍵所進行處理主程序一般為設備初始化設置,運用鍵盤的掃描程序以及時間溫度各數(shù)據的顯示,然后才能調用顯示子程序。注意一般會有時間的間隔。

(1)軟件系統(tǒng)的主程序進行的設計。在主程序初始化結束后,先進行鍵盤掃描程度,這樣就可以讀取芯片數(shù)據以及程序內容。

(2)軟件系統(tǒng)在顯示程序上所進行的設計。軟件系統(tǒng)在顯示程序上所進行的設計一般是很難的,其一,通常顯示的驅動芯片中的寄存器很復雜,一般初始化后也會被別的程序使用,要注意在進行數(shù)據寫入時確定范圍。其二,在顯示器的屏幕上可手動輸放內容。再運用軟件處理成圖片取模,通過不同的索引進行判斷。

(3)軟件系統(tǒng)中子程序以及按鍵處理的子程序所進行的設計。實際子程序中時鐘與日期芯片會自定義進行讀取與寫入數(shù)據的,并運用數(shù)據函數(shù)調用芯片中實際日期與時間函數(shù)進行處理。然后運用鍵盤進行程序掃描確保實際讀取的函數(shù)可使用。

(4)軟件系統(tǒng)中芯片的子程序所進行的設計。溫度采集芯片在進行工作的過程中,要按不同流程進行秩序性工作。芯片總體初始化后進行ROM操作,當存儲器進行操作指令發(fā)出后才可讀取溫度數(shù)據。

3 結束語

綜上所述,上文主要分析了基于單片機的液晶顯示器設計方面的相關內容,細節(jié)上針對液晶顯示器設計的相關日期時間和溫度變化相關顯示情況進行研究。再運用硬件進行系統(tǒng)設計,從而設計出最小系統(tǒng)和液晶顯示器以及時鐘與溫度采和電路設置等等方面的分析,同時也從相關軟件的系統(tǒng)設計進行全面的分析,其中有主程序的設計以及系統(tǒng)顯示的子程序方面的設計和芯片的子程序所進行的設計等等方面闡述了液晶顯示器整體設計的過程。不但可以基于單片機進行液晶顯示器的設計,同時也滿足了液晶顯示器未來發(fā)展的趨勢。

參考文獻:

[1]許思達.基于51單片機的TFT液晶顯示設計[J].電子元器件應用,2010.

[2]樓然苗.51系列單片機設計實例[M].北京:北京航空航天大學出版社,2003.

第7篇

關鍵詞:51單片機;仿真實驗系統(tǒng);Proteus軟件

中圖分類號:TP391.9

隨著電子技術的迅猛發(fā)展,單片機在工業(yè)控制、電子消費、醫(yī)療器械等方面得到了廣泛應用[1]。目前各個高校電子類專業(yè)都設有單片機應用課程,傳統(tǒng)的單片機實驗都是采用硬件實驗箱或實驗板方式[2]。這種方式往往還需要配套的儀器設備才能進行相關的實驗,不僅資金投入大,實驗項目有限,還使學習者的思維受限于具體的硬件實驗環(huán)境,禁錮了學習者的創(chuàng)造性思維和挫傷了學習者的學習興趣[3]。為了解決這個問題,特引入Proteus軟件。Proteus軟件是英國Labcenter electronics公司研發(fā)的電路分析與實物仿真軟件,具有近20年的歷史,是目前最好的單片機及器件的仿真工具[4]。利用該軟件,既能節(jié)省大量實驗設備購買和維護資金,又能突破現(xiàn)有實驗設備電路結構的束縛,從而鍛煉學生的創(chuàng)新能力和實踐動手能力。下面首先以Proteus軟件為平臺設計一個51單片機仿真實驗系統(tǒng),然后用一個實例來說明該系統(tǒng)用于單片機實驗教學的具體過程。

1 系統(tǒng)設計

本文以Proteus 7.5 SP3以上版本軟件為平臺,結合現(xiàn)有單片機實驗箱電路結構,設計出一個51單片機仿真實驗系統(tǒng)。該系統(tǒng)總體框圖如圖1所示。

圖1 系統(tǒng)總體框圖

整個仿真實驗系統(tǒng)是以51單片機最小系統(tǒng)為核心。在其配有其他電路單元,主要包括:

(1)人機交互電路。其中輸入電路是邏輯電平開關和矩陣式鍵盤,輸出電路包括液晶顯示、數(shù)碼管顯示、發(fā)光二極管和16*16LED點陣。

(2)常用接口電路。包括8255并口擴展、8155并口擴展、8253定時/計數(shù)、模數(shù)轉換、數(shù)模轉換、串并轉換、鎖存輸出和緩沖輸入。

(3)測量控制電路。包括溫度測量、直流電機、步進電機和繼電器。

(4)其他輔助電路。包括RS-232串口、138譯碼、393分頻、存儲器、02門電路和32門電路。

2 系統(tǒng)應用

上述51單片機仿真實驗系統(tǒng)設計出來以后,可直接用于單片機實驗教學,下面以“1602液晶顯示電子琴實驗”為例說明具體仿真過程。實驗要求初始時在1602液晶顯示器第一行顯示Dian Zi Qin,當按下8155并口擴展單元的3*3鍵盤中任何一個鍵時,在1602液晶顯示器的第二行從左往右循環(huán)顯示所按鍵的鍵值(0-8),按鍵同時通過揚聲器發(fā)出與鍵值對應的音調,即0鍵對應低音7,1-7鍵對應中音1-7,8鍵對應高音1。

2.1 實驗電路結構

該實驗電路的核心是AT89C51單片機最小系統(tǒng),其是138譯碼器、8155并口擴展、3*3矩陣式鍵盤、液晶使能信號產生、1602液晶顯示和揚聲器這六個電路單元,具體實驗電路結構如圖2所示。分別說明如下:

(1)AT89C51單片機最小系統(tǒng)包括1片AT89C51單片機、1片74LS273鎖存器、1個8路排阻和1個74LS02或非門。74LS273鎖存器作為低8位地址鎖存器,輸入端接單片機P0口,8路排阻作為P0口外接上拉電阻使用,單片機ALE信號通過或非門反相后接鎖存器CLK端。

(2)138譯碼單元包含1片74LS138譯碼器和1個74LS02或非門。其中74LS138的Y3輸出端接液晶使能信號產生電路。

(3)8155并口擴展芯片地址/數(shù)據總線接單片機P0口,其PB口、PC口的一部分連接矩陣式鍵盤,PA口、PB口一部分控制1602液晶顯示。

(4)3*3矩陣式鍵盤的三根行線接8155的PC口低三位,三根列線接PB口低三位。

(5)液晶使能信號產生電路由兩個74LS02或非門和一個74LS32或門構成,用于產生1602使能信號E。

(6)1602液晶顯示的數(shù)據端接單片機P0口,RS和RW信號分別由8155的PB3和PA7控制。

(7)揚聲器由單片機P3.0腳進行控制。

圖2 實驗電路結構圖

2.2 實驗程序流程

程序編寫采用Keil uVision4軟件和C51語言,主程序流程如圖3所示。其中8155初始化為PA口和PB口輸出、PC口輸入,定時器T0設置為方式0并開中斷。在鍵盤掃描函數(shù)中,當按下鍵以后,由定時器中斷產生對應音調,由按鍵時間控制節(jié)拍。

圖3 實驗主程序流程圖

2.3 實驗仿真結果

在Proteus軟件中完成電路原理圖設計,并在Keil軟件中編程、編譯并生成HEX文件后。然后在Proteus軟件中雙擊單片機,在出現(xiàn)的對話框中的Program File項加入HEX文件點擊OK按鈕加載。再單擊“運行”按鈕,即可開始仿真[5]。其仿真結果如圖4所示,圖中1602液晶第一行顯示提示語,第二行顯示所按鍵鍵值,同時通過揚聲器能夠聽到對應音調的聲音。

圖4 實驗仿真結果圖

3 結束語

通過上述應用實例表明,該51單片機仿真實驗系統(tǒng)能夠幫助教師完成單片機實驗教學,并幫助學生分析和設計單片機系統(tǒng)電路,同時提高編程能力,增強他們的學習動力,培養(yǎng)他們的創(chuàng)新能力。另外,該系統(tǒng)的核心還能夠用MSP430、AVR等單片機替代,從而構建一個應用范圍更廣的通用型單片機仿真實驗系統(tǒng)。

參考文獻:

[1]王威,劉佳,張志雄.基于Proteus和Keil的單片機虛擬仿真平臺的設計[J].上海電力學院學報,2009(06):607-610.

[2]高立新.基于Proteus軟件的單片機仿真實驗[J].常州信息職業(yè)技術學院學報,2011(03):29-32.

[3]曲貴波,喬爽,吳東艷.Proteus仿真軟件在單片機課程教學中的應用[J].林區(qū)教學,2013(02):73-74.

[4]趙月靜,陳繼榮,張永弟.單片機原理及應用課程創(chuàng)新實踐教學改革[J].實驗技術與管理,2013(01):176-179.

[5]宋瑋,石惠.基于Proteus的單片機虛擬仿真實驗室建設[J].安徽水利水電職業(yè)技術學院學報,2013(02):60-62.

作者簡介:高林(1980-),男,湖北恩施人,講師,碩士,研究方向:嵌入式技術與智能控制。

第8篇

關鍵詞: STC89C52單片機 LED 鍵盤

LED彩燈與傳統(tǒng)的LED相比,色彩更豐富,能夠傳達出更多的信息。國內的一些城市采用傳統(tǒng)的單一循環(huán)式的彩燈控制器,但因為其功能單一,浪費高,又不方便實用而漸趨淘汰,取而代之的是新一代的單片機功能實現(xiàn)的控制器,它更適合于在中小城市普遍推廣使用。

單片機,即將計算機的CPU,RAM,ROM,定時/計數(shù)器和多種輸入輸出接口集成在一塊芯片上,形成了芯片級的計算機。它擁有優(yōu)異的性價比、集成度高、體積小、可靠性高、控制功能強、低電壓、低功耗的顯著優(yōu)點。主要應用于智能儀器儀表、工業(yè)檢測控制、機電一體化和消費電子類產品等方面,并且取得了顯著的成果。本設計將使用單片機對LED控制實例化,設計一個32顆LED組成心行形狀,核心控制器給出相應的控制數(shù)據對32只高亮LED進行控制。顏色顯示采用的是內嵌三種顏色的LED進行不同的組合得到不同的顏色,如綠色和紅色組合可以得到藍色等。

1.系統(tǒng)總體設計

本設計是基于STC89C52單片機的LED彩燈控制設計。硬件電路設計包括基于STC89C52單片機的最小核心控制系統(tǒng)電路、LED彩燈模塊、鍵盤電路和電源電路。軟件設計主要包括LED彩燈的控制、鍵盤對LED顏色和頻率的控制。最終將兩者合并調試,完成最終的設計。系統(tǒng)將外接的5V直流系統(tǒng)供電,通過單片機軟件編程對LED和鍵盤實施控制以完成各種色彩變化。

2.單片機最小系統(tǒng)

單片機能夠正常工作的最基本的電路由單片機、時鐘電路、復位電路等組成。復位電路:確定單片機工作的起始狀態(tài),完成單片機的啟動過程。單片機系統(tǒng)的復位方式有上電自動復位和手動按鍵復位。本設計采用上電自動復位。時鐘電路由一個晶振和兩個小電容組成,用來產生時鐘頻率。STC89C52單片機芯片內部有一個反向放大器構成的振蕩器,XTAL1和XTAL2分別為振蕩器電路的輸入端和輸出端,時鐘可由內部和外部生成,在XTAL1和XTAL2引腳上外接定時元件,內部振蕩電路就會產生自激振蕩。系統(tǒng)采用的定時元件為石英晶體和電容組成的并聯(lián)諧振回路。晶振頻率選擇11.0592MHz,電容值取30PF,電容的大小頻率起微調的作用。STC89C52單片機的最小系統(tǒng)如圖1所示。

圖1 單片機最小系統(tǒng)

3.電源模塊電路

本次設計的系統(tǒng)中的電源模塊使用LM7805芯片作為穩(wěn)壓核心,為系統(tǒng)提供穩(wěn)定的+5V直流電源,保證系統(tǒng)正常順利地運行。電源模塊電路原理圖如圖2所示:

圖2 電源模塊電路原理圖

4.LED顯示電路

流水燈采用的是發(fā)光二極管(Light-Emitting Diode),簡稱LED,是一種將電能轉換為光能的半導體器件,具有體積小、耗電低的優(yōu)點,常被用作微型計算機與數(shù)字電路的輸出裝置。當LED兩端加上一定的正向電壓,使之流過一定的工作電流就會發(fā)光,其亮度隨流過的電流的增加而增加,但電流過大LED的壽命也將縮短。普通LED正向電流一般為5~20mA。由于51的I/O是弱上拉的方式,在輸出高電平時,只能輸出幾十微安的電流,而在輸出低電平時,I/O最大可以輸入幾十毫安的電流。所以,通常采用灌電流的方式,即電流從電源經LED流向I/O口。為了不因流過LED的電流太大而把它燒壞,必須串上限流電阻R,當P0和P2口輸出高電平(+5V)時,LED兩端沒有電壓降,所以熄滅;當P0和P2口輸出低電平(即P0/P2=0)時,LED正向導通發(fā)光。此時LED兩端電壓約為1.7V,則限流電阻R兩端將存在3.3V(即5-1.7=3.3V)。因STC89C52單個I/O口的輸入電流不能超過10mA;P0口的輸入電流總和不能超過26mA;P1、P2、P3的輸入電流總和不能超過15mA;所有I/O口的輸入電流總和不能超過71mA。由色度學原理可知,如果將紅、綠、藍三原色按照一定比例混合,則在適當?shù)娜炼缺鹊慕M合下,理論上就可以獲得無數(shù)種顏色,這時就可以用3種發(fā)光波長的LED通過點亮和電流控制實現(xiàn)色彩的調控,即調色。下表是這一電路的邏輯真值表。

B(藍色) G(綠色) R(紅色) 色 彩 顯 示

1 1 1 復位 0 1 1 藍色

1 1 0 紅色 0 1 0 紫色

1 0 1 綠色 0 0 1 青色

1 0 0 黃色 0 0 0 白色

LED電路如圖3所示。

圖3 LED模塊電路原理圖

5.鍵盤電路

圖4 鍵盤模塊電路原理圖

本設計采用四個按鍵控制不同的顯示效果,開機后呈現(xiàn)不同色,按鍵A用于切換LED的不同顏色,按鍵B控制LED的頻率,由穩(wěn)定到100ms閃爍到500ms閃爍到1s閃爍。按鍵C控制不同區(qū)域的LED發(fā)光;按鍵D,使其LED每一秒成不同顏色切換點亮。電路如圖4所示。

6.結語

本設計制作的基于51單片機控制的LED彩燈系統(tǒng)在多次測試修改之后,最終實現(xiàn)了對32只高亮LED彩燈控制的功能,并且系統(tǒng)功能穩(wěn)定。此外設計中留有很大的擴展空間,如:控制多樣化,顏色顯示更豐富,LED燈亮度的調節(jié)等,推向市場后便于升級開發(fā)。因此基于51單片機控制的LED彩燈系統(tǒng),具有較高的實用價值和廣闊的市場前景。

參考文獻:

[1]童詩白等.模擬電子技術基礎[M].北京:高等教育出版社,2000.

[2]楊清德.康婭.LED及其工程應用[M].北京:人民郵電出版.

[3]閻石著.數(shù)字電子技術基礎[M].北京:高等教育出版社,1997.

第9篇

關鍵詞:AT89S52單片機;步進電動機;控制

引言

步進電動機是將電脈沖激勵信號轉換成相應的角位移或線位移的離散值控制電動機,這種電動機每當輸入一個電脈沖就動一步,所以又稱脈沖電動機。步進電動機實際上是一種單相或多相同步電動機。單相步進電動機由單路電脈沖驅動,輸出功率一般很小,其用途為微小功率驅動。多相步進電動機由多相方波脈沖驅動,在經功率放大后分別送入步進電動機各相繞組。當向脈沖分配器輸入一個脈沖時,電動機各相的通電狀態(tài)就發(fā)生變化,轉子會轉過一定的角度(稱為步距角)。在非超載的情況下,電動機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電動機加一個脈沖信號,電動機則轉過一個步距角。這一線性關系的存在,加上步進電動機只有周期性的誤差而無累計誤差等特點,使得在速度、位置等控制領域用步進電動機來控制變得非常簡單。

本研究利用AT89S52單片機的四路I/O通道實現(xiàn)環(huán)形脈沖的分配,控制步進電動機勻速、連續(xù)的按固定方向轉動,通過按鍵控制步進電動機的旋轉角度。

1 系統(tǒng)設計

用AT89S52單片機來作為整個步進電動機控制系統(tǒng)的核心部件,其系統(tǒng)設計總框圖如圖1所示。真?zhèn)€系統(tǒng)包括單片機最小系統(tǒng)、電機驅動模塊、獨立按鍵模塊等。

圖1 系統(tǒng)設計總體框圖

1.1 單片機最小系統(tǒng)

單片機最小系統(tǒng)主要負責產生控制步進電動機轉動的脈沖,通過單片機的軟件編程代替環(huán)形脈沖分配器輸出控制步進電機的脈沖信號,步進電機轉動的角度大小與單片機輸出的脈沖數(shù)成正比,步進電機轉動的速度與輸出的脈沖頻率成正比,而步進電機轉動的方向與輸出的脈沖順序有關。

1.2 電機驅動模塊

電機驅動模塊負責將單片機發(fā)給步進電機的信號功率放大 ,從而驅動電機工作。步進電機驅動方法主要有恒電壓驅動方式、恒電流斬波驅動方式、細分驅動和集成電路驅動。設計中采用集成驅動芯片ULN2003A構成整個驅動電路,它是由七對達林頓管組成的,是集電極開路輸出的功率反相器,并且每個輸出端都有一個連接到共同端(COM)的二極管,為斷電后的電機繞組提供一個放電回路,起放電保護作用。因此,ULN2003A 非常適合驅動小功率的步進電機。

單片機的P2.0-P2.3輸出的脈沖信號送到ULN2003A的1B-4B 輸入端,經ULN2003A 放大和倒相后的輸出脈沖信號來驅動步進電機作相應的動作。ULN2003A的 COM 端和步進電機的 COM1、COM2 連接到 VCC。ULN2003A驅動步進電機模塊原理圖如圖2所示。

1.3 按鍵控制模塊

鍵盤主要用來提供人機接口,電路如圖3所示,采用獨立式按鍵電路 ,各按鍵開關均采用了上拉電阻,保證在按鍵斷開時,各I/O 有確定的高電平。二極管IN4148作為高頻信號高速開關,當按下鍵盤時最大反向恢復時間小,保證在按鍵斷開時,各I/O 有確定的低電平。

1.4 串口通信模塊

串口通信模塊主要負責計算機與單片機之間的通信,將在計算機里面編好的程序下載到單片機芯片當中,通過RS232串口進行連接,實現(xiàn)計算機與單片機的良好通訊。

2 控制方法

本設計中的步進電動機采用的是2相6線式,其勵磁方式為半步勵磁(又稱1~2相勵磁),1相與2相輪流交替導通,每送一勵磁信號可走90。若以1相勵磁法控制步進電動機正轉,其勵磁順序如表1所示。若勵磁信號反向傳送,則步進電動機反轉。

表1 正轉勵磁順序:AABBBCCCDDDAA

單片機控制電路如圖3所示,用兩個按鍵非別控制步進電動機正傳和反轉,當“正轉”(Positive)鍵按下時,單片機的P1.3到P1.0口按正向勵磁順序AABBBCCCDDDAA輸出電脈沖,電動機正轉;當“反轉”(Negative)鍵按下時,單片機的P1.3到P1.0口按反向勵磁順序ADADCDCBCBABA輸出電脈沖,電動機反轉。

3 系統(tǒng)程序設計

系統(tǒng)程序設計為C語言,主要包括脈沖信號發(fā)生、鍵盤的識別處理等。主程序流程圖如圖4所示。

3 系統(tǒng)仿真

使用Proteus的波形分析功能,可以分析按下一個鍵以后單片機的驅動信號輸出,這里仿真按下正轉按鈕的波形,分析如圖5所示。從波形可以看出,步進電動機的驅動序列為:0010、0110、1100、1000、1001、0001、0011、0010…與設計思想吻合。

4 結束語

基于AT89S52單片機的步進電動機控制模塊具有電路簡單可靠、控制方便、成本低等有點。實現(xiàn)了可程序設定步進方向、步進角,該設計靈活度高、有較強的編程性。

參考文獻

[1]周潤景.徐宏偉.丁莉.單片機電路設計、分析與制作[M].北京:機械工業(yè)出版社,2010.

[2]胡啟明.葛祥磊.Proteus從入門到精通100例[M].北京:電子工業(yè)出版社,2012.

[3]陳桂順.包曄峰.單明東.蔣永鋒.基于PIC單片機的步進電機運動控制器[J].電焊機,2011,41(4)53-56.

[4]趙曉光.李建初.基于AT89C52單片機的步進電機控制系統(tǒng)研究[J].高科技產品研發(fā),2013,(3):80-81.

第10篇

關鍵詞:伺服電機;單片機;LCD

中圖分類號:TM33 文獻標識碼:A 文章編號:1007-9416(2017)02-0193-01

1 引言

隨著科學技術的發(fā)展和自動化技術水平的不斷提高,自動化機器人已經成為生產中不可缺少的一部分。機器人的使用幫助人們擺脫了繁重勞動或簡單的重復性勞動,并且減少人類在危險環(huán)境中進行作業(yè)。為了保證工業(yè)生產過程中的高精度,逐步使用由伺服電機制造的機器人來代替普通電機制造的機器人。這樣就使得伺服電機得到了普遍的應用。這里介紹一種簡單的伺服電機控制器,可以對伺服電機進行簡單的控制。主要用來測試和維修伺服電機。

2 系統(tǒng)結構及原理

控制系統(tǒng)主要由單片機控制系統(tǒng)、液晶顯示模塊,鍵盤輸入模塊、脈沖驅動電路、和485通訊總線來構成。如圖1所示。

2.1 單片機最小系統(tǒng)

單片機最小系統(tǒng)由4部分組成:復位電路、時鐘電路、電源電路、程序燒制接口電路。單片機的上電復位電路由一個10uF的電容和一個4.7K左右的電阻組成,復位電路的作用是使單片機回復到初始狀態(tài)來工作。由于C8051F700單片機有內部時鐘電路,所以本設計中不需要設計時鐘電路。穩(wěn)定的電源是工作的可靠保證,在單片機5V電源供電系統(tǒng)中不僅有7805穩(wěn)壓芯片,而且在單片機端增加了400uF的電解電容用來穩(wěn)壓、0.1uF的滌綸電容用來去除干擾。C8051F700單片機使用的是JTAG接口燒錄程序。

2.2 驅動電路設計

在單片機的所有干擾中,共地干擾是影響單片機所有工作的主要因素。為了能夠去掉單片機中的共地帶來的干擾,需要把單片機的不同回路做成不同的地,這樣可以避免單片機控制回路和伺服電機驅動回路進行互相干擾。這里采用的是光耦器件對地進行分離,通過光來進行互相控制和反饋。正常情況下干擾是沒有足夠的電流導致發(fā)光二極管發(fā)光,所以干擾就被抑制掉了。由于光耦的抗干擾能力強,使用壽命長,傳輸效率高、實現(xiàn)了輸入輸出的完全隔離,實現(xiàn)了對設備很好的保護。這里和伺服電機的驅動接口電路采用高速光耦6N137作為驅動電路。該光耦隔離性好,而且能達到伺服電機要求的高速特性。

2.3 輸入輸出電路設計

隨著液晶顯示技術的不斷發(fā)展和價格的不斷降低,在儀器儀表的設計使用過程中LED數(shù)碼管顯示已經逐步被LCD液晶顯示所代替,LCD具有顯示信息量大,功耗更低,質量輕等優(yōu)點。這里選用了12864LCD作為顯示輸出,驅動芯片是ST7920。單片機的按鍵設計主要有2種方式:直接按鍵方式和矩陣鍵盤方式。直接按鍵方式是把每個按鍵都單獨接到單片機的一個I/O接口上,矩陣鍵盤是通過I/O口的行列變化來判斷,可以用少口實現(xiàn)多鍵盤。本系統(tǒng)需要的按鍵數(shù)量比較少,同時按鍵可以做成功能按鍵。所以這里采用了直接按鍵方式。

在設計的同時預留了通訊用485接口,如果有需要將來可以增加擴展模塊,通過通訊口可以和上位機進行通訊。

3 系統(tǒng)軟件設計

在單片機的軟件設計中,KEIL作為單片機的軟件開發(fā)工具,提供了C語言環(huán)境,并且代碼效率高,執(zhí)行速度快。Keil編程環(huán)境包含:編譯器、匯編器、實時操作系開發(fā)環(huán)境。軟件編寫的功能模塊主要有:12864驅動模塊、界面菜單顯示功能模塊、按鍵模塊。各個軟件模塊編寫完成后,再編寫整個伺服電機的控制過程。本系統(tǒng)軟件編寫過程中是先完成了LCD液晶顯示的工作,完成液晶顯示的工作后,編寫了按鍵程序同時進行了調試。在編寫完鍵盤顯示程序后,編寫控制輸入輸出程序,輸出接口,主要是對伺服電機的使能、左、右限位復位和脈沖輸出、方向輸出進行編寫,同時通過光耦讀取伺服電機的報警信號。將伺服電機當前的狀態(tài)、輸出脈沖數(shù)量、是否有報警等等相關參數(shù)在LCD上進行顯示。

4 結語

本系統(tǒng)主要由C8051F700單片機、LCD液晶顯示,使用4個按鍵對伺服電機進行控制,伺服驅動回路由9個光耦電路組成。通過測試能夠簡單的控制伺服電機的啟動停止,調速等功能。系統(tǒng)硬件電路O計簡單、單片機軟件能夠完成控制功能、控制系統(tǒng)可靠、具有實用價值和參考價值。

參考文獻

[1]何立民.單片機應用系統(tǒng)設計[M].北京:北京航空航天大學出版社,1990.

第11篇

【關鍵詞】 單片機 淋浴系統(tǒng) 混水閥 智能控制

太陽能熱水器、空氣能熱水器、電能熱水器在當下得到了廣泛的使用,但目前市場上流行的上述熱水器出水口廣泛采用全機械混水閥調節(jié)水溫和水壓,這就使得當混水閥冷水管水壓由于各種原因下降時,使用者在淋浴過程中有可能需要反復調節(jié)混水閥,以期將水溫水壓調到較佳狀態(tài)。但另一個問題是傳統(tǒng)的全機械式混水閥制造工藝參差不齊,許多混水閥調節(jié)很小的角度時水溫就會產生很大的變化。基于以上問題,本系統(tǒng)利用單片機技術對混水閥實現(xiàn)了智能的控溫控壓,解決了傳統(tǒng)的全機械式混水閥的種種弊端。

一、系統(tǒng)總體設計

1.1 系統(tǒng)組成

本系統(tǒng)由主控制器AT89S52及其附屬電路、ULN2003A步進電機驅動模塊、溫度傳感器模塊、壓力傳感器模塊、按鍵電路、顯示電路、電源電路等部分組成。系統(tǒng)硬件框圖如圖1所示。

1.2 系統(tǒng)功能

系統(tǒng)主要實現(xiàn)了2種主要功能:實時溫度與壓力的自動控制、實時溫度與壓力的顯示功能。當混水閥冷水流入量下降時,此時的水溫水壓數(shù)據被溫度和壓力傳感器模塊傳回單片機,單片機根據實現(xiàn)設定的程序控制步進電機動作,從而調節(jié)混水閥轉動進而控制水溫和水壓。溫度和壓力傳感器模塊將數(shù)據傳送到單片機,單片機將數(shù)據進行處理后實時的顯示在液晶顯示器中便于使用者觀測系統(tǒng)的工作狀態(tài)。

二、硬件設計

系統(tǒng)的硬件部分主要包括單片機最小系統(tǒng)、步進電機驅動模塊、溫度傳感器模塊、壓力傳感器模塊、按鍵電路、顯示電路模塊、電源電路。單片機最小系統(tǒng)由單片機、復位電路與晶振電路組成,所采用的單片機為AT89S52,其中P0口需接上拉電阻,步進電機驅動模塊采用ULN2003A芯片驅動,溫度傳感器模塊采用DS18B20數(shù)字式溫度傳感器,其輸出端輸出的信號為數(shù)字信號,直接傳送至單片機進行處理,壓力傳感器模塊包括壓力傳感器HK2011、AD/DA轉換器PCF8591,壓力傳感器采集到的模擬信號傳入PCF8591的模擬輸入端,轉換為數(shù)字信號后由IIC總線傳到單片機進行處理,按鍵電路由4個輕觸按鍵組成,未按下時每個按鍵的輸出端均為高電平輸出,按鍵后則反之,分別用于調節(jié)混水閥系統(tǒng)標準參考溫度和壓力的增減。顯示電路模塊:顯示電路采用液晶1602LCD顯示器,用于顯示系統(tǒng)的標準參考溫度、壓力以及系統(tǒng)實時的溫度和壓力。

三、軟件設計

系統(tǒng)程序包括主程序、顯示子程序、AD驅動子程序、DS18B20驅動子程序、步進電機驅動子程序、按鍵處理程序。顯示子程序完成顯示器顯示數(shù)據的提取、設置等操作;AD驅動程序與DS18B20驅動子程序分別驅動AD轉換器和數(shù)字溫度傳感器從而使單片機可以采集水的溫度和壓力數(shù)據;步進電機驅動子程序驅動步進電機運動,從而使混水閥的祖轉軸轉動,控制水溫和水壓;按鍵處理程序可以實時檢測按鍵的狀態(tài),改變標準參考溫度和壓力的值,使系統(tǒng)的使用更加靈活。

四、結束語

本混水閥系統(tǒng)應用單片機技術結合傳感器技術,實現(xiàn)了混水閥系統(tǒng)的智能控溫控壓,解決了現(xiàn)存全機械式混水閥存在的弊端,當然,本系統(tǒng)在實際使用時仍受限于傳感器即溫度傳感器和壓力傳感器轉換速率的影響,其直接影響系統(tǒng)的實時性,從而間接影響了系統(tǒng)的質量,因此本系統(tǒng)仍然存在優(yōu)化的必要性,比如采用并行的AD轉換器采集溫度和壓力的數(shù)據等以提高系統(tǒng)的實時性。

參 考 文 獻

[1] 張毅剛. 《單片機原理及接口技術(C51編程)》[M].北京:人民郵電出版社,2008.

第12篇

【關鍵詞】單片機;步進電機;開關控制;驅動芯片

1 概述

隨著國民經濟的快速發(fā)展以及科學技術水平的不斷提高,人們對生產水平和生活質量要求越來越高。在現(xiàn)代化技術水平空前發(fā)達的今天,人們?yōu)榱俗非蟾咝实墓I(yè)生產和高質量的日常生活,將電動機應用到社會各行業(yè)的各個領域。伴著微電子技術和數(shù)字化技術的發(fā)展,數(shù)字控制技術在電動機控制領域得到了廣泛而又深入的發(fā)展,而步進電機作為繼直流電機和交流電機后后的第三類電動機,以其獨特的支持數(shù)字化控制的特性,在自動化控制系統(tǒng)下,改變了傳統(tǒng)電動機的機電能量轉換的角色,在人類的生產生活邁進電氣化時代的過程中起到了關鍵性的作用。

2 步進電機

步進電機是將電脈沖信號轉變?yōu)榻俏灰七M而轉化成線位移的開環(huán)控制元件,它在一種在矩形電脈沖的控制下,按照設定方向轉動固定角度從而實現(xiàn)特定位移的執(zhí)行電機。當有脈沖信號發(fā)送到步進電機驅動接收器中,步進驅動器就會驅動步進電機按照既定方向轉動一個固定的角度,也就是“步距角”,從而實現(xiàn)固定的位移。對步進電機來說,“步距角”是固定不變的,是步進電機的走一步的距離,屬于步進電機的固有屬性,而對步進電機所有的控制都是步進電機一步一步“走”出來的。我們可以通過設定發(fā)送給步進電機的電脈沖的個數(shù)來控制步進電機總的角位移,從而實現(xiàn)位置的改變,通過控制發(fā)送步進電機電脈沖的頻率來控制步進電機角位移的速度和角速度,從而實現(xiàn)位置上的調速。

3 單片機控制步進電機

由于步進電機結構簡單、數(shù)字化控制方便、運行可靠以及步距角不受外界環(huán)境變化的影響、誤差不長期積累等優(yōu)點,被廣泛應用到打印機、照相機、雕刻機等消費類產品,數(shù)控機床、工業(yè)機器人等工業(yè)控制以及各種醫(yī)療器械等機電產品中,單片機成本低、體較小、易編程等優(yōu)點使其成為步進電機的完美搭檔,在步進電機的控制系統(tǒng)中,可以實現(xiàn)對轉動速度和方向的穩(wěn)定可靠高效的控制。

3.1基于單片機的步進電機控制系統(tǒng)框架

基于單片機來控制步進電機進行運轉的系統(tǒng)是以單片機為核心,配合單片機最小系統(tǒng)的時鐘電路、復位電路,來控制步進電機運轉。如圖1.所示,為單片機控制步進電機系統(tǒng)框架結構圖。

圖1 單片機控制步進電機系統(tǒng)框架結構圖

該控制系統(tǒng)中,其中單片機型號為AT89C51,為整個系統(tǒng)提供控制指令的輸出,時鐘電路和復位電路為單片機最小系統(tǒng)的所必須的電路,開關控制電路只要是為用戶提供外部接口來人為地控制步進電機的狀態(tài),顯示電路顯示當前步進電機的運行狀態(tài),ULN2003芯片是步進電機的驅動芯片。

3.2單片機控制系統(tǒng)程序設計流程

使用P3端口讀取人為的鍵盤按鍵的信號,P0端口控制步進電機的工作模式。

(1)初始化單片機,初始化定時器/計數(shù)器,數(shù)據傳送端口,芯片使能以及初始數(shù)據賦值

(2)檢查步進電機狀態(tài),是否處于使能狀態(tài)

(3)檢測P3口的狀態(tài)

a.如果正轉按鈕被按下,選擇較當前定時器的初始數(shù)據大的最小值賦值給定時器進行定時(單片機上電是步進電機停止,相當于控制信號頻率為0,定時時間無窮大),然后發(fā)送信號將步進電機使能,并啟動定時器開始計時。

b.如果加速按鈕被按下,選擇較當前定時器的初始數(shù)據小的最大值賦值給定時器進行定時,并啟動定時器開始計時。

c.如果減速按鈕被按下,選擇較當前定時器的初始數(shù)據大的最小值賦值給定時器進行定時,并啟動定時器開始計時。

d.如果停止按鈕被按下,停止定時器/計數(shù)器工作,停止改變連接步進電機端口值,并將步進電機使能端無效。

e.如果反轉按鈕被按下,檢查當前定時器定時是否處于較小值,如果值較小,先停止定時器/計數(shù)器工作和改變端口值,然后發(fā)送控制信號為步進電機提供正序換相通電,并判斷P0.0是否為0,如果不是,將其賦值為0,再啟動定時器/計數(shù)器工作。

(4)當定時器定時結束時,將當前連接步進電機的端口的值取反。

3.3步進電機工作流程

根據上述單片機程序流程,可以知道步進電機控制系統(tǒng)的工作流程。當單片機和步進電機的電源開關打開后,會看到“停止”的指示燈亮;當按下正轉開關,然后按下加速開關后,“停止”指示燈熄滅,“正轉”指示燈亮,步進電機按照較小的速度運轉;然后繼續(xù)按下加速,步進電機速度加快,當多次按下加速按鈕后,步進電機不再加速,而是保持一個較高的速度運轉;按下“減速”按鈕,步進電機速度減慢;繼續(xù)按下“減速”按鈕,步進電機速度繼續(xù)減慢直到停止運轉;按下“反轉”按鈕,“正轉”指示燈熄滅,“反轉”指示燈亮;按下“加速”開關,步進電機運轉速度增加;按下“減速”開關,步進電機運轉速度減小。

4 總結

單片機控制步進電機工作,主要是根據步進電機的工作特性,按照人為的意愿來編寫程序代碼,并通過一定的驅動電路或者芯片來驅動步進電機工作。當然,在實際的開發(fā)中還有很多細節(jié)應該注意,比如在步進電機反轉時要求此時轉速較小,以免破壞步進電機等,從而使單片機提供穩(wěn)定的信號來控制步進電機運轉。

參考文獻:

[1]顧永南.基于PLC的步進電機控制方法分析[J].電源技術應用.2013(10)

[2]趙敏,劉新妹,李曉飛.步進電機變速控制系統(tǒng)的設計[J].可編程控制器與工廠自動化.2013(12)

主站蜘蛛池模板: 东丽区| 孝感市| 兰考县| 台湾省| 柳林县| 三河市| 漳浦县| 三台县| 柘荣县| 克东县| 东明县| 如东县| 沂源县| 科尔| 巴里| 朝阳市| 惠来县| 宝兴县| 贵定县| 抚松县| 徐州市| 江阴市| 遵化市| 西华县| 郧西县| 五莲县| 栾川县| 西城区| 深水埗区| 丰宁| 甘肃省| 蒲城县| 武宣县| 黄冈市| 江华| 通渭县| 丰都县| 青川县| 沁源县| 哈巴河县| 姚安县|