版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
電子系統(tǒng)綜合設(shè)計(jì)課程教材
電子設(shè)計(jì)競(jìng)賽培訓(xùn)講義
MCS51單片機(jī)系統(tǒng)設(shè)計(jì)教程
——基于“MCS51單片機(jī)系統(tǒng)學(xué)習(xí)板VI.1”的試驗(yàn)教學(xué)
周立青等匯編
(內(nèi)部匯編資料,內(nèi)容正在修正完善,請(qǐng)勿在網(wǎng)上傳播)
武漢大學(xué)電子信息學(xué)院試驗(yàn)中心
武漢大學(xué)電工電子試驗(yàn)教學(xué)基地
目錄
目錄.....................................................2
第一章MCS51單片機(jī)系統(tǒng)學(xué)習(xí)板VL1資源介紹.............1
1.1-MCS51取片機(jī)系統(tǒng)學(xué)習(xí)板VI.1M基本配置與功能介紹4
1.2“MCS51單片機(jī)系統(tǒng)學(xué)習(xí)板V1.1”最小系統(tǒng)電路....6
1.3“MCS51一片機(jī)系統(tǒng)學(xué)習(xí)板VI.I”套件配置........7
第二章SST單片機(jī)系統(tǒng)仿真調(diào)試和下載....................9
2.1SST單片機(jī)功能簡(jiǎn)介..............................9
2.2ICE仿真與ISP編程燒寫(xiě)功能.....................10
2.3通過(guò)BOOTLOADER將SSTBoot-StrapLoader替換為
SoftICE................................12
2.4用Koil新建工程并在SoftICE監(jiān)控程序下仿真....13
2.5SoftICE監(jiān)控程序替換回SSTBootStrapLoader監(jiān)拄
程序.................................................14
2.6通過(guò)SLPERRO編輯器將SoftICE監(jiān)控程序卜載入SST單
片機(jī).................................................14
2.7通過(guò)SSTEasylAP下載程序.......................15
2.8STC單片機(jī)的燒寫(xiě);............................16
第三章單片機(jī)系統(tǒng)學(xué)習(xí)平臺(tái)VL1試驗(yàn)設(shè)計(jì)................17
3.1試驗(yàn)一,獨(dú)立I/O試驗(yàn)............................17
3.2試驗(yàn)二,按鍵中斷試驗(yàn)...........................20
3.3試驗(yàn)三,RAM試驗(yàn)...............................21
3.4試驗(yàn)四,段式LED試驗(yàn)...........................23
3.5試驗(yàn)五,矩陣鍵盤(pán)試驗(yàn)...........................25
第四章綜合試驗(yàn)要求....................................28
4.1試驗(yàn)]數(shù)字鐘系統(tǒng)............................28
4.2試驗(yàn)二,數(shù)字溫度計(jì)............................28
4.3數(shù)字電壓表設(shè)計(jì)..................................29
4.4數(shù)字化語(yǔ)音存儲(chǔ)與回放系統(tǒng).......................29
4.5數(shù)字頻率計(jì)設(shè)計(jì).................................30
4.6A題波形發(fā)生器..................................31
第五章單片機(jī)C51講義..................................33
5.1C語(yǔ)言概述......................................33
5.2C51語(yǔ)言........................................34
5.3C51中的存儲(chǔ)系統(tǒng)...............................43
5.4C51中的數(shù)據(jù)結(jié)構(gòu)...............................46
5.5C51中的硬件接口系統(tǒng)...........................58
5.6C5I中的中斷系統(tǒng)...............................65
5.7C51中程序架構(gòu)設(shè)計(jì)方法..........................67
5.8關(guān)于優(yōu)化........................................70
5.9仿真機(jī)的運(yùn)用....................................71
5.10程序的調(diào)試與測(cè)試...............................74
5.II其它............................................74
第一章MCS51單片機(jī)系統(tǒng)學(xué)習(xí)板VL1費(fèi)源介紹
“MCS51單片機(jī)系統(tǒng)學(xué)習(xí)板VI.1"PCB尺寸圖
“MCS51單片機(jī)系統(tǒng)學(xué)習(xí)板VI.1“是武漢大學(xué)電子創(chuàng)新平臺(tái)
中的單片機(jī)學(xué)習(xí)和開(kāi)發(fā)平臺(tái),目前主要應(yīng)用戶電子設(shè)計(jì)競(jìng)賽培訓(xùn)
和大學(xué)生創(chuàng)新設(shè)計(jì)?它兼容DIP40封裝的51系列單片機(jī),板上
配的SST公司的sst89卜516RD高性能單片機(jī),可利用中口進(jìn)行在
線下我,硬件仿真和斷點(diǎn)調(diào)試,從而使學(xué)生在不須要仿真器的
狀況下可進(jìn)行獨(dú)立的軟硬件調(diào)試.系統(tǒng)采納基于總線結(jié)構(gòu)的設(shè)
計(jì),板上既具有一般的10試驗(yàn),更多的采納總線方式擴(kuò)展板上
資源,使學(xué)生對(duì)基于處理器的系統(tǒng)設(shè)計(jì)概念有著更深化的理解.
是大學(xué)生進(jìn)行單片機(jī)學(xué)習(xí),創(chuàng)新設(shè)計(jì)和電了?設(shè)計(jì)競(jìng)賽的基礎(chǔ)工
具.
1.1"MCS51單片機(jī)系統(tǒng)學(xué)習(xí)板VLr基本配置及功能介紹
帝常倒同聲函&
-MCS51單片機(jī)系統(tǒng)學(xué)習(xí)板VI.r功能框圖
I、USR及適配涔電源接口,可運(yùn)用USB延長(zhǎng)線供電;
2.DC7.5-9V獨(dú)立供電接口,最大電流1A:
3、自鎖開(kāi)關(guān)及電源指示燈,操作更加便利;
4,獨(dú)立10口限制的8路發(fā)光二極管LED流水燈,可實(shí)現(xiàn)發(fā)光二
極管各種試驗(yàn)(跑馬燈,指示燈等);
5、總線擴(kuò)展8位高亮數(shù)碼管(數(shù)字和字母U示,可以和液晶同
時(shí)運(yùn)用);
6、LCD1602(可顯示兩行字符)/中文LCD12864《可顯示隨意漢
字及圖形)液品顯示模塊接口,可接各種兼容液晶模塊;
7.主芯片緊鎖座設(shè)計(jì),便利芯片取放:
8、1路串URS-232通信,實(shí)現(xiàn)和PC或其他設(shè)備232通信(可兼
容交叉和串行數(shù)據(jù)線的跳線選抨);
9、1路蜂鳴罌,實(shí)現(xiàn)報(bào)警和演奏音樂(lè):
10,4路獨(dú)立按彼,獨(dú)立按鍵調(diào)試:
1].矩陣鍵盤(pán),總線接口,用「學(xué)習(xí)矩陣鍵盤(pán)原理和運(yùn)用方
法:
12、板栽32KRAM62256,用于外部數(shù)據(jù)存儲(chǔ);
⑶非易失存儲(chǔ)器EEPROMAT24C02,掉電不丟失數(shù)據(jù)(IIC總線
數(shù)據(jù)存儲(chǔ)元件原理試驗(yàn)):
⑶溫度傳感器模塊18B20接口,可測(cè)量外界溫度(精密溫度檢
測(cè),配有測(cè)試當(dāng)前溫度程序);
15.一體化紅外接收芯片HS0038,可以做紅外線解碼試驗(yàn),紅外
線遙控器等:
16.1路按鍵復(fù)位:
17.3組擴(kuò)展接口,接口功能劃分合理,I,2號(hào)擴(kuò)展口包含了
數(shù)據(jù)總線和譯碼后的片選信號(hào)線,3號(hào)總線包含全地址空間,
便利用戶進(jìn)行自由擴(kuò)展,可以外接AD,DA等資源。
18.擴(kuò)展接口元器件采納軍品直插封裝,便利測(cè)試和修理.
⑶光盤(pán)中含木試驗(yàn)板全部原理圖,運(yùn)用教程,程序下載教
程,各種好用軟件,好用工具及試驗(yàn)例程。
1.2“MCS51單片機(jī)系統(tǒng)學(xué)習(xí)板V1.1"最小系統(tǒng)電路
-MCS51單片機(jī)系統(tǒng)學(xué)習(xí)板VI.1”實(shí)物圖
1.2.1電源供電
MMCS51單片機(jī)系統(tǒng)學(xué)習(xí)板VI.1”主芯片工作電壓為5V,在5V
電源的輸入端自帶防反接電路.防止錯(cuò)誤接反電源掾壞系統(tǒng)板
整個(gè)系統(tǒng)可采納兩種供電模式:
?USB供電。計(jì)算機(jī)的USB接口可供應(yīng)5L1A的直流電流,
系統(tǒng)可采納板載的USB接口直接供應(yīng)5V電源,。
電源接口
電路原理圖
?7.5Y穩(wěn)壓電源供電-系統(tǒng)也可以采納單獨(dú)供電模式,單獨(dú)
供電采納7.5-9V電源輸入,經(jīng)LM1117位系統(tǒng)供應(yīng)穩(wěn)定的
5V電壓
留意:系統(tǒng)工作是同時(shí)只能連接-?種電源輸入。
13“MCS51單片機(jī)系統(tǒng)學(xué)習(xí)板VI,廣套件配置
標(biāo)準(zhǔn)配置清單
序號(hào)配置數(shù)量
1MCS51單片機(jī)學(xué)習(xí)開(kāi)發(fā)板1
2可單步仿真單片機(jī)sst89E516RD1
3溫度傳感器18B201
4紅外集成接收頭18381
51602液晶顯示器”28*64液晶屏1
6USB雙扁頭線1
7RS232串口通信線1
87.5V1A直流電源1
9產(chǎn)品配套資料光盤(pán)1
第二章SST單片機(jī)系統(tǒng)仿真調(diào)試和下載
2.1SST單片機(jī)功能筒介
SST的MCU除了具備和一般單片機(jī)一樣,可以通過(guò)C用編程器
將程序代碼燒寫(xiě)到片內(nèi)ROM中,然后裝入系統(tǒng)運(yùn)行程序以外,還
具備另外兩種特別的卜教和仿真功能。
b程序下我功能,SST單片機(jī)可以不須要編程器,宜接通過(guò)
串行通信口,將程序卜載到單片機(jī)ROM中,且卜我的程序
在單片機(jī)斷電后仍會(huì)保存,不會(huì)丟失,程序下我后,直接
復(fù)位或者重新匕電晶片機(jī)就可以工作。
21在線仿真功能。SST單片機(jī)還具有在線仿真功能,同樣通
過(guò)單片機(jī)的串口,通過(guò)在keil軟件中設(shè)置可以實(shí)現(xiàn)在線
仿真,具有單步執(zhí)行,全速執(zhí)行,設(shè)置端點(diǎn)等調(diào)試功
能。
SST單片機(jī)的以上兩種功能的實(shí)現(xiàn)方法是通過(guò)其內(nèi)部的監(jiān)控
程序?qū)崿F(xiàn)的.SST廠家供應(yīng)了兩種監(jiān)控程序BOOTLOADER和
SoftICE,其中單片機(jī)的監(jiān)控程序假如是BOOTLOADER,則對(duì)應(yīng)
以上兩種功能中的第一項(xiàng),即程序卜我功能。此時(shí).只可以通過(guò)
串口下以程序,不能進(jìn)行在線仿真。假如單片機(jī)的監(jiān)控程序假如
是SoftICE,則對(duì)應(yīng)以上兩種功能中的第二項(xiàng),即在線仿真功能.
此時(shí),只可以通過(guò)串口在線仿真,不能進(jìn)行下栽程序。即一種監(jiān)
控程序?qū)?yīng)一種功能,實(shí)現(xiàn)方法是將對(duì)應(yīng)功能的監(jiān)控程序卜.載到
單片機(jī)中即可,具體下載監(jiān)控程序以及在兩種監(jiān)控程序之間切換
的操作請(qǐng)參考“2.3通過(guò)BOOTLOADER將SSTBoot-Strap
Loader替換為SoftICEM,"2.5SoftICE監(jiān)控程序昔換hlSST
Boot-StrapLoader監(jiān)控程序”,“2.6通過(guò)SUPERRO編輯器
將SoftICE監(jiān)控程序卜載入SST單片機(jī)”等章節(jié)
出廠時(shí)廠家已將BOOTLOADER監(jiān)控程序?qū)懭胄酒?,因此無(wú)
需編程器就可通過(guò)SSTBOOT-STRAPLOADER軟件工具將用戶程序
卜載到SST的MCU中。對(duì)于兩種監(jiān)控程序,SST公司供應(yīng)了相應(yīng)
的方法,用戶可以自己將其中的監(jiān)控程序進(jìn)行替換,從而在兩種
不同的功能上進(jìn)行轉(zhuǎn)換。
更加具體芯片資料請(qǐng)參考datasheet:
SST89E516RD.pdf或者89E516RD中文.pdf
2.2ICE仿真及ISP編程燒寫(xiě)功能
SoftICE的英文是SoftwareInCircuitEmulator的簡(jiǎn)稱(chēng),
其翻課成中文就是在線的軟件仿真器的意思,它是SST公司為便
利SST用戶在運(yùn)用SST單片機(jī)(包括
SST89(,5xSST?9x564RD/55^RC/5l6RD2/5XRD2)調(diào)試程序所開(kāi)發(fā)
的開(kāi)發(fā)工具,這個(gè)SST的仿真器功能可以代替大部分的專(zhuān)用仿真
器的功能,使單片機(jī)工程師在開(kāi)發(fā)單片機(jī)時(shí)省卻/價(jià)格昂貴的仿
真器和編程器,使得51單片機(jī)的開(kāi)發(fā)更加簡(jiǎn)單和普及并且SST
的單片機(jī)價(jià)格便宜,出廠時(shí)就包含廣在線下載和在線仿真的功
能.
最新的SST軟件和文件請(qǐng)?jiān)L問(wèn)SST網(wǎng)頁(yè)。
最新的KEIL軟件和文件請(qǐng)?jiān)L問(wèn)KEIL網(wǎng)頁(yè)。
SoftICE的特點(diǎn):
SST的MaiSoftICE通過(guò)K的一個(gè)COM11及KEILuVision2
Debugger通訊,它可以實(shí)時(shí)地調(diào)試目標(biāo)程序,因此供應(yīng)運(yùn)用SST
單片機(jī)的工程帥簡(jiǎn)單有效和簡(jiǎn)單運(yùn)用在板上調(diào)試程序,盡管小而
緊湊,SoftICE卻供應(yīng)高級(jí)仿真器的大部分功能及KEIL
uVision2Debugger一起運(yùn)用。
SoftICE供應(yīng)以下特性:
?源代碼調(diào)試支持匯編語(yǔ)營(yíng)和C51高級(jí)語(yǔ)自
?單步執(zhí)行STEP和STEPOVER
?斷點(diǎn)調(diào)試做多到10個(gè)固定和1個(gè)臨時(shí)斷點(diǎn)
?全速運(yùn)行
?顯示修改變量
?讀/寫(xiě)數(shù)據(jù)存儲(chǔ)器
?讀/寫(xiě)代碼存儲(chǔ)器
?讀/寫(xiě)SFR特別功能寄存器
?讀/寫(xiě)P0-P3端口
?下載INTELHEX文件
?對(duì)8051程序存儲(chǔ)區(qū)的反匯編
?在線匯編
?SSTMCU產(chǎn)品特有的TAP功能InApplication
Programming
SST51開(kāi)發(fā)系統(tǒng)除了支持ICE仿真功能外,還支持Anne】ISP
編程燒寫(xiě)的功能。
2J通過(guò)BOOTLOADER將SSTBoot-StrapLoader替換為SoftICE
執(zhí)行SSTEasyJAPHF.exe(……'單片機(jī)在線仿真工具\(yùn)sst5l
單片機(jī)在線仿真\SoftICE564\SSTEasyIAPllF.exe).軟件運(yùn)行
SSTBoot-StrapLoader在內(nèi)部模式下椅測(cè)到對(duì)應(yīng)器件的嗯號(hào)
后,SoftICE固件通過(guò)按SoftICE菜單YDownloadSoftICE選
項(xiàng)下載,便將SoftICE固件下效到MCV.在BLOCKI的SST
Boot-StrapLoader會(huì)被SoftICE固件代替《下裁SoftICE勝利
后,不能重復(fù)再次下載SoftICE,必需下教BOOTLOADER監(jiān)控程
序后,才能重新卜.載SoftICE)。具體操作步驟如卜.:
1,打開(kāi)SSTEasyIAPUF.exe程序,選擇串口:
2.選擇芯片型號(hào)和內(nèi)部程序存儲(chǔ)器:
3.選擇PC串口,MCL晶振和波特率:
COM1為當(dāng)前連接單片機(jī)的串口。晶振頻率指當(dāng)前系統(tǒng)板上
接的晶振頻率。確定后點(diǎn)擊“DetectMCU”檢測(cè)單片機(jī).
4.先選擇確定在梵位MCU;
5.通訊勝利后窗口右上角顯示芯片信息和版本信息;
6.點(diǎn)擊DownloadSoftICE選項(xiàng),將MCU中的BOOTLOADER監(jiān)控
程序替換為SofiICE監(jiān)控程序:
7.選擇確認(rèn)更換:
8,程序打換勝利:
2.4用Keil新建工程并在SoftICE監(jiān)控程序下仿真
I.打開(kāi)KeilC51程序,新建一個(gè)工程:
一般建議新建,程的名稱(chēng)及文件夾名稱(chēng)相同,部分版本在編譯時(shí)
可能會(huì)提示**Targetnotcreated
2.保存在自己新建的文件夾中;
3.點(diǎn)擊保存出現(xiàn)口十選擇對(duì)話框,選擇SST系列的89X516RD2:
4.出現(xiàn)是否添加標(biāo)準(zhǔn)51初始代碼而話框.選“否”:
5.工程建立之后新建源程序文件,點(diǎn)擊"File”菜單下“\ew”
選項(xiàng):
6保存在工程文件夾內(nèi),C程序文件后綴為“.C”,匯編程序文
件后綴為“?ASM”;
7.在文本編輯區(qū)編寫(xiě)源程序并保存;在SourceGro叩上右擊選
擇“AddFilesToGroup-M選項(xiàng)添加源文件至工程:
x.選擇編寫(xiě)好的源程序文件,點(diǎn)擊Add添加所選文件:
9.點(diǎn)擊編譯按鈕,編譯工程:
io.進(jìn)入目標(biāo)板調(diào)試選頊設(shè)置,點(diǎn)擊“Project"菜單下“Options
forTarget--M選項(xiàng):
ii.選擇為硬件仿.真功能:
12.點(diǎn)擊Selling進(jìn)入通訊參數(shù)設(shè)定菜單.去掉全部Cache選項(xiàng),
至此設(shè)置完畢,進(jìn)入仿真調(diào)試階段;
13.點(diǎn)擊DEBUGFW**Start/StopDebugSession”選項(xiàng)進(jìn)入DEBI:。
界面;
14.進(jìn)入后可以看到信息欄中由顯示連接勝利信息。在此仿此界
面可以進(jìn)行單步,全速,斷點(diǎn)等調(diào)試方式。
進(jìn)入DEBUG界面后用戶可以在線進(jìn)行單步,連續(xù),執(zhí)行到,
斷點(diǎn)等功能的調(diào)試:
25SoftICE監(jiān)控程序替換回SSTBoot-StrapLoader監(jiān)控程序
I,由SoftICK/控程序轉(zhuǎn)換回SSTRoot-SirapLoader監(jiān)控程
序:
在keil輸入以下命令。
圖中**ConverttoBSLx564.Ixl”文件保存在
“\SoftICE_564”路徑下。執(zhí)行完上圖命令后,若出現(xiàn)如下界面
表示轉(zhuǎn)換勝利,BSL監(jiān)控程序I;載入了單片機(jī):
2.6通過(guò)SUPERRO編輯器將SoftICE監(jiān)控程序下載入SST單片機(jī)
卜面介紹通過(guò)編程器將SoftICE監(jiān)控程序卜載到SST的MCL
芯片中的方法:SST89E516ED單片機(jī)有兩塊程序存儲(chǔ)區(qū)BlockO
(64Kb)和Blockl(8Kb).監(jiān)控存儲(chǔ)在8Kb的Blockl中,單片
機(jī)上電從Blockl開(kāi)始執(zhí)行,當(dāng)沒(méi)有接收到相應(yīng)的串口命令時(shí),
再?gòu)闹鞒绦騾^(qū)BlockO開(kāi)始執(zhí)行指令;具體操作步驟如F:
I,打開(kāi)編輯器SIPERPRO程序,圖標(biāo)為
2.進(jìn)入SUPERPR0程序界而,單擊”選擇器件選項(xiàng)”:
3,進(jìn)入器件選擇對(duì)話框,在器件類(lèi)型處選擇"MCU/MPU”在杳找
處榆入要器件名稱(chēng),找到之后選擇“確定”;
4,單擊“裝入文件”選項(xiàng):
5.進(jìn)入下載文件選擇對(duì)話框,選擇要下載的SoftICE監(jiān)控程序,
文件格式一般為“.hex”或bin”格式;
6.因?yàn)镾ST單片機(jī)的監(jiān)控程序存儲(chǔ)在Blockl中,Blockl的地址
為lOOOOh,故數(shù)據(jù)緩沖區(qū)起始地址改為“IOGOO”,卜戢?般
執(zhí)行程序則百接默認(rèn):
7.左邊是卜我文件的操作選項(xiàng),具體步驟為:Erase=》IT°gram=》
Verify:
執(zhí)行完上述一:個(gè)步驟后,SoftICE監(jiān)控程序已被下載入SST
的MCU中了,可以運(yùn)用Koil軟件進(jìn)行在線硬件仿真調(diào)試了。
2.7通過(guò)SSTEasylAP下程序
SST單片機(jī)中最初始的是BSL監(jiān)控程序,可以通過(guò)SST
BOOT-STRAPLOADER軟件工具將用戶程序下載入單片機(jī)中,具體
操作步驟如I':
1,打開(kāi)SSTBOOT-STRAPLOADI-R軟件工具,并按之前的步驟及
單片機(jī)通訊連接勝利。在界面的右卜方IAPFunction菜單中
有下載選項(xiàng),選擇"Download-選項(xiàng)下載程序。
2.進(jìn)入了卜載文件選擇界而;
3.在文件杳找對(duì)話框中找到要下載的用戶程序,一般為.Hex
或.bin格式文件;
4,選擇好用戶程序后,單擊步驟二中的UK選項(xiàng)開(kāi)始下我,界面
最卜.面的狀態(tài)欄顯示卜.載進(jìn)度,當(dāng)顯示為Done時(shí)表示程序下
我已經(jīng)完成,單片機(jī)上電執(zhí)行用戶程序了。
2-8STC單片機(jī)的燒寫(xiě);
下面介紹另?款STC單片機(jī)的燒寫(xiě)方法,
I,打開(kāi)STC單片機(jī)的編輯器STCTSP,進(jìn)入STC-ISP的工作界面.
2.2.在1SP的界面左上方已經(jīng)有依據(jù)步驟扣列的子單元,
3,依據(jù)界面上的步驟一步步執(zhí)行卜我操作,步驟1的單元如卜
圖,在MCLTypo下拉框中選擇H標(biāo)單■片機(jī)型號(hào),APMemory
為程序存儲(chǔ)地址:
4.進(jìn)入步驟2選擇下我攵件,點(diǎn)擊右下方的OpenFile選項(xiàng)查找
要下載的用戶程序;
5,找到要下載的用戶程序,多為.hex或Jin格式文件;
6.步驟3為串口設(shè)置,選擇通過(guò)哪個(gè)COM口下載,MaxBuad為
波特率設(shè)置;
7.步驟4為下載設(shè)置,一般默認(rèn)即可:
x.步驟5為下載操作,先點(diǎn)擊"Download/下載”選項(xiàng),再M(fèi)CL
重新上電復(fù)位,則開(kāi)始執(zhí)行下載操作:
9.步驟5單元下面為狀態(tài)欄,可以視察MCU的下載過(guò)程,下圖
為下載勝利信息顯示:
此時(shí)用戶程序已下載入STC的MCU中了,拔掉串口線,上電
復(fù)位用戶程序即可執(zhí)行。
第三章單片機(jī)系統(tǒng)學(xué)習(xí)平臺(tái)VI.1試股設(shè)計(jì)
基于“單片機(jī)系統(tǒng)學(xué)習(xí)平臺(tái)VI.r可開(kāi)展單片機(jī)系統(tǒng)及相
關(guān)擴(kuò)展系統(tǒng)的試臉.主:要包括以下部分:
試驗(yàn)一,10口試驗(yàn)
試驗(yàn)二,按鍵中斷試驗(yàn)
基礎(chǔ)試驗(yàn)試驗(yàn)三,RAM試驗(yàn)
試驗(yàn)叫,段式LED試驗(yàn)
試驗(yàn)五,矩陣按鍵試驗(yàn)
試驗(yàn)一,語(yǔ)音采集及回放
試驗(yàn)一,數(shù)字萬(wàn)用表設(shè)計(jì)
綜合試驗(yàn)
試驗(yàn)三,水溫限制系統(tǒng)設(shè)計(jì)
試驗(yàn)四,簡(jiǎn)易數(shù)據(jù)儀輸系統(tǒng)
3.1試驗(yàn)一,獨(dú)立I/O試驗(yàn)
3.1.1LED跑馬燈試驗(yàn)
一,試驗(yàn)?zāi)康?/p>
1.熟識(shí)單片機(jī)的基本結(jié)構(gòu)和單片機(jī)系統(tǒng)學(xué)習(xí)平臺(tái)的資源配
置
2.熟識(shí)運(yùn)用在線仿真技術(shù)進(jìn)行單片機(jī)系統(tǒng)開(kāi)發(fā)的一般方法
3.學(xué)會(huì)用示波器觀測(cè)現(xiàn)象,初步體會(huì)用儀器進(jìn)行調(diào)試的思想
4.駕馭基本輸入輸出口的設(shè)il方法,LED燈的特性和運(yùn)用方
法
二,試驗(yàn)內(nèi)容
1.用匯編語(yǔ)言實(shí)現(xiàn)以下功能:
<1>編程點(diǎn)亮8個(gè)LED,測(cè)試接I」電路無(wú)問(wèn)題
<2>編程將8個(gè)LED按從LED1-LED8的順序依次點(diǎn)亮,點(diǎn)
亮?個(gè)LED后延時(shí)一段時(shí)間,延時(shí)時(shí)間考慮人眼能弊辨
別出,把它熄滅后,再接著點(diǎn)亮卜?一個(gè)rLED,形成LED
跑馬燈。要求當(dāng)LEI)跑到邊緣之后返回,而不是再?gòu)牡?/p>
一個(gè)LED開(kāi)始。
2.當(dāng)實(shí)現(xiàn)LED跑馬燈的功能后,用示波器探頭依次探測(cè)8
個(gè)獨(dú)立"0口的現(xiàn)象.這時(shí)在海一個(gè)1/0口上應(yīng)當(dāng)能檢
測(cè)到肯定頻率的方波信號(hào)。
四,試驗(yàn)原理
1.LED原理:兩個(gè)半導(dǎo)體P型和N型半導(dǎo)體加中間由?個(gè)
有源層組成,當(dāng)兩端加上正負(fù)電壓時(shí)電子開(kāi)始移動(dòng)和空穴(帶正
電的離了)結(jié)合產(chǎn)生輻射光。?般LKD在正常發(fā)光的狀況下,消
耗電流在mA級(jí)別,為保證其正常發(fā)光,同時(shí)也不會(huì)過(guò)流,一般
在I.ED回路中串聯(lián)一個(gè)300歐TK歐的電眼.
2.LED硬件連接圖,如下
3.1.2蜂鳴器試驗(yàn)
一、試驗(yàn)?zāi)康?/p>
1.了解蜂鳴器原理和類(lèi)型
2.駕馭單片機(jī)指令周期的計(jì)算方法
二試段內(nèi)容
利用單片機(jī)讓蜂鳴器發(fā)出,個(gè)固定頻率(300、3400Hz)的
響聲
三、試驗(yàn)原理
I、蟬鳴器:蛀鳴器是?種?體化結(jié)構(gòu)的電子訊響器,采納直
流電壓(有源蜂鳴器)或溝通電壓(無(wú)源蜂鳴器)供電,有源蛙
鳴器內(nèi)部已經(jīng)帶有振蕩源,閃此只要供應(yīng)直流電壓就可以發(fā)音,
發(fā)音的頻率由內(nèi)部振蕩源確定,頻率固定,不能更改,無(wú)源蜂鳴
㈱內(nèi)部沒(méi)有振蕩源,因此必需供應(yīng)溝通電壓使其發(fā)音,發(fā)音的頻
率及溝通電壓的赧率始終,依據(jù)音樂(lè)節(jié)奏調(diào)整發(fā)音的頻率可以實(shí)
現(xiàn)簡(jiǎn)單的音樂(lè)播放。廣泛應(yīng)用于計(jì)算機(jī),打印機(jī),亞印機(jī),
報(bào)警器,電子玩具,汽車(chē)電子設(shè)備,機(jī),定時(shí)器等電子
產(chǎn)品中作發(fā)聲器件.蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴
器兩種類(lèi)型。
2、聽(tīng)覺(jué)范圍:人耳一般對(duì)300~3400Hz范圍內(nèi)的聲音比較敏
感,調(diào)整單片機(jī)管腳波形輸出,使得產(chǎn)生頻率在該范圍內(nèi)才可以
聽(tīng)到聲音。假如頻率過(guò)高或過(guò)低都很難聽(tīng)到聲音。
3、硬件連接:
小試毆步驟
編程:限制單片機(jī)管腳,產(chǎn)生一個(gè)電平之后延時(shí)一段時(shí)間
1/2T0,對(duì)該管腳電平取反,如此反復(fù),就能夠產(chǎn)生?個(gè)頻率的
方波.方波周期為T(mén)0,頻率fO=l/TO,當(dāng)f0在300、34001lz之間
時(shí),可以聽(tīng)到蜂鳴器的發(fā)音。
3.2試驗(yàn)二,按健中斷試驗(yàn)
一,試改目的
1,了解中斷的基本概念
2,了解按鍵軟件消掃的方法
3,了解定時(shí)器的基本概念
二,試驗(yàn)設(shè)備
單片機(jī)試驗(yàn)板vl」
三,試毆內(nèi)容
1,通過(guò)按速中斷實(shí)現(xiàn)對(duì)LED的限制:每按鍵一次LED燈右
移一位
2,通過(guò)定時(shí)器中斷產(chǎn)生?個(gè)標(biāo)準(zhǔn)RKIIz的方波
四,試驗(yàn)原理
1,按鍵中斷:試驗(yàn)板獨(dú)立式鍵盤(pán)每個(gè)按鍵都有一個(gè)信號(hào)線
及單片機(jī)電路相連,當(dāng)其中中斷按鍵按下的時(shí)候,會(huì)產(chǎn)生?個(gè)中
斷信號(hào),該信號(hào)使得CPU跳轉(zhuǎn)到中斷點(diǎn)執(zhí)行中斷服務(wù)程序。執(zhí)行
完中斷程序之后,CPI回到主程序原先斷點(diǎn),接著往下執(zhí)行。
2,按鍵消抖:查詢單片機(jī)管腳,發(fā)覺(jué)有信號(hào)線出現(xiàn)低電平
表示可能出現(xiàn)犍按下的狀況。按鍵按下過(guò)程中存在前后延抖動(dòng).
延時(shí)20ms之后查詢發(fā)覺(jué)管腳狀態(tài)和之前讀取一樣,判定按鍵按
卜,依據(jù)讀取數(shù)值推斷按鍵編號(hào)并進(jìn)行對(duì)應(yīng)操作.
3,定時(shí)器中斷:定時(shí)器開(kāi)后之后,計(jì)數(shù)器開(kāi)始計(jì)數(shù).當(dāng)計(jì)
數(shù)器達(dá)到程序員設(shè)定值后,進(jìn)入中斷.在中斷服務(wù)程序中,程序
員可自由發(fā)揮。
五,試改步驟
1,硬件連接
2,實(shí)現(xiàn)功能
—17或者S18按b'JJ-DOLED3亮,再次按hLED0-LED3
滅。
貳:利用定時(shí)器實(shí)現(xiàn)LED的閃統(tǒng)頻率定為1IIZ.
叁:S17或者S18按下,LED4亮,定時(shí)器計(jì)數(shù),1秒后,
LED1火
3,軟件流程圖
4.記錄試驗(yàn)結(jié)果
3.3試驗(yàn)三,RAM試驗(yàn)
一、試驗(yàn)?zāi)康?/p>
I、了解RAM讀寫(xiě)原理
2、了解地址信號(hào)的產(chǎn)生原理
3、「解51單片機(jī)的限制總線信號(hào)ALE和nOE.nIE的產(chǎn)生原
理
二,試驗(yàn)設(shè)備
單片機(jī)試驗(yàn)板vl1
三、試驗(yàn)內(nèi)容
L讀寫(xiě)RAM數(shù)據(jù)并將讀寫(xiě)錯(cuò)誤數(shù)顯示在段式液晶上而
四、試驗(yàn)原理
k地址信號(hào)的產(chǎn)生:51單片機(jī)的P0門(mén)是敷據(jù)和地址復(fù)用線,
可以利用?片74LS373
進(jìn)行地址鎖存限制,將P0”產(chǎn)生出一組地址信號(hào)和數(shù)據(jù)佶號(hào)在
時(shí)間上分開(kāi)(見(jiàn)試驗(yàn)板框圖)。
2,讀寫(xiě)過(guò)程:51單片機(jī)的P3口是多功能且用口,其中P36
復(fù)用為nH'R,P37復(fù)用為nRD,外部RAM的接口時(shí)序和這兩個(gè)新
號(hào)的生成時(shí)序相符合,可以直接進(jìn)行RAM數(shù)據(jù)的讀寫(xiě)。
3、片外RAM傳送指令:MOVXA,依Ri;MOVXA,0DPTR;?OVX
@Ri,A;
MOVX6DPTR,A;這四條指令(單字節(jié)雙周期指令)執(zhí)行時(shí),尤
其要留意他們伴隨著51單片機(jī)讀寫(xiě)限制信號(hào)線nOE或nUE的?,額
外”置低。其中,第?條和第三條指令只能尋址256bit,而第
二條和第四條指令可以尋址61Kb(此次試驗(yàn)中運(yùn)用)。其讀寫(xiě)時(shí)
序和執(zhí)行過(guò)程如下:
①將RAM的地址(存放在寄存器Ri或DPTR中)由地址總線
P0(此時(shí)身份是地址線低B位)及P2(地址線高8位A8~A15)
口輸出,即時(shí)序圖中的S5PI到S6P2階段。并在S4P2到S5P2階
段,發(fā)ALE信號(hào)將低8位地址鎖存。
②第二個(gè)機(jī)器周期S1P2到S2P2內(nèi)取消ALE及程序選通信號(hào)
PSEN(即取消取指操作),P0身份轉(zhuǎn)變?yōu)閿?shù)據(jù)忠線。及此同時(shí)發(fā)
讀或?qū)懶盘?hào),通過(guò)P0口將RAM的數(shù)據(jù)傳送到累加器A中或?qū)⒗?/p>
加器A數(shù)據(jù)傳送到RAM中。即:時(shí)序圖的S6P2到S4PI階段。
③由丁鎖存的地址為外部數(shù)據(jù)存儲(chǔ)單元的地址,所以在第二
個(gè)機(jī)瑞周期S4取消取指令的操作.不再發(fā)程序選通信號(hào)PSEN.
打、試驗(yàn)步驟
|、硬件連接:
2.62256地址安排:62256的地址總線有15位(AO'AM),因
此它的地址空間大小是2」5(32Kb)。62256的片選信號(hào)由51單
片機(jī)地址線的最高位A15給出,且低電平有效,因此它的最低地
址是0000H,最高地址是7FFFH。
3、軟件設(shè)計(jì):在RAM地址的lOOWflOffH空間中寫(xiě)入0~255
數(shù)據(jù),讀出RAM的10001門(mén)OffH空間數(shù)據(jù),記錄/誤數(shù)據(jù)個(gè)數(shù).
將數(shù)據(jù)錯(cuò)誤個(gè)數(shù)顯示在段式液晶上面。
4、記錄和視察試驗(yàn)現(xiàn)象,
3.4試驗(yàn)四,段式LED試驗(yàn)
?、試驗(yàn)?zāi)康?/p>
1.段式LED工作原理
2.動(dòng)態(tài)掃描顯示原理
二、試驗(yàn)設(shè)備
單片機(jī)試驗(yàn)板vl_I
三、試驗(yàn)內(nèi)容
在LED上面動(dòng)態(tài)顯示循環(huán)的數(shù)字8,到達(dá)邊緣之后重新同
到遠(yuǎn)點(diǎn),依次循環(huán)
四、試驗(yàn)原理
1.段式LED原理:
?個(gè)段式液晶是由八段LED組成,如上圖所示,依據(jù)組成的
led種類(lèi)不同,常用的段式液晶行共陰極和共陽(yáng)極兩種類(lèi)型,試
臉板上配置的為共陰極段式液晶。依據(jù)abcdefgh的電平狀況,
點(diǎn)亮或者熄火對(duì)應(yīng)的LED,就可以看到對(duì)應(yīng)的數(shù)字或者字符,譬
如abcdef設(shè)為高,將gh設(shè)為低就可以形成數(shù)字0了。
2.動(dòng)態(tài)掃描原理:利用人眼的視覺(jué)殘留現(xiàn)象,依次點(diǎn)亮每
個(gè)八段碼單元,只要掃描速度超過(guò)人眼可以識(shí)別的頻率,就
可以看到穩(wěn)定的信息輸出。
3.電路連接;
CS3及nWE同時(shí)置低時(shí)選中片選信號(hào)----CS_LEDSEL;
CS2及nWE同時(shí)置低時(shí)選中段選信號(hào)一一CS_LED_SEG,
片選信號(hào)CS_LED_SEL選通鎖存器U13,通過(guò)P0口把某個(gè)SEL
選中,即選中某個(gè)數(shù)碼管。
段選信號(hào)CSLEDSEG選通鎖存器U12,通過(guò)P0口的值對(duì)選中
的數(shù)碼管的A到DP賦值,以實(shí)現(xiàn)顯示功能。
五,試驗(yàn)步驟
1,硬件連接:
2,軟件設(shè)計(jì):依次點(diǎn)亮八段碼,設(shè)置較快的掃描頻率,在
段式液晶上面形成穩(wěn)定的輸出。將掃描頻率設(shè)置較低,使人眼可
以辨別各個(gè)八段碼點(diǎn)亮和熄滅的狀態(tài),形成數(shù)字8從左向右循環(huán)
的現(xiàn)象。
3,視察并記錄試驗(yàn)現(xiàn)象a
3.5試臉五,矩陣鍵盤(pán)試臉
?、試驗(yàn)?zāi)康?/p>
i.駕馭矩陣式鍵盤(pán)的原理
2駕馭74HC245.74HC573的運(yùn)用
3.理解單片機(jī)總線讀寫(xiě)和片選信號(hào)的產(chǎn)生
4.駕馭矩陣鍵盤(pán)的編程方法
二、試驗(yàn)設(shè)備
單片機(jī)試驗(yàn)板V11
三、試驗(yàn)內(nèi)容
1.采納行掃描法編程獲得矩陣式健盤(pán)的鍵侑,并予以顯示
2學(xué)習(xí)矩陣鍵盤(pán)的構(gòu)建方式
四、試驗(yàn)原理
I.電路原理圖
1.4*4鍵盤(pán):
KEYH為4根行線,KEYV為4根列線.均接了10k歐
姆上拉電阻
2.行線和列線
行線:運(yùn)用74HC573鎖存P0口數(shù)據(jù),為單向輸出口
列線:運(yùn)用74HC245鎖存P0口數(shù)據(jù)或鍵盤(pán)數(shù)據(jù),數(shù)據(jù)
讀寫(xiě)方向由DIR確定
3.片選信號(hào)
1.當(dāng)A15為高,48-A10為低時(shí)CSO為低電平,CS0地
址可設(shè)為0xf8ff,選中CS0時(shí),單片機(jī)讀信號(hào)使nOE為
低,74HC245DIR為低電平,從74HC215讀數(shù)據(jù)。
2.選中CSO時(shí),單片機(jī)號(hào)信號(hào)使nWE為低,CS_KEY為
高電平,74HC573鎖存P0口上的數(shù)據(jù),即單片機(jī)向
74HC573寫(xiě)數(shù)據(jù)。
原理圖分析
單片機(jī)通過(guò)寫(xiě)數(shù)據(jù)到行線,從列線讀數(shù)據(jù)來(lái)推斷是否有按
鍵和鍵值。
1,推斷是否有按鍵按下:
將行線作為輸出,列線作為輸入。CPI.首先向行接口輸
出一個(gè)為“全0”數(shù)據(jù).再?gòu)牧薪涌谧x入數(shù)據(jù),并判其是
否為“全1”。若是“全「就表示健盤(pán)中沒(méi)有鍵被按下,
否則去示有犍被按下,且列碼中“0”的位置就是所按按鍵
的列號(hào)。
2.獲得用戶按下的按鍵所對(duì)應(yīng)的鍵值:
為了獲得用戶按下的按鍵所對(duì)應(yīng)的健值,可先向行接
口輸出?個(gè)第0行為“0”.其它行均為“1”的行碼,然
后讀入列碼并判其是否為“全1”,若不是“全r就表
示在第o行中有鍵被按下,且讀入的列碼中出現(xiàn)“o”的位
置代表該按健所處的列編號(hào).輸出行碼中“0”的位置代表
該按鍵所處的行編號(hào),據(jù)鍵值公式可獲得相應(yīng)的鍵值;若
讀入的列碼為“全1”.就再對(duì)下?行進(jìn)行類(lèi)似的處理,
如此逐行分析處理,直至全部行處理完畢.
3.消抖動(dòng):
“抖動(dòng)”是指兩個(gè)機(jī)械電氣觸點(diǎn)在閉合域斷開(kāi)的瞬間
時(shí)所產(chǎn)生的抖動(dòng),由于抖動(dòng)的時(shí)間不超過(guò)20空秒,所以通
常都是運(yùn)用“延時(shí)”的方法來(lái)去抖動(dòng),即一旦檢測(cè)到按鍵
有“狀態(tài)改變二就延時(shí)20亮秒,而后再去檢測(cè)該現(xiàn)象是
否仍舊存在,若存在就表小確實(shí)有犍按下或松開(kāi),否則表
示檢測(cè)的是一種干擾信號(hào)。
從矩陣鍵盤(pán)編程方法
1.程序流程:
2.軟件設(shè)計(jì):編寫(xiě)按鍵處理程序,并將得到的按鍵依據(jù)0、15
的數(shù)字進(jìn)行編碼:編寫(xiě)對(duì)應(yīng)的案件處理程序,將按鍵值顯示在段
式液晶上面。
3.示例代碼:見(jiàn)例程C51Pro,Lab5
第四章^合試瞼要求
?試驗(yàn)一,數(shù)字鐘系統(tǒng)
?試驗(yàn)二,數(shù)字溫度計(jì)設(shè)計(jì)
?試驗(yàn)三,數(shù)字電壓表設(shè)計(jì)
?試驗(yàn)四,語(yǔ)音采集及回放
?試驗(yàn)五,數(shù)字頻率計(jì)
?試驗(yàn)六,DDS信號(hào)源
4.1試毆一,數(shù)字鐘系統(tǒng)
一,基礎(chǔ)要求
I.i殳計(jì)一個(gè)精確的I秒定時(shí)器:
2.依據(jù)1秒定時(shí)器,設(shè)計(jì)一個(gè)帶小時(shí),分鐘,秒的時(shí)鐘,
并將小時(shí),分鐘,秒顯示在LED上:
3.設(shè)計(jì)小時(shí).分鐘,秒的修改按健.可分別調(diào)整小時(shí),分
鐘,秒(按鍵設(shè)計(jì)參考電子表):
二,擴(kuò)展要求
1.增加小時(shí),分鐘,秒的鍵盤(pán)直接修改功能;
2.設(shè)計(jì)鬧鐘功能,最多支持5個(gè)鬧鐘,可分別譽(yù)看和修改用
鐘時(shí)間,可分別設(shè)置鬧鐘開(kāi)關(guān)。
3.增加萬(wàn)年歷功能。
4.2試驗(yàn)二,數(shù)字溫度計(jì)
一,基礎(chǔ)要求
I設(shè)計(jì)寞現(xiàn)數(shù)字溫度計(jì)I8B20的接口時(shí)序;
2,讀取18B20數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)化為BCD碼曜示在LED上,
顯示精度為兩位小數(shù);
3.實(shí)現(xiàn)對(duì)溫度的修正:
43數(shù)字電壓表設(shè)計(jì)
一,基礎(chǔ)要求
I.設(shè)計(jì)實(shí)現(xiàn)AD0809接口電路,實(shí)現(xiàn)模擬電壓量OFV轉(zhuǎn)化為
數(shù)字量;
2.編程實(shí)現(xiàn)AD0809的數(shù)據(jù)讀取;
工設(shè)定固定的刷新速率,將讀取數(shù)據(jù)顯示在LED匕楂示精
度兩位小數(shù):
4.實(shí)現(xiàn)電樂(lè)采集值的分段函數(shù)修正.
二,擴(kuò)展要求
1.擴(kuò)展電壓表的測(cè)量范惘,實(shí)現(xiàn)07V,0-10的測(cè)量:
4.4數(shù)字化語(yǔ)音存儲(chǔ)及回放系統(tǒng)
設(shè)計(jì)并制作一個(gè)數(shù)字化語(yǔ)音存儲(chǔ)及回放系統(tǒng),其示意圖如下:
1.基本饕求
(1)放大器1的增益為46dB,放大器2的增益為40dB,增
益均可調(diào):
(2)帶通濾波器:通帶為300Hz?3.4kHz:
(3)ADCs采樣頻率E=8kHz,字長(zhǎng)=8位;
(4)語(yǔ)音存儲(chǔ)時(shí)間N10秒:
(5)DAC:變換頻率fr=8kHz,字長(zhǎng)=8位:
(6)回放語(yǔ)音質(zhì)量良好.
2.發(fā)揮部分
在保證語(yǔ)音質(zhì)量的前提下:
(1)減少系統(tǒng)噪聲電平,增加自動(dòng)音量限制功能;
(2)語(yǔ)音存儲(chǔ)時(shí)間增加至20秒以上:
(3)提高存儲(chǔ)器的利用率(在原有存儲(chǔ)容品不變的前提下,
提高語(yǔ)音存儲(chǔ)時(shí)間):
(4)其它(例如:校正等)。
4s數(shù)字頻率計(jì)設(shè)計(jì)
一,任務(wù)
設(shè)計(jì)并制作一臺(tái)數(shù)字顯示的簡(jiǎn)易頻率計(jì)。
二,要求
1.基本要求
(1)頻率測(cè)量
a.測(cè)量范闡信號(hào):方波,正弦波:幅度:0.5V?5V:順
率:1Hz?1MHz
b.測(cè)量誤差W0.1%
(2)周期測(cè)量
a.測(cè)量范用信號(hào):方波,正弦波;幅度:0.5V?5V:頻
率:1Hz-1MHz
b.測(cè)量誤差WO.1%
(3)脈沖寬度測(cè)量
a.測(cè)量范圍信號(hào):脈沖波;幅度:0.5V-5V;脈沖寬度
2100ns
b.測(cè)量誤差W1%
(4)顯示器
I進(jìn)制數(shù)字顯示,顯示刷新時(shí)間1?10秒連續(xù)可調(diào),對(duì)上述
三種測(cè)呆功能分別用不同顏色的發(fā)光;極管指示o
(5)具有自校功能,時(shí)標(biāo)信號(hào)頻率為1MHz。
(6)自行設(shè)計(jì)并制作滿意本設(shè)計(jì)任務(wù)要求的穩(wěn)壓電源e
2.發(fā)揮部分
(1)擴(kuò)展頻率測(cè)量范圍為0.1Hz?10MHz(信號(hào)幅度0.5V?
5V),測(cè)量誤差降低為0.01%(最大閘門(mén)時(shí)間WIOs).
(2)測(cè)量并顯示周期脈沖信號(hào)(幅度0.5V-5V,頻率】Hz?
1kHz)的占空比,占空比變化范圍為10%?90%,測(cè)量誤差W遙.
(3)在1Hz?1MHz范圍內(nèi)及測(cè)量誤差WI%的條件F,進(jìn)行
小信號(hào)的頻率測(cè)量,提出并實(shí)現(xiàn)抗干擾的措施。
4.6A題波形發(fā)生能
設(shè)計(jì)制作一個(gè)波形發(fā)生器.該波形發(fā)生器能產(chǎn)生正弦波,方
波,三角波和由用戶編輯的特定形態(tài)波形。示意圖如下:
1.基本要求
(1)具有產(chǎn)生正弦波,方波,三角波三種周期性波形的
功能。
(2)用鍵盤(pán)輸入編輯生成上述三種波形(同周期)的線性
組合波形,以及由基波及其諧波(5次以下)線性組合的波形.
(3)具有波形存儲(chǔ)功能。
(4)輸出波形的頻率苑圍為100Hz?20kHz《非正弦波頻率
按10次諧波計(jì)算):重力頻率可調(diào),頻率步進(jìn)間隔近100Hz。
(5)輸出波形幅度范圍0?5V(峰-峰值),可按步進(jìn)0.1丫
(峰*值)調(diào)整。
(6)具有顯示輸出波形的類(lèi)型,重復(fù)頻率(周期)和幅度
的功能。
2.發(fā)揮部分
(I)輸出波形頻率范圍擴(kuò)展至100Hz?200kHz。
(2)用鍵盤(pán)或其他愉入裝置產(chǎn)生隨意波形。
(3)增加穩(wěn)福輸出功能,當(dāng)負(fù)載變化時(shí),輸出電壓幅度變
化不大于±3%(負(fù)載電阻變化范圍:100Q?8)。
(4)具有掉電存儲(chǔ)功能,可存儲(chǔ)掉電前用戶編輯的波形和
設(shè)置。
(5)可產(chǎn)生單次或多次(1000次以下)特定波形(如產(chǎn)生
1個(gè)半周期三角波輸出).
(6)其它(如增加頻譜分析,失真度分析,頻率擴(kuò)
展》200kHz,掃頻輸出等功能)。
第五章單片機(jī)C51講義
(注:本文由張清恒編輯,本文中相應(yīng)的代碼片斷運(yùn)行及測(cè)試結(jié)
果以Keil51的\節(jié)版編譯器為準(zhǔn))
5.1C語(yǔ)言概述
1.單片機(jī)及程序設(shè)計(jì)語(yǔ)言
(D單片機(jī)在系統(tǒng)設(shè)計(jì)中的位置
圖一單片機(jī)在系統(tǒng)設(shè)計(jì)中的位置
(2)程序設(shè)計(jì)語(yǔ)言
A.機(jī)器指令集
面對(duì)具體的處理器:的片機(jī),ARM處理牌(精簡(jiǎn)指
令RISC體系).通用處理器(困難指令CISC體系>。
B.匯編語(yǔ)言
運(yùn)用助記符代替機(jī)器指令,須要轉(zhuǎn)換成機(jī)器指令后
才能被識(shí)別運(yùn)行。
C.面對(duì)結(jié)構(gòu)的高級(jí)語(yǔ)浸
C,PASCAL,Fortran,COBOL,BASIC...
2.C高級(jí)語(yǔ)彳的編譯過(guò)程
C語(yǔ)占作為高級(jí)語(yǔ)□,賓?運(yùn)用更高級(jí)的行為描述方法來(lái)
定義操作。一般編譯型的高級(jí)語(yǔ)言,共先經(jīng)預(yù)編譯,然后
再編譯轉(zhuǎn)換成匯編語(yǔ)言,然后加入相應(yīng)的庫(kù)函數(shù)實(shí)體并經(jīng)
過(guò)鏈接形成最終機(jī)器代碼。預(yù)編譯所做的工作為做宏替換,
有效代碼的選擇等工作。其示意圖如圖二所東。
圖二C語(yǔ)言源程序到達(dá)最終代碼的過(guò)程
留意,一,由于不同硬件的機(jī)器指令集不一樣,故編譯
及旌接的針對(duì)不同目標(biāo)機(jī)器的最終代碼不一樣;二,編譯的
過(guò)程更多的時(shí)候不是在目標(biāo)機(jī)器上進(jìn)行的.故編譯器本身行
一個(gè)運(yùn)行環(huán)境(一般為DOS,Windows環(huán)境)。故須要運(yùn)用適合
于目標(biāo)機(jī)器平臺(tái)的能夠在指定的某一平臺(tái)上運(yùn)行的編譯冊(cè)及
徒接器進(jìn)行相應(yīng)的編譯及健接工作。
5.2C51語(yǔ)言
i.C51語(yǔ)言及C語(yǔ)言的關(guān)系
C51語(yǔ)言由C發(fā)展而來(lái).其基本上繼承了C語(yǔ)言的特性。其
區(qū)分在「:
MC語(yǔ)占程序建立在操作系統(tǒng)的基礎(chǔ)上,有操作系統(tǒng)為程
序操作很多基本的操作,如字符顯示,鍵盤(pán)讀取,文
件操作,用戶程序并不直接操作限制硬件:而C51語(yǔ)言
直接面對(duì)硬件,必需自己實(shí)現(xiàn)對(duì)硬件的限制O
R,C語(yǔ)言程序般在存儲(chǔ)在外部存儲(chǔ)介質(zhì)上,在運(yùn)行時(shí)由
操作系統(tǒng)裝載入內(nèi)存中進(jìn)行重定位后,再運(yùn)行:而C51
程序是直接在存儲(chǔ)的ROM或FLASH介質(zhì)上運(yùn)行。
其區(qū)分示意圖如圖三所示。
圖四單片機(jī)上的用戶C51語(yǔ)言程序的運(yùn)行環(huán)境示意圖
2.C5I中繼承C中可運(yùn)用的資源
現(xiàn)成的函數(shù)等資源包括兩個(gè)部分,?個(gè)是函數(shù)頭的聲明
文件(即.h文件),另,個(gè)是函數(shù)編譯后的目標(biāo)代碼庫(kù)(即.lib
文件).只要把用到的文件放到當(dāng)前目錄或系統(tǒng)編譯器目錄,
在鏈接時(shí)系統(tǒng)會(huì)自動(dòng)找尋并運(yùn)用。
⑴Intrinsic,hC51內(nèi)部固定函數(shù)
externvoid_nop_(void):
externbittestbit_(bit);
externunsignedcharcror(unsignedchar,
unsignedchar):
externunsignedint_iror_(unsignedint.
unsignedchar);
externunsignedlongIror(unsignedlong,
unsignedchar);
externunsignedchar_crol(unsignedchar,
unsignedchar);
externunsignedint_irol_(unsignedint.
unsignedchar):
externunsignedlongIrol(unsignedlong,
unsignedchar);
externunsignedcharchkfloat(float);
⑵Absacc.h數(shù)據(jù)類(lèi)型相關(guān)資源
tidefineCBYTE((unsignedcharvolatilecode*)0)
^defineDBYTE((unsignedcharvolatiledata?)0)
^definePBYTE((unsignedcharvolatilepdalzi*)0)
((defineKBYTE((unsignedcharvolatilexdata*)0)
#defineCHORD((unsignedintvolatilecode?)0)
^defineDWORD((unsignedintvolatiIedata*)0)
枇kfinePWORD((unsignedintvolatilepdala*)0)
tfdefineXWORD((unsignedintvolatilexdata*)0)
⑶Float,h運(yùn)算常數(shù)相關(guān)庫(kù)
"defineFl.TRADIX2
力defineFLTROUNDS0
"defineFLTDIG6
WefineFI.T_EPS1I.ON5.960,16e8
#definePLTMANTDIG24
#defineFLT.MAX3.40282e38
#define1LT_MAX_EXP0x7卜
#definePl.TMAX10EXP38
#defineFLTMIN1.17549e-38
#defineFLT_MIN_EXP-125
^defineFLT_MIN_10_EXP-37
^defineDBL_RAD1XFLT_RAD1X
qdefineDBLROUNDSFLTKOl,NDS
CdefineDBL_DIGFLT_DIG
^defineDBL_EI3IL0NFLTEPS】UN
"defineDBL_MAM_DIGFLT_MA\T_DIG
UdefineDBLMAXFLTMAX
#defineDBLMAXEXPFLTMAXEXP
#dcfineDBLMAX10EXPFLT_MAX_10E
^defineDBLMINFLTMIN
tidefineDB1.MINEXPFLT_MIX_EXP
tfdefirwDBL_MIN」O_EXPn.T_MiN_10_E
edetineLDBL_RADIXFLT_RAD1X
^defineLDBLROOTSFLTROUNDS
#defineL()BL_DIGFLT_DIG
ttdefineLI)BI._EPSILONFLT_EPS1I.ON
t?defineLDBL_MANT_DIGFLTMANTDIG
#defineLDBLMAXFLTMAX
#defineLDBL_MAX_EXPFLT_MAX_EXP
WefineLDBI.JIAX10EXPFLTMAX」0E
t?dcfineLDBL_MINFLTJ1IN
"defineLDBLMINEXPFLTMINEXP
如efineLDBL_MIN10EXPELTMIX10_E
(I)Limits.h標(biāo)準(zhǔn)數(shù)據(jù)范圍定義
tfdefineCHARBIT8/?Numberof
bitsinany"char"*/
WefineCHARJWX127/*Max
“char"value*/
ItdefineCIIAR.MIN(728)/?Min
“char"value*/
^defineSCHARMAX127/?Max
“signed""char”value*/
defineSCHARMIN(-128)/?Min
signedcharvalue?/
^defineUCHAK.MAX255/*Max
unsignedcharvalue?/
^defineSHRTJWX32767/*Max
("signed")"short”value?/
^defineSHRT_MIN(-32768)/?Min
("signed*)"short”value?/
^defineLSHRTMAXOxFFFF/?Max
“unsigned""short”value?/
^defineINTMAX32767/?Max
("signed")"ini”value*/
defineINTMIN(-32768)/*Min
(signed)intvalue?/
"defineU1NTJWXOxFFFF/?Max
“unsigned""int"value?/
"defineLONGMAX2147183647/*Max
("signed")"long”value?/
"defineLONG_M1N-2147483648/*Min
Isigned)longvalue?/
^defineULONGMAXOxFFFFFFFF/*Max
“unsigned""long"value?/
⑸Math.h數(shù)學(xué)庫(kù)
externcharcabs(charval);
externintabs(intval):
externlonglabs(1ongval);
externfloatfabs(floatval):
externfloatsqrt(floatval);
externfloatexp(floatval):
externfloatlog(floatval);
externfloatloglO(floatval);
externfloat.sin(float.val);
externfloatcos(floatval);
externfloattan(floutval);
externfloat“sin(flOiltval);
externfloatacos(floatval);
externfloatatan(floutval);
externfloatsinh(floatval);
externfloatcosh(floatval);
externfloattanh(floatval):
externfloatatan2(floaty,floatx);
structFPBL'F{
unsignedcharsave[16];
externvoidfpsave(structFPBUF*);
externvoidfprestore(structFPBUF*);
externfloatceil(floatval);
externfloatfloor(floatval);
extern
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度人工智能教育平臺(tái)股權(quán)轉(zhuǎn)讓合同協(xié)議書(shū)
- 2025年花崗巖石材礦山開(kāi)采與銷(xiāo)售合同樣本
- 2025年度環(huán)衛(wèi)清潔行業(yè)廢棄物分類(lèi)處理合同
- 2025年度國(guó)際金融風(fēng)險(xiǎn)管理技術(shù)服務(wù)合同樣本
- 2025年度紅棗產(chǎn)業(yè)綠色發(fā)展基金投資合同
- 2025版國(guó)際商事合同國(guó)際租賃與融資租賃合同
- 2025年城市基礎(chǔ)設(shè)施固定資產(chǎn)轉(zhuǎn)讓合同模板
- 2025年國(guó)際物流合同主體變更與貨運(yùn)代理協(xié)議范本
- 2025年度跨境電商物流服務(wù)合同簽訂授權(quán)委托管理制度
- 2025年度儲(chǔ)罐安裝與綠色環(huán)保認(rèn)證合同3篇
- 2025年度高端商務(wù)車(chē)輛聘用司機(jī)勞動(dòng)合同模板(專(zhuān)業(yè)版)4篇
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2025長(zhǎng)江航道工程局招聘101人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年黑龍江哈爾濱市面向社會(huì)招聘社區(qū)工作者1598人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 維吾爾醫(yī)優(yōu)勢(shì)病種
- 全國(guó)教學(xué)設(shè)計(jì)大賽一等獎(jiǎng)英語(yǔ)七年級(jí)上冊(cè)(人教2024年新編)《Unit 2 Were Family!》單元教學(xué)設(shè)計(jì)
- 【獨(dú)家揭秘】2024年企業(yè)微信年費(fèi)全解析:9大行業(yè)收費(fèi)標(biāo)準(zhǔn)一覽
- 1-1 擁抱夢(mèng)想:就這樣埋下一顆種子【2022中考作文最熱8主題押題24道 構(gòu)思點(diǎn)撥+范文點(diǎn)評(píng)】
- 職業(yè)暴露與防護(hù)
- 酒店行業(yè)客源渠道分析
- AVL-CRUISE-2019-整車(chē)經(jīng)濟(jì)性動(dòng)力性分析操作指導(dǎo)書(shū)
評(píng)論
0/150
提交評(píng)論