国产精品久久久久久亚洲影视,插我舔内射18免费视频,国产+精品+在线观看,国产精品18久久久久久麻辣,丰满少妇69激情啪啪无

0 賣盤信息
BOM詢價(jià)
您現(xiàn)在的位置: 首頁(yè) > 電子資訊 >基礎(chǔ)知識(shí) > 單片機(jī)編程軟件很簡(jiǎn)單(18),Keil單片機(jī)編程軟件對(duì)ANSIC的擴(kuò)展學(xué)習(xí)

單片機(jī)編程軟件很簡(jiǎn)單(18),Keil單片機(jī)編程軟件對(duì)ANSIC的擴(kuò)展學(xué)習(xí)

來(lái)源: 21ic
2020-12-10
類別:基礎(chǔ)知識(shí)
eye 31
文章創(chuàng)建人 拍明

原標(biāo)題:單片機(jī)21ic編程軟件很簡(jiǎn)單(18),Keil單片機(jī)編程軟件對(duì)ANSIC的擴(kuò)展學(xué)習(xí)

在單片機(jī)編程中,Keil單片機(jī)編程軟件(特別是Keil C51)對(duì)標(biāo)準(zhǔn)ANSI C進(jìn)行了一系列擴(kuò)展,以適應(yīng)8051系列單片機(jī)的硬件特性。以下是對(duì)Keil C51對(duì)ANSI C擴(kuò)展的詳細(xì)學(xué)習(xí):

一、Keil C51擴(kuò)展關(guān)鍵字

Keil C51在ANSI C的基礎(chǔ)上增加了一些特定的關(guān)鍵字,以支持8051單片機(jī)的特殊功能。例如,C51 V4.0版本有以下擴(kuò)展關(guān)鍵字:

  • _at_:用于指定變量的絕對(duì)地址。

  • idata、bdata、xdata、pdata:用于聲明變量的存儲(chǔ)類型,分別對(duì)應(yīng)不同的內(nèi)存區(qū)域。

  • sfr、sfr16:用于聲明特殊功能寄存器(SFR),分別用于字節(jié)尋址和字尋址。

  • sbit:用于聲明可位尋址的特殊功能寄存器的位。

  • interrupt:用于聲明中斷服務(wù)函數(shù)。

  • using:用于指定中斷服務(wù)函數(shù)使用的寄存器組。

  • reentrant:用于聲明可重入函數(shù)。

二、內(nèi)存區(qū)域與存儲(chǔ)類型

Keil C51支持多種內(nèi)存區(qū)域,每種內(nèi)存區(qū)域都有特定的用途和訪問方式。通過(guò)不同的存儲(chǔ)類型關(guān)鍵字,可以指定變量存儲(chǔ)在不同的內(nèi)存區(qū)域中。

  • 程序存儲(chǔ)器(Code Area):用于存放程序代碼,最大可達(dá)64KB。

  • 內(nèi)部數(shù)據(jù)存儲(chǔ)器(Internal Data Memory)

    • data:直接尋址區(qū),為內(nèi)部RAM的低128字節(jié)(00H~7FH)。

    • idata:間接尋址區(qū),包括整個(gè)內(nèi)部RAM區(qū)(00H~FFH)。

    • bdata:可位尋址區(qū),位于20H~2FH。

  • 外部數(shù)據(jù)存儲(chǔ)器(External Data Memory)

    • xdata:可指定多達(dá)64KB的外部直接尋址區(qū),地址范圍0000H~0FFFFH。

    • pdata:能訪問1頁(yè)(256Bytes)的外部RAM,主要用于緊湊模式(Compact Model)。

  • 特殊功能寄存器(SFR Memory):提供128Bytes的SFR尋址區(qū),可位尋址、字節(jié)尋址或字尋址。

QQ_1741772419239.png

三、變量類型與數(shù)據(jù)類型

Keil C51提供了一些擴(kuò)展的數(shù)據(jù)類型,以更好地支持8051單片機(jī)的硬件操作。

  • bit型變量:用于表示位變量,值為0或1,通常存儲(chǔ)在內(nèi)部RAM的20H~2FH區(qū)域。

  • sbit型變量:從字節(jié)中定義的位變量,用于訪問特殊功能寄存器的位。

  • sfr和sfr16型變量:用于聲明特殊功能寄存器,分別用于字節(jié)尋址和字尋址。

此外,Keil C51還支持ANSI C中的所有標(biāo)準(zhǔn)數(shù)據(jù)類型,如char、enumshort、intlong、float等。

四、指針

Keil C51支持一般指針(Generic Pointer)和存儲(chǔ)器指針(Memory-Specific Pointer)。

  • 一般指針:聲明和使用方式與標(biāo)準(zhǔn)C相同,但可以指定指針的存儲(chǔ)類型。例如,long *state;為一個(gè)指向long型整數(shù)的指針,而state本身則依存儲(chǔ)模式存放。

  • 存儲(chǔ)器指針:在聲明時(shí)即指定了存儲(chǔ)類型,如char data *str;表示str指向data區(qū)中的char型數(shù)據(jù)。這種指針存放時(shí)只需一個(gè)字節(jié)或兩個(gè)字節(jié)(根據(jù)存儲(chǔ)類型而定),因?yàn)橹恍璐娣牌屏俊?/span>

