日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]常用單片機(jī)編程軟件有多款,其中keil單片機(jī)編程軟件較為知名。對(duì)于keil單片機(jī)編程軟件,小編曾帶來(lái)3篇系列教程。本文對(duì)于單片機(jī)編程軟件的講解同樣基于keil,在本文中,小編將對(duì)單片機(jī)編程軟件keil c51的變量使用方法加以介紹。

常用單片機(jī)編程軟件有多款,其中keil單片機(jī)編程軟件較為知名。對(duì)于keil單片機(jī)編程軟件,小編曾帶來(lái)3篇系列教程。本文對(duì)于單片機(jī)編程軟件的講解同樣基于keil,在本文中,小編將對(duì)單片機(jī)編程軟件keil c51的變量使用方法加以介紹。

8051內(nèi)核單片機(jī)是一種通用單片機(jī),在國(guó)內(nèi)占有較大的市場(chǎng)份額。在將C語(yǔ)言用于51內(nèi)核單片機(jī)的研究方面,Keil公司做得最為成功。由于51內(nèi)核單片機(jī)的存儲(chǔ)結(jié)構(gòu)的特殊性,Keil C51中變量的使用與標(biāo)準(zhǔn)C有所不同。正確地使用變量,有利于獲得高效的目標(biāo)代碼。

一、CPU存儲(chǔ)結(jié)構(gòu)與變量的關(guān)系

變量都需要有存儲(chǔ)空間,存儲(chǔ)空間的不同使得變量使用時(shí)的工作效率也不同。

標(biāo)準(zhǔn)C的典型運(yùn)行環(huán)境是8086(含IA-32系列)內(nèi)核,其存儲(chǔ)結(jié)構(gòu)是CPU內(nèi)部有寄存器,外部有存儲(chǔ)器,寄存器的訪問(wèn)速度大大高于存儲(chǔ)器的訪問(wèn)速度。在標(biāo)準(zhǔn)C中,不加特別定義的變量是放在存儲(chǔ)器中的,使用register可以強(qiáng)制變量存儲(chǔ)在寄存器中,對(duì)于使用特別頻繁且數(shù)量不多的變量可以選用這種存儲(chǔ)模式,以獲得更高的工作效率。

相比之下,51內(nèi)核單片機(jī)的存儲(chǔ)結(jié)構(gòu)則顯得有些怪異,它的存儲(chǔ)空間有3個(gè):程序存儲(chǔ)器空間(64 KB含片內(nèi)、片外)、片外數(shù)據(jù)存儲(chǔ)器空間(64KB)、片內(nèi)數(shù)據(jù)存儲(chǔ)器及特殊功能寄存器空間。它沒(méi)有真正意義上的寄存器,它的寄存器其實(shí)是片內(nèi)數(shù)據(jù)存儲(chǔ)器(如R0~R7)和特殊功能寄存器(如A、B等)中的一部分。因此,在Keil C51中使用變量就和標(biāo)準(zhǔn)C有很大不同。

二、Keil C51變量分析

Keil C51支持標(biāo)準(zhǔn)C原有的大多數(shù)變量類型,但為這些變量新增了多種存儲(chǔ)類型,也新增了一些標(biāo)準(zhǔn)C沒(méi)有的變量。

2.1 Keil C51新增的變量存儲(chǔ)類型

Keil C51中定義變量的格式如下:

[存儲(chǔ)種類]數(shù)據(jù)類型[存儲(chǔ)類型]變量名表;

其中,[存儲(chǔ)類型]是標(biāo)準(zhǔn)C中沒(méi)有的,[存儲(chǔ)類型]共有6種,分別介紹如下:

①data。將變量存儲(chǔ)在片內(nèi)可直接尋址的數(shù)據(jù)存儲(chǔ)器中。使用這種存儲(chǔ)模式,目標(biāo)代碼中對(duì)變量的訪問(wèn)速度最快。

②bdata。將變量存儲(chǔ)在片內(nèi)可位尋址的數(shù)據(jù)存儲(chǔ)器中。在目標(biāo)代碼中變量可以方便地進(jìn)行位處理,在不進(jìn)行位處理時(shí)與data相同。

③idata。將變量存儲(chǔ)在片內(nèi)間接尋址的數(shù)據(jù)存儲(chǔ)器中。在52內(nèi)核中,當(dāng)片內(nèi)直接尋址數(shù)據(jù)存儲(chǔ)器不夠用時(shí),可以使用128字節(jié)間接尋址數(shù)據(jù)存儲(chǔ)器,訪問(wèn)速度一般較data要慢一些,但具有最大的片內(nèi)數(shù)據(jù)存儲(chǔ)器空間;在51內(nèi)核中因無(wú)單獨(dú)的間接尋址數(shù)據(jù)存儲(chǔ)器區(qū),idata與data無(wú)區(qū)別。

④xdata。將變量存儲(chǔ)在片外數(shù)據(jù)存儲(chǔ)器中。目標(biāo)代碼中只能使用“MOVX A,@DPTR”和“MOVX@DPTR,A”指令訪問(wèn)變量,訪問(wèn)速度最慢,但存儲(chǔ)空間最大(64KB)。

⑤pdata。將變量存儲(chǔ)在片外數(shù)據(jù)存儲(chǔ)器中的第一頁(yè)(00H~FFH)中。目標(biāo)代碼中可以使用“MOVX A,@Ri”和“MOVX@Ri,A”指令訪問(wèn)變量,訪問(wèn)速度與xdata相同,存儲(chǔ)空間為256字節(jié)。

