在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>C51的一些誤區和51單片機的尋址方式及10個你可能沒用過的Linux命令

C51的一些誤區和51單片機的尋址方式及10個你可能沒用過的Linux命令

2019-06-27 | rar | 0.32 MB | 次下載 | 免費

資料介紹

本文檔的主要內容詳細介紹的是C51的一些誤區和注意事項和51單片機的尋址方式10 個你可能沒用過的Linux命令等資料免費下載

  C51的一些誤區和注意事項:

  1) C 忌諱絕對定位。常看見初學者要求使用_at_,這是一種謬誤,把C 當作ASM 看待了。在C 中變量的定位是編譯器的事情,初學者只要定義變量和變量的作用域,編譯器就把一個固定地址給這個變量。怎么取得這個變量的地址?要用指針。比如unsigned char data x;后,x 的地址就是&x, 你只要查看這個參數,就可以在程序中知道具體的地址了。所以俺一看見要使用絕對定位的人,第一印象就是:這大概是個初學者。

  2) 設置SP 的問題。原因和1差不對,編譯器在把所有變量和緩沖區賦予地址后,自動把最后一個字節開始的地方,作為SP 的開始位置,所以初學者是不必要去理會的。這體現C 的優越性,很多事情C 編譯時候做了。

  3) 用C 的主程序結構:#include void main(void) { while(1); } 這是個最小的成功的C 程序,包括頭部文件和程序主體。頭部文件的名詞解釋:引用的外部資源文件,這個文件包括了硬件信息和外部模塊提供的可使用的函數和變量的說明。可以用文本方式打開reg52.h,仔細研究下,會有一些寫程序的體會。

  4) 這樣構成一個C 項目在C 中,常用項目來管理。項目一般分為兩大塊:C 文件塊和頭部文件塊。我們常把不同功能寫在不同的C 文件中,依*項目的管理,最后把所有文件連接起來,這樣就可以得到可以燒錄的HEX 文件或BIN 文件。這些C 文件中,有且只有唯一一個包括main()函數,和3)中一樣的C 文件。用頭部文件把各個不同的C 互相連接起來。一個C 文件基本上要對應有一個H 頭部文件,這個H 文件就包含本C 文件中可以提供給外面使用的變量和函數,沒有在H 文件中列出的募??梢運閌歉肅文件的內部函數和變量,外部C 不能使用。例子: a.C: unsigned char i; unsigned char mWork; void Test1(void) { mWork++; } voidTest2(void) { i++; } a.h 文件中: extern unsigned char i; extern void Test1(void); 這樣主程序M.c 中: #include /*C 編譯器內部自帶的H 文件,使用《》*/ #i nclude “a.h” /*自定義的H 文件,一般用“”*/ void main(void) { Test1(); /*使用a.c 模塊文件中的函數*/ while(1){ i++; /*使用a.c 模塊文件中的變量*/ } }

  5) 51家族核心都是基于8031的,有很多在此核心上進行擴展,有的把程序存儲器放在內部:89c(S)51.。,有的增加了RAM:89c(S)52.。,有的增加了一些專用硬件80C552.。.,有的改變時鐘時序W77E58.。.。市面上現在常用的主要有ATMEL 公司的AT89X 系列,PHILIPS 的P87(89)x,臺灣WINBOND 的w77(78)x 系列,Cygnal 的C8051Fx 系列。

  6) 51單片機結構的C 描述這里不講51的具體結構,只是引導初學者快速理解51單片機的物理結構。寄存器和IO 及其它硬件設備的地址名稱,在相應的C 頭部文件中可以找到。51為reg51.h,52為reg52.h,以次類推,比如winbond 的78E58就為w78e58.h 這些H 文件中的描述:srf,定義一個8位的設備。srf16,定義一個16位的設備。sbit,定義一個位的設備。用這些語句定義后,就可以在C 中象匯編一樣使用這些硬件設備,這是單片機應用比標準C 特殊的地方,其它差別很少。

  7) 在51系列中data,idata,xdata,pdata 的區別data:固定指前面0x00-0x7f 的128個RAM,可以用acc 直接讀寫的,速度最快,生成的代碼也最小。idata:固定指前面0x00-0xff 的256個RAM,其中前128和data 的128完全相同,只是因為訪問的方式不同。idata 是用類似C 中的指針方式訪問的。匯編中的語句為:mox ACC,@Rx.(不重要的補充:c 中idata 做指針式的訪問效果很好) xdata:外部擴展RAM,一般指外部0x0000-0xffff 空間,用DPTR 訪問。pdata:外部擴展RAM的低256個字節,地址出現在A0-A7的上時讀寫,用movx ACC,@Rx 讀寫。這個比較特殊,而且C51好象有對此BUG, 建議少用。但也有他的優點,具體用法屬于中級問題,這里不提。

  8) startup.a51的作用和匯編一樣,在C 中定義的那些變量和數組的初始化就在startup.a51中進行,如果你在定義全局變量時帶有數值,如unsigned char data xxx=100;,那startup.a51中就會有相關的賦值。如果沒有=100,startup.a51就會把他清0。(startup.a51==變量的初始化)。這些初始化完畢后,還會設置SP 指針。對非變量區域,如堆棧區,將不會有賦值或清零動作。有人喜歡改startup.a51,為了滿足自己一些想當然的愛好,這是不必要的,有可能錯誤的。比如掉電保護的時候想保存一些變量, 但改startup.a51來實現是很笨的方法,實際只要利用非變量區域的特性,定義一個指針變量指向堆棧低部:0xff 處就可實現。為什么還要去改? 可以這么說:任何時候都可以不需要改startup.a51,如果你明白它的特性。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 色多多在线观看 | 91精选视频在线观看 | 国产午夜精品不卡片 | www成年人视频 | 午夜手机看片 | 天堂在线bt | 欧美一区二区三区不卡视频 | 一区二区三区亚洲视频 | 久久夜色精品国产亚洲噜噜 | aaaaaaa毛片| 1024手机看片国产 | 激情五月宗合网 | 国产成在线人视频免费视频 | 国产乱码1卡一卡二卡 | 久久久久青草 | 你懂的国产精品 | 天天射夜夜爽 | 亚洲精品老司机综合影院 | 国产成人精品一区二区仙踪林 | 干干日日| 色妞网 | 欧美黑人巨大xxxx猛交 | 婷婷五月天.com | 天天操天天摸天天碰 | 韩国三级hd中文字幕 | 国产精品理论 | 国产美女作爱全过程免费视频 | 国产网红精品 | 日本三级s级在线播放 | 停停色| 午夜神马福利影院 | 亚洲激情视频网 | 黄色片网站大全 | 成人免费看片视频色多多 | 天天曰天天干天天操 | 天天搞夜夜操 | 轻点灬大ji巴太粗太长了啊h | 天天色综合三 | 午夜美女写真福利写视频 | 久久99久久99精品免观看 | 性夜影院爽黄a爽在线看香蕉 |