衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是C語(yǔ)言?單片機(jī)有什么特點(diǎn)?為什么要用C語(yǔ)言編程?

玩轉(zhuǎn)嵌入式 ? 來(lái)源:玩轉(zhuǎn)嵌入式 ? 2023-11-21 10:06 ? 次閱讀

隨著技術(shù)的發(fā)展,電子產(chǎn)品越來(lái)越多,方便了我們的日常生活,大多數(shù)電子產(chǎn)品上都有單片機(jī),而單片機(jī)是通過(guò)執(zhí)行軟件邏輯來(lái)實(shí)現(xiàn)功能的。而單片機(jī)編程最合適的編程語(yǔ)言是匯編語(yǔ)言,但是最常用、最普及的卻是C語(yǔ)言。單片機(jī)為什么要用C語(yǔ)言來(lái)編程?

1.什么是C語(yǔ)言

C語(yǔ)言最早是在1972年的時(shí)候在DEC PDP-11計(jì)算機(jī)上首次跑起來(lái)的,它的設(shè)計(jì)者是美國(guó)人丹尼斯·麥卡利斯泰爾·里奇,他在貝爾實(shí)驗(yàn)室為UNIX操作系統(tǒng)設(shè)計(jì)的。后來(lái)他和同事共同編寫了C語(yǔ)言編程標(biāo)準(zhǔn)--K&R。沒(méi)想到日后C語(yǔ)言會(huì)成為廣泛的編程語(yǔ)言并風(fēng)靡全球。而之所以叫做C語(yǔ)言,是因?yàn)樗窃贐語(yǔ)言的基礎(chǔ)上而設(shè)計(jì)出來(lái)的。

UNIX操作系統(tǒng)、Linux操作系統(tǒng)、MySQL等都是使用C語(yǔ)言編程實(shí)現(xiàn)的。

2.單片機(jī)有什么特點(diǎn)

單片機(jī)是可編程器件,他的控制邏輯是通過(guò)軟件來(lái)實(shí)現(xiàn)的。在單片機(jī)之前,控制邏輯是通過(guò)純硬件來(lái)實(shí)現(xiàn)的,受硬件邏輯的約束無(wú)法實(shí)現(xiàn)太復(fù)雜的邏輯。而單片機(jī)是有指令集的,最開(kāi)始通過(guò)使用匯編來(lái)編程,雖然匯編執(zhí)行效率非常高,但是匯編的可讀性和移植性非常差,而C語(yǔ)言正好能彌補(bǔ)匯編的不足。

舉例:MOVC  A, @A+DPTR
功能:將 DPTR+A中的值 作為地址,尋找地址中的內(nèi)容 送到累加器A中

匯編語(yǔ)言舉例

單片機(jī)的寄存器配置。對(duì)單片機(jī)編程其實(shí)就是配置單片機(jī)的寄存器和端口配置,而這都是具有時(shí)許的,需要精準(zhǔn)的控制。

單片機(jī)存儲(chǔ)和執(zhí)行程序需要Flash和RAM,而這些資源非常有限。所以,代碼的占用空間情況非常重要。

單片機(jī)都是有指令集的。學(xué)習(xí)過(guò)單片機(jī)匯編的朋友可能會(huì)有印象,8051單片機(jī)具有111條指令集,并且有7種不同的尋址方式。

#include 
void bubble_sort(int arr[], int len) {
    int i, j, temp;
    for (i = 0; i < len - 1; i++)
? ? ? ? ? ? ? ? for (j = 0; j < len - 1 - i; j++)
? ? ? ? ? ? ? ? ? ? ? ? if (arr[j] > arr[j + 1]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
}
int main() {
    int arr[] = { 22, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9, 70 };
    int len = sizeof(arr) / sizeof(arr[0]);
    bubble_sort(arr, len);
    int i;
    for (i = 0; i < len; i++)
? ? ? ? ? ? ? ? printf("%d ", arr[i]);
? ? ? ? return 0;
}

冒泡排序的C語(yǔ)言實(shí)現(xiàn)

3.為什么要用C語(yǔ)言編程

前文所說(shuō),單片機(jī)的匯編指令比較難記,可能存在兩種情況:1)更換硬件平臺(tái),這要重新適配指令集、更新寄存器訪問(wèn)地址,比較麻煩;2)換人維護(hù)程序,匯編的可讀性比較差需要較長(zhǎng)的時(shí)間才能理解別人的程序。

