當前位置:歷史故事大全網 - 範文作文 - 單片機原理及應用試題

單片機原理及應用試題

試題: A甲1025

參賽試題:

點陣電子顯示屏(A題)

參賽學生:馮元偉 物理與微電子學院

關童 物理與微電子學院

田立誌 材料學院包裝工程

參賽學校:山東大學

指導老師:陳延俊 秦峰 王延偉 儀維

2006年9月11日

目 錄

第壹部分

摘要 ……………………………………………………...3

第二部分

1.設計任務………………………………………………..4

1.1基本要求………………………………………………………….........4

1.2發揮部分……………………………………………………………….4

1.3創新部分……………………………………………………………….4

2.方案論證與比較………………………………………5

2.1 顯示部分……………………………………………………………….5

2.2 數字時鐘……………………………………………………………….5

2.3 溫度采集部分………………………………………………………….6

2.4 芯片選擇……………………………………………………………….6

2.5 鬧鈴方式的選擇……………………………………………………….6

2.6 止鬧方式的選擇……………………………………………………….6

2.7 串口通訊芯片的選擇………………………………………………….6

3. 總體方案……………………………………………….7

3.1 工作原理……………………………………………………………….7

3.2 總體設計……………………………………………………………….7

4.系統硬件設計…………………………………………7

4.1 AT89S52單片機最小系統…………………………………………...8

4.2 溫度測量模塊………………………………………………………...8

4.3 時鐘模塊……………………………………………………………..8

4.4 鍵盤模塊……………………………………………………………..9

4.5 LED點陣顯示模塊………………………………………………….10

4.6 電源的選擇………………………………………………………….11

4.7 PC機通訊……………………………………………………………12

4.8 整體電路…………………………………………………………….12

5.系統軟件設計………………………………………….7

5.1 主程序流程………………………………………………………….13

5.2 掃描子程序………………………………………………………….14

5.3 時間程序…………………………………………………………….15

5.4 PC機串口通訊程序…………………………………………………15

5.5 亮度調節程序………………………………………………………16

5.6 溫度程序…………………………………………………………….17

6.測試與結果分析……………………………………...17

6.1 基本部分測試與分析……………………………………………….17

6.2 發揮部分測試與分析……………………………………………….18

6.3 創新部分測試與分析……………………………………………….18

7.設計總結……………………………………………...18

8.參考資料……………………………………………...18

附錄……………………………………………………………18

例程…………………………………………………………......................................18

摘要 LED大屏幕顯示系統,以AT89S52單片機為核心,由鍵盤顯示、錄放音模塊、光電開關、溫度采集、定時鬧鈴、LED大屏幕顯示等功能模塊組成。基於題目基本要求,本系統對時間顯示和大屏幕顯示進行了重點設計。此外,擴展單片機外圍接口、溫度采集、非接觸式止鬧、滾動屏幕顯示、語音報時等功能。本系統大部分功能由軟件來實現,吸收了硬件軟件化的思想,大部分功能通過軟件來實現,使電路簡單明了,系統穩定性大大提高。本系統不僅成功的實現了要求的基本功能,發揮部分也得到完全的實現,而且有壹定的創新功能。

關鍵字:單片機 LED大屏幕 滾屏顯示

Abstract This large LED display screen system ,based on chip microcomputer AT89S52,is composed by the following functional modules : keyboard displaying ,sound phonating. photoelectricity untouched switch,temperature gathering ,timing bell,

According to the basic requirements of the subject ,our system stresses on the realization of time displaying and large screen displaying ,Furthermore ,we also extend the primary function ,adding new functions ,such as the single chip peripheral ports ,temperature gathering ,untouched ring-stop, scroll screen display, sound timing .and so on.

Adopting the idea of hardware-to-software, most of those functions are realized by softwares, which makes the electrocircuit more concise and the system more stable ,

The design achieved and even exceeded all the required basic technical indexes

Key words: chip microcomputer large screen display system

scroll screen display

1任務設計

1.1 基本要求:設計並制作LED電子顯示屏和控制器。

