① 誰有單片機的小車論文
基於51單片機的紅外遙控小車設計和製作 論文摘要:本文介紹一款紅外線遙控小車,以AT89S51單片機為核心控制器,用L289驅動直流電機工作,控制小車的運行。本款小車具有紅外線遙控手動駕駛、自動駕駛、尋跡前進等功能。本系統採用模塊化設計,軟體用C語言編寫。
論文關鍵字:AT89C51單片機 直流電機 紅外線遙控 循跡 L298
一、設計任務和要求
以AT98C51單片機為核心,製作一款紅外遙控小車,小車具有自動駕駛,手動駕駛和循跡前進等功能。自動駕駛時,前進過程中可以避障。手動駕駛時,遙控控制小車前進、後退、左轉、右轉、加速等操作。尋跡前進時小車還可以按照預先設計好的軌跡前進。
二、系統組成及工作原理
本系統由硬體和軟體兩部分組成。硬體部分主要完成紅外編碼信號的發射和接受、障礙物檢測、軌跡檢測、直流電機運行的發生等功能。軟體主要完成信號的檢測和處理、設備的驅動及控制等功能。AT89S51單片機查詢紅外信號並解碼,查詢各個檢測部分輸入的信號,並進行相應處理,包括電機的正反轉,判斷是否遇到障礙物,判斷是否小車其那金中有出軌等。系統結構框圖如圖1所示。
圖1 系統結構框圖
三、主要硬體電路
1、遙控發射器電路
該電路的主要控制器件為遙控器晶元HT6221,如圖2所示。HT6221將紅外碼調製成38KHZ的脈沖信號通過紅外發射二極體發出紅外編碼。圖2中D1是紅外發射二極體,D2是按鍵指示燈,當有按鍵按下時D2點亮。
HT6221的編碼規則是:當一個鍵按下超過36ms,振盪器使晶元激活,如果這個按鍵按下且延遲大約108ms,這108ms發射代碼由一個起始碼(9ms),一個結果碼(4.5ms),低8位地址碼(9ms~18ms),高8位地址碼(9~18ms),8位數據碼(9~18ms)和這8位數據碼的反碼 (9~18ms)組成,如果按鍵按下超過108ms仍未松開,接下來發射的代碼將僅由起始碼(9ms)和結束碼(2.5ms)組成。按照上圖的接法,K1~K8的數據碼分別為:0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07。
圖2 遙控發射器電路原理圖
2、紅外線接收模塊
該模塊使用一體化紅外接收頭1838,其電路如圖3所示。瓷片電容104為去耦電容,DOUT即是解調信號的輸出端,直接與單片機的P3.2口相連。有紅外編碼信號發射時,輸出為檢波整形後的方波信號,並直接提供給單片機。
圖3 紅外接收原理圖
3、電機驅動模塊
該模塊主要由晶元L298控制兩個電機的正反轉,以及改變電機的轉速,其電路如圖4所示。L298 晶元是一種高壓、大電流雙全橋式驅動器。其中SENSEA、SENSEB分別為兩個H橋的電流反饋腳,不用時可以直接接地。VCC,VS是接電源引腳,電壓范圍分別是4.5~7V、2.5~46V,設計中VCC端與單片機電源端共用5V工作電源,VS端獨立接9V電源。ENA,ENB為使能端,低電平禁止輸出。IN1,IN2,IN3,IN4為數據輸入引腳,OUT1,OUT2,OUT3,OUT4為數據輸出引腳。D1~D8是保護二極體(IN5819),用於釋放掉電機停車時產生的反響尖峰電勢,否則會擊壞L298。
4、障礙物檢測和尋跡模塊
障礙物檢測和軌跡檢測原理是相同的。從經濟的角度考慮,該模塊選用了反射式光耦,其電路如圖5所示。反射式光耦由一個紅外發射管和一個光敏三極體組成。LM324是電壓比較器,當3腳的電平大於2腳時,輸出端1腳輸出高電平,反之輸出低電平。高低電平的值取決於LM324的2腳電平,調整電位器R23使LM324的2腳電壓為3V。
避障電路安裝在小車的頭部的左右兩邊,分別用於檢測左右障礙物。工作過程是:當無障礙物時,不反射紅外線,光敏三極體截止,LM324的3腳在R16的上拉作用下為高電平(5V),大於2腳電壓(3V),輸出高電平;當遇到障礙物時,反射紅外線,光敏三極體導通,比較器3腳接地,小於2腳電壓(3V),輸出低電平。單片機根據電平的變化判斷有無障礙物,當左邊遇到障礙物時小車右轉,當右邊遇到障礙物時小車左轉。
循跡電路安裝在小車的底部的左右兩邊,循跡是通過辨別黑白色來行走。工作過程是:紅外發射管發出紅外光,當遇到黑色,不反射紅外光,比較器輸出為高電平;當遇到白線,紅個光反射回來,比較器輸出為低電平。當左邊檢測到白色時小車右轉,當右邊檢測到白色時小車左轉,當兩邊檢測到的都是黑色時小車前進,當兩邊檢測到的都是白色時小車停止。
圖5 障礙物檢測、軌跡檢測原理圖
四、軟體設計
本系統的軟體用C語言編寫,分為主程序,外部中斷解碼子程序、自動駕駛子程序、手動駕駛子程序、障礙物檢測子程序、軌跡檢測子程序、定時器1中斷調速子程序等。主程序完成系統硬體的初始化、子程序調用等功能。主程序、解碼子程序如圖6、圖7所示。
圖6 主程序流程 圖7 解碼程序流程圖
結束語:
經實踐表明,本文所設計的紅外線遙控小車運行穩定、遙控靈敏、佔用系統硬體資源少。且在不改變硬體電路,僅通過軟體編程小車就可以實現障礙物檢測、報警等功能。
參考文獻:
[1] 陳權昌,李興富.單片機原理及應用[M].廣州:華南理工大學出版社,2007
[2] 吳金戌,沈慶陽,郭庭吉.8051單片機實踐與應用[M].北京:清華大學出版社,2002
[3] 侯玉寶,陳忠平,李成群,等.基於Proteus 的51系列單片機設計與模擬.北京:電子工業出版社,2008
[4] 郝建國,鄭燕.單片機在電子電路設計中的應用[M].北京:清華大學出版社,2006
② MSC-51單片機交通燈論文
單片機交通燈控制系統設計--帶模擬的論文編號:JD943 論文字數:7687,頁數:29摘要
本設計是交通信號燈控制系統,隨著社會的不斷的進步,社會的不斷發展。交通也日漸復雜,交通的自動化也不斷更新,交通的一些指揮系統光靠人來完成是遠遠不夠的,這就需要設計各種交通指揮自動化系統來完成這些復雜的工作。從而使交通指揮系統更加有秩序,更加安全。至此本人設計了交通信號燈控制系統,來指揮十字路口車輛的停通,使紅綠燈指揮系統實現自動化,無人化。
該交通燈控制系統控制的是東西和南北兩個方向上的車輛通行,系統共採用6個發光二極體來模擬各路交通信號燈,4個LED七段數碼管以倒計時的方式顯示各個方向上允許通行或禁止通行的信號燈剩餘的時間。停35S,准備5S,之後通行30S,並在東西和南北兩個方向上這兩種狀態不斷循環。此系統核心元件為單片機AT89C51,單片機)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件採用ATMEL高密度非易失存儲器製造技術製造,與工業標準的MCS-51指令集和輸出管腳相兼容。由於將多功能8位CPU和閃爍存儲器組合在單個晶元中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。對其編寫相關程序來控制交通信號燈和數碼管的時間顯示,並採用外部中斷來控制緊急情況。此設計的硬體電路不是很復雜,關鍵在於軟體的設計,即程序的編寫。本設計採用的程序編寫語言為現在流行的C語言,簡單又便於閱讀。編寫程序的原則是:1.滿足設計的要求。2.盡量採用最好,最有效的演算法。3.編寫時應盡量用最簡潔的語言。編寫好源程序後,採用keil軟體對其進行編譯,使其生成單片機可以識別的.hex文件,再把此文件導入單片機89C51中即可。
硬體電路和源程序及目標文件都設計完後,我們可以採用相關軟體進行模擬,以使交通信號燈控制系統的設計更加准確,可靠。設計者採用PROTUES軟體進行模擬調試,模擬時注意此軟體使用,從而進一步熟悉並學習此軟體。模擬成功後,就做好本次設計報告,寫出此次設計的心得與體會。
關鍵詞:交通指示燈;單片機;控制
目錄
1 概述 3
1.1 交通燈設計方案選擇與論證: 3
1.2設計要求及目的: 3
1.2.1基本要求: 3
1.2.2提高要求: 3
1.2.3設計目的: 4
1.3交通燈控制系統的簡單說明: 4
2 系統總體方案及硬體設計 5
2.1 硬體電路各元件介紹: 5
2.1.1核心晶元AT89C51單片機的說明 5
2.1.2兩位八段式數碼管 7
2.1.3其它元件的說明 9
2.2總電路的設計及過程說明 10
2.2.1設計基本框架圖:(如圖6所示) 10
2.2.2總體電路的工作原理: 10
2.2.3各埠控製作用: 11
2.2.4復位和時鍾電路: 12
2.3設計思想: 13
3 軟體設計 14
3.1交通燈狀態的分析: 14
3.2主程序流程圖:(如圖一,圖二所示) 15
3.3中斷程序流程圖:(如圖三所示) 17
4 Proteus軟體模擬 18
4.1模擬過程: 18
(1)南北紅,東西綠 18
4.2檢測與調試: 20
5課程設計體會 22
5.1心得體會: 22
參考文獻 22
附1:源程序代碼 23
附2:系統原理圖 28 答案來自:http://www.lwtxw.com/html/42-5/5746.htm
③ 關於51單片機的多功能溫度顯示器論文中的摘要怎麼寫
本課題主要介紹了溫度感測器的硬體電路的設計和系統軟體設計。硬體電路主要包括主控制器,測溫電路和顯示電路等,控制器採用單片機AT89C51,溫度感測器採用美國DALLAS半導體公司生產的DS18B20,顯示電路採用4位共陽極LED數碼管以動態掃描法直讀顯示者改圓。系統程序主要包括主程序,讀出溫度子程序,溫度轉換命令子程序,計算溫度子程序,顯示數據刷新子程序等。此外,還介紹了系統的調試和性能分析。
由於採用了改進型智能溫度感測器DS18B20作為檢測元件,與傳統殲此的溫度計相比,本數字溫度計減少了外部的硬體電路,具有低成本和易使用的特點。DS18B20溫度計還可以在過限報警、遠距離多點測溫控制等方面進行應用開發,具有很好的發展前景。DS18B20是一種可組網的高精度數字式溫度感測器,由於其具有單匯流排的獨特優點,可以使用戶輕松地組建起感測器網路,並可使多點溫度測量電路變得簡單、可靠。介紹了DS18B20數字溫度感測器在單片機下的硬體連接及軟體編程,並給出了軟體流程圖。
在該論文中,我們通過對單片機和溫度感測器的設計,從中學到了許多有用的東西,其中我們明白了如何去設計一個產品,首先要有性價比、良好的適應性,其次要知道設計的關鍵,最後也懂得了設計與實際的聯系。
關鍵詞:
單片機系統;數首塌字溫度感測器;單匯流排;過限報警
This thesis mainly include hardware circuit design and system design process. Hardware circuit include the main controller, temperature measurement circuit and display circuit, the controller using SCM AT89C51, temperature sensors using the proction DS18B20 of United States DALLAS Semiconctor, and the display circuit using four common anode of LED by digital dynamic scanning and Direct Reading show. The system procere mainly includes main procere, reading temperature sub-procere, the temperature conversion orderanies sub-procere, computing the temperature sub- procere, the manifestation data breaks sub-procere etc. In addition, it introced a system debugging and performance analysis.
In order to adopting the improvement type the intelligence temperature transcer DS18 B20 Be examine component, compared with the traditional thermometer, this numerical thermometer reced the hardware telephone of the exterior, have low cost with the characteristics of the easy usage. The DS18 B20 thermometers can report to the police still in the heat, long-distance leave to click to measure control much etc. carry on an applied development, having good development foreground. As a kind of high-accuracy digital net temperature sensor,DS18 B20 can be used building a sensor net easily. It can also make the net simple and reliable with it's special 1-wire interface .This paper introces the application of DS18B20 with single chip processor.
In that thesis, we from the design of the SCM and the temperature transcer, we learned many useful things, among them, we understand how go to design a proct, first it should have to have good quality but inexpensive, adaptabilities, than should know hinge of the design, the last we also know the communication between design and practice.
Keyword:
SCM;Digital thermometer; Single bus;Over the boundary to alarm
僅供參考!!!
④ 51單片機關於密碼鎖的畢業設計,論文
程序設計內容
(1). 密碼的設定,在此程序中密碼是固定在程序存儲器ROM中,假設預設的密碼為「12345」共5位密碼。
(2). 密碼的輸入問題:由於採用兩個按鍵來完成密碼的輸入,那麼其中一個按鍵為功能鍵,另一個按鍵為數字鍵。在輸入過程中,首先輸入密碼的長度,接著根據密碼的長度輸入密碼的位數,直到所有長度的密碼都已經輸入完畢;或者輸入確認功能鍵之後,才能完成密碼的輸入過程。進入密碼的判斷比較處理狀態並給出相應的處理過程。
(3).按鍵禁止功能:初始化時,是允許按鍵輸入密碼,當有按鍵按下並開始進入按鍵識別狀態時,按鍵禁止功能被激活,但啟動的狀態在3次密碼輸入不正確的情況下發生的。
C語言源程序
#includeunsignedcharcodeps[]={1,2,3,4,5};
unsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};
unsignedcharpslen=9;unsignedchartemplen;
unsignedchardigit;unsignedcharfuncount;
unsignedchardigitcount;
unsignedcharpsbuf[9];
bitcmpflag;
bithibitflag;
biterrorflag;
bitrightflag;
unsignedintsecond3;
unsignedintaa;
unsignedintbb;
bitalarmflag;
bitexchangeflag;
unsignedintcc;
unsignedintdd;
bitokflag;
unsignedcharoka;
unsignedcharokb;
voidmain(void)
{
unsignedchari,j;
P2=dispcode[digitcount];
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%6;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(cmpflag==0)
{
if(P3_6==0)//functionkey
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_6==0)
{
if(hibitflag==0)
{
funcount++;
if(funcount==pslen+2)
{
funcount=0;
cmpflag=1;
}
P1=dispcode[funcount];
}
else
{
second3=0;
}
while(P3_6==0);
}
}
if(P3_7==0)//digitkey
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_7==0)
{
if(hibitflag==0)
{
digitcount++;
if(digitcount==10)
{
digitcount=0;
}
P2=dispcode[digitcount];
if(funcount==1)
{
pslen=digitcount;
templen=pslen;
}
elseif(funcount>1)
{
psbuf[funcount-2]=digitcount;
}
}
else
{
second3=0;
}
while(P3_7==0);
}
}
}
else
{
cmpflag=0;
for(i=0;i
{
if(ps[i]!=psbuf[i])
{
hibitflag=1;
i=pslen;
errorflag=1;
rightflag=0;
cmpflag=0;
second3=0;
gotoa;
}
}
cc=0;
errorflag=0;
rightflag=1;
hibitflag=0;
a: cmpflag=0;
}
}
}
voidt0(void)
interrupt1using0{ TH0=(65536-500)/256;
TL0=(65536-500)%6;
if((errorflag==1)&&(rightflag==0))
{
bb++;
if(bb==800)
{
bb=0;
alarmflag=~alarmflag;
}
if(alarmflag==1)
{
P0_0=~P0_0;
}
aa++;
if(aa==800)
{
aa=0;
P0_1=~P0_1;
}
second3++;
if(second3==6400)
{
second3=0;
hibitflag=0;
errorflag=0;
rightflag=0;
cmpflag=0;
P0_1=1;
alarmflag=0;
bb=0;
aa=0;
}
}
if((errorflag==0)&&(rightflag==1))
{
P0_1=0;
cc++;
if(cc<1000)
{
okflag=1;
}
elseif(cc<2000)
{
okflag=0;
}
else
{
errorflag=0;
rightflag=0;
hibitflag=0;
cmpflag=0;
P0_1=1;
cc=0;
oka=0;
okb=0;
okflag=0;
P0_0=1;
}
if(okflag==1)
{
oka++;
if(oka==2)
{
oka=0;
P0_0=~P0_0;
}
}
else
{
okb++;
if(okb==3)
{
okb=0;
P0_0=~P0_0;
}
}
}
}
⑤ 單片機畢業設計,基於51單片機的電梯控制系統的設計
基於51單片機的電梯控制系統的設計
引 言
隨著現代高科技的發展,住房和辦公用樓都已經逐漸向高層發展。電梯是高層賓館、商店、住宅、多層倉庫等高層建築不可缺少的垂直方向的交通運輸工具。1889年美國奧梯斯升降機公司推出的世界上第一部以電動機為動力的升降機,同年在紐約市馬累特大廈安裝成功。隨著建築物規模越來越大,樓層也越來越高,對電梯的調速精度、調速范圍等靜態和動態特性都提出了更高的要求。由於傳統的電梯運行邏輯控制系統採用的是繼電器邏輯控制線路。採用這種控制線路,存在易出故障、維護不便、運行壽命較短、佔用空間大等缺點。從技術發展來看,這種系統將逐漸被淘汰。
目前,由可編程式控制制器(PLC)或微型計算機組成的電梯運行邏輯控制系統,正以很快的速度發展著。可編程式控制制器,是微機技術與繼電器常規控制技術相結合的產物,是在順序控制器和微機控制器的基礎上發展起來的新型控制器,是一種以微處理器為核心用作數字控制的專用計算機,它有良好的抗干擾性能,適應很多工業控制現場的惡劣環境,所以現在的電梯控制系統主要還是由可編程式控制制器控制。但是由於PLC的針對性較強,每一台PLC都是根據一個設備而設計的,所以價格較昂貴。而單片機價格相當便宜,如果在抗干擾功能上有所提高的話完全可以代替PLC實現對工控設備的控制。當然單片機並不象PLC那麼有針對性,所以由單片機設計的控制系統可以隨著設備的更新而不斷修改完善,更完美的實現設備的升級。
電梯控制系統是比較復雜的一個大型系統,在計算機誕生的幾十年裡,繼電器控制系統為電梯控制的發展做了巨大的貢獻,但在性能上和PLC還是有本質上的差距。在科技的不斷發展下,我想單片機控制系統很快可以解決抗擾性,成為方便有效的電梯控制系統。
由於時間和能力有限,在設計過程中難免有很多疏漏和不足之處,懇請老師批評指正,我將努力改正,爭取做出完美的畢業設計。
目錄
目錄 1
引 言 2
第1章 緒 論 3
1.1 電梯的發展 3
1.2電梯的分類 4
第2章 方案的比較和確定 6
2.1 方案的選擇 6
2.1.1 電梯繼電器控制系統的優缺點 6
2.1.2 PLC控制系統的特點 6
2.1.3 電梯變頻調速控制的特點 7
2.2 單片機控制方案的選擇 7
2.3 變頻器的選型 8
第3章 硬體系統的設計 10
3.1 硬體結構圖 10
3.2 系統硬體原理圖 10
3.3 89C51單片機的原理及其外圍電路的設計 10
3.3.1 89C51單片機的原理與結構 10
3.3.2 單片機外圍電路的設計 14
3.4 輸入模塊的設計 18
3.4.1 鎖存器74LS373及其擴展功能簡介 20
3.4.2 光電感測器 20
3.4.3 KC778B紅外感測器基本應用電路 21
3.4.4 輸入信號的採集 22
3.5 輸出模塊設計 24
3.5.1 DAC0832的功能簡介 25
3.5.2 變頻器功能簡介 26
3.5.3 LED驅動器功能簡介 29
3.5.4 控制信號的輸出 32
第4章 系統軟體的設計 34
4.1 主程序流程圖 34
4.2 讀入信息並顯示子程序的流程圖 37
4.3 延時去抖動子程序 37
4.4 設置目標層子程序流程圖 38
4.5 電機拖動子程序流程圖 39
4.6 電梯載客子程序流程圖 40
4.7 中斷服務流程圖 41
小結與展望 42
致謝 43
參考文獻 44
附錄部分: 45
附錄A 電氣原理圖 45
附錄B 外文文獻及其譯文 46
附錄C 主要參考文獻及其摘要 50