久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6356|回復: 10
打印 上一主題 下一主題
收起左側

單片機底層硬件與軟件的關系

[復制鏈接]
跳轉到指定樓層
樓主
隨著學習單片機的深入,對單片機的底層結構有一種探知欲,例如51中,80H到FFH為特殊功能寄存器,這一區域里面有許多特殊功能寄存器,我理解為80H到FFH為一棟樓房,每一個字節地址為一個房間,每一個房間指定一個功能,由門牌號(字節名稱)所標識;
問題:我存不存在這種可能性,鑒于字節地址空間這一物理結構客觀存在,而我只是將不同的功能的寄存器名字換到其他的儲存地址里(還是在這個大的空間里80H到FFH),可以的話需要變哪些東西,如果不可以,原因又是什么?


請從單片機設計的角度來解釋,謝謝。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:123289 發表于 2017-10-27 12:49 | 只看該作者
如果你對匯編有一定的功底就會知道了。
其實沒有什么名子(DPTR、SP、P0……),名子是人為加的,CPU運行時只認代碼:
80H就對應端口的8個引腳,不管你給它起什么句子(是不是P0)。【你可以將編譯器中的P0改成ANY試試】
從內部硬件上講80H對應一個寄存器(內存),而端口上有8個引腳,與這個寄存器的輸出接在一起了(當然也有輸入,結構上你要看IO、P口這一節)。
回復

使用道具 舉報

板凳
ID:164602 發表于 2017-10-27 15:18 | 只看該作者
個人觀點:
不可以。
原因嘛,我是看了芯片說明書后,得來的結論。
特殊功能寄存器與硬件直接相關,每個功能的特殊寄存器都是在設計芯片時就定好了的,不然,為什么不同的芯片必須要用相應的頭文件呢,而這種頭文件里,就是定義了特殊功能寄存器,用直觀的英文名稱,代替不好記憶的地址。
如果可以隨便更改地址,那么于說明書就不會將那些寄存器的地址做專門說明,只需要說明地址段是什么就可以了。
是不是這個理兒?

評分

參與人數 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

地板
ID:212797 發表于 2017-10-28 15:27 | 只看該作者
可以的,但是不建議修改。
單片機的每一項操作都是在實際的寄存器上進行,MCU之所以認識P0、P1這些東西,是因為在reg52.h頭文件里面有一個寄存器的映射對應表,我們將P0對應到0x80地址上,其余的以此類推。用P0、P1這樣的名字是為了從編程人員的角度上便于理解,如果你把0x80映射的名字改為ligoudan(李狗蛋),在編程中你會發現程序也沒有問題,但是我們看到這樣的名字,除了寫程序的人外,誰都不知道這是什么東西,要想看懂還要去翻看頭文件中的定義,查找手冊中地址列表;而且如果把你的這個程序拿到其他機器上沒法編譯(大家用的是通用的名稱列表)。
所以從多方面考慮不建議這么做,當然這么思考是對的,可以真正理解單片機的機理。另外,如果想更深層的從寄存器上學習,可以了解單片機匯編語言編程,這樣你可以學習到循環到底是怎么實現的,中斷實際要經過哪些步驟才能完成、棧原理和操作等等。
回復

使用道具 舉報

5#
ID:111634 發表于 2017-10-28 22:08 | 只看該作者
你如果是用c 編程,不理解也罷!要深入理解,就要了解單片機匯編語言編程。
回復

使用道具 舉報

6#
ID:223571 發表于 2017-11-7 21:13 | 只看該作者
HC6800-ES-V2.0 發表于 2017-10-27 15:18
個人觀點:
不可以。
原因嘛,我是看了芯片說明書后,得來的結論。

"如果可以隨便更改地址,那么于說明書就不會將那些寄存器的地址做專門說明,只需要說明地址段是什么就可以了。"   


我的理解是那一個范圍是作為特殊功能寄存器,但是這一范圍里面的各個功能可以變換說明
回復

使用道具 舉報

7#
ID:223571 發表于 2017-11-7 21:18 | 只看該作者
HC6800-ES-V2.0 發表于 2017-10-27 15:18
個人觀點:
不可以。
原因嘛,我是看了芯片說明書后,得來的結論。

我這里給你分享一下,頭文件只是對于硬件結構的一種說明,我可以更改自己編寫頭文件呀,就是說給一塊裸芯片,已經設計好了哪一塊的功能區,但是具體細節功能能否自己更改設置,這才是設計的角度回答。
回復

使用道具 舉報

8#
ID:164602 發表于 2017-11-8 08:57 | 只看該作者
藍野 發表于 2017-11-7 21:18
我這里給你分享一下,頭文件只是對于硬件結構的一種說明,我可以更改自己編寫頭文件呀,就是說給一塊裸芯 ...

我還是那個觀點:每個特殊寄存器的名字隨便你取,但第個地址的功能是不會變的。
我這里以STC89C51RC芯片的手冊內容為例:如圖所示:




你注意看其中的文字,每個特殊功能寄存器的地址是確定的,這里取好的名字,是方便理解記憶的,也是在REG51.H頭文件中說明的,你可以改這個頭中各寄存器的名字,但不能改它的地址。例如:PSW寄存器,它的地址是D0H,各位也有相應的功能,你可以在頭文件中修改這個名字——本來頭文件的說明是:sfr PSW  = 0xD0;。你可以改名字,但絕對不能改地址!!!我想,之所以有這個手冊,就是要告訴我們使用者,硬件設計師已經通過硬件電路設定好了這些,每個寄存器地址、每個寄存器的功能,甚至每個位的功能都是確定好了的——不能改!!!。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲 中文 欧美 日韩 在线观看 | 中文字幕国产精品 | 亚洲黄色视屏 | 欧美在线一区二区三区四区 | 国产亚洲精品成人av久久ww | 久久久久久黄 | 91视频亚洲 | 奇米av | 国产一级一级国产 | 最新国产视频 | 午夜爱爱网 | 亚洲欧美激情精品一区二区 | 五月天国产视频 | av免费网址 | 天堂va在线观看 | 精产国产伦理一二三区 | 一区二区亚洲 | 亚洲午夜av久久乱码 | 91精品一区二区三区久久久久 | 国产精品18久久久 | 婷婷久久综合 | 在线一区视频 | 视频在线h | 羞羞的视频在线 | 日日摸天天添天天添破 | www亚洲精品 | 久久久99精品免费观看 | 日韩精品一区二区三区 | 久久国产综合 | 国产精品18久久久 | 在线中文字幕第一页 | 国产成人综合久久 | 久久成人精品视频 | 久久免费高清视频 | 在线中文字幕第一页 | 在线视频第一页 | 91不卡 | 国产欧美日韩一区 | 亚洲人成网亚洲欧洲无码 | 精品av久久久久电影 | 高清免费av |