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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機編程和平時c語言編程的區別

  [復制鏈接]
跳轉到指定樓層
樓主
ID:470571 發表于 2019-1-20 09:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我這個問題主要是想問,單片機與電腦在對c語言代碼處理上有什么不同,不同在哪里,為什么用理解c語言編程的思路卻寫不好單片機編程等問題,希望有dalao能給我些解釋,在下是個菜鳥萌新,實在感謝如果有dalao可以給我解答

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

使用道具 舉報

沙發
ID:123289 發表于 2019-1-20 10:41 | 只看該作者
計算機只能識別機器碼,即0101,根據這些有序排列的機器碼的含義(即硬件指令=這些機器碼),來運行程序。任何語言的程序最終都必須轉成機器碼,否則計算機不認識。
但0101的機器碼太不方便記意了。于是就用方便記意的語句代替它,這就產生了兩個問題:
1、用什么語句替代機器碼?
2、誰把它再譯回到機器碼?
計算機是外國人發明的,自然用了英文的語句,不過又帶來了一個新的問題:
一個語句替代多少條機器碼指令?這是回答你問題的關鍵了:
匯編語言:一個語句替代一條機器碼指令,因此它最接近機器碼,最靈活,也最難掌握。
C語言:一個語句替代一條或多機器碼指令,因此它效率高,但不靈活。
至于“誰把它再譯回到機器碼?”,編程平臺幫你完成了,最常用的“翻譯”是KELL。
回復

使用道具 舉報

板凳
ID:123289 發表于 2019-1-20 10:58 | 只看該作者
本帖最后由 yzwzfyz 于 2019-1-22 14:38 編輯

明白上述的道理后,就會明白:
C是由若干條匯編語句組成的。但這些,用C的人看不出來,因為C不關心匯編,就沒有必要展示給你看,不過想看也看得到,每次對C程序編譯時,也會生成匯編代碼。
由于C建立在匯編的基礎上,所以它的規矩多且嚴格,稍不小心,平臺就不認識,C語言強力地依賴庫函數(各種子程序),但通俗易懂易掌握。
匯編則只依據CPU的指令系統寫程序,天馬行空,任君游。但要求程序員有很強的邏輯、數學水平。
例如:開方。對C語言是一句話的事,而匯編,如你沒有很好的數學基礎,是根本無法想像得出來的。不過最終的機器碼目標還是一致的。雖然C是一語話的事,也是由匯編寫而來的,只不過不需要你寫,而是前輩們用匯編寫好了,做成了C函數庫,你直接引用就可以了。
記住:計算機、單片機只認識機器碼!
回復

使用道具 舉報

地板
ID:277550 發表于 2019-1-20 11:50 | 只看該作者

keil安裝后,在C51\hlp中有c51.chm 幫助文件,可以看語法等知識
回復

使用道具 舉報

5#
ID:439075 發表于 2019-1-20 13:18 | 只看該作者
單片機也可以用C語言,和PC機C語言相比,算法是一樣的,只是單片機編程要熟悉一些單片機的端口,內部外設資源的配置等,這方面宏定義及指針變量用得較多。
回復

使用道具 舉報

6#
ID:469417 發表于 2019-1-20 23:47 | 只看該作者
本帖最后由 刀刀見紅 于 2019-1-21 04:21 編輯

區別?區別就如同當初你上學,吃穿都是你父母給你提供,你只上學就行,現在你成家了,吃穿要自己解決,要工作,也許邊工作邊學習!同理,當初在PC上玩C,鍵盤是怎樣輸入,顯示器是怎樣顯示不用你操心,現在獨立了,那輸入輸出依然還是存在的,那就得你自己來認識他,操作他!所以說懂了C只是萬里長征才走出了第一步,后面路還長,還要勤學苦練!

評分

參與人數 5黑幣 +92 收起 理由
jinsheng7533967 + 35 很給力!
Trump1438 + 15 很給力!
yoxi + 15 很給力!
Sawardeakar + 15
#include51.h + 12 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

7#
ID:142059 發表于 2019-1-21 03:43 來自手機 | 只看該作者
PC上的C和單片機的C是差不多的,只有設計硬件的函數才可能用不了,比如scanf,printf等,但是在MDK里printf是可以重定向實現調用,而string.h里的大部分函數都是可以直接用,因為都是一些字符處理函數,純軟件,不涉及硬件,說到這應該有個了解了吧,涉及單片機硬件的就和pc上不同,不涉及就一樣通用。
回復