五、函數(shù)屬性

Keil C51對(duì)ANSI C的函數(shù)聲明進(jìn)行了擴(kuò)展,以支持中斷服務(wù)函數(shù)等特殊功能。

  • 中斷函數(shù)聲明:使用interrupt關(guān)鍵字聲明中斷服務(wù)函數(shù),并指定中斷號(hào)。例如,void serial_ISR() interrupt 4;表示聲明一個(gè)中斷號(hào)為4的中斷服務(wù)函數(shù)。

  • 指定存儲(chǔ)模式:使用small、compactlarge等關(guān)鍵字指定函數(shù)的存儲(chǔ)模式,以控制函數(shù)內(nèi)部變量的存儲(chǔ)區(qū)域。

  • 選通用存儲(chǔ)工作區(qū):使用using關(guān)鍵字指定中斷服務(wù)函數(shù)使用的寄存器組。

六、其他擴(kuò)展

除了上述擴(kuò)展外,Keil C51還支持一些其他特性,如絕對(duì)地址訪問、內(nèi)聯(lián)匯編等。這些特性為開發(fā)者提供了更多的靈活性和控制權(quán),以便更好地適應(yīng)不同的硬件需求和應(yīng)用場(chǎng)景。

學(xué)習(xí)建議

  1. 閱讀官方文檔:Keil官方提供了詳細(xì)的文檔和手冊(cè),是學(xué)習(xí)Keil C51擴(kuò)展特性的最佳途徑。

  2. 實(shí)踐操作:通過(guò)編寫實(shí)際的單片機(jī)程序,應(yīng)用所學(xué)的擴(kuò)展特性,加深對(duì)Keil C51的理解。

  3. 參考示例代碼:Keil軟件通常包含大量的示例代碼,這些代碼展示了如何使用各種擴(kuò)展特性。通過(guò)閱讀和分析示例代碼,可以更快地掌握Keil C51的使用方法。

通過(guò)深入學(xué)習(xí)和實(shí)踐,您可以充分利用Keil C51對(duì)ANSI C的擴(kuò)展特性,開發(fā)出更高效、更可靠的單片機(jī)程序。


責(zé)任編輯:David

【免責(zé)聲明】

1、本文內(nèi)容、數(shù)據(jù)、圖表等來(lái)源于網(wǎng)絡(luò)引用或其他公開資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對(duì)本文的引用持有異議,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時(shí)處理。

2、本文的引用僅供讀者交流學(xué)習(xí)使用,不涉及商業(yè)目的。

3、本文內(nèi)容僅代表作者觀點(diǎn),拍明芯城不對(duì)內(nèi)容的準(zhǔn)確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨(dú)立判斷做出的,請(qǐng)讀者明確相關(guān)結(jié)果。

4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責(zé)任的權(quán)利。

拍明芯城擁有對(duì)此聲明的最終解釋權(quán)。

相關(guān)資訊

資訊推薦
云母電容公司_云母電容生產(chǎn)廠商

云母電容公司_云母電容生產(chǎn)廠商

74ls74中文資料匯總(74ls74引腳圖及功能_內(nèi)部結(jié)構(gòu)及應(yīng)用電路)

74ls74中文資料匯總(74ls74引腳圖及功能_內(nèi)部結(jié)構(gòu)及應(yīng)用電路)

開關(guān)三極管13007的規(guī)格參數(shù)、引腳圖、開關(guān)電源電路圖?三極管13007可以用什么型號(hào)替代?

開關(guān)三極管13007的規(guī)格參數(shù)、引腳圖、開關(guān)電源電路圖?三極管13007可以用什么型號(hào)替代?

芯片lm2596s開關(guān)電壓調(diào)節(jié)器的中文資料_引腳圖及功能_內(nèi)部結(jié)構(gòu)及原理圖_電路圖及封裝

芯片lm2596s開關(guān)電壓調(diào)節(jié)器的中文資料_引腳圖及功能_內(nèi)部結(jié)構(gòu)及原理圖_電路圖及封裝

芯片UA741運(yùn)算放大器的資料及參數(shù)_引腳圖及功能_電路原理圖?ua741運(yùn)算放大器的替代型號(hào)有哪些?

芯片UA741運(yùn)算放大器的資料及參數(shù)_引腳圖及功能_電路原理圖?ua741運(yùn)算放大器的替代型號(hào)有哪些?

28nm光刻機(jī)卡住“02專項(xiàng)”——對(duì)于督工部分觀點(diǎn)的批判(睡前消息353期)

28nm光刻機(jī)卡住“02專項(xiàng)”——對(duì)于督工部分觀點(diǎn)的批判(睡前消息353期)

拍明芯城微信圖標(biāo)

各大手機(jī)應(yīng)用商城搜索“拍明芯城”

下載客戶端,隨時(shí)隨地買賣元器件!

拍明芯城公眾號(hào)
拍明芯城抖音
拍明芯城b站
拍明芯城頭條
拍明芯城微博
拍明芯城視頻號(hào)
拍明
廣告
恒捷廣告
廣告
深亞廣告
廣告
原廠直供
廣告