国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C51編程中sfr,sbit的用法以及位地址和字節(jié)單元地址的區(qū)別

這篇具有很好參考價值的文章主要介紹了C51編程中sfr,sbit的用法以及位地址和字節(jié)單元地址的區(qū)別。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. sfr用法

特殊功能寄存器定義:以P0為例。
在c51的官方頭文件中,P0口是這樣定義的
sfr地址,51單片機(jī),數(shù)據(jù)結(jié)構(gòu),單片機(jī),嵌入式硬件
可見sfr的定義方式為:sfr 變量名=字節(jié)單元地址;
這里的P0也可以換成其他變量名。
在后續(xù)的使用中,如:P0=0x00;就是把0x80為地址的字節(jié)單元的8位的數(shù)據(jù)賦值為0000 0000B

2. sbit用法

特殊功能位定義:以P0_0為例。
在c51的官方頭文件中,P0_0口是這樣定義的
sfr地址,51單片機(jī),數(shù)據(jù)結(jié)構(gòu),單片機(jī),嵌入式硬件
可見sbit的定義方式為:sbit 變量名=位地址;
這里的P0_0也可以換成其他變量名。
sbit 還有其他定義方式,如:
sbit P0_0 = P0^0
sbit P0_0 = 0x80^0
可見P0 ^0,0x80 ^0都可以表示位地址;

3. ^的用法

通過上面的例子,我們可以得到 ^的作用: ^用于得到一個可位尋址字節(jié)單元的某一位;
^ 的具體用法為:位變量名=(可位尋址字節(jié)單元地址/變量名)^(第幾位)。(如:sbit VAR1 = P0 ^0)
在后續(xù)的使用中,如:VAR1=0;就是把0x80為地址的字節(jié)單元的第0位(即P0口的第0位)的數(shù)據(jù)置0。

4. 可位尋址的字節(jié)單元地址

  • 前128B中有可位尋址區(qū):51單片機(jī)內(nèi)RAM中有可進(jìn)行位尋址的空間,單元地址是20H~ 2FH,共16個單元,每個單元8個位可以位尋址,共128個位,位地址是:00H~7FH。
    sfr地址,51單片機(jī),數(shù)據(jù)結(jié)構(gòu),單片機(jī),嵌入式硬件
  • 特殊功能寄存器區(qū)可尋址單元:而在特殊功能寄存器區(qū)也有可位尋址的寄存器。這些寄存器的單元地址以0和8結(jié)尾,如:P0=0x80;TCON= 0x88;P1= 0x90;P2= 0xA0…。這些寄存器都可對單獨位進(jìn)行操作,而其他寄存器只能一次性對一個字節(jié)操作。位地址的編址規(guī)律為:如果一個單元地址為0x80,那么它的8位的為地址為:0x80~0x87(從當(dāng)前單元地址往后數(shù)8個)。因此單元地址每隔8個才有1個可位尋址的寄存器,為的是位地址不重復(fù)。

5. 區(qū)分位地址和字節(jié)單元地址

如:字節(jié)單元地址P0=0x80,位地址P0_0=0x80,兩者雖然地址是重疊的,但是使用時不用擔(dān)心混用,如:指令對位數(shù)據(jù)進(jìn)行操作時,0x80代表位地址;指令對字節(jié)數(shù)據(jù)進(jìn)行操作時,0x80代表單元地址。文章來源地址http://www.zghlxwxcb.cn/news/detail-712587.html