1.1.1 自制壹臺簡易16行*32列點陣顯示的LED電子顯示屏;

1.1.2 自制顯示屏控制器,擴展鍵盤和相應的接口實現多功能顯示控制,顯示屏顯示數字和字母亮度適中,應無閃爍。

1.1.3 顯示屏通過按鍵切換顯示數字和字母;

1.1.4 顯示屏能顯示4組特定數字或者英文字母組成的句子,通過按鍵切換顯示內容;

1.1.5 能顯示4組特定漢字組成的句子,通過按鍵切換顯示內容。

1.2發揮部分:

1.2.1自制壹臺簡易16行*64列點陣顯示的LED電子顯示屏;

1.2.2 LED顯示屏亮度連續可調。

1.2.3 實現信息的左右滾屏顯示,預存信息的定時循環顯示;

1.2.4 實現實時時間的顯示,顯示屏數字顯示: 時∶分∶秒(例如 18∶38∶59);

1.2.5增大到10組(每組漢字8個或16個數字和字符)預存信息,信息具有掉電保護;

1.2.6實現和PC機通訊,通過PC機串口直接對顯示信息進行更新(須做PC機客戶程序);

1.3 創新部分

1.3.1 室溫的測量

1.3.2 定時鬧鈴

1.3.3 整點報時

1.3.4 非接觸止鬧

2、方案論證

2.1 顯示部分:

顯示部分是本次設計最核心的部分,對於LED8*8點陣顯示有以下兩種方案:

方案壹:靜態顯示,將壹幀圖像中的每壹個二極管的狀態分別用0 和1 表示,若為0 ,則表示L ED 無電流,即暗狀態;若為1 則表示二極管被點亮。若給每壹個發光二極管壹個驅動電路,壹幅畫面輸入以後,所有L ED 的狀態保持到下壹幅畫。對於靜態顯示方式方式,所需的譯碼驅動裝置很多,引線多而復雜,成本高,且可靠性也較低。

方案二:動態顯示,對壹幅畫面進行分割,對組成畫面的各部分分別顯示,是動態顯示方式。動態顯示方式方式,可以避免靜態顯示的問題。但設計上如果處理不當,易造成亮度低,閃爍問題。因此合理的設計既應保證驅動電路易實現,又要保證圖像穩定,無閃爍。動態顯示采用多路復用技術的動態掃描顯示方式, 復用的程度不是無限增加的, 因為利用動態掃描顯示使我們看到壹幅穩定畫面的實質是利用了人眼的暫留效應和發光二極管發光時間的長短, 發光的亮度等因素. 我們通過實驗發現, 當掃描刷新頻率(發光二極管的停閃頻率) 為50Hz, 發光二極管導通時間≥1m s 時, 顯示亮度較好, 無閃爍感.。

鑒於上述原因, 我們采用方案二

2.2.數字時鐘

數字時鐘是本設計的重要的部分。根據需要,可利用兩種方案實現。

方案壹:本方案完全用軟件實現數字時鐘。原理為:在單片機內部存儲器設三個字節分別存放時鐘的時、分、秒信息。利用定時器與軟件結合實現1秒定時中斷,每產生壹次中斷,存儲器內相應的秒值加1;若秒值達到60,則將其清零,並將相應的分字節值加1;若分值達到60,則清零分字節,並將時字節值加1;若時值達到24,則將時字節清零。該方案具有硬件電路簡單的特點,但當單片機不上電,程序將不執行。且由於每次執行程序時,定時器都要重新賦初值,所以該時鐘精度不高。

方案二:本方案采用Dallas公司的專用時鐘芯片DS1302。該芯片內部采用石英晶體振蕩器,其芯片精度不大於10ms/年,且具有完備的時鐘鬧鐘功能,因此,可直接對其以用於顯示或設置,使得軟件編程相對簡單。為保證時鐘在電網電壓不足或突然掉電等突發情況下仍能正常工作,芯片內部包含鋰電池。當電網電壓不足或突然掉電時,系統自動轉換到內部鋰電池供電系統。而且即使系統不上電,程序不執行時,鋰電池也能保證芯片的正常運行,以備隨時提供正確的時間。

