欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11371|回復: 1
收起左側

基于STC89C52單片機系統的綜合應用

[復制鏈接]
ID:449802 發表于 2019-6-26 21:58 | 顯示全部樓層 |閱讀模式
功能包括顯示姓名 學號(工號) 紅外遙控電機啟動停止 播放音樂 測室內溫度 串口傳輸數據等
第一章 緒論
1.1 單片機基礎知識
1.2 單片機的應用領域              2
1.3 單片機的發展趨勢              3
第二章 實驗相關              4
2.1 實驗目的              4
2.2 實驗內容              4
2.3 程序流程圖              5
2.4 實驗功能匯總              5
第三章 實驗功能的原理              6
3.1 液晶屏顯示姓名、學號              6
3.2 液晶屏顯示矩陣鍵盤鍵值              7
3.3 數碼管顯示矩陣鍵盤鍵值              8
3.4 液晶屏顯示紅外遙控器鍵值              9
3.5 遙控器控制電機開關              10
3.6 音樂播放器              10
3.7 單片機與計算機之間的串口通信              11
3.8 液晶屏顯示DS18B20溫度              12
第四章 使用說明              13
4.1啟動              13
4.2 功能選擇              13
4.3 返回              18
實驗目的
  • 了解51單片機各個模塊內部結構及特點;
  • 掌握軟件設計的基本知識,學會使用Keil進行編程;
  • 通過編程設計完整程序來實現51單片機各項功能組合。
2.2 實驗內容
  • 熟悉51單片機,并完成51單片機開發板的調試;
  • 運用Keil軟件進行編程實現不同功能的組合:
(1)液晶屏顯示姓名、學號;
(2)液晶屏顯示矩陣鍵盤鍵值;
(3)數碼管顯示矩陣鍵盤鍵值;
(4)液晶屏顯示紅外遙控器鍵值;
(5)遙控器控制電機開關;
(6)蜂鳴器播放音樂;
(7)單片機與計算機之間串口通信;
(8)液晶屏顯示DS18B20溫度。
2.3 程序流程圖

2.4 實驗功能匯總
  •    基本要求:
  •    用液晶器顯示自己的姓名、學號以及按鍵值;
  •    用數碼管顯示任意字符;
  •    利用遙控器顯示按鍵值;
  •    發揮部分:
  •    利用遙控器控制風扇的開/關;
  •    利用蜂鳴器演奏一段音樂;
  •    單片機與PC機之間利用串口進行“聊天”;
  •    其它功能:
  •    用按鍵切換蜂鳴器演奏的音樂;
  •    用液晶屏顯示ASCII碼表;
  •    液晶屏顯示DS18B20溫度;
第三章 實驗功能的原理3.1 液晶屏顯示姓名、學號
  •    運用到的模塊
a.LCD1602模塊
圖3.1.1  LCD1602模塊
圖3.1.2  操作時序

  •    液晶概述
液晶顯示器(Liquid Crystal Display,LCD)的主要原理是以電流刺激液晶分子產生點、線、面并配合背部燈管構成畫面。各種型號的液晶通常是按照顯示字符的行數和液晶點陣的行、列數來命名的。比如:1602的意思是每行顯示16個字符,一共可以顯示兩行。
液晶體積小、功耗低、顯示操作簡單,但它有個致命的弱點,其使用的溫度范圍很窄,因此在設計相應產品時,務必要考慮周全,選取合適的液晶。
  •    原理
LCDEN為使能端,RS為數據/命令選擇口,RW為讀/寫選擇口,D0—D9為數據線。先給使能端一個高電平使LCD1602進行工作,需要寫入數據時,設置RS=1,RW=0;需要讀數據時,設置RS=0,RW=1,通過數據線給1602輸送數據,可以實現1602顯示不同字符。
而液晶顯示屏顯示的字符已經存儲在液晶屏內部存儲器中,以ASCII碼形式存放在相應地址單元中,可以通過編程選擇相應的地址單元從而顯示所需要的字符。也可以通過相關軟件,如漢字取模軟件等自行編輯字符。
3.2 液晶屏顯示矩陣鍵盤鍵值
  •    運用到的模塊
a.LCD1602模塊
b.矩陣鍵盤模塊
圖3.2  矩陣鍵盤模塊

  •    矩陣鍵盤
