版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第4章 單片機(jī)的單片機(jī)的C51語言語言 第4章單片機(jī)的單片機(jī)的C51語言語言預(yù)處理命令-函數(shù)說明-全局變量定義- 主函數(shù)-自定義函數(shù)-局部變量定義- 函數(shù)體 函數(shù)體-/C51程序第4章單片機(jī)的單片機(jī)的C51語言語言【存儲(chǔ)種類存儲(chǔ)種類】數(shù)據(jù)類型數(shù)據(jù)類型【存儲(chǔ)類型存儲(chǔ)類型】 變量名變量名(標(biāo)準(zhǔn)C)(標(biāo)準(zhǔn)C)* 括號項(xiàng)可以缺?。ǖ栌腥笔≈担〤51變量定義的四要素:(C51特有)(標(biāo)準(zhǔn)C+C51)第4章單片機(jī)的單片機(jī)的C51語言語言【存儲(chǔ)種類存儲(chǔ)種類】數(shù)據(jù)類型數(shù)據(jù)類型【存儲(chǔ)類型存儲(chǔ)類型】變量名變量名存儲(chǔ)種類用于說明變量的作用范圍:1、auto(自動(dòng)型)變量的作用范圍在定義它的函數(shù)體或語句塊內(nèi)。執(zhí)行結(jié)
2、束后,變量所占內(nèi)存即被釋放。2、extern(外部型) 在一個(gè)源文件中被定義為外部型的變量,在其它源文件中需要通過extern說明方可使用。3、static(靜態(tài)型) 利用static可使變量定義所在的函數(shù)或語句塊執(zhí)行結(jié)束后,其分配的內(nèi)存單元繼續(xù)保留。4、register(寄存器型) 目前已不推薦使用。缺省存儲(chǔ)種類為auto (自動(dòng))型變量第4章單片機(jī)的單片機(jī)的C51語言語言數(shù)據(jù)類型用于表示數(shù)據(jù)存放格式* 有符號數(shù)類型可以忽略signed標(biāo)識符標(biāo)準(zhǔn)C語言的數(shù)據(jù)類型【存儲(chǔ)種類存儲(chǔ)種類】數(shù)據(jù)類型數(shù)據(jù)類型 【存儲(chǔ)類型存儲(chǔ)類型】變量名變量名除上述常規(guī)格式外,51單片機(jī)還有三種新的存儲(chǔ)格式:第4章單片機(jī)
3、的單片機(jī)的C51語言語言bit型存儲(chǔ)格式 sfr型存儲(chǔ)格式 sfr bit型存儲(chǔ)格式 bit、sfr或sfr16、sbit C51擴(kuò)充的3種數(shù)據(jù)類型:bit 型型關(guān)鍵詞bit用于定義一個(gè)位變量個(gè)位變量,語法規(guī)則:bit bit_name = 0或1;例如:bit door = 0 ; /定義一個(gè)叫door的位變量且初值為0與標(biāo)準(zhǔn)C的數(shù)據(jù)類型聲明的語法規(guī)則是一致的,如: int int_name = 常數(shù);第4章單片機(jī)的單片機(jī)的C51語言語言sfr或或sfr16型型關(guān)鍵詞sfr或sfr16用于定義SFR字節(jié)地址變量,語法規(guī)則: sfr sfr_name = 字節(jié)地址字節(jié)地址常數(shù); sfr16 s
4、fr_name = 字節(jié)地址字節(jié)地址常數(shù);第4章單片機(jī)的單片機(jī)的C51語言語言例如, sfr P0 = 0 x80; /定義P0口地址80H sfr PCON = 0 x87; /定義PCON地址87H sfr16 DPTR=0 x82; /定義DPTR的低地址82H注意:注意:C語言中十六進(jìn)制整數(shù)是數(shù)值前加語言中十六進(jìn)制整數(shù)是數(shù)值前加0 x或或0X前綴前綴sbit型型CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PCYCYACACF0F0RS1RS1RS0RS0OVOVF1F1P PD07D7HD6HD5HD4HD3HD2HD1HD0HD
5、0HD0HPSWPSWD06D05D04D03D02D01D00絕對位地址絕對位地址相對位地址相對位地址字節(jié)地址位地址表達(dá)形式:絕對位地址、相對位地址第4章單片機(jī)的單片機(jī)的C51語言語言關(guān)鍵詞sbit用于定義SFR位地址變量位地址變量 1)將SFR的絕對位地址絕對位地址定義為位變量名sbit bit_name = 位地址常數(shù);例如, sbit CY = 0 xD7; 3)將SFR的相對位位置相對位位置定義位變量名 sbit bit_name = sfr_name 位位置;例如, sbit CY = PSW7; 2)將SFR的相對位地址相對位地址定義為位變量名sbit bit_name = sf
6、r字節(jié)地址 位位置; 例如, sbit CY = 0 xD07; 可用三種定義形式:sbit型型第4章單片機(jī)的單片機(jī)的C51語言語言C51編譯器在頭文件“REG51.H”中定義了全部sfr/sfr16和sbit變量。用一條預(yù)處理命令#include 把這個(gè)頭文件包含到C51程序中,無需重新定義即可直接使用它們的名稱。第4章單片機(jī)的單片機(jī)的C51語言語言第4章單片機(jī)的單片機(jī)的C51語言語言編程舉例:【存儲(chǔ)種類存儲(chǔ)種類】數(shù)據(jù)類型數(shù)據(jù)類型【存儲(chǔ)類型存儲(chǔ)類型】變量名變量名存儲(chǔ)類型體現(xiàn)了變量的存放區(qū)域。51系列單片機(jī)共有6個(gè)存儲(chǔ)類型(分布在3個(gè)邏輯存儲(chǔ)空間中)。data區(qū)code區(qū)xdata區(qū)bdata
7、區(qū)pdata區(qū)idata區(qū)第4章單片機(jī)的單片機(jī)的C51語言語言不同存儲(chǔ)類型的特點(diǎn)SMALL系統(tǒng)COMPACT系統(tǒng)LARGE系統(tǒng)編譯模式編譯模式第4章單片機(jī)的單片機(jī)的C51語言語言三種編譯模式分別對應(yīng)于三種缺省存儲(chǔ)類型缺省存儲(chǔ)類型:約定約定:若無特殊聲明,一般均為“SMALL編譯模式”變量名可以由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須為字母或下劃線,變量名長度隨編譯系統(tǒng)而定。 變量名具有字母大小寫的敏感性,如SUM和sum代表不同的變量?!敬鎯?chǔ)種類存儲(chǔ)種類】數(shù)據(jù)類型數(shù)據(jù)類型【存儲(chǔ)類型存儲(chǔ)類型】變量名變量名第4章單片機(jī)的單片機(jī)的C51語言語言C51擴(kuò)展的若干關(guān)鍵字一覽表 變量名不得使用標(biāo)
8、準(zhǔn)C語言和C51語言的關(guān)鍵字。第4章單片機(jī)的單片機(jī)的C51語言語言unsigned char data system_status = 0; /定義system_status為無符號字符型自動(dòng)變量,該變量位于data區(qū)中且初值為0。 數(shù)據(jù)結(jié)構(gòu)定義舉例變量名為system_status位與片內(nèi)RAM區(qū)無符號字符型自動(dòng)型初值為零第4章單片機(jī)的單片機(jī)的C51語言語言unsigned char bdata status_byte; unsigned int code unit_id2=0 x1234, 0 x89ab; static char m, n; /定義status_byte為無符號字符型自動(dòng)
9、變量,該變量位于bdata區(qū)/定義unit_id2為無符號整型自動(dòng)變量,該變量位于code區(qū)中,是長度為2的數(shù)組,且初值為0 x1234和0 x89ab。/定義m和n為2個(gè)位于data區(qū)中的有符號字符型靜態(tài)變量。第4章單片機(jī)的單片機(jī)的C51語言語言數(shù)據(jù)類型數(shù)據(jù)類型 存儲(chǔ)類型存儲(chǔ)類型1 * 存儲(chǔ)類型存儲(chǔ)類型2 變量名變量名 =&被指向變量名被指向變量名;實(shí)例實(shí)例1 獨(dú)立按鍵識別【要求】采用獨(dú)立按鍵方式實(shí)現(xiàn)下述功能:開機(jī)時(shí)LED全熄,然后根據(jù)按鍵動(dòng)作使相應(yīng)燈亮,并將亮燈狀態(tài)保持到按壓其它鍵時(shí)為止。第4章單片機(jī)的單片機(jī)的C51語言語言獨(dú)立按鍵獨(dú)立按鍵每個(gè)按鍵都彼此獨(dú)立地各占有一位I/O口線。
10、特點(diǎn)是電路簡單,但占用I/O口線較多。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2
11、.4/A1225P2.5/A1326P2.6/A1427U180C51K1K2K3K4D1D2D3D4R1100R2100R3100R4100R510kR610kR710kR810k+5VVCC第4章單片機(jī)的單片機(jī)的C51語言語言為使按鍵抬起后LED能保持先前的點(diǎn)亮狀態(tài),需要在按鍵未壓下期間禁止向P2輸出P0狀態(tài)值?!痉治觥縓TAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.4
12、5P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U180C51K1K2K3K4D1D2D3D4R1100R2100R3100R4100R510kR610kR710kR810k+5VVCC參考程序如下:參考程序如下: 第4章單片機(jī)的單片機(jī)的C51語言語言void main( ) char key = 0;
13、 /定義按鍵變量 while(1) key = P0 & 0 x0f; /讀取按鍵狀態(tài),高4位清零 if (key != 0 x0f) P2 = key; /有按鍵動(dòng)作時(shí),P0狀態(tài)值送P2 XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T
14、014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U180C51K1K2K3K4D1D2D3D4R1100R2100R3100R4100R510kR610kR710kR810k+5VVCC第4章單片機(jī)的單片機(jī)的C51語言語言4.5.1.2 LED數(shù)碼管原理與編程數(shù)碼管原理與編程 LED顯示元件人機(jī)交互輸出設(shè)備,其作用是指示中間運(yùn)行結(jié)果與運(yùn)行狀態(tài)。點(diǎn)式點(diǎn)式字段式字段式點(diǎn)陣式點(diǎn)陣式光柱式光柱式LED 的的類型類型第4章單片機(jī)的單片機(jī)的
15、C51語言語言引腳配置七段式LED數(shù)碼管(Proteus:7-Segment Display)共陽極型共陰極型公共端接“0”公共端接“1”字符的顯示碼或字模與數(shù)碼管的類型有關(guān)第4章單片機(jī)的單片機(jī)的C51語言語言共陰極型共陰極型部分字符的顯示碼(字模)為:七段LED數(shù)碼管的標(biāo)準(zhǔn)顯示字符標(biāo)準(zhǔn)顯示字符為09,AF顯示字符顯示字符顯示碼(共陰)顯示碼(共陰)其它字符:0011 1000B = 0 x38“L”字符的顯示碼“H”字符的顯示碼0111 0110B = 0 x76第4章單片機(jī)的單片機(jī)的C51語言語言實(shí)例實(shí)例4 LED數(shù)碼管顯示在P0口連接一個(gè)共陰極數(shù)碼管,使之循環(huán)顯示09數(shù)字,間隔為500循環(huán)步。分析:分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 反并購條款的案例分析-廣發(fā)收購中信
- 國防支出變動(dòng)趨勢分析及熱點(diǎn)問題1
- nste-acs多支血管病變靶血管的判定
- 債務(wù)服務(wù)合同(2篇)
- 公共事業(yè)資產(chǎn)管理合同(2篇)
- 2025年濾波型無功補(bǔ)償裝置項(xiàng)目合作計(jì)劃書
- 《職場溝通》電子教案 項(xiàng)目二職場溝通情商培養(yǎng)教案
- 2025年脫硝催化劑項(xiàng)目合作計(jì)劃書
- 工商局租賃合同
- 深圳廠房租賃合同書
- 年勞保用品采購 投標(biāo)方案(技術(shù)標(biāo) )
- 閱讀042023年中考英語之考前五十天押題五十篇(閱讀寫作)(原卷版)
- 山東各市2022年中考物理試題及答案
- 華為認(rèn)證智能協(xié)作中級HCIP-CollaborationH11-861考試題及答案
- 2024年中國紅菜薹市場調(diào)查研究報(bào)告
- 2024年威海市120急救指揮中心招考調(diào)度員高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 報(bào)建協(xié)議書模板
- 山東虛擬電廠商業(yè)模式介紹
- 2024至2030年中國鈦行業(yè)“十四五”分析及發(fā)展前景預(yù)測研究分析報(bào)告
- 2024至2030年中國步進(jìn)式光刻機(jī)市場現(xiàn)狀研究分析與發(fā)展前景預(yù)測報(bào)告
- 30 《岳陽樓記》對比閱讀-2024-2025中考語文文言文閱讀專項(xiàng)訓(xùn)練(含答案)
評論
0/150
提交評論