基於時鐘芯片的上述優點,本設計采用方案二完成數字時鐘的功能。

2.3 溫度采集部分

能進行溫度測量是本設計的創新部分,由於現在用品追求多樣化,多功能化,所以我們決定給系統加上溫度測量顯示模塊,方便人們的生活,使該設計具有人性化。

方案壹:采用熱敏電阻,可滿足 40 攝氏度至 90 攝氏度測量範圍,但熱敏電阻精度、重復性、可靠性較差,對於檢測小於 1 攝氏度的信號是不適用的。

方案二:采用溫度傳感器DS18B20。DS18B20可以滿足從-55攝氏度到+125攝氏度測量範圍,且DS18B20測量精度高,增值量為0.5攝氏度,在壹秒內把溫度轉化成數字,測得的溫度值的存儲在兩個八位的RAM中,單片機直接從中讀出數據轉換成十進制就是溫度,使用方便。

基於DS18b20的以上優點,我們決定選取DS18b20來測量溫度。

2.4 芯片的選擇

方案壹:采取並口輸入,占用大量I/O口資源

方案二:選取串口輸入,使用較少。所以我們選用串口輸入。串口輸入我們可以選用芯片有74HC595、74LS164、TPIC6B595。但是74HC595和74LS164兩種芯片必須加驅動才能驅動LED,而TI 公司的DMOS 器件TPIC6B595 , 除具有TTL 和CMOS 器件中移位寄存器595 的邏輯功能外, 其最大的特點是驅動功率大, 可直接用作LED的驅動。

綜合以上比較,我們選取TPIC6B595來驅動LED點陣。

2.5 鬧鈴方式的選擇

方案壹:采用蜂鳴器鬧鈴,當到設定時間時,單片機向蜂鳴器送出高電平,蜂鳴器發生。采用蜂鳴器鬧鈴結構簡單,控制方便,但是發出的鬧鈴聲音單壹。

方案二:采用錄音放音芯片1420鬧鈴,先對錄放音設備錄入壹段音樂,當到設定時間時,單片機控制錄放音設備放音。采用錄放音電路鈴聲可以自己預先設定壹段自己喜歡的音樂,符合電器設備人性化的要求。且1420芯片可以分段錄音,還具有語音報時功能。

基於錄音放音芯片1420的以上優點,我們決定采用錄放音設備鬧鈴。

2.6 止鬧方式的選擇

壹般鐘表都具有鬧鐘功能,到設定時間,便自動啟動鬧鐘,發出音樂提醒人們,再由人按下止鬧按鈕停止鬧鐘工作。 壹般每天只能設置壹次鬧鐘、並要由人按下按鈕止鬧,使用不是很方便。

智能處理器應用可改變這種狀況,壹天可按自己需要設置鬧鐘的開關、多次鬧鐘設置並可用非接觸方式止鬧。

方案壹:采取遠程紅外遙控止鬧,遙控器發出特定紅外信號時,單片機接受到信號,向發音設備發出停止信號止鬧。紅外遙控止鬧控制距離遠,但是價格昂貴,增加了制造成本。

方案二:采取光電傳感器,當用壹物體遮擋光電傳感光電傳感器向單片機接口送出壹個低電平,單片機立即向發音設備發出停止信號止鬧。光電傳感器價格便宜,線路簡單,易於控制。

基於以上比較我們決定采用光電傳感器止鬧。

2.7 串口通訊芯片的選擇

AT89S52串行口采用的是TTL電平,因此必須的有電平轉換電路,可以選擇1488,1489,MAX232A.

方案壹:采用1488或1489芯片實現電平轉換,但在使用中發現這兩種芯片可靠性不高,且需要正負12V電源,使用麻煩。

方案二:采用單電源電平轉換芯片MAX232A可以使電路變得簡單,可靠。

基於以上分析,我們選用方案二,選用芯片MAX232A

2.8 電源模塊