使用道具 舉報

8#
ID:155507 發表于 2019-1-21 05:47 | 只看該作者
頭文件不同
集成開發環境不同。
最關鍵的是一般來說,嵌入式物理資源遠比計算機少,比如內存,緩存之類的

你會發現單片機編程的C語言和標準C會有差別,很多單片機C語言在標準C里是不被承認的,這個也能說明單片機和電腦的區別吧。
回復

使用道具 舉報

9#
ID:342197 發表于 2019-1-21 09:58 | 只看該作者
物理層的硬件結構大不相同,但是單片機C語言與計算機的C語言算法大致一致。
回復

使用道具 舉報

10#
ID:168777 發表于 2019-1-21 11:28 | 只看該作者
其實主要的語法是一樣的,只不過C語言只是一個實現結果的過程,是一種工具,單片機的實現不光要會c語言的語法知識,還需要掌握單片機的硬件知識。這個是從單片機的思路來編程
回復

使用道具 舉報

11#
ID:453974 發表于 2019-1-21 12:04 | 只看該作者
自認為沒啥區別,高級芯片,編程的語言該用上的也都用上了
回復

使用道具 舉報

12#
ID:21069 發表于 2019-1-21 13:17 | 只看該作者
后面的大家說的越說越靠譜,前面的有一種文不對題的感覺!樓主現在是碰到了C與單片機學習方法不同的困惑,單片機多了許多的硬件的東西(并不是說PC就沒有,只是學C時不用我們理會),也多了許多的電路,許多不同屬性的新器件。理所當然的這與學C的思路就不一樣了.C學的好,并不代表就能搞定單片機,假如說不會模電數電,那就是硬傷,想要的結果整不出來。調試遇到的問題也難分出是硬件還是軟件.單片機內部還有獨有的定時器,中斷,ADC等資源,掌握不了這些就是軟傷了。所以說學單片機要掌握的東西很多,是綜合技能很強的事物!路很長,多加油!

評分

參與人數 4黑幣 +80 收起 理由
areyouok + 35 很給力!
#include51.h + 15 很給力!
刀刀見紅 + 15 贊一個!
shuisheng + 15 贊一個!

查看全部評分

回復

使用道具 舉報

13#
ID:319023 發表于 2019-1-21 17:37 | 只看該作者
單片機編程就是更偏向硬件,C語言 編程自己定義就好了。
回復

使用道具 舉報

14#
ID:232052 發表于 2019-1-23 18:25 | 只看該作者
其實本質是一樣的,只是用電腦編程是遵守電腦的規則去編程,用單片機是用單片機的規則去編程。
回復

使用道具 舉報

15#
ID:472248 發表于 2019-1-23 22:06 | 只看該作者
首先頭文件是不同的
所需實現的功能也不同
單片機c語言一般不會有返回值
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品毛片一区二区三区 | 亚洲高清在线 | 亚洲成人免费网址 | 亚洲免费在线观看 | 日本成人中文字幕 | 亚洲国产精品日本 | 天天天天天天操 | 免费久久网站 | 亚洲欧美在线免费观看 | 欧美日韩不卡合集视频 | 欧美无乱码久久久免费午夜一区 | 成人免费黄色片 | 日干夜干 | 久久九九99 | 天天色天天射天天干 | 人人操日日干 | 亚洲精品久久久久久一区二区 | 亚洲成av片人久久久 | 午夜在线视频 | 日韩欧美二区 | 精品欧美一区二区精品久久 | 全免费a级毛片免费看视频免费下 | 国产精品久久国产精品久久 | 欧美一区二区三区视频 | 视频一区二区三区中文字幕 | 日本激情视频在线播放 | 殴美一级片 | 久久精品亚洲 | 亚洲国产精品一区二区三区 | 网站黄色在线免费观看 | 精品久久久久国产 | 欧美一区二区精品 | 久久精品国产99国产精品 | 午夜精品久久 | 国产福利小视频 | 福利网址| www.久久久久久久久久久久 | wwwxxx国产 | 久久亚洲精品国产精品紫薇 | 国产一区二区自拍 | 欧美视频中文字幕 |