基于AT89C51單片機多功能實驗板的設計說明書
基于AT89C51單片機多功能實驗板的設計說明書,基于,at89c51,單片機,多功能,實驗,試驗,設計,說明書,仿單
單片機多功能實驗板的設計
[摘要]本次畢業(yè)設計是基于AT89C51單片機的多功能實驗板,該實驗板具有成本低、體積小、可靠性高、功能齊全、低功耗設計、操作方便等特點。本論文詳細介紹了該實驗板的開發(fā)過程及相關硬件設計和軟件設計。實驗板以ATMEL公司的AT89C51單片機為核心控制器,其設計主要分為硬件系統(tǒng)的設計和軟件程序的設計兩個部分。硬件系統(tǒng)的設計主要包括流水燈、數(shù)碼管、8*8點陣、1602液晶顯示、矩陣鍵盤、獨立鍵盤、AD轉換、DA轉換、步進電機、溫度檢測電路、蜂鳴器等;軟件程序設計主要是各模塊的C語言程序設計,并可與硬件資源實現(xiàn)聯(lián)調。經(jīng)過自己的努力,最終實現(xiàn)了該題目所要求的功能。
單片機多功能實驗板可以作為主控制模塊安裝于控制系統(tǒng)中執(zhí)行控制任務,也可以用作實驗板,完成單片機各類通用實驗,操作簡單,性價比高,可以應用于高校、科研院所的實驗室等場合,具有一定的實用價值和現(xiàn)實意義。
[關鍵詞]AT89C51 多功能 實驗板 性價比
Design of MCU multi-functional experiment board
【Abstract】The graduation project is a multi-function experiments board based on AT89C51 with low cost, small size, high reliability, fully function, low-power design, convenient operation. This paper introduces the development process of the test board and related hardware and software design. AT89C51 of ATMEL Corporation as the core controller, the design is divided into two parts, hardware system design and software design. Hardware system design includes flowing water lights, LED, 8 * 8 dot matrix, 1602 LCD, matrix keyboard, separate keyboard, AD converter, DA converter, stepper motor, the temperature detection circuit and buzzer, etc. Software design is mainly the C language programming of modules ,and can achieved joint debugging with hardware resources. Through my own efforts, the subject achieves its functions that required ultimately.
Multifunction microcontroller experimental board can be used as the main control module installed in the control system performing control tasks ,and also be used as a test board to complete all kinds of general experiments. It's simple, cost-effective, and also can be used in universities, research institutes, laboratories and other occasions. It has certain practical value and practical significance.
【key words】AT89C51 multi-function experiment board cost-effective
目錄
1 引言 1
2 系統(tǒng)方案 2
2.1 總體設計方案 2
2.2 設計原則 2
2.3 設計步驟 2
3 硬件部分 4
3.1 硬件總體結構 4
3.2 單片機最小系統(tǒng) 4
3.2.1 AT89C51介紹 5
3.2.2 時鐘電路 8
3.2.3 復位電路 9
3.3 流水燈 10
3.4 數(shù)碼管顯示 10
3.5 8*8點陣 11
3.6 矩陣鍵盤 12
3.7 獨立鍵盤 13
3.8 AD轉換 13
3.9 DA轉換 15
3.10 DS18B20測溫 16
3.11 MAX232 17
3.12 LCD1602液晶顯示 18
3.13 蜂鳴器 19
3.14 步進電機 20
3.15 通信電路設計 21
4 軟件部分 23
4.1 整體程序設計 23
4.2 軟件模塊設計 23
4.2.1 流水燈程序設計 23
4.2.2 數(shù)碼管程序設計 24
4.2.3 鍵盤程序設計 24
4.2.4 AD轉換程序設計 25
4.2.5 DA轉換程序設計 25
4.2.5 DS18B20測溫程序設計 26
4.2.5 LCD1602液晶顯示程序設計 26
5 仿真電路及單片機的調試 28
6 畢業(yè)設計總結 33
參考文獻 34
附錄A 外文原文 35
附錄B 外文翻譯 46
附錄C 元器件清單 52
附錄D 單片機實驗板原理圖 54
附錄E 程序 55
III
1 引言
隨著電子技術的發(fā)展,單片機在電訊技術、工業(yè)控制、汽車自動化、家用電器等領域得到了廣泛的應用,而51單片機由于其實用性好、可靠性高、便于擴展等特點得到了廣泛的應用。為了更好的學習和應用單片機,可以將經(jīng)常應用到的單片機外圍電路集成到一個單片機開發(fā)板上,以供使用者方便使用。同時應提供常用的移植性較好的模塊代碼(本設計選用C作為源代碼的編寫工具)。市場上現(xiàn)存的單片機開發(fā)板很多,因此,要求設計盡量能夠達到資源豐富、易用性好、設計美觀等特點。
本設計51單片機多功能開發(fā)板,集成了單片機應用過程中常用到的硬件資源,如鍵盤(獨立鍵盤、矩陣鍵盤)、數(shù)碼管、LCD顯示器、模數(shù)和數(shù)模轉換電路等,為學習和開發(fā)單片機產品提供了一個廣闊的平臺。
2 系統(tǒng)方案
2.1 總體設計方案
我的畢業(yè)設計題目是單片機多功能開發(fā)板,開發(fā)板共有13個模塊,分別是:51單片機最小系統(tǒng)、流水燈模塊、數(shù)碼管顯示模塊、8*8點陣模塊、矩陣鍵盤模塊、獨立鍵盤模塊,AD轉換模塊、DA轉換模塊、DS18B20測溫模塊、MAX232模塊、LCD1602模塊、蜂鳴器模塊、步進電機模塊。其中以C51單片機作為核心控制器;鍵盤模塊用來向單片機輸入特定編碼的信息;AD模塊用來實現(xiàn)模數(shù)轉換;DA模塊用來實現(xiàn)DA轉換;DS18B20測溫模塊用來測量環(huán)境溫度;數(shù)碼管模塊用來顯示簡單的數(shù)字、字母;8*8點陣模塊用來顯示簡單的數(shù)字、字母;LCD1602模塊用來顯示字母、數(shù)字、符號; MAX232模塊用來實現(xiàn)C51單片機的ISP在線編程;流水燈模塊用來顯示單片機I/O口電平的變化;蜂鳴器模塊用來發(fā)出聲音;步進電機模塊用來控制電機的轉動。
2.2設計原則
(1)設計必須符合單片機常規(guī)用法,最好選擇典型電路,為實現(xiàn)硬件系統(tǒng)的標準化做好鋪墊;
(2)外圍設備與系統(tǒng)擴展的配置應盡量滿足系統(tǒng)的功能和要求,并留有充分的余地,為了方便進行以后的開發(fā)和利用;
(3)盡量朝“單片”方向設計硬件系統(tǒng)。系統(tǒng)器件越多,器件之間相互干擾也越強,功耗也增大,也不可避免地降低了系統(tǒng)的穩(wěn)定性。
(4)硬件結構應該結合應用軟件方案進行考慮。硬件結構與軟件方案之間會產生一定的影響,考慮的原則是:軟件能實現(xiàn)的功能就沒必要用硬件來實現(xiàn),從而簡化硬件電路。但必須注意的是,用軟件來實現(xiàn)的硬件功能,響應時間一般比硬件實現(xiàn)的要長,而且占用CPU的時間比較多;
(5)電路中的相關器件盡可能的做到性能匹配。比如選用CMOS芯片構成的低功耗系統(tǒng)時,電路中所有芯片都要盡可能的選擇低功耗的產品;
(6)抗干擾設計和可靠性設計是硬件設計不可缺少的一部分,它包括芯片選擇、元器件選擇、PCB電路板布線和通道隔離等;
(7)單片機的外圍電路比較多時,應該考慮單片機的驅動能力。當單片機的驅動能力不足時,系統(tǒng)的工作就不可靠,解決方法是可以通過增設線驅動器來增強驅動能力或減少芯片功耗來降低總線負載。
2.3 設計步驟
(1)選擇每個模塊合適的芯片,并詳細查看每個芯片的資料,及時記錄該芯片的管腳圖、時序圖和典型電路;
(2)在proteus中畫出51單片機的最小系統(tǒng);
(3)根據(jù)每個芯片的時序圖,在keil軟件中用C語言進行軟件編程,并生成hex文件;
(4)根據(jù)每個芯片的典型電路,在proteus中畫出電路圖,在單片機中下載程序進行仿真;
(5)在面包板上進行調試仿真;
(6)仿真完成后,在Altium Designer中畫出原理圖,對每個進行器件進行封裝,并畫出PCB圖;
(7)制造印刷電路板,焊接元器件,下載程序并進行調試。
3 硬件部分
3.1 硬件總體結構
硬件總體模塊包括AT89C51單片機最小系統(tǒng)、流水燈模塊、數(shù)碼管顯示模塊、8*8點陣模塊、矩陣鍵盤模塊、獨立鍵盤模塊,AD轉換模塊、DA轉換模塊、DS18B20測溫模塊、MAX232模塊、LCD1602模塊、蜂鳴器模塊、步進電機模塊。總體框圖如圖3.1所示。
點陣
ADC電路
電機
AT89C51
流水燈
數(shù)碼管
DAC電路
矩陣鍵盤
復位電路
1602液晶屏
溫度傳感器
晶振電路(11.052MHz)
圖3.1 硬件總體框圖
3.2 單片機最小系統(tǒng)
51單片機最小系統(tǒng)包括:AT89C51、復位電路、晶振電路。原理圖如圖3.2的(a)(b)(c)所示:
(a)晶振電路 (b)復位電路
(c)AT89C51
圖3.2 AT89C51單片機最小系統(tǒng)
3.2.1 AT89C51介紹
AT89C51?單片機是?ATMEL?公司生產的一款低功耗、高性能的?CMOS?8?位微控制器,具有?8K?在系統(tǒng)可編程?Flash?存儲器,AT89C51 芯片內部集成了 CPU、RAM、ROM、定時/計數(shù)器和I/O口等各功能部件,并由內部總線把這些部件連接在一起[1]。
振蕩器及
時序 OSC
8951CPU
程序存儲器4KB ROM
數(shù)據(jù)存儲器256B
2個16位定時器/計數(shù)器
64K總線擴展控制器
可編程I/O
可編程全雙工串行口
外時鐘源 外部事件計數(shù)
中斷 控制 并 行 口 串行通信
圖3.3 AT89C51單片機功能結構框圖
AT89C51單片機內部包含以下一些功能部件:
(1) 一個8位CPU;
(2) 一個片內振蕩器和時鐘電路;
(3) 4KB ROM;
(4) 128B內RAM;
(5) 可尋址64KB的外ROM和外RAM控制電路;
(6) 兩個16位定時/計數(shù)器;
(7) 21個特許功能寄存器;
(8) 4個8位并行I/O口,共32條可編程I/O端線;
(9) 一個可編程全雙工串行口;
(10) 5個中斷源,可設置成2個優(yōu)先級。
電源
VCC——芯片電源,接+5V;
GND——接地端。
時鐘
XTAL1、XTAL2——晶體振蕩電路反相輸入端和輸出端。使用內部振蕩電路時外接石英晶體。
控制線
單片機的控制總線一共有4根,其中有3根是可以復用的。復用線就是指其具有兩種功能,平常使用的是其一種功能,在某些特定環(huán)境下使用其另一種功能。
(1)ALE/PROG——地址鎖存允許/片內EPROM編程脈沖。
①ALE——鎖存P0口輸出的低8位的地址。
AT89C51在并行擴展外存儲器時,P0口用于分時傳送數(shù)據(jù)信號和低8位地址,而且都是二進制數(shù)。當ALE端口的信號無效時,P0口傳送8位數(shù)據(jù)信號;當ALE端口的信號有效時,P0口傳送的是低8位地址信號。當ALE端口為信號的下降沿是,此時鎖定P0口傳送低8位地址信號[5]。
AT89C51的引腳排列圖如圖3.4所示。
②PROG功能:在EPROM的編程期間,此引腳會輸入編程的脈沖,因為片內有EPROM的芯片。
(2)PSEN——外部ROM讀選通的信號。
AT89C51讀外部ROM時,每一個機器周期內PSEN端口都會有兩次有效輸出。所以PSEN可以作為外部ROM芯片輸出允許位OE的選通信號。在讀內部ROM和讀外部RAM時,PSEN的功能無效。
(3) RST/VPP——復位/電源。
①工作正常時,RST(Reset)端口是復位信號的輸入端口,只要在該復位引腳上保持連續(xù)兩個機器周期的高電平,AT89C51就可以實現(xiàn)復位操作,復位后一切會從新開始,CPU此時會從0000H開始執(zhí)行所有指令。
②VPP:在VCC掉電的情況下,此VPP引腳可以接上備用電源,以此可以由VPP向片內電路供電,從而保存片內RAM中的數(shù)據(jù)。
圖3.4 AT89C51單片機引腳圖
(4) EA/VPP ——內外ROM選擇/片內EPROM編程電源。
①EA功能:正常工作時,EA為內外ROM選擇端。AT89C51單片機ROM尋址范圍為64KB,其中4KB在片內,60KB在片外(80C31芯片無內ROM,全部在片外)。當EA保持高電平時,先訪問內ROM,但當PC(程序計數(shù)器)值超過4KB(0FFFH)時,將自動轉向執(zhí)行外ROM中的程序。當EA保持低電平時,則只訪問外ROM,不管芯片內有否內ROM。
②VPP功能:片內有EPROM的芯片,在EPROM編程期間,此引腳用于施加編程電源VPP。
I/O引腳
AT89C51共有4個8位并行I/O端口,共32個引腳
P0口:P0口是一個8位的雙向I/O口,每個引腳可以吸收8TTL門的電流。當P0口的管腳在第一次寫1時,此時會被定義為高阻態(tài)輸入。P0可以用于外部程序的數(shù)據(jù)存儲器,它能被定義為地址/數(shù)據(jù)的低八位。在flash編程時,P0 口會變成原碼的輸入口,當flash在進行校驗時,P0口輸出原碼,此時P0口的外部要接上拉電阻。
P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。
P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,由于上拉的緣故,P3口將輸出電流。
P3口也可以作為AT89C51的一些特殊功能的端口,如下所示:
P3.0 — RXD——串行輸入口
P3.1 — TXD——串行輸出口
P3.2 — /INT0——外部中斷0
P3.3 — /INT1——外部中斷1
P3.4 — T0——計時器0外部輸入
P3.5 — T1——計時器1外部輸入
P3.6 — /WR——外部數(shù)據(jù)存儲器寫選通信號
P3.7 — /RD——外部數(shù)據(jù)存儲器讀選通信號
P3口還可以作為編程校驗和閃爍編程來接收一些控制信號。
3.2.2 時鐘電路
時鐘電路用于產生單片機工作時所需要的時鐘信號,時序就是指令執(zhí)行過程中各信號之間的關系。 單片機可以說就是一個復雜的同步時序電路, 為了能保證同步工作方式實現(xiàn), 電路應該在一個的時鐘信號的控制下進行工作。
在本次設計中,時鐘電路設計就是采用內部方式,也就是利用單片機內部的振蕩電路。AT89C51單片機的內部有一個高增益的反相的放大器。XTAL1和XTAL2是其輸入和輸出端。這個高增益反相放大器會和反饋元件的片外晶體諧振器構成自激振蕩器。外部接晶體振蕩器和電容C2、C3行成并聯(lián)諧振電路,在放大器反饋回路中,雖然對外接電容值沒有嚴格要求,但是電容的大小會影響起振的快速和溫度的穩(wěn)定性、振蕩器的穩(wěn)定性、振蕩器頻率的高低。因此,此系統(tǒng)電路的晶體振蕩器的值為11.0592MHz,電容應盡可能的選擇陶瓷電容,電容 C2 、C3 容量在 15~40pF 之間,所以本次設計電容值選為30pF[11]。在焊接刷電路板時,我們應注意晶體振蕩器和電容盡可能安裝的與單片機芯片靠近些,用以減少寄生電容,為了更好地保證振蕩器可靠地工作和穩(wěn)定行,時鐘電路圖如圖3.5所示。
圖3.5 時鐘電路
3.2.3 復位電路
復位電路是對單片機初始化的操作,他的功能就是讓單片機從地址是0000H單元重新執(zhí)行程序。進入系統(tǒng)的正常初始化除外,當程序運行出錯或者操作錯誤導致系統(tǒng)處于死鎖狀態(tài)時,為了擺脫死機也需按復位鍵以重新啟動。AT89C51芯片內部有復位電路,RST 引腳是復位信號的輸入端,當出現(xiàn)高電平時有效,復位方式有自動復位和手動復位兩種。
單片機復位電路參數(shù)的選定須在振蕩穩(wěn)定后保證復位高電平持續(xù)時間大于?2?個機器周期。此處,R8取?1KΩ,但是?R9的取值一般為?4?倍的?R17,既必須是?5KΩ??以上。這是因為?2.7V?及以下的邏輯電平被稱為低電壓邏輯電平,3.3V?及以上的邏輯電平被稱為高電壓邏輯電平,介于兩者之間的邏輯電平被稱為中間電平。所以,此處復位端要得到高電平,要分的?4/5?左右的電壓,則取?10KΩ?的電阻。[12]
AT89C51單片機有一個復位引腳RST,高電平有效。在時鐘電路工作以后,當外部電路使得RST端口出現(xiàn)兩個機器周期(24個時鐘周期)以上的高電平,系統(tǒng)內部復位。復位有兩種方式:上電復位和按鈕復位。在此次的設計中,我采用按鍵復位,其電路圖如圖3.6所示。
圖3.6 復位電路
只要RST保持高電平,AT89C51單片機將循環(huán)復位。復位期間,ALE、PSEN輸出高電平。RST從高電平變?yōu)榈碗娖胶?,PC指針變?yōu)?000H,使單片機從程序存儲器地址為0000H的單元開始執(zhí)行程序。當單片機執(zhí)行程序出錯或進入死循環(huán)時,可按復位按鈕重新啟動。
3.3 流水燈
流水燈是單片機實驗板開關信號輸出控制的一個經(jīng)典電路,可以通過燈的亮滅來觀察單片機I/O口的狀態(tài),使實驗學習更加直觀。 各個發(fā)光二極管都是共陽極接法的,因為51單片機的高電平輸出驅動能力不強,不可以驅動一個發(fā)光二極管發(fā)光。而51單片機的低電平輸出驅動能力卻比較大,這由51單片機的I/O口結構決定的,所以采用共陽極接法。如圖3.7所示。
圖3.7 流水燈電路
一般對于初學者,應該是從點亮第一個發(fā)光二極管開始學習單片機的??梢杂每偩€方式或位操作點亮發(fā)光二極管。
3.4 數(shù)碼管顯示
單片機應用系統(tǒng)中大量使用數(shù)碼管,普遍應用的是七段LED。a.b.c.d.e.f.g,7段就是對應7個發(fā)光二極管(如果在加上小數(shù)點dp.實際為8個發(fā)光二極管),當它們通過電阻和AT89C51的口線相連時,我們只要用軟件控制口線的高低電平就能使其熄滅或發(fā)光。LED有共陰極和共陽極之分,顧名思義,共陰極就是將所有發(fā)光二極管的陰極連在一起,共陽極就是將陽極連在一起。因為單片機口線的輸出電流能力是有限的,在實際應用中最好采用共陽極LED,因為這樣點亮LED時,電流由+5V電源流向單片機的口線,單片機是“吸入”而不是“輸出”電流。
共陰極數(shù)碼管的示意圖及段選碼如圖3.8所示,本設計的單片機開發(fā)板采用六個共陰極數(shù)碼管,可以采用單個數(shù)碼管進行LED靜態(tài)顯示試驗,也可以使用多個數(shù)碼管進行動態(tài)顯示試驗。為了使數(shù)碼管在動態(tài)顯示時有較高的亮度,本設計采用74HC573鎖存器作為驅動芯片,既可以提高數(shù)碼管的驅動電流,又可以作為鎖存器使用,提高對單片機I/O口資源的利用率。數(shù)碼管顯示電路如圖3.9所示。
圖3.8 數(shù)碼管
圖3.9 數(shù)碼管顯示電路
另外,在實驗中發(fā)現(xiàn)當六個數(shù)碼管同時顯示時,若單片機實驗板的其他功能部進行工作,數(shù)碼管的亮度較低,同時還考慮到單片機的P0口的輸出不穩(wěn)定,一般達不到高電平,所以在P0口上加上了10K的上拉電阻,電路圖如單片機最小系統(tǒng)所示。
對于幾個?LED?顯示器,一般都是采用動態(tài)掃描的方法進行顯示,其硬件連接方式如系統(tǒng)原理圖。在動態(tài)方式中,循環(huán)的點亮每個顯示器。雖然這樣在每一時刻只有一個數(shù)碼管被點亮,但是由于人眼具有視覺殘留效應,所以看起來與全部數(shù)碼管都亮效果完全一樣。單片機通過一個?8?位的二進制電平信號顯示出想要的顯示結果。要使用六位八段數(shù)碼管,只要控制相應的位選(6位)和段選(8位)就可以自由的是數(shù)碼管顯示相應的數(shù)字。位選和段選,可以選用鎖存器74HC573鎖存數(shù)據(jù),可以節(jié)省?I/O?口。
3.5 8*8點陣
本單片機多功能實驗板使用的是8*8點陣。點陣的對應如表3.1所示:
表3.1 點陣管腳
C1
R4
R6
C4
R1
C2
R7
R8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
C5
C7
R2
R3
C8
R5
C6
C3
其中,R?代表行,接低電平有效;C?代表列,接高電平有效本開發(fā)板的點陣部分,C(列)接的是三態(tài)線驅動器?74LS244,它可以看做一個?8?路的驅動模塊,能夠提高?51?單片機的接口線負載能力,特別是?P0?口,另外還可以對外部的毛刺進行平滑。?標準?51?單片機的電流都不怎么大。
圖3.10 8*8點陣電路
3.6 矩陣鍵盤
矩陣鍵盤又稱為行列式鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個交叉點上,設置一個按鍵。這樣,一個端口(如P1口)就可以構成4×4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,在鍵盤中按鍵數(shù)量較多時,為了減少I/O口地占用,一般都將開關排列成矩陣形式。
獨立按鍵的設計雖然簡單,但缺點是當需要較多的按鍵時,獨立按鍵占用的I/O口較多(一個獨立按鍵對應一個I/O口)。M+N個I/O端口即可設計出M*N個鍵盤。本設計采用P1口設置4*4矩陣鍵盤。按鍵的標號為第一行第一列記為“0”鍵,第一行第二列為“1”鍵,依此類推,16個按鍵分別對應數(shù)字“0-9”,字符“a-f”。
鍵盤的識鍵和譯鍵有硬件和軟件兩種方法,硬件譯鍵的方法需要專門的芯片支持,因此設計成本較高。軟件實現(xiàn)簡單,成本較低,所以采用行掃描法進行鍵盤的識別。
矩陣鍵盤電路圖如圖3.11所示。
排針擴展
圖3.11 矩陣鍵盤電路
行掃描法的工作過程簡單介紹為:首先給P1口賦值0xfe,這時P1口除了P1.0以外其余都為高電平,此時如與P1.0口相接的按鍵有按下,則P1口高四位讀出的數(shù)據(jù)有變化(如與P1.0相接的列線中有低電平輸出,則對應的按鍵按下,如與P1.0相接的列線中無低電平輸出,則說明無按鍵按下),延時一段時間以確認從P1口高四位讀回的數(shù)據(jù)是否由于干擾引起的,確定有按鍵按下后,根據(jù)讀出的P1口的值即可確定是哪一列的按鍵按下。以此類推,可將16個按鍵依次識別。即為行掃描法識鍵。
矩陣鍵盤可以用行掃描法,其方法又稱為逐行(或列)掃描查詢法,是一種常用的識別方法,介紹如下:
(1)將每行線置于低電平,接下來檢測每列線的狀態(tài)。無論有哪一列的電平為低電平,則說明鍵盤中有鍵按下,并且閉合的開關是低電平線與行線相交叉的按鍵。若每個列線都是高電平,則說明鍵盤中沒有鍵按下。
(2)在確認有開關按下后,即可確定具體閉合開關的過程。方法是:逐次將行線置于低電平,即在置某一根行線為低電平時,其它行線為高電平。在確定哪一根行線位置為低電平時,再依次檢測各列線的電平狀態(tài)。如果某列為低電平,則該列線與被置為低電平的行線交叉處的開關就為閉合的開關。
3.7 獨立鍵盤
鍵盤是人與AT89C51單片機聯(lián)系的重要手段,用于向CPU輸入運行參數(shù),控制系統(tǒng)的運行狀態(tài)。只要在公共端輸入低電平,檢測其余四個端口,一旦出現(xiàn)低電平,就可以確認那個開關被按下,以此執(zhí)行下面的程序。如圖3.12所示:
排針擴展
圖3.12 獨立鍵盤電路
3.8 AD轉換
本次設計用的AD轉換芯片是ADC0804,它是一個模擬8路輸入逐次比較型A/D轉換器,由于價格便宜,而且軟件操作和單片機的接口都比較簡單,所以在8位單片機系統(tǒng)中有著很好的使用。ADC0804是由地址鎖存器、譯碼器、8路模擬開關、三態(tài)輸出鎖存緩沖器和8位A/D轉換器組成[14]。
ADC0804具有以下特點:
(1)8位分辨率;
(2)雙通道A/D轉換;
(3)輸入輸出電平與TTL/CMOS兼容;
(4)5V電源供電時輸入電壓在0-5V之間;
(5)工作頻率為?250KHZ,轉換時間為?32μS;
(6)一般功耗僅為15mW;
(7)8P、14P—DIP(雙列直插)、PICC多種封裝;
(8)商用級芯片溫寬為?0℃到+70℃工業(yè)級芯片溫寬為-40℃to??+85℃。
8位AD轉換電路如圖3.13所示。
圖3.13 AD轉換電路
A/D轉換可以有6種方式啟動:定時器0溢出、定時器1溢出、定時器2溢出、定時器3溢出、軟件命令、外部轉換啟動信號。這種靈活性可以用周期性信號(定時器溢出)、軟件事件或外部硬件信號觸發(fā)轉換。一個狀態(tài)位用于指示轉換完成,或產生中斷。轉換結束后的10位結果數(shù)據(jù)字被鎖存到ADC數(shù)據(jù)寄存器中。
模擬選擇器選擇ADC的正輸入和負輸入,端口引腳、片內的溫度傳感器輸出和正電源(VDD)中的每一個可以被選擇為正輸入, VREF、端口引腳和GND中的每一個都可以選擇為負輸入。當GND選擇負輸入時,ADC工作方式為單端方式,在它所有的其它時間,ADC工作方式均為差分方式。
3.9 DA轉換
本次設計用的DA轉換芯片是DAC0832,它是一個8位CMOS工藝集成的D/A轉換器芯片,具有20個引腳,其輸出模擬量可有256個不同的等級。單電源供電,從+5V~+15V均可正常工作,基準電壓的范圍為±10V,電流建立時間為1μs,CMOS工藝,低功耗20mm。它由1個8位輸入寄存器、1個8位DAC寄存器和1個8位D/A轉換器組成,它的主要參數(shù)如下:分辨率是8位,轉換時間是1μs,滿量程誤差是±1LSB,參考電壓是(+10~-10)V,供電電源是(+5~+15)V,邏輯電平輸入與?TTL?兼容 [17] 。在?DAC0832?中有兩級的鎖存器,第一級的鎖存器稱之為輸入寄存器,它的允許鎖存信號是?ILE,第二級的鎖存器稱之為?DAC?寄存器,它地鎖存信號稱為通道控制信號XFER。
在DAC0832中,當?ILE?為高電平時,片選信號??/CS??和寫信號??/WR1?是低電平時,輸入寄存器控制信號變成?1,這樣情況下,輸入寄存器的輸出就會隨輸入而變化。然后,當/WR1?由低電平變成高電平時,控制信號會變?yōu)榈碗娖?,此時,數(shù)據(jù)就會被鎖存到輸入寄存器中,這樣后,輸入寄存器的輸出端就不再會隨外部數(shù)據(jù)?DB?變化。
圖3.14 DA轉換電路
DAC0832引腳功能定義如下:
(1)?DI7~DI0?:8?位的數(shù)據(jù)輸入端,DI7為最高位。
(2)IOUT1?:模擬電流的輸出端?1,當DAC寄存器中的數(shù)據(jù)全為?1?時,輸出電流達到最大,而當??DAC寄存器中數(shù)據(jù)全為?0?時,輸出電流會為?0。
(3)IOUT2?:模擬電流的輸出端?2,?IOUT2和IOUT1之和是一個常數(shù)。
(4)RFB?:反饋電阻的引出端,DAC0832的內部已經(jīng)加有反饋電阻,因此RFB可以接上外部運算放大器的輸出端,這樣就相當于將一個反饋電阻接在運算放大器地輸入端和輸出端之間。
(5)VREF?:參考電壓的輸入端,這端可接一個負電壓,也可以接一個正電壓,它決定著0?到?255?的數(shù)字量化出來的模擬量值的幅度,VREF范圍為(+10~-10)V。D/A內部T形電阻網(wǎng)絡與VREF端相連。
(6)Vcc??:芯片的供電電壓范圍為(+5~?15)V。
(7)AGND??:模擬量地。
(8)DGND??:數(shù)字量地。
由DAC0832轉換后的模擬信號時電流信號,經(jīng)過運放形成的電壓、電流轉換電路變成電壓信號的輸出,J1可用于向外部引出通過DAC0832轉換后形成模擬信號。因為運放輸出的電壓信號為負極性,所以運放不僅需要正電源,而且需要負電源。
3.10 DS18B20測溫
本次設計用的測溫芯片是DS18B20,該芯片具有以下的特點:
(1)只用一個?I/O?口就可以實現(xiàn)通信。
(2)在?DS18B20?的每個元器件上都有一個序列號。
(3)在實際應用中根本不要外部任何元件就可以實現(xiàn)測溫。
(4)測量溫度的范圍在-55℃到+125℃之間。
(5)數(shù)字溫度計分辨率可以從?9?位到?12?位選擇。
(6)芯片內部有溫度上、下限設置。
DS18B20?詳細引腳功能描述:
1?腳??GND?地信號;2??腳?DQ?數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。3?腳??VDD?可選擇的?VDD?引腳。當工作于寄生電源時,此引腳必須接地。
DS18B20?使用方法:
由于?DS18B20?采用的是單總線協(xié)議方式,也就是在一根數(shù)據(jù)線上即可實現(xiàn)數(shù)據(jù)的雙向傳輸,而對?AT89C51來說,我們采用軟件方法來模擬單總線協(xié)議的時序來完成訪問?DS18B20?芯片。因為?DS18B20?是在一根?I/O?線上讀寫數(shù)據(jù),因此,對讀寫數(shù)據(jù)位的時序要求非常嚴格[22]。DS18B20?有著嚴格的通信協(xié)議以此來保證各位數(shù)據(jù)傳輸?shù)耐暾院驼_性。這個協(xié)議定義了好多種信號的時序:寫時序、讀時序和初始化時序。所有的時序都是將主機作為主設備,單總線元器件作為副設備。但每一次數(shù)據(jù)和命令的傳輸都是從主機啟動開始寫時序的,如果要求單總線器件回送數(shù)據(jù)時,在進行寫命令后,主機會需啟動讀時序完成數(shù)據(jù)的接收。數(shù)據(jù)和命令的傳輸都是低位在先。
圖3.15 DS18B20測溫電路
3.11 MAX232
本次設計用的串口轉換芯片是MAX232。AT89C51單片機有一個全雙工的串行口,所以單片機和PC之間可以方便地進行串口通訊。進行串行通信時要滿足一定的條件,如PC的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉換電路,這里用專用芯片MAX232進行轉換,用專用芯片更簡單可靠。MAX232如圖3.16所示。 它包含兩路接收器和驅動器,內部有一個電源電壓變換器,可以把輸入的0—5V電壓變換為RS-232傳輸協(xié)議所需的電壓。該芯片只需單一的+5V電源就可以工作。
單片機串口通信的應用,通過串口,我們的個人電腦和單片機系統(tǒng)進行通信。個人電腦作為上位機,向下位機單片機系統(tǒng)發(fā)送十六進制或者?ASCII碼,單片機系統(tǒng)接收后,用?LED?顯示接收到的數(shù)據(jù)和向上位機發(fā)回原樣數(shù)據(jù)。單片機與?PC?機通信遵守?RS-232?標準[24]。我們是用?MAX232?芯片將?RS232?電平轉換為?TTL?電平的。一個完整的RS-232接口有?22?根線,采用標準的25芯插頭座。我們在這里使用的是簡化的?9?芯插頭座。注意我們在這里使用的晶振是?12M。因為波特率的設置需要?12M?的。
“串口調試助手?V2.1.exe”軟件的使用很簡單,只要將串口選擇‘CMO1’波特率設置為‘9600’數(shù)據(jù)位為8位。打開串口(如果關閉)。然后在發(fā)送區(qū)里輸入要發(fā)送的數(shù)據(jù),單擊手動發(fā)送就將數(shù)據(jù)發(fā)送出去了。注意,如果選中‘十六進制發(fā)送’那么發(fā)送的數(shù)據(jù)是十六進制的,必須輸入兩位數(shù)據(jù)。如果沒有選中,則發(fā)送的是?ASCLL?碼,那么單片機控制的數(shù)碼管將顯示?ASCLL?碼值。
在此開發(fā)板中,我們使用的串口通信芯片是?MAX232。MAX232?是一種雙組驅動器/接收器,片內含有一個電容性電壓發(fā)生器, MAX232?的工作溫度范圍為?0℃至?70℃,MAX232I?的工作溫度范圍為-40℃至?85℃。
通信接口電路如圖3.16所示。
圖3.16 MAX232電路
MAX232?的特點:
(1)單+5V?電源工作
(2)CMOS工藝技術
(3)內部有兩個驅動器和兩個接收器
(4)±30V?輸入電平
(5)低電流:典型值是?8mA
(6)優(yōu)于?ANSI?標準?EIA/TIA-232-E?及?ITU?推薦標準?V.28
(7)可與?Maxim?公司的?MAX232?互換
(8)ESD?保護大于?MIL-STD-883??(方法?3015)標準的?2000V
串口通信的硬件連接采用三線制連接串口,就是說和PC的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡單的連接方法,但是對本題來說已經(jīng)足夠了,MAX232的第10腳和單片機的11號引腳連接,第9腳和單片機的10腳連接。MAX232的第7腳和PC機串口的2號引腳連接,第8腳和PC機串口的3號引腳連接,MAX232的第15腳連接GND和第16腳連接VCC。
3.12 LCD1602液晶顯示
液晶顯示原理是利用液晶地物理特性,是通過電壓對它顯示的區(qū)域進行控制,有電就會有顯示,所以這樣可以顯示出圖形。液晶顯示器的厚度很薄、比較適用于大規(guī)模集成電路、而且容易于實現(xiàn)全彩色的顯的特點,到目前已經(jīng)廣泛應用于便攜式電腦、數(shù)字攝像機、PDA?移動通信工具等眾多領域。
圖3.17 1602顯示電路
1602?采用標準的?16?腳接口,其中:
第?1?腳:VSS是電源地
第?2?腳:VDD是5V?電源正極
第?3?腳:V0控制顯示器對比度,當接地電源時的對比度最高,當接正電源時的對比度最弱
第?4?腳:RS是寄存器的選擇端,當為高電平時選擇數(shù)據(jù)寄存器,當為低電平時選擇指令寄存器。
第?5?腳:RW?為讀寫的信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。
第?6?腳:E(或?EN)端為使能(enable)端。
第?7~14?腳:D0~D7?為?8?位雙向數(shù)據(jù)端。
第?15~16?腳: 15?腳是背光的正極,16?腳是背光的負極。
1602液晶屏是一種通用模塊。與數(shù)碼管相比該模塊有如下優(yōu)點:
(1)位數(shù)多,可顯示32位,32個數(shù)碼管體積相當龐大了。
(2)顯示內容豐富,可顯示所有數(shù)字和大、小寫字母。
(3)程序簡單,如果用數(shù)碼管動態(tài)顯示,會占用很多時間來刷新顯示,而1602自動完成此功能。
開發(fā)板液晶顯示電路如圖3.16所示。
3.13 蜂鳴器
蜂鳴器是一種一體化結構的電子訊響器,廣泛應用于單片機系統(tǒng)中,用來做發(fā)聲器件或報警裝置。由于蜂鳴器的工作電流一般比較大,以致于單片機的I/O 口是無法直接驅動的,所以要利用放大電路來驅動,一般使用三極管來放大電流就可以了。
圖3.18 蜂鳴器電路
實驗發(fā)現(xiàn),單片機I/O口的低電平輸出的驅動能力比高電平要強的多,但在保證符合邏輯電平時也只有不到5mA,不需要保證邏輯電平時(如驅動LED)可以達到10mA。因此,如果驅動較大功率的器件,應該以低電平有效并且外接功率驅動器件,才能對較大功率器件進行有效的操作。 蜂鳴器需要的驅動電流較大,根據(jù)以上考慮,仿真實驗板采用了如圖3.18所示的實驗驅動電路。單片機的輸出口節(jié)“SPEAKER”端,當單片機輸出低電平時,三極管導通,蜂鳴器接通,蜂鳴器發(fā)出“嘀”的聲音;當單片機輸出高電平時,三極管不導通,蜂鳴器不工作。該電路結構簡單、使用方便。雖然采用分立元件,在需要驅動負載個數(shù)不多的情況下,采用這種電路是較為適宜的。
3.14 步進電機
圖3.19 步進電機電路
ULN2003?系列是美國?Texas?Instruments?公司、美國?Sprague?公司開發(fā)的高壓大電流達林頓晶體管陣列產品,是一種高耐壓、大電流達林頓陳列,由七個硅NPN??達林頓管組成。
本設計的驅動電路如圖3.19所示。
ULN2003A?電路具有以下特點:
(1)電流增益高(大于?1000);
(2)帶負載能力強(輸出電流大于?500mA);
(3)溫度范圍寬(-40~85℃);
(4)工作電壓高(大于?50V)。
(5)ULN2003?的每一對達林頓都會串聯(lián)一個2.7K的基極電阻, 它能在?5V的工作電壓下與?TTL和CMOS電路相連,則可以直接處理原先需要標準邏輯緩沖器來處理的數(shù)據(jù)。
(5)ULN2003的工作電壓很高,工作電流很大,灌電流可以達到500mA,而且溫度范圍很寬,帶負載能力很強,而且在關態(tài)時能夠承受50V的電壓,輸出還可以在高負載電流運行,適應于各類要求高速大功率驅動的系統(tǒng)。
(7)ULN2003采用DIP—16封裝。
3.15 通信電路設計
通信電路設計通信電路設計通信電路設計
本設計系統(tǒng)要實現(xiàn)數(shù)據(jù)采集及顯示功能,采集現(xiàn)場和顯示現(xiàn)場為分離系統(tǒng),因此要完成此系統(tǒng)的功能,就必須解決主、從機之間的通信問題。本設計采用RS-232串口通信實現(xiàn)主、從機之間的通信。
RS-232接口標準
RS-232是串行數(shù)據(jù)接口標準,最初都是由電子工業(yè)協(xié)會(EIA)制訂并發(fā)布的,RS-232在1962年發(fā)布,命名為EIA-232-E,作為工業(yè)標準,以保證不同廠家產品之間的兼容。RS-422由RS-232發(fā)展而來,它是為彌補RS-232之不足而提出的。為改進RS-232通信距離短、速率低的缺點,RS-422定義了一種平衡通信接口,將傳輸速率提高到10Mb/s,傳輸距離延長到4000英尺(速率低于100kb/s時),并允許在一條平衡總線上連接最多10個接收器。RS-422是一種單機發(fā)送、多機接收的單向、平衡傳輸規(guī)范,被命名為TIA/EIA-422-A標準。為擴展應用范圍,EIA又于1983年在RS-422基礎上制定了RS-485標準,增加了多點、雙向通信能力,即允許多個發(fā)送器連接到同一條總線上,同時增加了發(fā)送器的驅動能力和沖突保護特性,擴展了總線共模范圍,后命名為TIA/EIA-485-A標準。由于EIA提出的建議標準都是以“RS”作為前綴,所以在通訊工業(yè)領域,仍然習慣將上述標準以RS作前綴稱謂。
RS-232、RS-422與RS-485標準只對接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議,在此基礎上用戶可以建立自己的高層通信協(xié)議。
串行傳輸采用的通信協(xié)議 EIA-RS-232對邏輯電平、各種信號線功能和電氣特性都作了規(guī)定。在RXD和TXD數(shù)據(jù)上: 邏輯1(MARK)為-3~-15V 邏輯0(SPACE)為+3~-+15V 在RST、CTS、DSR、DTR和DCD等控制線上: 信號有效(接通,ON狀態(tài),正電壓)為+3~+15V 信號無效(斷開,OFF狀態(tài),負電壓)為-3~-15V 以上規(guī)定說明了RS-232標準對邏輯電平的定義。對于數(shù)據(jù)(信息碼):邏輯“1”(傳號)的低電平低于-3V,邏輯“0”(空號)的電平高于+3V;對于控制信號:接通狀態(tài)(ON)即信號有效的電平高于+3V,斷開狀態(tài)(OFF)即信號無效的電平低于-3V,也就是當傳輸電平的絕對值大于3V時,電路可以有效地檢查出來,介于-3V~+3V之間的電壓都沒有意義,低于-15V或高于+15V的電壓也認為無意義,因此,實際工作時,應保證電平在正負(3~15)V之間。 EIA-RS-232與TTL轉換:很明顯,EIA-RS-232是用正負電壓來表示邏輯狀態(tài),與TTL以高低電平表示邏輯狀態(tài)地規(guī)定不同。因此,為了能夠在同一個計算機接口和終端的TTL器件連接,必須在TTL電路與EIA-RS-232之間進行邏輯關系和電平的變換[14]。
4 軟件部分
4.1 整體程序設計
軟件部分主要包括數(shù)碼管程序、鍵盤程序、AD程序、DA程序、DS1302時鐘程序、DS18b20溫度傳感器程序、串行通信程序、顯示程序和其他簡單模塊程序。
4.2軟件模塊設計
4.2.1 流水燈程序設計
本次設計的流水燈采用的是共陽極設計,正極接上排阻,負極由P1口控制,當P1口出現(xiàn)低電平時,二極管就會發(fā)光。流程圖如圖4.1所示。
圖4.1 流水燈流程圖 圖4.2 數(shù)碼管流程圖
4.2.2 數(shù)碼管程序設計
本設計的單片機開發(fā)板采用六個共陰極數(shù)碼管,可以采用單個數(shù)碼管進行LED靜態(tài)顯示試驗,也可以使用多個數(shù)碼管進行動態(tài)顯示試驗。為了使數(shù)碼管在動態(tài)顯示時有較高的亮度,本設計采用兩個74LS573鎖存器作為驅動芯片,既可以提高數(shù)碼管的驅動電流,又可以作為鎖存器使用,提高對單片機I/O口資源的利用率。
程序設計中,因為一個IO口不但控制著六個數(shù)碼管的段選,還控制著它們的位選。所以在編程時,首先必須打開位選鎖存器的鎖存端,也就是給74HC573的LE口賦1,然后關閉位選鎖存器的鎖存端,接下來打開段選鎖存器的鎖存端,將P0口的值賦給數(shù)碼管,數(shù)碼管就顯示數(shù)字。
因為一個IO口控制著六個數(shù)碼管,要想它們同時顯示不同的數(shù)字,就只能根據(jù)人眼的識別能力,提高數(shù)碼管的動態(tài)速度,達到人眼不能分辨的效果。
4.2.3 鍵盤程序設計
鍵盤程序流程圖如圖4.3所示:
圖4.3 鍵盤流程圖
本設計用P3口控制矩陣鍵盤,P3口有4+4和I/O引腳,所以可以控制4*4個開關,也就是4*4的矩陣鍵盤,首先給P3口賦予0xf0,然后不斷檢測P3口的數(shù)值,如果P3口檢測到數(shù)值為0xe0,則可以確認第一個開關按下,以此類推,就可以檢測出全部開關。
4.2.4 AD轉換程序設計
A/D轉換可以有6種方式啟動:定時器0溢出、定時器1溢出、定時器2溢出、定時器3溢出、軟件命令、外部轉換啟動信號。這種靈活性可以用周期性信號(定時器溢出)、軟件事件或外部硬件信號觸發(fā)轉換。一個狀態(tài)位用于指示轉換完成,或產生中斷。轉換結束后的10位結果數(shù)據(jù)字被鎖存到ADC數(shù)據(jù)寄存器中。流程圖如圖4.4所示。
圖4.4 AD轉換流程圖 圖4.5 DA轉換流程圖
4.2.5 DA轉換程序設計
DAC0832中,當?ILE?為高電平,片選信號??/CS??和寫信號??/WR1?是低電平時,輸入寄存器控制信號為?1,這樣情況下,輸入寄存器的輸出會隨輸入的變化而變化。然后,當/WR1?由低電平變?yōu)楦邥r,控制信號會變?yōu)榈碗娖剑藭r,數(shù)據(jù)就會被鎖存到輸入寄存器中,這樣后,輸入寄存器的輸出端就不再會隨外部數(shù)據(jù)?DB?變化。
DA轉換流程圖如圖4.5所示。
4.2.5 DS18B20測溫程序設計
DS18B20 在使用時不用任何外圍元件,全部的傳感器元件和轉換電路都集成在一個電路內;當電源的極性接反時,芯片就不能正常工作;每個DSl8B20 元器件都對應一個64 位的序號,序號存放ROM中,可以通過序號的匹配來實現(xiàn)多點測溫。DS18B20采用單總線結構,單總線在任何時刻只能有一個控制信號或數(shù)據(jù),數(shù)據(jù)要能在單片機和單總線芯片之間實現(xiàn)可靠的傳送。
DS18B20測溫設計流程圖如圖4.5所示。
圖4.6 18B20測溫流程圖
4.2.5 LCD1602液晶顯示程序設計
LCD1602液晶引腳特性:該液晶顯示器以其微功耗、體積小、顯示內容豐富、超薄輕巧的諸多優(yōu)點,在各類儀表和低功耗系統(tǒng)中得到廣泛的應用。根據(jù)顯示內容可以分為字符型液晶,圖形液晶。根據(jù)顯示容量又可以分為單行16字,2行16字,兩行20字等等。這里介紹常用的字16字2行的字符型液晶模塊的使用方法。
LCD1602液晶顯示流程圖如圖4.7所示。
圖4.7 LCD1602液晶顯示流程圖
5. 仿真電路及單片機的調試
電路仿真是設計電路的第一步,它對設計的成功起著至關重要的作用,在proteus仿真軟件中,經(jīng)過自己幾天的設計和布線,終于完成了流水燈、數(shù)碼管顯示、LCD1602顯示、矩陣鍵盤、點陣、步進電機等功能,基本達到了課題的要求??傮w仿真圖如圖5.1所示。
圖5.1 單片機實驗板仿真電路
在本次的畢業(yè)設計中,畫原理圖和PCB圖大概花了半個月的時間,這里面的每一條線都關系著實物的性能和質量問題,所以必須得認認真真的對待,最終完成了原理圖的繪制,原理圖如圖5.2所示,單片機開發(fā)板PCB圖如圖5.3所示。為了多次重復下載,所以實際采用STC89C52芯片。
圖5.2 單片機實驗板原理圖
圖5.3 單片機實驗板PCB圖
單片機實驗板實物總體圖如圖5.4所示。
圖5.4 單片機實驗板實物總體圖
數(shù)碼管顯示如圖5.5所示。
圖5.5 數(shù)碼管顯示
DS18b20測溫、LCD1602液晶顯示如圖5.6所示。
圖5.6 LCD1602液晶屏測溫顯示
流水燈演示如圖5.7所示。
圖5.7 流水燈
6 畢業(yè)設計總結
通過本次基于單片機的實驗開發(fā)板系統(tǒng)的課程設計,在這過程中,我學到了很多,加深了對單片內部模塊的理解,進一步學習了匯編語言的編寫規(guī)則。
從設計開始到最終完成設計,一點一滴積累,在實踐中成長,在挫折中前進。在設計的前期,我系統(tǒng)的學習了51單片機的相關資料,掌握了單片機外部電路的合理設計以及各個引腳的功能。系統(tǒng)的進行了開發(fā)板的需求分析,合理的設計出了電路原理框圖,根據(jù)原理框圖設計出電路原理圖,針對使用的單片機引腳,對單片機使用C語言編程。這一步一步的不斷努力,讓我學到了很多在書本上學不到的東西,尤其是在處理故障和電路兼容方面的考慮,都使我受益頗多。
在這里畢業(yè)設計中,我深深感受到實踐的重要性,它是檢驗我們所學知識的有效途徑。沒有付出,就沒有回報。在這過程中也遇到過一些難題,經(jīng)過自身的努力以及向老師和同學請教,我學到很多,也解決了很多問題。
最后,我深刻感受到要做好一個畢業(yè)設計,就必須做到:在設計程序之前,對所需資料的綜合整理,有效的挑選資料;要明確目標,整理思路;合理設計出系統(tǒng)所必須的流程圖,做好充分的心里準備。這次設計是對我所
收藏
編號:20414303
類型:共享資源
大?。?span id="kywiwiy4em" class="font-tahoma">12.39MB
格式:ZIP
上傳時間:2021-03-19
20
積分
- 關 鍵 詞:
-
基于
at89c51
單片機
多功能
實驗
試驗
設計
說明書
仿單
- 資源描述:
-
基于AT89C51單片機多功能實驗板的設計說明書,基于,at89c51,單片機,多功能,實驗,試驗,設計,說明書,仿單
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。