到了這里,關(guān)于C51編程中sfr,sbit的用法以及位地址和字節(jié)單元地址的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于C51的DHT11(溫濕度傳感器)編程(詳解)

    基于C51的DHT11(溫濕度傳感器)編程(詳解)

    前言 當(dāng)你點進(jìn)看這篇博客時,相信對DHT11產(chǎn)品的概述與特性沒有任何興趣,所以跳過那部分,直接上技術(shù)活。 1、溫濕度如何采集 根據(jù)產(chǎn)品說明文檔:用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并

    2024年02月09日
    瀏覽(22)
  • 一周學(xué)完C51單片機(jī)(1)點亮LED燈以及按鍵控制

    一周學(xué)完C51單片機(jī)(1)點亮LED燈以及按鍵控制

    首先找到單片機(jī)的原理圖,找到LED模塊。我這里是P2口是連接了LED燈,通過此原理圖我們可以看到 我們只需將單片機(jī)的IO口置為低電平,就可以點亮LED燈。 因為代碼比較簡單,我就分別展示一下代碼,一顆LED燈的亮滅,流水燈 延時函數(shù)可以通過小工具來實現(xiàn),選擇好系統(tǒng)的頻

    2024年02月08日
    瀏覽(25)
  • C51單片機(jī)按鍵控制流水燈模式(定時器版本)以及定時器時鐘

    C51單片機(jī)按鍵控制流水燈模式(定時器版本)以及定時器時鐘

    ? 上篇文章我們學(xué)了關(guān)于定時器的三大組成部分及許多寄存器的概念問題,這篇文章我們就要開始講解實操部分。 首先,我們先來看看本文最后寫成的代碼: ? ? ?以上三張是代碼的主函數(shù),此外,代碼中還需用到的獨立按鍵檢測代碼在下面: ?注意:頭文件中#ifndef和#def

    2023年04月17日
    瀏覽(26)
  • 51單片機(jī)的特殊功能寄存器(SFR)

    51單片機(jī)的特殊功能寄存器(SFR)

    閱讀前提醒: 文中提到的8051指的是8051微控制器,即51單片機(jī) 在上一篇文章51單片機(jī)的存儲結(jié)構(gòu)中,提到8051微控制器的RAM被劃分為通用寄存器、按位尋址寄存器、寄存器組、以及特殊功能寄存器。 這里講一下特殊功能寄存器(SFR)。 8051的特殊功能寄存器用于控制各種外圍硬

    2023年04月13日
    瀏覽(22)
  • MDK與 C51安裝共存、安裝pack、添加STC單片機(jī)型號和頭文件到Keil中以及keil界面美化

    MDK與 C51安裝共存、安裝pack、添加STC單片機(jī)型號和頭文件到Keil中以及keil界面美化

    進(jìn)入 keil官網(wǎng)產(chǎn)品下載界面 **MDK安裝 ** 雙擊”MDK“安裝包,然后按著提示,一步一步安裝。 這里我們安裝在“D:keil5keil5_MDK”路徑 **C51安裝 ** 雙擊**“ C51 ”**安裝包,然后按著提示,一步一步安裝。 這里我們安裝在“D:keil5keil5_C51”路徑 ** 此時已完成C51與MDK的環(huán)境共存**

    2024年02月07日
    瀏覽(56)
  • 【Linux】socket 編程(socket套接字介紹、字節(jié)序、socket地址、IP地址轉(zhuǎn)換函數(shù)、套接字函數(shù)、TCP通信實現(xiàn))

    【Linux】socket 編程(socket套接字介紹、字節(jié)序、socket地址、IP地址轉(zhuǎn)換函數(shù)、套接字函數(shù)、TCP通信實現(xiàn))

    橙色 所謂套接字,就是對網(wǎng)絡(luò)中不同主機(jī)上的應(yīng)用進(jìn)程之間進(jìn)行雙向通信的端點的抽象。 一個套接字就是網(wǎng)絡(luò)上進(jìn)程通信的一端,提供了應(yīng)用層進(jìn)程利用網(wǎng)絡(luò)協(xié)議交換數(shù)據(jù)的機(jī)制。從所處的地位來講,套接字上聯(lián)應(yīng)用進(jìn)程,下聯(lián)網(wǎng)絡(luò)協(xié)議棧,是應(yīng)用程序通過網(wǎng)絡(luò)協(xié)議進(jìn)程通

    2024年02月09日
    瀏覽(19)
  • 【C51】10-基礎(chǔ)51單片機(jī)的小車項目(51完結(jié))

    【C51】10-基礎(chǔ)51單片機(jī)的小車項目(51完結(jié))

    10.1小車的安裝 10.2電機(jī)模塊的開發(fā)(L9110S) 接通 VCC , GND 模塊電源指示燈亮, 以下資料來源官方,但是不對,根據(jù)下節(jié)課實際調(diào)試 IA1 輸入高電平, IA1 輸入低電平,【 OA1 OB1 】電機(jī)正轉(zhuǎn); IA1 輸入低電平, IA1 輸入高電平,【 OA1 OB1 】電機(jī)反轉(zhuǎn); IA2 輸入高電平, IA2 輸入低

    2024年02月08日
    瀏覽(89)
  • C51實現(xiàn)流水燈

    C51實現(xiàn)流水燈

    1、 先八盞燈從左至右依次點亮,同一時刻僅有一盞燈處于被點亮狀態(tài),每盞燈亮0.5s,然后八盞燈從右至左依次點亮,同一時刻僅有一盞燈處于被點亮狀態(tài),每盞燈亮0.5s,循環(huán)兩遍; 2、 八盞燈同時閃爍,亮1s,滅0.5s;,實現(xiàn)4次; 3、 上述過程周而復(fù)始的循環(huán)運(yùn)行; 代碼如

    2024年02月07日
    瀏覽(29)
  • C51學(xué)習(xí)———定時器中斷

    C51學(xué)習(xí)———定時器中斷

    C51中的定時器和計數(shù)器是同一個硬件電路支持的,通過寄存器配置不同,就可以將他當(dāng)做定時器 或者計數(shù)器使用。 確切的說,定時器和計數(shù)器區(qū)別是致使他們背后的計數(shù)存儲器加1的信號不同。當(dāng)配置為定時器使 用時,每經(jīng)過1個機(jī)器周期,計數(shù)存儲器的值就加1。而當(dāng)配置為

    2023年04月08日
    瀏覽(21)
  • C51 - 自寫操作系統(tǒng)

    C51 - 自寫操作系統(tǒng)

    在51單片機(jī)上,實現(xiàn)操作系統(tǒng)最簡模型, 學(xué)習(xí)理解操作系統(tǒng)的基本概念; ?? //----------- 參考視頻鏈接 (15集) -----------// 內(nèi)存分配: 實驗結(jié)果:LED0波形 問題:為什么LED0和LED1會亮2s,滅2s呢,如何改為想要亮1s,滅1s void Delay1000ms(): 是CPU在,不干其他活,傻延時,所以LED0在

    2024年02月02日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包