本書針對Atmel公司的AVR系列單片機和ImageCraft公司的ICC AVR開發環境,詳細地介紹了AT90LS8535的C語言程序設計。全書共有13章,其內容既涉及到了單片機的結構原理、指令系統、內容資源和外部功能擴展,又包含了單片機的編程工具——ICC AVR C編程器的數據類型、控制流、函數和指針等。本書的特點是:深入淺出,從最基本的概念開始,循序漸進地講解單片機的應用開發;列舉了大量實例,使讀者能從實際應用中掌握單片機的開發與應用技術。本書適合作為從事單片機開發人員的參考用書。書中先后講解了C語言基礎、AVR單片機基礎,并舉了一些簡單的實例。本書非常適合初學者。 【目錄信息】 第1章 單片機系統概述 1. 1 AVR系列單片機的特點 1. 2 AT90系列單片機簡介 第2章 AT90LS8535單片機的基礎知識 2. 1 AT90LS8535單片機的總體結構 2. 1. 1 AT90LS8535單片機的中央處理器 2. 1. 2 AT90LS8535單片機的存儲器組織 2. 1. 3 AT90LS8535單片機的I/O接口 2. 1. 4 AT90LS8535單片機的內部資源 2. 1. 5 AT90LS8535單片機的時鐘電路 2. 1. 6 AT90LS8535單片機的系統復位 2. 1. 7 AT90LS8535單片機的節電方式 2. 1. 8 AT90LS8535單片機的芯片引腳 2. 2 AT90LS8535單片機的指令系統 2. 2. 1 匯編指令格式 2. 2. 2 尋址方式 2. 2. 3 偽指令 2. 2. 4 指令類型及數據操作方式 2. 3 應用程序設計 2. 3. 1 程序設計方法 2. 3. 2 應用程序舉例 第3章 AT90LS8535單片機的C編程 3. 1 支持高級語言編程的AVR系列單片機 3. 2 AVR的C編譯器 3. 3 ICCAVR介紹 3. 3. 1 安裝ICCAVR 3. 3. 2 設置ICCAVR 3. 4 用ICCAVR編寫應用程序 3. 5 下載程序文件 第4章 數據類型. 運算符和表達式 4. 1 ICCAVR支持的數據類型 4. 2 常量與變量 4. 2. 1 常量 4. 2. 2 變量 4. 3 AT90LS8535的存儲空間 4. 4 算術和賦值運算 4. 4. 1 算術運算符和算術表達式 4. 4. 2 賦值運算符和賦值表達式 4. 5 邏輯運算 4. 6 關系運算 4. 7 位操作 4. 7. 1 位邏輯運算 4. 7. 2 移位運算 4. 8 逗號運算 第5章 控制流 5. 1 C語言的結構化程序設計 5. 1. 1 順序結構 5. 1. 2 選擇結構 5. 1. 3 循環結構 5. 2 選擇語句 5. 2. 1 if語句 5. 2. 2 switch分支 5. 2. 3 選擇語句的嵌套 5. 3 循環語句 5. 3. 1 while語句 5. 3. 2 do…while語句 5. 3. 3 for語句 5. 3. 4 循環語句嵌套 5. 3. 5 break語句和continue語句 第6章 函數 6. 1 函數的定義 6. 1. 1 函數的定義的一般形式 6. 1. 2 函數的參數 6. 1. 3 函數的值 6. 2 函數的調用 6. 2. 1 函數的一般調用 6. 2. 2 函數的遞歸調用 6. 2. 3 函數的嵌套調用 6. 3 變量的類型及其存儲方式 6. 3. 1 局部變量 6. 3. 2 局部變量的存儲方式 6. 3. 3 全局變量 6. 3. 4 全局變量的存儲方式 6. 4 內部函數和外部函數 6. 4. 1 內部函數 6. 4. 2 外部函數 第7章 指針 7. 1 指針和指針變量 7. 2 指針變量的定義和引用 7. 2. 1 指針變量的定義 7. 2. 2 指針變量的引用 7. 2. 3 指針變量作為函數參數 7. 3 數組與指針 7. 3. 1 指向數組元素的指針變量 7. 3. 2 數組元素的引用 通過指針 7. 3. 3 數組名作為函數參數 7. 3. 4 指向多維數組的元素的指針變量 7. 4 字符串與指針 7. 4. 1 字符串的表示形式 7. 4. 2 字符串指針變量與字符數組的區別 7. 5 函數與指針 7. 5. 1 函數指針變量 7. 5. 2 指針型函數 7. 6 指向指針的指針 7. 7 有關指針數據類型和運算小結 7. 7. 1 有關指針的數據類型的小結 7. 7. 2 指針運算的小結 第8章 結構體和共用體 8. 1 結構體的定義和引用 8. 1. 1 結構體類型變量的定義 8. 1. 2 結構體類型變量的引用 8. 2 結構類型的說明 8. 3 結構體變量的初始化和賦值 8. 3. 1 結構體變量的初始化 8. 3. 2 結構體變量的賦值 8. 4 結構體數組 8. 4. 1 結構體數組的定義 8. 4. 2 結構體數組的初始化 8. 5 指向結構體類型變量的指針 8. 5. 1 指向結構體變量的指針 8. 5. 2 指向結構體數組的指針 8. 5. 3 指向結構體變量的指針做函數參數 8. 6 共用體 8. 6. 1 共用體的定義 8. 6. 2 共用體變量的引用 第9章 A190LS8535的內部資源 9. 1 I/O 口 9. 1. 1 端口A 9. 1. 2 端口B 9. 1. 3 端口C 9. 1. 4 端口D 9. 1. 5 I/O口的編程 9. 2 中斷 9. 2. 1 單片機的中斷功能 9. 2. 2 AT90LS8535單片機的中斷系統 9. 2. 3 1CCAVRC編譯器的中斷操作 9. 2. 4 中斷的編程 9. 3 串行數據通信 9. 3. 1 數據通信基礎 9. 3. 2 AT90LS8535的同步串行接口 9. 3. 3 AT90LS8535的異步串行接口 9. 4 定時/計數器 9. 4. 1 定時/計數器的分頻器 9. 4. 2 8位定時/計數器0 9. 4. 3 16位定時/計數器1 9. 4. 4 8位定時/計數器2 9. 5 EEPROM 9. 5. 1 與EEPROM有關的寄存器 9. 5. 2 EEPROM讀/寫操作 9. 5. 3 EEPROM的應用舉例 9. 6 模擬量輸入接口 9. 6. 1 模數轉換器的結構 9. 6. 2 ADC的使用 9. 6. 3 與模數轉換器有關的寄存器 9. 6. 4 ADC的噪聲消除 9. 6. 5 ADC的應用舉例 9. 7 模擬比較器 9. 7. 1 模擬比較器的結構 9. 7. 2 與模擬比較器有關的寄存器 9. 7. 3 模擬比較器的應用舉例 第10章 AT90LS8535的人機接口編程 10. 1 鍵盤接口 10. 1. 1 非矩陣式鍵盤 10. 1. 2 矩陣式鍵盤 10. 2 LED顯示輸出 10. 2. 1 LED的靜態顯示 10. 2. 2 LED的動態掃描顯示 10. 2. 3 動態掃描顯示專用芯片MC14489 10. 3 LCD顯示輸出 10. 3. 1 字符型LCD 10. 3. 2 點陣型LCD 10. 4 ISD2500系列語音芯片的編程 10. 4. 1 ISD2500的片內結構和引腳 10. 4. 2 ISD2500的操作 10. 4. 3 ISD2500和單片機的接口及編程 10. 5 TP-uP微型打印機 10. 5. 1 TP-uP打印機的接口和邏輯時序 10. 5. 2 P-uP打印機的打印命令和字符代碼 10. 5. 3 AT90LS8535與TP-uP系列打印機的接口及編程 10. 6 IC卡 10. 6. 1 IC卡讀寫裝置 10. 6. 2 IC卡軟件 第11章 AT90LS8535的外圍擴展 11. 1 簡單I/O擴展芯片 11. 1. 1 用74LS377擴展數據輸出接口 11. 1. 2 數據輸入接口 11. 2 模擬量輸出 11. 2. 1 D/A轉換器簡介 11. 2. 2 8位數模轉換器DAC0832 11. 2. 3 8位數模轉換器與單片機的接口及編程 11. 2. 4 12位數模轉換器DACl230 11. 2. 5 12位數模轉換器與單片機的接口及編程 11. 3 可編程I/O擴展芯片8255A 11. 3. 1 8255A的引腳和內部結構 11. 3. 2 8255A的工作方式 11. 3. 3 8255A的控制字 11. 3. 4 AT90LS8535和8255A的接口 11. 4 帶片內RAM的I/O擴展芯片8155 11. 4. 1 8155的引腳和內部結構. 11. 4. 2 8155的I/O口工作方式 11. 4. 3 8155的定時/計數器 11. 4. 4 8155的命令和狀態字 11. 4. 5 AT90LS8535與8155的接口及編程 11. 5 定時/計數器芯片8253 11. 5. 1 8253的信號引腳和邏輯結構 11. 5. 2 8253的工作方式 11. 5. 3 8253的控制字 11. 5. 4 AT90LS8535與8253的接口及編程 11. 6 實時時鐘芯片DS1302 11. 6. 1 DS1302的引腳和內部結構 11. 6. 2 DS1302的控制方式 11. 6. 3 AT90LS8535與DS1302的接口與編程 11. 7 數字溫度傳感器DS18B20 11. 7. 1 DSl8B20的引腳和內部結構 11. 7. 2 DS18B20的溫度測量 11. 7. 3 AT90LS8535與DS18B20的接口與編程 第12章 AT90LS8535的通信編程 12. 1 串口通信 12. 1. 1 異步串口UART通信 12. 1. 2 同步串口SPI通信 12. 2 I2C總線 12. 2. 1 I2C總線協議 12. 2. 2 采用AT90LS8535的并行I/O口模擬I2C總線 12. 3 CAN總線 12. 3. 1 CAN總線的特點 12. 3. 2 CAN協議的信息格式 12. 3. 3 CAN控制器SJA1000 12. 3. 4 AT90LS8535與SJA1000的接口及編程 12. 4 AT90LS8535單片機與PC的串行通信 12. 4. 1 基于VC 6. 0的PC串口通信 12. 4. 2 應用實例 第13章 系統設計中的程序處理方法 13. 1 數字濾波處理 13. 1. 1 平滑濾波 13. 1. 2 中值濾波 13. 1. 3 程序判斷濾波 13. 2 非線性處理 13. 2. 1 查表法 13. 2. 2 線性插值法
上傳時間: 2013-11-04
上傳用戶:元宵漢堡包
單片機c語言學習和單片機制作資料: 函數的使用和熟悉 實例3:用單片機控制第一個燈亮 實例4:用單片機控制一個燈閃爍:認識單片機的工作頻率 實例5:將 P1口狀態分別送入P0、P2、P3口:認識I/O口的引腳功能 實例6:使用P3口流水點亮8位LED 實例7:通過對P3口地址的操作流水點亮8位LED 實例8:用不同數據類型控制燈閃爍時間 實例9:用P0口、P1 口分別顯示加法和減法運算結果 實例10:用P0、P1口顯示乘法運算結果 實例11:用P1、P0口顯示除法運算結果 實例12:用自增運算控制P0口8位LED流水花樣 實例13:用P0口顯示邏輯"與"運算結果 實例14:用P0口顯示條件運算結果 實例15:用P0口顯示按位"異或"運算結果 實例16:用P0顯示左移運算結果 實例17:"萬能邏輯電路"實驗 實例18:用右移運算流水點亮P1口8位LED 實例19:用if語句控制P0口8位LED的流水方向 實例20:用swtich語句的控制P0口8位LED的點亮狀態 實例21:用for語句控制蜂鳴器鳴笛次數 實例22:用while語句控制LED 實例23:用do-while語句控制P0口8位LED流水點亮 實例24:用字符型數組控制P0口8位LED流水點亮 實例25: 用P0口顯示字符串常量 實例26:用P0 口顯示指針運算結果 實例27:用指針數組控制P0口8位LED流水點亮 實例28:用數組的指針控制P0 口8 位LED流水點亮 實例29:用P0 、P1口顯示整型函數返回值 實例30:用有參函數控制P0口8位LED流水速度 實例31:用數組作函數參數控制流水花樣 實例32:用指針作函數參數控制P0口8位LED流水點亮 實例33:用函數型指針控制P1口燈花樣 實例34:用指針數組作為函數的參數顯示多個字符串
上傳時間: 2013-10-21
上傳用戶:llandlu
C51 中的關鍵字關鍵字 用途 說明auto 存儲種類說明 用以說明局部變量,缺省值為此break 程序語句 退出最內層循環case 程序語句 Switch 語句中的選擇項char 數據類型說明 單字節整型數或字符型數據const 存儲類型說明 在程序執行過程中不可更改的常量值continue 程序語句 轉向下一次循環default 程序語句 Switch 語句中的失敗選擇項do 程序語句 構成do..while 循環結構double 數據類型說明 雙精度浮點數else 程序語句 構成if..else 選擇結構enum 數據類型說明 枚舉extern 存儲種類說明 在其他程序模塊中說明了的全局變量flost 數據類型說明 單精度浮點數for 程序語句 構成for 循環結構goto 程序語句 構成goto 轉移結構if 程序語句 構成if..else 選擇結構int 數據類型說明 基本整型數long 數據類型說明 長整型數register 存儲種類說明 使用CPU 內部寄存的變量return 程序語句 函數返回short 數據類型說明 短整型數signed 數據類型說明 有符號數,二進制數據的最高位為符號位sizeof 運算符 計算表達式或數據類型的字節數static 存儲種類說明 靜態變量struct 數據類型說明 結構類型數據swicth 程序語句 構成switch 選擇結構typedef 數據類型說明 重新進行數據類型定義union 數據類型說明 聯合類型數據unsigned 數據類型說明 無符號數數據void 數據類型說明 無類型數據volatile 數據類型說明 該變量在程序執行中可被隱含地改變while 程序語句 構成while 和do..while 循環結構ANSIC 標準關鍵字關鍵字 用途 說明bit 位標量聲明 聲明一個位標量或位類型的函數sbit 位標量聲明 聲明一個可位尋址變量
標簽: C51
上傳時間: 2013-10-08
上傳用戶:waves_0801
C51基本結構程序設計1. 掌握if語句來實現選擇結構,能利用if語句編寫相應的分枝結構的程序。在嵌套if語句中,一定要搞清楚else與哪個if結合的問題。2.掌握switch語句來實現多向分枝選擇結構,能利用switch語句編寫相應的分枝結構的程序。 3. 掌握循環語句的即初始化、循環體、循環控制及結束四個部分,并能進行循環語句的程序設計。分別掌握for 語句、while語句以及do-while語句的使用語法及方法,能利用這三種循環結構進行循環程序設計,理解這三種語句的異同。4.理解并掌握continue、break語句在循環結構和選擇結構中的作用。對于goto語句,理解該語句優缺點。C51語言是結構化編程語言。結構化語言的基本元素是模塊,它是程序的一部分.只有一個出口和一個入口.不允許有偶然的中途插入或以模塊的其它路徑退出。結構化編程語言在沒有妥善保護或恢復堆棧和其它相關的寄存器之前,不應隨便跳入或跳出一個模塊。因此使用這種結構化語言進行編程,當要退出中斷時,堆棧不會因為程序使用了任何可以接受的命令而崩潰。 結構化程序由若干模塊組成,每個模塊中包含著若干個基本結構,而每個基本結構中可以有若干條語句。歸納起來,C51程序有順序結構、選擇結構、循環結構共三種結構。
上傳時間: 2013-11-01
上傳用戶:四只眼
第1章 單片機系統概述1.1 AVR系列單片機的特點1.2 AT90系列單片機簡介第2章 AT90LS8535單片機的基礎知識2.1 AT90LS8535單片機的總體結構2.1.1 AT90LS8535單片機的中央處理器2.1.2 AT90LS8535單片機的存儲器組織2.1.3 AT90LS8535單片機的I/O接口2.1.4 AT90LS8535單片機的內部資源2.1.5 AT90LS8535單片機的時鐘電路2.1.6 AT90LS8535單片機的系統復位2.1.7 AT90LS8535單片機的節電方式2.1.8 AT90LS8535單片機的芯片引腳2.2 AT90LS8535單片機的指令系統2.2.1 匯編指令格式2.2.2 尋址方式2.2.3 偽指令2.2.4 指令類型及數據操作方式2.3 應用程序設計2.3.1 程序設計方法2.3.2 應用程序舉例第3章 AT90LS8535單片機的C編程3.1 支持高級語言編程的AVR系列單片機3.2 AVR的C編譯器3.3 ICC AVR介紹3.3.1 安裝ICC AVR3.3.2 設置ICC AVR3.4 用ICC AVR編寫應用程序3.5 下載程序文件第4章 數據類型、運算符和表達式4.1 ICC AVR支持的數據類型4.2 常量與變量4.2.1 常量4.2.2 變量4.3 AT90LS8535的存儲空間4.4 算術和賦值運算4.4.1 算術運算符和算術表達式4.4.2 賦值運算符和賦值表達式4.5 邏輯運算4.6 關系運算4.7 位操作4.7.1 位邏輯運算4.7.2 移位運算4.8 逗號運算第5章 控制流5.1 C語言的結構化程序設計5.1.1 順序結構5.1.2 選擇結構5.1.3 循環結構5.2 選擇語句5.2.1 if語句5.2.2 switch分支5.2.3 選擇語句的嵌套5.3 循環語句5.3.1 while語句5.3.2 do…while語句5.3.3 for語句5.3.4 循環語句嵌套5.3.5 break語句和continue語句第6章 函數6.1 函數的定義6.1.1 函數的定義的一般形式6.1.2 函數的參數6.1.3 函數的值6.2 函數的調用6.2.1 函數的一般調用6.2.2 函數的遞歸調用6.2.3 函數的嵌套使用6.3 變量的類型及其存儲方式6.3.1 局部變量6.3.2 局部變量的存儲方式6.3.3 全局變量6.3.4 全局變量的存儲方式6.4 內部函數和外部函數6.4.1 內部函數6.4.2 外部函數第7章 指針第8章 結構體和共用體第9章 AT90LS8535的內部資源第10章 AT90LS8535的人機接口編程第11章 AT90LS8535的外圍擴展第12章 AT90LS8535的通信編程第13章 系統設計中的程序處理方法
上傳時間: 2013-10-31
上傳用戶:smthxt
目錄 C語言基礎知識 C 語言簡介 C 語言的特點… C 語言的發展和標準化…數據類型、運算、表達式和編譯預處理 數據類型… 基本類型與數據表示 整數類型和整數的表示… 實數類型和實數的表示… 字符類型和字符的表示… 運算符、表達式與計算… 算術運算符 算術表達式 表達式的求值… 變量——概念、定義和使用… 變量的定義0 變量的使用:取值與賦值 預處理 文件包含命令… 宏定義與宏替換…邏輯判斷與運算… 關系運算和邏輯運算 復雜條件的描述0 i f語句循環控制 whi le語句 for語句… 循環程序常用的若干機制 增量和減量運算符(++、--) 逗號運算符 控制結構和控制語句 do-while循環結構… 流程控制語句… goto語句… 開關語句…函數 概述… 函數定義和程序的函數分解… 函數定義… 函數調用…數組 數組的概念、定義和使用 數組變量定義… 數組的使用 數組的初始化…結構 結構(struct) 結構說明與變量定義 結構變量的初始化和使用 結構與函數 處理結構的函數0指針 指針的概念 指針操作… 指針作為函數的參數 與指針有關的一些問題… 指針與數組 指向數組元素的指針 基于指針運算的數組程序設計 數組參數與指針 字符指針與字符數組0
上傳時間: 2013-11-16
上傳用戶:asdkin
這是個編譯原理的課程設計,是一個do-while循環語句的翻譯程序設計,包括詞法分析,語法分析,生成中間代碼四元式。
標簽: 編譯原理
上傳時間: 2015-03-29
上傳用戶:yuzsu
if—else語句,switch語句,循環結構,do-while語句,for語句, 跳轉語句
標簽: else
上傳時間: 2014-01-22
上傳用戶:zsjzc
數值計算方法在C語言中的應用 介紹了數值計算方法與計算機程序語言相結合的重要性,在給出牛頓迭代公式之后,闡述了牛頓迭代法在do-while循環中的應用,然后通過實例基于曲線梯形面積求解方法,論述了矩形法和梯形法在for循環中的應用.最后指出:用正確的數值計算方法編寫高效的計算機程序解決復雜的實際問題應成為當代理工科大學生必備的基礎與技能
上傳時間: 2013-12-28
上傳用戶:qoovoop
C語言精彩百例第1-44例 實例1 數據類型轉換 實例2 轉義字符 實例3 關系和邏輯運算 實例4 自增自減 實例5 普通位運算 實例6 位移運算 實例7 字符譯碼 實例8 指針操作符 實例9 if判斷語句 實例10 else-if語句 實例11 嵌套if語句 實例12 switch語句 實例13 for語句 實例14 while語句 實例15 do-while語句 實例16 break和continue語句 實例17 exit()語句 實例18 綜合實例 實例19 一維數組 實例20 二維數組 實例21 字符數組 實例22 數組初始化 實例23 數組應用 實例24 函數的值調用 實例25 函數的引用調用 實例26 數組函數的調用 實例27 命令行變元 實例28 函數的返回值 實例29 函數的嵌套調用 實例30 函數的遞歸調用 實例31 局部和全局變量 實例32 變量的存儲類別 實例33 內部和外部函數 實例34 綜合實例1 實例35 綜合實例2 實例36 變量的指針 實例37 一維數組指針 實例38 二維數組指針 實例39 字符串指針 實例40 函數指針 實例41 指針數組 實例42 二維指針 實例43 指針的初始化 實例44 綜合實例
上傳時間: 2014-01-16
上傳用戶:royzhangsz