而C語(yǔ)言就比較靈活了,正好能彌補(bǔ)匯編的劣勢(shì)。

不需要記憶單片機(jī)的指令集,只需要通過(guò)寄存器的配置就能讓單片機(jī)正常工作;

C語(yǔ)言有指針、數(shù)組、結(jié)構(gòu)體、聯(lián)合體、枚舉等各種類型,大大增強(qiáng)了編程的靈活性和程序處理能力;

C語(yǔ)言方便模塊化編程,可以實(shí)現(xiàn)代碼的規(guī)范化。

39cfe09c-880b-11ee-939d-92fbcf53809c.png

C語(yǔ)言編程

你用C語(yǔ)言編程嗎?來(lái)評(píng)論區(qū)討論一下吧。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6043

    文章

    44621

    瀏覽量

    638488
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11345

    瀏覽量

    210382
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7614

    瀏覽量

    137702
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3637

    瀏覽量

    93980
  • 匯編語(yǔ)言
    +關(guān)注

    關(guān)注

    14

    文章

    410

    瀏覽量

    35956

原文標(biāo)題:?jiǎn)纹瑱C(jī)編程,為什么要用C語(yǔ)言

文章出處:【微信號(hào):玩轉(zhuǎn)嵌入式,微信公眾號(hào):玩轉(zhuǎn)嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)C語(yǔ)言編程應(yīng)注意的若干問(wèn)題

    本文較詳細(xì)地分析了單片機(jī)C 語(yǔ)言特點(diǎn),就單片機(jī)系統(tǒng)資源對(duì)C
    發(fā)表于 08-25 14:16 ?43次下載

    51單片機(jī)C語(yǔ)言編程技巧

    51單片機(jī)C語(yǔ)言編程技巧
    發(fā)表于 07-16 11:17 ?161次下載

    單片機(jī)C語(yǔ)言編程與實(shí)例

    單片機(jī)C語(yǔ)言編程與實(shí)例 學(xué)習(xí)單片機(jī)開(kāi)發(fā)非常不錯(cuò)的資料。
    發(fā)表于 01-11 14:50 ?44次下載

    PIC單片機(jī)C語(yǔ)言編程

    PIC單片機(jī)C語(yǔ)言編程.pdf
    發(fā)表于 12-16 15:44 ?36次下載

    學(xué)習(xí)AVR單片機(jī)C語(yǔ)言編程的方法和教程說(shuō)明

    AVR單片機(jī)是一種新型高效的單片機(jī),主要的編程語(yǔ)言C語(yǔ)言,但與一般的
    發(fā)表于 12-30 08:00 ?17次下載
    學(xué)習(xí)AVR<b class='flag-5'>單片機(jī)</b><b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>編程</b>的方法和教程說(shuō)明

    為什么C語(yǔ)言是最適合單片機(jī)編程的高級(jí)語(yǔ)言

    單片機(jī)為什么還在用C語(yǔ)言編程?答案是:C語(yǔ)言是最適合單片機(jī)
    的頭像 發(fā)表于 02-03 16:09 ?5268次閱讀

    單片機(jī)C語(yǔ)言C語(yǔ)言為什么差異?

    許多小伙伴在學(xué)完C語(yǔ)言后想入門單片機(jī),但學(xué)著學(xué)著發(fā)現(xiàn)明明都是C語(yǔ)言,為什么單片機(jī)
    發(fā)表于 09-01 16:39 ?3824次閱讀

    單片機(jī)c語(yǔ)言編程入門教程

    單片機(jī)c語(yǔ)言編程入門教程說(shuō)難不難,說(shuō)易不易,學(xué)習(xí)單片機(jī)c語(yǔ)言
    的頭像 發(fā)表于 07-29 10:39 ?1.9w次閱讀

    單片機(jī)c語(yǔ)言+編程c語(yǔ)言_CC ++編程語(yǔ)言什么區(qū)別?

    單片機(jī)c語(yǔ)言+編程c語(yǔ)言C &
    發(fā)表于 11-23 17:51 ?20次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>c</b><b class='flag-5'>語(yǔ)言</b>+<b class='flag-5'>編程</b><b class='flag-5'>c</b><b class='flag-5'>語(yǔ)言</b>_<b class='flag-5'>C</b>和<b class='flag-5'>C</b> ++<b class='flag-5'>編程</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>有</b>什么區(qū)別?

    為什么C語(yǔ)言是最適合單片機(jī)編程的高級(jí)語(yǔ)言

    單片機(jī)為什么還在用C語(yǔ)言編程?答案是:C語(yǔ)言是最適合單片機(jī)
    發(fā)表于 11-23 17:51 ?13次下載
    為什么<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>是最適合<b class='flag-5'>單片機(jī)</b><b class='flag-5'>編程</b>的高級(jí)<b class='flag-5'>語(yǔ)言</b>

    最適合單片機(jī)編程的高級(jí)語(yǔ)言,除了C語(yǔ)言,別無(wú)選擇!

    單片機(jī)為什么還在用C語(yǔ)言編程?答案是:C語(yǔ)言是最適合單片機(jī)
    發(fā)表于 11-23 17:51 ?0次下載
    最適合<b class='flag-5'>單片機(jī)</b><b class='flag-5'>編程</b>的高級(jí)<b class='flag-5'>語(yǔ)言</b>,除了<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>,別無(wú)選擇!

    單片機(jī)為什么一直用C語(yǔ)言,不用其他編程語(yǔ)言?只有學(xué)過(guò)的知道!

    單片機(jī)為什么還在用C語(yǔ)言編程?答案是:C語(yǔ)言是最適合單片機(jī)
    發(fā)表于 11-23 17:51 ?11次下載
    <b class='flag-5'>單片機(jī)</b>為什么一直用<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>,不用其他<b class='flag-5'>編程</b><b class='flag-5'>語(yǔ)言</b>?只有學(xué)過(guò)的知道!

    單片機(jī)c語(yǔ)言+編程c語(yǔ)言_C編程語(yǔ)言簡(jiǎn)介

    單片機(jī)c語(yǔ)言+編程c語(yǔ)言In this tutorial you will get basic
    發(fā)表于 11-29 10:21 ?38次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>c</b><b class='flag-5'>語(yǔ)言</b>+<b class='flag-5'>編程</b><b class='flag-5'>c</b><b class='flag-5'>語(yǔ)言</b>_<b class='flag-5'>C</b><b class='flag-5'>編程</b><b class='flag-5'>語(yǔ)言</b>簡(jiǎn)介

    為什么單片機(jī)要用C語(yǔ)言編程

    近年來(lái),市場(chǎng)對(duì)單片機(jī)的需求較為旺盛,單片機(jī)已經(jīng)廣泛應(yīng)用于各個(gè)領(lǐng)域,如消費(fèi)、汽車、家電、工業(yè)等等,人們也經(jīng)常會(huì)聽(tīng)到關(guān)于芯片、單片機(jī)的討論,那么單片機(jī)究竟是什么?芯片和
    發(fā)表于 04-11 14:46 ?2579次閱讀

    單片機(jī)編程語(yǔ)言哪些選擇

    常用的單片機(jī)編程語(yǔ)言,以及它們的特點(diǎn)和應(yīng)用場(chǎng)景: 1. C語(yǔ)言
    的頭像 發(fā)表于 11-01 14:13 ?945次閱讀
    百家乐官网博彩软件| 栖霞市| 百家乐投注平台信誉排名| 棋牌百家乐官网赢钱经验技巧评测网 | 百家乐官网最新庄闲投注法| tt娱乐城注册| 劳力士百家乐的玩法技巧和规则| 阴宅风水24山分房| 澳门百家乐官网几副牌| 澳门赌场| 太阳城会员| 澳门百家乐哪家信誉最好| 百家乐官网打揽法| 百家乐官网游戏发展| 棋牌类游戏| 云鼎百家乐代理| 百家乐剁手| 真人百家乐宣传| 菲律宾百家乐官网娱乐场| 百家乐官网咋个玩的| 皇家娱乐城| 全讯网网址xb112| 百家乐有破解的吗| 百家乐官网网上漏洞| 广东百家乐官网扫描分析仪| 水果机赌博| 德州扑克网站| 卓达太阳城希望之洲| 蓝盾百家乐娱乐场开户注册| 棋牌百家乐怎么玩| 墨尔本百家乐官网的玩法技巧和规则 | 百家乐双筹码怎么出千| 真人百家乐技巧| 最好百家乐官网的玩法技巧和规则| 百家乐官网投资心得| 菲律宾在线游戏| 1368棋牌官网| 同乐城百家乐娱乐城| 百家乐大路图| 百家乐官方游戏| 百家乐博彩桌出租|