方案壹:采用幹電池作為LED點陣系統的電源,由於點陣系統耗電量較大,使用幹電池需經常換電池,不符合節約型社會的要求。點陣系統要懸掛在墻上,電池總量大,使用會有較大安全隱患。

方案二:采用200W/5V直流穩壓電源作為系統電源,不僅功率上可以滿足系統需要,不需要更換電源,並且比較輕便,使用更加安全可靠

基於以上分析,我們決定采用方案二

3、總體方案

3.1 工作原理:

利用單片機AT89S52單片機作為本系統的中控模塊。單片機可把由DS18B20、DS1302讀來的數據利用軟件來進行處理,從而把數據傳輸到顯示模塊,實現溫度、日歷的顯示。點陣LED電子顯示屏顯示器為主要的顯示模塊,把單片機傳來的數據顯示出來,並且可以實現滾動顯示。利用光電傳感器來實現非接觸止鬧功能。在顯示電路中,主要靠按鍵來實現各種顯示要求的選擇與切換。

3.2 總體設計

設計總體框圖如圖1

4、系統硬件設計(單元電路設計及分析)

4.1 AT89S52單片機最小系統:

最小系統包括晶體振蕩電路、復位開關和電源部分。圖2為AT89S52單片機的最小系統。

4.2 溫度測量模塊:

溫度測量傳感器采用DALLAS公司DS18B20的單總線數字化溫度傳感器,測溫範圍為-55℃~125℃,可編程為9位~12位A/D轉換精度,測溫分辨率達到0.0625℃,采用寄生電源工作方式, CPU只需壹根口線便能與DS18B20通信,占用CPU口線少,可節省大量引線和邏輯電路。接口電路如圖3所示。

圖3 DS18B20測量電路

4.3 時鐘模塊

時鐘模塊采用DS1302芯片,DS1302 是DALLAS 公司推出的涓流充電時鐘芯片內含有壹個實時時鐘/日歷和31 字節靜態RAM 通過簡單的串行接口與單片機進行通信實時時鐘/日歷電路提供秒分時日日期月年的信息每月的天數和閏年的天數可自動調整時鐘操作可通過AM/PM 指示決定采用24 或12 小時格式DS1302 與單片機之間能簡單地采用同步串行的方式進行通信僅需用到三個口線1 RES 復位2 I/O 數據線3 SCLK串行時鐘時鐘/RAM 的讀/寫數據以壹個字節或多達31 個字節的字符組方式通信DS1302 工作時功耗很低保持數據和時鐘信息時功率小於1mW,其接線電路如圖4

圖4 時鐘電路

4.4 鍵盤模塊

鍵盤、狀態顯示模塊:為了使軟件編程簡單,本設計利用可編程芯片8255。接法如表1所示。PA口接按鍵,PC口則用於控制狀態顯示所用LED點陣。每個按鍵都通過壹個10K的上拉電阻接電源+Vcc,按鍵的另壹端接地。當有鍵按下時,與該鍵相連的PA口的相應位變為低電平,單片機檢測到該變化後即轉到相應的鍵處理程序,同時在程序中點亮LED點陣。模塊電路如圖5

4.5 LED顯示模塊

點陣數據串行輸入, 器件為 移位寄存器TPIC6B595595, 門控和掃描信號常以16 點陣為壹行進行並行處理。在點陣顯示中以4×8個L ED 點陣構成壹個L ED 顯示單元, 采用行***陽列***陰的編排方式。其驅動分為行列兩部分, 分別來自於行、列移位寄存器, 行數據是掃描數據, 16 行中每次只有壹行被驅動, 采用逐行掃描方式, 列數據則為漢字的點陣碼。。對於字符和圖形顯示也可以用點陣處理, 其顯示原理和方法相同.電路如圖6

圖6 LED顯示電路

4.6電源選擇:

200W/5V的直流穩壓電源更加安全電路圖如圖7

圖7 電源電路

4.7 PC機通訊