為了減少鍵盤與單片機接口時所占用I/O線的數目,在鍵數較多時,通常都將鍵盤排列成行列矩陣形式。每一水平線(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通。利用這種行列矩陣結構只需N條行線和M條列線,即可組成具有NM個按鍵的鍵盤。

  •    原理
掃描顯示鍵值是通過行列反轉法讀入矩陣鍵值,然后返回給LCD1602屏顯示。行列反轉法工作原理如下:
如圖,選擇P3口與矩陣鍵盤的行線和列線相連,P30-P33接行線,P34-P37接列線。按鍵識別時,首先判斷是否有鍵按下,并進行消抖確定鍵按下;首先將行作為輸出,列作為輸入,給P3口一個0FH信號,使行線輸出全為0,從而讀入列線值;再將行列進行反轉,行作為輸入,列作為輸出,給一個F0H信號,將上一步讀取到的列線輸入值從列線輸出,讀取行線值,根據輸出的列線值和讀取到的行線值就可以確定按下鍵所在的位置,從而查表確定鍵值。然后將掃描所得的鍵值返回給key_value,從而在LCD1602的函數中進行調用。

3.3 數碼管顯示矩陣鍵盤鍵值
  •    運用到的模塊
  • 數碼管鎖存器模塊
  • 矩陣按鍵模塊
  • 八位共陰極數碼管
圖3.3.1  數碼管鎖存器模塊              圖3.3.2  8位共陰極數碼管
  •    原理
實習所用單片機開發板使用的是八位共陰極數碼管,其內部為八個陰極相連的二極管,當給一個高電平時,二極管導通,從而二極管發光,數碼管相應的段點亮。
數碼管和數碼管鎖存器相連,打開鎖存器時,數據可以流通,從而數碼管可以顯示相應的數值。通過編程進行位選,選擇哪一位數碼管點亮,在通過段選信號選擇數碼管哪一段點亮,數碼管八段分別為a~g和dp,對應八位二進制碼的低位到高位,通過掃描按鍵值,發送相應的十六進制數值,可以給數碼管不同的段賦高電平和低電平,從而實現數碼管顯示按鍵數值。

數碼管顯示和按鍵值對應表:
按鍵值(十六進制形式)
數碼管顯示值
3FH
0
06H
1
5BH
2
4FH
3
66H
4
6DH
5
7DH
6
07H
7
7FH
8
6FH
9
77H
A
7CH
B
39H
C
5EH
D
79H
E
00H
熄滅/自定義
3.4 液晶屏顯示紅外遙控器鍵值
  •    運用到的模塊
  • LCD1602模塊
  • 紅外接收模塊

                              圖3.4  紅外接收模塊
  •    原理
實現紅外遙控需要信號的發送和接收,發送數據的一方將紅外信號進行調制后發送給接收數據的一方,接收方收到調制后的信號后需要進行解調才能讀取信息的內容。
遙控器內部電路將遙控器的按鍵信息進行編碼、調制后,發送紅外信號;紅外接收頭收到遙控器發送的信號后,通過1引腳給P32口輸出信號,然后我們通過編寫程序,對接收到的信號進行解碼,讀取原有信息。
通常為了使信號能更好的被傳輸,發送端將基帶二進制信號調制為脈沖串信號,通過紅外發射管發射。
遙控器使用的是NEC協議,NEC標準下的編碼:引導碼高電平約9000us左右,低電平約4500us左右;用戶碼16位,數據碼16位,共32位;數據0是用“高電平約560us加上低電平約560us”表示;數據1可用“高電平約560us加低電平約1680us”表示。
3.5 遙控器控制電機開關
  •    運用到的模塊
  • LCE1602模塊
  • 紅外接收模塊
  • 電機驅動模塊

          圖3.5  電機驅動模塊
  •    原理
電機驅動模塊上有4個端口:1IN到4IN,分別控制電機的接入端口ABCD,將P10引腳與4IN引腳相連,電機(不區分正負端)接在驅動輸出接口的“D”和“+”,然后通過P10引腳輸出高低電平控制電機的轉動與停止。
通過紅外接收裝置,對遙控器發送的信號進行接收,在通過變成解調,讀取其中信息,然后通過P10輸出。按“+”鍵,P10=1,電機轉動;按“-”鍵,P10=0時,電機停止工作。
3.6 音樂播放器
  •    運用到的模塊
  • LCE1602模塊
  • 矩陣鍵盤
  • 蜂鳴器模塊


             圖3.6  蜂鳴器模塊
  •    原理
音樂的產生主要是通過單片機的I/O口輸出高低不同的脈沖信號來控制蜂鳴器發音,要想產生音頻脈沖信號,需要算出某音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時間。利用單片機定時器計時這個半周期的時間,每當計時到后就輸出脈沖的I/O口反相,這樣就在此I/O口上得到此脈沖的頻率。
本實驗中,蜂鳴器與P23相連,輸入低電平時,蜂鳴器工作。使用定時器1,工作在方式1,改變計數初始值TH0和TL0來產生不同的頻率。
首先定義音符數組和音調數組,再通過編寫代碼來確定歌曲的歌譜,三個數為一組,第一個數表示音符,數值表示定義音符數組的第幾個十六進制數;第二個數表示音調,數值對應音調數組的相應值;第三個數表示延時時間(節拍)。然后通過P23口輸出高低電平使蜂鳴器進行工作,播放已經編寫好的音樂代碼。
通過掃描按鍵值,進行歌曲間的切換。
3.7 單片機與計算機之間的串口通信
  •    運用到的模塊
  • LCD1602模塊
  • 串口通信模塊

                 圖3.7  串口通信模塊
  •    原理
在串行通信中,數據是在兩個站之間傳送的。傳送數據還需要一個中間媒介,將傳輸的文件段存儲,即SBUF。SUBF分為兩個寄存器,一個是發送緩沖寄存器SBUF,另一個是接收緩沖寄存器SBUF。如果CPU寫SBUF,數據就會被送入發送寄存器準備發送;如果CPU讀SBUF,則讀入的數據一定來自接收緩沖器。即CPU對SBUF的讀寫,實際上是分別訪問上述兩個不同的寄存器。
串行控制寄存器SCON用于設置串行口的工作方式、監視串行口的工作狀態、控制發送與接收的狀態等。它是一個既可以字節尋址又可以位尋址的8位特殊功能寄存器。其中,SM0、SM1為串行口工作方式選擇位,實習中我們選擇工作方式1;REN為允許接受控制位,在進行串口通訊時設置REN=1;TI和RI分別為發送中斷標志和接收中斷標志。
在串行通信中,收發雙方對發送或接收數據的速率要有約定。波特率表示每秒鐘傳輸二進制代碼的位數,單位是:位/秒(bps)。本實驗中設置波特率為9600bps。
本實驗進行串口通信時,設置定時器T1工作在模式2,打開串行口中斷,當中斷觸發,檢測到接受完成,即RI=1時,讀取接收緩存器的數值,然后通過對此數值進行處理,在液晶顯示屏上顯示相應的字符,從而實現串口通信。
3.8 液晶屏顯示DS18B20溫度
  •    運用到的模塊
  • LCD1602模塊
  • DS18B20溫度傳感器接口

                               圖3.8  溫度傳感器接口
  •    原理
DS18B20具有如下特點:通信采用1-Wire接口,有唯一的64位序列碼儲存在板載ROM中,可測量的溫度范圍在-55℃ ~ +125℃,溫度計分辨率可設置為9~12位,12位時分辨率對應為0.0625℃。
單總線訪問DS18B20時,首先初始化,再執行ROM操作指令,再執行功能指令,對溫度進行轉換和讀取暫存器內容,再通過函數在LCD1602顯示屏上進行顯示。
第四章 使用說明4.1啟動
首先將單片機通過數據線與電腦相連,按下電源開關,電源指示燈亮,同時LED1亮,單片機正常啟動。LCD1602液晶顯示屏第一行顯示“MENU”,第二行顯示“AnJ:0→7;Retn:15”。效果:
圖4.1  菜單頁面
4.2功能選擇
(1)液晶屏顯示姓名、學號:
按矩陣鍵盤的鍵S6(KEY0),進入功能1,LCD1602液晶顯示屏第一行顯示姓名“name:Zhong Ye”,第二行顯示學號“num:20161001271”。
按S21(KEY15)返回主菜單界面。效果:
圖4.2.1  液晶屏顯示姓名學號效果圖
  • 液晶屏顯示矩陣鍵盤鍵值;
按矩陣鍵盤的鍵S7(KEY1),進入功能2,此時LCD1602液晶顯示屏第一行顯示“Anjianzhi:    9”。按矩陣鍵盤S6—S20,液晶屏第一行的數值將從0變化至14。
按S21(KEY15)返回主菜單界面。效果:
圖4.2.2  液晶屏顯示按鍵值效果圖
  • 數碼管顯示矩陣鍵盤鍵值;
按矩陣鍵盤的鍵S8(KEY2),進入功能3,此時LCD1602液晶顯示屏第一行顯示“Shumaguan Anjian”,數碼管左邊第一位顯示,按矩陣鍵盤S6—S15,數碼管第一位從0變換至9,按S16—S20,數碼管第一位從a顯示至e,此時數碼管顯示的實際上是十六進制的0到15。
按S21(KEY15)返回主菜單界面。效果:
圖4.2.3  8位共陰極數碼管顯示按鍵值效果圖
  • 液晶屏顯示紅外遙控器鍵值;
按矩陣鍵盤的鍵S9(KEY3),進入功能4,此時LCD1602液晶顯示屏第一行顯示“HW_Anjianzhi:”,使用遙控器對準紅外接收裝置,按按鍵值0-9,液晶顯示屏第一行末尾將顯示相應的數值。
按S21(KEY15)返回主菜單界面。效果:
圖4.2.4 液晶屏顯示紅外遙控器按鍵值
  • 遙控器控制電機開關;
將電機的兩個接口與左下角電機驅動模塊的“+”、“D”相連,無線序要求。用一根杜邦線將單片機P10引腳與電機驅動模塊“4IN”相連。
按矩陣鍵盤的鍵S10(KEY4),進入功能5,此時LCD1602液晶顯示屏第一行顯示“Dianjikongzhi:”,第二行顯示“Zhuangtai:”。使用遙控器,按遙控器“+”鍵,液晶屏第二行顯示狀態“ ON”,電機轉動;按遙控器“-”鍵,液晶屏第二行顯示狀態“OFF”,電機停止工作。
按S21(KEY15)返回主菜單界面。效果:
圖4.2.5  電機轉動效果圖
圖4.2.6  電機停止效果圖

  • 音樂播放器;
按矩陣鍵盤的鍵S11(KEY5),進入功能6,此時LCD1602液晶顯示屏第一行顯示“MUSIC:”,蜂鳴器工作,播放編寫好的歌曲。
按鍵S19和鍵S20進行歌曲之間的切換。
按S21(KEY15)返回主菜單界面。效果:
圖4.2.7  音樂播放器液晶屏效果圖
  • 單片機與計算機之間串口通信(用液晶屏顯示ASCII碼表);
打開燒錄軟件,點擊右上角模塊的“串口助手”,選擇串口為單片機驅動端口,調節波特率為9600,點擊下方“打開串口”按鈕,按矩陣鍵盤的鍵S12(KEY6),進入串口通信功能,此時LCD1602液晶顯示屏第一行顯示“Chuankou:”,液晶顯示屏第二行顯示“C:  H:   Num: ”,分別表示接受到的文本模式、HEX模式、接收到的數據總數。
在“串口助手”的發送緩沖區輸入一個數據(數字或字母),選擇文本模式,點擊下方“發送數據”,接收緩沖區方框內將顯示相應模式下的數值,同時液晶顯示屏第二行分別顯示發送數據的文本形式、HEX形式和接收到的數據總數。
按S21(KEY15)返回主菜單界面。
效果:比如顯示#。如表,#對應的ASCII值為35(十進制),這里將它轉換成23(十六進制),


圖4.2.8  液晶屏顯示ASCII碼表效果圖
  • 液晶屏顯示DS18B20溫度。
將DS18B20原件插到單片機預留的位置,注意絲印面向外。
按矩陣鍵盤的鍵S13(KEY7),進入溫度計功能,此時LCD1602液晶顯示屏第一行顯示“Dangqianwendu:”,液晶顯示屏第二行顯示當前溫度值。由于當前溫度會有微小的改變,會發現顯示的溫度值在不停地跳變。
按S21(KEY15)返回主菜單界面。效果:




圖4.2.9  液晶屏顯示DS18B20溫度效果圖
4.3返回
按矩陣鍵盤最后一個鍵S21(KEY15),系統將返回主菜單,LCD1602顯示菜單界面。需注意,每次進行功能選擇后,不能直接按KEY0—KEY7進行功能切換,必須按鍵返回主菜單才可繼續進行其他功能的選擇。

以上內容Word格式文檔51黑下載地址:
基于STC89C52單片機系統的綜合應用.docx (1.21 MB, 下載次數: 42)

回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:996991 發表于 2021-12-26 11:19 | 顯示全部樓層
請問有代碼么
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表