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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

新手請教51單片機頭文件問題

  [復制鏈接]
跳轉到指定樓層
樓主
新手請教,請各位大俠,專家指點 多謝
51系列單片機 ,用C語言編寫
要寫頭文件,有的寫#include<reg51.h>   有的寫#include<AT89X51.H.>  
這兩個文件有什么區別么?分別用在哪個場合?
我現有AT89C2051 用C寫頭文件用#include<reg51.h> 好還是#include<reg2051.h> 好?
AT89C51與AT89C2051 I/O口差別大 AT89C2051沒有P0, P2口 P1.0與P1.1口用途也不一樣
AT89C2051頭文件用#include<reg51.h>會不會出異常?


IMG_20170202_213745.jpg (490.63 KB, 下載次數: 142)

IMG_20170202_213745.jpg

IMG_20170131_232429.jpg (6.38 MB, 下載次數: 129)

IMG_20170131_232429.jpg

20081018192841387.gif (69.17 KB, 下載次數: 109)

20081018192841387.gif
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

來自 5#
ID:137736 發表于 2018-10-14 17:40 | 只看該作者
把頭文件打開對照著看看。如果只用通用的核心部分,頭文件選擇不對也能工作。最好頭文件一致,否則出不可預料的問題。

評分

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

查看全部評分

回復

使用道具 舉報

來自 7#
ID:362076 發表于 2018-10-14 23:43 | 只看該作者
頭文件主要是對單片機片內寄存器地址的聲明和定義,以及一些位定義等,如果兩個單片機的寄存器地址是一樣的,當然可以共用同一個頭文件,傳統的51就是這樣,甚至隨著代數更新,例如P口,也是有寄存器地址保持不變的,目的是盡可能向舊版本保持兼容,但是當使用一些單片機的特殊資源的時候,就需要手動添加寄存器(sfr語句),或者修改、更換頭文件,例如,在STC增強型51中使用P4口的時候,傳統的reg51.h里沒有對于P4口的位定義,這個時候就需要手動添加(或者更改適配頭文件)。

再舉個例子,當使用STC15系列單片機的時候,比如IAP15W4K48S4,就需要包含STC15.H這個頭文件;在使用STC12C2052的時候,就需要包含STC12C2052.h,這些都是根據你使用的單片機進行更改的。






我想你應該明白了,如果還有困惑,我再補充一個例子,當使用STC89C52的時候,嚴格來說,應該包含的是STC89C5xRC.H,而不是reg52.h。

評分

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

查看全部評分

回復

使用道具 舉報

沙發
ID:161488 發表于 2017-2-3 12:51 | 只看該作者
不是自己可以定義么
回復

使用道具 舉報

板凳
ID:10193 發表于 2017-2-4 07:53 | 只看該作者
把頭文件打開對照著看看,就知道區別在哪里了

評分

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

查看全部評分

回復

使用道具 舉報

地板
ID:328014 發表于 2018-10-14 16:51 | 只看該作者
reg51.h需要定義sbit比較麻煩
回復

使用道具 舉報

6#
ID:409602 發表于 2018-10-14 20:27 | 只看該作者
接口都是自己定義的吧
回復

使用道具 舉報

8#
ID:387733 發表于 2018-10-15 09:18 | 只看該作者
現在新發展的51單片機一般都會向下兼容傳統51單片機,所以對于一般應用,如果只使用傳統51單片機的功能和端口,reg52.h 完全可以用的。其實對于簡單應用,不用頭文件也可以的。
回復

使用道具 舉報

9#
ID:372912 發表于 2018-10-20 18:48 | 只看該作者
#include<AT89X51.H.>里面I/O口是已經定義好了,比如你用#include<reg51.h> 還要定義I/O口的地址,但是#include<AT89X51.H.>,所以說#include<AT89X51.H.>的范圍更廣一些,或者說更好用一些,前提是,你得熟悉他的文件里的各種設置
回復

使用道具 舉報

10#
ID:388197 發表于 2018-10-20 23:12 | 只看該作者
任何51內核的單片機包含<reg52.h>都不會有問題.
頭文件里一般都是定義一些特殊功能寄存器.就跟買個新手機的說明書一樣.
剛開始學的時候看不明白頭文件很正常,不必再這上面花太多時間,看看例程照著葫蘆畫瓢即可.
等你慢慢熟練一些寄存器的作用,回頭去看,會發現可以輕松看懂.甚至可以看著手冊寫自己風格的頭文件.
回復

使用道具 舉報

11#
ID:297670 發表于 2018-10-21 08:10 | 只看該作者
AT89X51.h里面已經定義好了io口,你可以直接調用!reg52.h需要自己定義!
回復

使用道具 舉報

12#
ID:653173 發表于 2020-4-6 18:13 | 只看該作者
ISIS為啥仿真不起呢?第四位不亮,第二位閃爍亮;a        f        b        g        c        dp        d        e分別為
P1.7        P1.6        P1.5        P1.4        P1.3        P1.2        P1.1        P1.0
回復

使用道具 舉報

13#
ID:721169 發表于 2020-4-6 20:10 來自觸屏版 | 只看該作者
初學者看熱鬧
回復

使用道具 舉報

14#
ID:723682 發表于 2020-4-6 22:09 | 只看該作者

現在新發展的51單片機一般都會向下兼容傳統51單片機,所以對于一般應用,如果只使用傳統51單片機的功能和端口,reg52.h 完全可以用的。其實對于簡單應用,不用頭文件也可以的。
回復

使用道具 舉報

15#
ID:573999 發表于 2020-4-8 21:44 | 只看該作者
一般就reg51.h夠了,除開MCU有一些特別的功能寄存器就自己加相關的宏定義到程序中
回復

使用道具 舉報

16#
ID:464541 發表于 2020-4-9 09:55 | 只看該作者
最好單片機與頭文件相對應
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品一区二区三区四区高清 | 国产日韩精品一区 | 日本激情一区二区 | 中文字幕一区二区三区在线视频 | www.9191| 欧美日韩精品免费观看 | 免费毛片网 | 99精品久久久久久中文字幕 | av黄色国产 | 日韩色视频 | 蜜桃在线视频 | 欧美日韩国产高清 | 日韩在线观看中文字幕 | 亚洲欧美一区二区三区国产精品 | 久久精品国产亚洲一区二区 | 青青99| 久久lu| 国产精品欧美精品日韩精品 | 亚洲欧美一区二区三区在线 | 日韩视频国产 | 美女久久视频 | 麻豆久久 | 一区二区三区视频免费看 | 国产一区二区在线看 | 成人深夜小视频 | 成人在线小视频 | 日干夜干| 日韩中文字幕免费在线 | 精品国产乱码久久久久久图片 | 青草福利| 天天射网站 | 久久四虎| 亚洲国产精品精华素 | 久久视频精品在线 | 国产中文视频 | 亚洲精品久久久一区二区三区 | 国产精久久久久久久 | 日韩久久久久久 | 欧美精品在线免费 | 亚洲成av人片在线观看 | 久久不射电影网 |