出版時間:2011-1 出版社:電子工業(yè) 作者:程利民//朱曉玲 頁數(shù):269
內(nèi)容概要
本書以擁有自主知識產(chǎn)權(quán)的單片機(jī)實踐板為依托,以C語言為主線,介紹單片機(jī)編程實踐知識,從C語言的基礎(chǔ)知識、Keil軟件的使用、到C51程序的編寫與調(diào)試方法及其他相關(guān)知識。書中所有實例和全部實踐都經(jīng)過了仿真軟件或?qū)嵺`板的驗證。本書可提供與本書配套的單片機(jī)實踐板。 讀者對象:本書可作為高等職業(yè)教育的“單片機(jī)技術(shù)與應(yīng)用”及“C語言程序設(shè)計”兩門課程的學(xué)習(xí)教材和教學(xué)參考書,也可以作為本科院校工程訓(xùn)練、電子制作的實踐教材和相關(guān)專業(yè)課程參考教材。同時可供從事單片機(jī)應(yīng)用與產(chǎn)品開發(fā)工作的工程技術(shù)人員學(xué)習(xí)參考。
書籍目錄
第1章 C語言概述 1.1 C語言簡介 1.2 簡單C程序介紹 1.3 KEIL C51編譯器仿真程序要求 1.4 實踐 1.4.1 實踐任務(wù) 1.4.2 實踐設(shè)備要求 1.4.3 實踐步驟 本章小結(jié) 習(xí)題1 第2章 基本數(shù)據(jù)類型及運(yùn)算 2.1 數(shù)據(jù)類型 2.2 數(shù)據(jù)的存放形式 2.2.1 整型數(shù)據(jù)的存放形式 2.2.2 實型數(shù)據(jù)的存放形式 2.3 數(shù)據(jù)的存放位置 2.4 常量 2.4.1 整數(shù) 2.4.2 浮點(diǎn)數(shù) 2.4.3 字符 2.4.4 字符串 2.4.5 符號常量 2.5 變量 2.5.1 變量的定義和初始化 2.5.2 隱含的變量數(shù)據(jù)類型和存放位置 2.5.3 特殊功能寄存器(sfr) 2.5.4 bit、sbit數(shù)據(jù)類型變量 2.5.5 硬件定義文件 2.5.6 變量的絕對定位 2.6 數(shù)據(jù)運(yùn)用 2.6.1 算術(shù)運(yùn)算和算術(shù)表達(dá)式 2.6.2 各類數(shù)值型數(shù)據(jù)的混合運(yùn)算和類型轉(zhuǎn)換 2.6.3 增1、減1運(yùn)算 2.6.4 位運(yùn)算 2.6.5 關(guān)系運(yùn)算和邏輯運(yùn)算 2.6.6 條件運(yùn)算 2.6.7 逗號運(yùn)算 2.6.8 長度運(yùn)算符 2.6.9 指針運(yùn)算符 2.6.10 復(fù)合賦值運(yùn)算 2.6.11 運(yùn)算符的優(yōu)先級與結(jié)合性 2.7 實踐2 2.7.1 實踐任務(wù) 2.7.2 實踐設(shè)備 2.7.3 實踐步驟 本章小結(jié) 習(xí)題2 第3章 順序、選擇結(jié)構(gòu) 3.1 基礎(chǔ)語句 3.2 賦值語句 3.3 單個字符的輸入、輸出 3.3.1 putchar(字符輸出函數(shù)) 3.3.2 getchar(鍵盤輸入函數(shù)) 3.4 printf格式輸出函數(shù) 3.4.1 printf格式輸出函數(shù)的基本格式 3.4.2 printf格式控制符 3.4.3 printf寬度格式符 3.4.4 printf函數(shù)使用實例 3.5 scanf格式輸入函數(shù) 3.5.1 scanf格式字符串 3.5.2 scanf數(shù)據(jù)輸入操作 3.6 選擇結(jié)構(gòu) 3.6.1 if語句 3.6.2 if語句的嵌套與嵌套匹配原則 3.6.3 switch語句 3.6.4 break語句 3.7 實踐3 3.7.1 實驗任務(wù) 3.7.2 實踐設(shè)備要求 3.7.3 實踐步驟 本章小結(jié) 習(xí)題3 第4章 循環(huán)結(jié)構(gòu) 第5章 數(shù)組 第6章 函數(shù)和預(yù)編譯 第7章 C指針 第8章 結(jié)構(gòu)、聯(lián)合和枚舉 第9章 鍵盤、數(shù)碼管、點(diǎn)陣屏 第10章 讓數(shù)碼管和點(diǎn)陣屏顯示動畫 第11章 制作簡單浮點(diǎn)計算器 附錄A Cx51庫函數(shù) 附錄B Cx51編譯錯誤、警告 附錄C 單片機(jī)軟件編程基本知識 附錄D 計算機(jī)二級C語言真題 附錄E 單片機(jī)實踐板原理圖 附錄F 推薦的畢業(yè)設(shè)計課題 參考文獻(xiàn)
章節(jié)摘錄
在C語言中如果定義了一個具有n個元素的數(shù)組,則該數(shù)組的下標(biāo)范圍是0至n-1。編譯器對于數(shù)組的邊界不作任何檢查,即使數(shù)組的下標(biāo)越界也不會給出錯誤信息?! ?.指針變量的初始化 定義一個指針變量僅僅是明確地指定了指針本身所需要的內(nèi)存空間,而該指針的初始值是它所指向的內(nèi)存地址。絕不對空指針或者懸空的指針做間接訪問,這種訪問的后果不可預(yù)料,可能造成死機(jī)。 5.程序中未被調(diào)用的函數(shù) 在開發(fā)過程中經(jīng)常有對寫成的函數(shù)未加調(diào)用的情況產(chǎn)生,雖然編譯器不產(chǎn)生錯誤,但是由于鏈接/定位器支持?jǐn)?shù)據(jù)覆蓋而不能正常處理這部分代碼,因此會產(chǎn)生警告信息。中斷函數(shù)不能被調(diào)用,只能由硬件引發(fā),鏈接器將未被調(diào)用的函數(shù)視為一個潛在的中斷函數(shù)。這就意味著編譯器為該函數(shù)的局部變量分配不可覆蓋的數(shù)據(jù)空間,因此會占用所有可用的數(shù)據(jù)空間(依據(jù)不同的存儲模型)。當(dāng)在調(diào)試過程中發(fā)現(xiàn)內(nèi)存空間不足時,一定要檢查鏈接器對未調(diào)用或未使用函數(shù)的警告信息?! ?hellip;…
圖書封面
評論、評分、閱讀與下載