MAX232是標準的串口通信接口,對於壹般的雙向通訊,只需要使用串行輸入口RXD(第3腳)、串行輸出TXD(第2腳)和地線(第7腳)。MAX232邏輯電平的規定如表2.

表 2 邏輯電平表

邏輯值 電平幅值 (v)

0 3+~+15

1 3-~-15

圖8 串口通訊

4.8整體電路

系統整體電路如下:

圖9 整體電路

5、系統軟件設計

5.1主程序如圖10

5.2顯示子程序流程如圖 11

5.3 顯示時間子程序流程如圖12

圖12 時間子程序流程圖

5.4 與PC串口通訊程序

5.5 LED亮度調節

圖 14 LED亮度調節

5.6溫度測量流程圖如圖15

圖15 溫度測量程序流程圖

6、測量及其結果分析

6.1 基本部分測試與分析

6.11 測試儀器:

秒表 、溫度表、萬用電表、WAVE仿真器

6.12基本要求部分的測試與分析:

(1)系統上電後,全屏點亮,沒有暗點。接著顯示時間。按“#”鍵後時掃描鍵盤,當有1~10鍵按下時,分別顯示十段設定的數字、英文或漢字。

(2)顯示時間時通過與秒表對比,測試的系統時間準確。

6. 2 發揮部分測試與分析:

(1) 當按下#後在按下進入亮度調節,按下“+”鍵時,亮度增加。按下“—”鍵時,亮度變弱。

(2) 可以實現文字左右移動

(3) 按下“設置時間”鍵,觀察到“鐘表” 二極管點亮,此時可對時間進行設置。按下“時間設置“進入時調試,按“+”鍵時間加。在按下“切換”鍵時,進入分調整模式,按下“+”鍵,分增加。按下“選擇”鍵時,分調整模式改為秒調整模式,按下“+”鍵秒增加。經測試該步可以很好的實現。調整時間完畢後,再按壹下“鬧鐘設置”進入鬧鈴設置狀態,按下“+”鍵設定“時”增加,在按下“選擇”鍵進入分的設置,按下“+”鍵設定“分”增加。在按下“選擇”鍵進入秒設置模式,按“+”鍵秒增加。

(4)系統可以顯示10組,每組8個漢字,完成要求

6.3 創新部分測試與分析

(1)溫度測量: 鍵盤切換現場環境溫度顯示:按“功能”鍵選擇“溫度”,將溫度傳感器和溫度計放入不同的測試環境中進行測試,結果如表1所示。

表1 與標準溫度計測量值比較表

溫度計示值(攝氏度) 10.3 25.2 49.7 70.1 85.5

溫度輸出(攝氏度) 10 25 50 70 86

由測試知,數字鐘的輸出與溫度計值基本上相等,誤差不大於0.5度。

(2) 當到設定時間時,開始訪壹段音樂,完成定時鬧鈴功能。

(3)當用手遮擋光電傳感器後,停止放音。手拿開後,不再放音,直到到設定時間。完成非接觸止鬧功能

7、設計總結

全心準備了整整壹個酷暑,9月8日我們終於拿到了試題,我們壹致選擇控制類題目A(LED點陣),從基本方案的制定,在到硬件電路的選擇,到制作電路制作,最後進行程序調試。在此期間我們遇到很多困難,幾乎沒有說過壹次好覺,盡管很艱苦,但是我們各自分工,相互協作,壹次又壹次品嘗到了解決問題的喜悅,最終完成了要求的全部功能,並加入了壹些創新的部分。在競賽中我們發現了自己知識的不足,通過四天三夜的奮鬥,也可以說四天三夜的學習,我們學到了很多東西,最重要的是我們學會了壹種精神————永不放棄。在以後的時間裏面我們會用這種精神去學習,更上壹層樓。

8、參考資料

[1]《基於單片機結構的智能系統設計與實現》 沈紅衛 編 電子工業出版社

[2]《單片機原理與接口技術》 黃惠媛 編 海洋出版社

[3]《單片機應用技術》 周平 伍雲輝 編 電子科技大學出版社