⑥code。將變量存儲(chǔ)在程序存儲(chǔ)器中。目標(biāo)代碼中只能使用MOVC指令訪問(wèn)變量,因變量存儲(chǔ)在程序存儲(chǔ)器中,具有非易失性且為只讀。

2.2 Keil C51新增的指針變量存儲(chǔ)類型

Keil C51中的指針變量形式如下:

數(shù)據(jù)類型[數(shù)據(jù)存儲(chǔ)類型]*[指針存儲(chǔ)類型]標(biāo)識(shí)符;

其中,[數(shù)據(jù)存儲(chǔ)類型]和[指針存儲(chǔ)類型]都是標(biāo)準(zhǔn)C中沒(méi)有的。[數(shù)據(jù)存儲(chǔ)類型]定義數(shù)據(jù)(即尋址對(duì)象)存儲(chǔ)的空間,[指針存儲(chǔ)類型]定義指針自身存儲(chǔ)的空間。若不使用[數(shù)據(jù)存儲(chǔ)類型],則指針為一般指針,占用3個(gè)字節(jié);若使用[數(shù)據(jù)存儲(chǔ)類型]則指針為基于存儲(chǔ)器的指針,占用1~2個(gè)字節(jié)。

2.3 Keil C51新增的變量類型

bit:位變量。存儲(chǔ)在片內(nèi)數(shù)據(jù)存儲(chǔ)器的可位尋址字節(jié)(20H~2FH)的某個(gè)位上,這個(gè)變量在實(shí)時(shí)控制中具有很高的實(shí)用價(jià)值。

sfr:特殊功能寄存器變量。存儲(chǔ)在片內(nèi)特殊功能寄存器中,用來(lái)對(duì)特殊功能寄存器進(jìn)行讀寫操作。

sbit:特殊功能寄存器位變量。存儲(chǔ)在片內(nèi)特殊功能寄存器的可位尋址字節(jié)(地址可以被8整除者)的某個(gè)位上,用來(lái)對(duì)特殊功能寄存器的可位尋址位進(jìn)行讀寫操作。

sbitl6:16位特殊功能寄存器變量。存儲(chǔ)在片內(nèi)特殊功能寄存器的連續(xù)2個(gè)字節(jié)的低地址上,這個(gè)變量類型很少使用。

以上這些Keil C51中新增的變量類型,不支持?jǐn)?shù)組和指針操作。

以上便是此次小編帶來(lái)的“單片機(jī)編程軟件”相關(guān)內(nèi)容,通過(guò)本文,希望大家對(duì)單片機(jī)編程軟件Keil C51變量的使用具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來(lái)更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

嵌入式開(kāi)發(fā)作為一種專業(yè)且技術(shù)密集型的領(lǐng)域,涵蓋了從硬件底層驅(qū)動(dòng)、中間件到應(yīng)用層軟件開(kāi)發(fā)等多個(gè)層面的工作,其所需的工具種類繁多,各有針對(duì)性,旨在提升開(kāi)發(fā)效率、保證代碼質(zhì)量以及簡(jiǎn)化調(diào)試過(guò)程。

關(guān)鍵字: 嵌入式開(kāi)發(fā) keil

之后新建新的工程,添加.a文件就可以使用了,當(dāng)然也可以使用keil來(lái)添加,但是keil默認(rèn)的是用.lab,需要自己配置一下文件屬性,改為lib文件即可。一半release sdk的時(shí)候用這種方式很關(guān)鍵的,畢竟自己的核心代...

關(guān)鍵字: keil 文件屬性 lib文件

DSP28335與AD7606通過(guò)SPI的串行數(shù)據(jù)交互

關(guān)鍵字: keil C

為幫助大家更好使用單片機(jī)編程軟件,本文將對(duì)keil單片機(jī)編程軟件仿真、調(diào)劑技巧予以講解,并對(duì)該單片機(jī)編程軟件的常見(jiàn)錯(cuò)誤提示予以闡述。

關(guān)鍵字: 單片機(jī)編程軟件 指數(shù) keil

本文對(duì)于單片機(jī)編程軟件的介紹將基于如何采用keil單片機(jī)編程軟件調(diào)試stm32,如果你對(duì)單片機(jī)編程軟件抑或本文內(nèi)容具有興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 單片機(jī)編程軟件 指數(shù) keil

本文對(duì)于單片機(jī)編程軟件的介紹基于兩點(diǎn):1.keil單片機(jī)編程軟件編譯環(huán)境優(yōu)化等級(jí)說(shuō)明,2.keil單片機(jī)編程軟件中兩大概念名詞解析。

關(guān)鍵字: 單片機(jī)編程軟件 指數(shù) keil

為增加大家對(duì)單片機(jī)編程軟件的了解,本文將對(duì)keil單片機(jī)編程軟件予以介紹,主要在于介紹該單片機(jī)編程軟件的模式設(shè)置和一些編程事項(xiàng)。

關(guān)鍵字: keil 單片機(jī)編程軟件 指數(shù)

為幫助大家更快學(xué)會(huì)單片機(jī)編程軟件的使用,本文將對(duì)keil單片機(jī)編程軟件的使用方法加以介紹。如果你對(duì)本文內(nèi)容具有興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: keil 單片機(jī)編程軟件 指數(shù)

本文對(duì)單片機(jī)編程軟件的介紹基于Keil,主要在于介紹keil單片機(jī)編程軟件如何將hex下載進(jìn)STM32,如何燒寫hex文件以及如何直接使用二進(jìn)制數(shù)。

關(guān)鍵字: keil 單片機(jī)編程軟件 指數(shù)
關(guān)閉