[4]《8051單片機實踐與應用》 吳金戌 沈金陽 郭庭吉 編 清華大學出版社

[5]《電子設計競賽賽題解析》 黃正謹等編 東南大學出版社

附錄:

例:整屏四個字壹起顯示的程序

SER EQU P1.0 ; TPIC6B595 第3腳

OE EQU P1.1;TPIC6B595 第8腳

RCK EQU P1.2;TPIC6B595 第12腳

MR EQU P1.3;TPIC6B595 第9腳

SRCLK EQU P1.4;TPIC6B595 第13腳

ORG 0000H

LJMP MAIN

ORG 0100H

;**************************主程序**********************************

MAIN: MOV SP,#70H

SETB OE

MOV 2BH,#00H

MOV 27H,#00H

START: ;初始化寄存器RAM單元

MOV R0, #30H

MOV R1,#64H ;30H~6FH單元清零

MOV A, #00H

ST: MOV @R0,A

INC R0

DJNZ R1,ST

;2Dh------尋址偏址 ;整屏四個字壹起顯示

LOOP:MOV DPTR,#TAB;賦查表初值

MOV R3,#56

PLAY: MOV 2DH,#00H

MOV 2FH,#10H

GG: LCALL LINE16;掃描顯示壹次

MOV 2DH,#00H

DJNZ 2FH,GG

MOV A,DPL

CLR C

ADD A, #16

MOV DPL ,A

MOV A, DPH

ADDC A ,#00H

MOV DPH, A

DJNZ R3,PLAY

SJMP START

LINE16: MOV 2BH,#16;掃16行,2BH放後還剩幾行

FF: LCALL LINE1;掃描顯示壹行子程序

DJNZ 2BH,FF;掃描行直到16行掃完再轉

RET

LINE1:LCALL MSTR;將顯示的內容移入內存單元

LCALL SEND;發送串口子程序

LCALL XH;選通行子程序

RET

MSTR: ;顯示內容移入內存單元

MOV R0,#30H

MOV R4,#9

MOV A,2DH;

BB: MOVC A,@A+DPTR

MOV @R0,A

INC R0

MOV A,2DH

ADD A,#16;加16移到下壹行

MOV 2DH,A

DJNZ R4,BB

MOV A,2DH

SUBB A,#143

MOV 2DH,A

RET

;$$$$$$$$$$$$$$$$$$$$$$$$$$$發送數據到串口子程序$$$$$$$$$$$$$$$$$$$$$$$$$

SEND:MOV R0,#30H

MOV R5,#8 ;壹行有8個字節,如每次顯示字數不同要作相應改動

SETB OE

SETB MR

CLR SRCLK

CLR RCK

SETB P1.6

SETB P1.7

LQ: CLR C

MOV R2,#8

MOV A,@R0

; CPL A ;TPIC6B595應該不用這壹步

LCALL DD1;調用顯示壹個字節的子程序

INC R0;指向下壹個顯示單元

DJNZ R5,LQ

RET

DD1: CLR SRCLK;清串行CP端

RLC A;

MOV SER,C

SETB SRCLK ;觸發串行CP端

DJNZ R2,DD1;每個字節移8次夠了向下執行

RET

;選通行子程序

XH: CLR RCK ;將輸出CP變成低電平為上升沿做準備

NOP

SETB RCK

CLR P1.6

;CLR P1.7

MOV A,27H

MOV P0,A

CLR OE

LCALL DE25MS

INC A

SETB OE

SETB P1.6

MOV A,27H

ANL A,#0F0H

SWAP A

ADD A,#01H

SWAP A

MOV 27H,A

CLR MR

SETB MR

RET

DE25MS: MOV R5,#09H

DEL2: MOV R6,#0FH

DEL3: MOV R7,#01H

DJNZ R7,$

DJNZ R6,DEL3

DJNZ R5,DEL2

RET

TAB:

字庫

END

  • 上一篇:为什么大学生失业率越来越高
  • 下一篇:重慶奉節生二胎有補貼嗎?
  • copyright 2024歷史故事大全網