本書針對(duì)Atmel公司的AVR系列單片機(jī)和ImageCraft公司的ICC AVR開發(fā)環(huán)境,詳細(xì)地介紹了AT90LS8535的C語言程序設(shè)計(jì)。全書共有13章,其內(nèi)容既涉及到了單片機(jī)的結(jié)構(gòu)原理、指令系統(tǒng)、內(nèi)容資源和外部功能擴(kuò)展,又包含了單片機(jī)的編程工具——ICC AVR C編程器的數(shù)據(jù)類型、控制流、函數(shù)和指針等。本書的特點(diǎn)是:深入淺出,從最基本的概念開始,循序漸進(jìn)地講解單片機(jī)的應(yīng)用開發(fā);列舉了大量實(shí)例,使讀者能從實(shí)際應(yīng)用中掌握單片機(jī)的開發(fā)與應(yīng)用技術(shù)。本書適合作為從事單片機(jī)開發(fā)人員的參考用書。書中先后講解了C語言基礎(chǔ)、AVR單片機(jī)基礎(chǔ),并舉了一些簡(jiǎn)單的實(shí)例。本書非常適合初學(xué)者。 【目錄信息】 第1章 單片機(jī)系統(tǒng)概述 1. 1 AVR系列單片機(jī)的特點(diǎn) 1. 2 AT90系列單片機(jī)簡(jiǎn)介 第2章 AT90LS8535單片機(jī)的基礎(chǔ)知識(shí) 2. 1 AT90LS8535單片機(jī)的總體結(jié)構(gòu) 2. 1. 1 AT90LS8535單片機(jī)的中央處理器 2. 1. 2 AT90LS8535單片機(jī)的存儲(chǔ)器組織 2. 1. 3 AT90LS8535單片機(jī)的I/O接口 2. 1. 4 AT90LS8535單片機(jī)的內(nèi)部資源 2. 1. 5 AT90LS8535單片機(jī)的時(shí)鐘電路 2. 1. 6 AT90LS8535單片機(jī)的系統(tǒng)復(fù)位 2. 1. 7 AT90LS8535單片機(jī)的節(jié)電方式 2. 1. 8 AT90LS8535單片機(jī)的芯片引腳 2. 2 AT90LS8535單片機(jī)的指令系統(tǒng) 2. 2. 1 匯編指令格式 2. 2. 2 尋址方式 2. 2. 3 偽指令 2. 2. 4 指令類型及數(shù)據(jù)操作方式 2. 3 應(yīng)用程序設(shè)計(jì) 2. 3. 1 程序設(shè)計(jì)方法 2. 3. 2 應(yīng)用程序舉例 第3章 AT90LS8535單片機(jī)的C編程 3. 1 支持高級(jí)語言編程的AVR系列單片機(jī) 3. 2 AVR的C編譯器 3. 3 ICCAVR介紹 3. 3. 1 安裝ICCAVR 3. 3. 2 設(shè)置ICCAVR 3. 4 用ICCAVR編寫應(yīng)用程序 3. 5 下載程序文件 第4章 數(shù)據(jù)類型. 運(yùn)算符和表達(dá)式 4. 1 ICCAVR支持的數(shù)據(jù)類型 4. 2 常量與變量 4. 2. 1 常量 4. 2. 2 變量 4. 3 AT90LS8535的存儲(chǔ)空間 4. 4 算術(shù)和賦值運(yùn)算 4. 4. 1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 4. 4. 2 賦值運(yùn)算符和賦值表達(dá)式 4. 5 邏輯運(yùn)算 4. 6 關(guān)系運(yùn)算 4. 7 位操作 4. 7. 1 位邏輯運(yùn)算 4. 7. 2 移位運(yùn)算 4. 8 逗號(hào)運(yùn)算 第5章 控制流 5. 1 C語言的結(jié)構(gòu)化程序設(shè)計(jì) 5. 1. 1 順序結(jié)構(gòu) 5. 1. 2 選擇結(jié)構(gòu) 5. 1. 3 循環(huán)結(jié)構(gòu) 5. 2 選擇語句 5. 2. 1 if語句 5. 2. 2 switch分支 5. 2. 3 選擇語句的嵌套 5. 3 循環(huán)語句 5. 3. 1 while語句 5. 3. 2 do…while語句 5. 3. 3 for語句 5. 3. 4 循環(huán)語句嵌套 5. 3. 5 break語句和continue語句 第6章 函數(shù) 6. 1 函數(shù)的定義 6. 1. 1 函數(shù)的定義的一般形式 6. 1. 2 函數(shù)的參數(shù) 6. 1. 3 函數(shù)的值 6. 2 函數(shù)的調(diào)用 6. 2. 1 函數(shù)的一般調(diào)用 6. 2. 2 函數(shù)的遞歸調(diào)用 6. 2. 3 函數(shù)的嵌套調(diào)用 6. 3 變量的類型及其存儲(chǔ)方式 6. 3. 1 局部變量 6. 3. 2 局部變量的存儲(chǔ)方式 6. 3. 3 全局變量 6. 3. 4 全局變量的存儲(chǔ)方式 6. 4 內(nèi)部函數(shù)和外部函數(shù) 6. 4. 1 內(nèi)部函數(shù) 6. 4. 2 外部函數(shù) 第7章 指針 7. 1 指針和指針變量 7. 2 指針變量的定義和引用 7. 2. 1 指針變量的定義 7. 2. 2 指針變量的引用 7. 2. 3 指針變量作為函數(shù)參數(shù) 7. 3 數(shù)組與指針 7. 3. 1 指向數(shù)組元素的指針變量 7. 3. 2 數(shù)組元素的引用 通過指針 7. 3. 3 數(shù)組名作為函數(shù)參數(shù) 7. 3. 4 指向多維數(shù)組的元素的指針變量 7. 4 字符串與指針 7. 4. 1 字符串的表示形式 7. 4. 2 字符串指針變量與字符數(shù)組的區(qū)別 7. 5 函數(shù)與指針 7. 5. 1 函數(shù)指針變量 7. 5. 2 指針型函數(shù) 7. 6 指向指針的指針 7. 7 有關(guān)指針數(shù)據(jù)類型和運(yùn)算小結(jié) 7. 7. 1 有關(guān)指針的數(shù)據(jù)類型的小結(jié) 7. 7. 2 指針運(yùn)算的小結(jié) 第8章 結(jié)構(gòu)體和共用體 8. 1 結(jié)構(gòu)體的定義和引用 8. 1. 1 結(jié)構(gòu)體類型變量的定義 8. 1. 2 結(jié)構(gòu)體類型變量的引用 8. 2 結(jié)構(gòu)類型的說明 8. 3 結(jié)構(gòu)體變量的初始化和賦值 8. 3. 1 結(jié)構(gòu)體變量的初始化 8. 3. 2 結(jié)構(gòu)體變量的賦值 8. 4 結(jié)構(gòu)體數(shù)組 8. 4. 1 結(jié)構(gòu)體數(shù)組的定義 8. 4. 2 結(jié)構(gòu)體數(shù)組的初始化 8. 5 指向結(jié)構(gòu)體類型變量的指針 8. 5. 1 指向結(jié)構(gòu)體變量的指針 8. 5. 2 指向結(jié)構(gòu)體數(shù)組的指針 8. 5. 3 指向結(jié)構(gòu)體變量的指針做函數(shù)參數(shù) 8. 6 共用體 8. 6. 1 共用體的定義 8. 6. 2 共用體變量的引用 第9章 A190LS8535的內(nèi)部資源 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 單片機(jī)的中斷功能 9. 2. 2 AT90LS8535單片機(jī)的中斷系統(tǒng) 9. 2. 3 1CCAVRC編譯器的中斷操作 9. 2. 4 中斷的編程 9. 3 串行數(shù)據(jù)通信 9. 3. 1 數(shù)據(jù)通信基礎(chǔ) 9. 3. 2 AT90LS8535的同步串行接口 9. 3. 3 AT90LS8535的異步串行接口 9. 4 定時(shí)/計(jì)數(shù)器 9. 4. 1 定時(shí)/計(jì)數(shù)器的分頻器 9. 4. 2 8位定時(shí)/計(jì)數(shù)器0 9. 4. 3 16位定時(shí)/計(jì)數(shù)器1 9. 4. 4 8位定時(shí)/計(jì)數(shù)器2 9. 5 EEPROM 9. 5. 1 與EEPROM有關(guān)的寄存器 9. 5. 2 EEPROM讀/寫操作 9. 5. 3 EEPROM的應(yīng)用舉例 9. 6 模擬量輸入接口 9. 6. 1 模數(shù)轉(zhuǎn)換器的結(jié)構(gòu) 9. 6. 2 ADC的使用 9. 6. 3 與模數(shù)轉(zhuǎn)換器有關(guān)的寄存器 9. 6. 4 ADC的噪聲消除 9. 6. 5 ADC的應(yīng)用舉例 9. 7 模擬比較器 9. 7. 1 模擬比較器的結(jié)構(gòu) 9. 7. 2 與模擬比較器有關(guān)的寄存器 9. 7. 3 模擬比較器的應(yīng)用舉例 第10章 AT90LS8535的人機(jī)接口編程 10. 1 鍵盤接口 10. 1. 1 非矩陣式鍵盤 10. 1. 2 矩陣式鍵盤 10. 2 LED顯示輸出 10. 2. 1 LED的靜態(tài)顯示 10. 2. 2 LED的動(dòng)態(tài)掃描顯示 10. 2. 3 動(dòng)態(tài)掃描顯示專用芯片MC14489 10. 3 LCD顯示輸出 10. 3. 1 字符型LCD 10. 3. 2 點(diǎn)陣型LCD 10. 4 ISD2500系列語音芯片的編程 10. 4. 1 ISD2500的片內(nèi)結(jié)構(gòu)和引腳 10. 4. 2 ISD2500的操作 10. 4. 3 ISD2500和單片機(jī)的接口及編程 10. 5 TP-uP微型打印機(jī) 10. 5. 1 TP-uP打印機(jī)的接口和邏輯時(shí)序 10. 5. 2 P-uP打印機(jī)的打印命令和字符代碼 10. 5. 3 AT90LS8535與TP-uP系列打印機(jī)的接口及編程 10. 6 IC卡 10. 6. 1 IC卡讀寫裝置 10. 6. 2 IC卡軟件 第11章 AT90LS8535的外圍擴(kuò)展 11. 1 簡(jiǎn)單I/O擴(kuò)展芯片 11. 1. 1 用74LS377擴(kuò)展數(shù)據(jù)輸出接口 11. 1. 2 數(shù)據(jù)輸入接口 11. 2 模擬量輸出 11. 2. 1 D/A轉(zhuǎn)換器簡(jiǎn)介 11. 2. 2 8位數(shù)模轉(zhuǎn)換器DAC0832 11. 2. 3 8位數(shù)模轉(zhuǎn)換器與單片機(jī)的接口及編程 11. 2. 4 12位數(shù)模轉(zhuǎn)換器DACl230 11. 2. 5 12位數(shù)模轉(zhuǎn)換器與單片機(jī)的接口及編程 11. 3 可編程I/O擴(kuò)展芯片8255A 11. 3. 1 8255A的引腳和內(nèi)部結(jié)構(gòu) 11. 3. 2 8255A的工作方式 11. 3. 3 8255A的控制字 11. 3. 4 AT90LS8535和8255A的接口 11. 4 帶片內(nèi)RAM的I/O擴(kuò)展芯片8155 11. 4. 1 8155的引腳和內(nèi)部結(jié)構(gòu). 11. 4. 2 8155的I/O口工作方式 11. 4. 3 8155的定時(shí)/計(jì)數(shù)器 11. 4. 4 8155的命令和狀態(tài)字 11. 4. 5 AT90LS8535與8155的接口及編程 11. 5 定時(shí)/計(jì)數(shù)器芯片8253 11. 5. 1 8253的信號(hào)引腳和邏輯結(jié)構(gòu) 11. 5. 2 8253的工作方式 11. 5. 3 8253的控制字 11. 5. 4 AT90LS8535與8253的接口及編程 11. 6 實(shí)時(shí)時(shí)鐘芯片DS1302 11. 6. 1 DS1302的引腳和內(nèi)部結(jié)構(gòu) 11. 6. 2 DS1302的控制方式 11. 6. 3 AT90LS8535與DS1302的接口與編程 11. 7 數(shù)字溫度傳感器DS18B20 11. 7. 1 DSl8B20的引腳和內(nèi)部結(jié)構(gòu) 11. 7. 2 DS18B20的溫度測(cè)量 11. 7. 3 AT90LS8535與DS18B20的接口與編程 第12章 AT90LS8535的通信編程 12. 1 串口通信 12. 1. 1 異步串口UART通信 12. 1. 2 同步串口SPI通信 12. 2 I2C總線 12. 2. 1 I2C總線協(xié)議 12. 2. 2 采用AT90LS8535的并行I/O口模擬I2C總線 12. 3 CAN總線 12. 3. 1 CAN總線的特點(diǎn) 12. 3. 2 CAN協(xié)議的信息格式 12. 3. 3 CAN控制器SJA1000 12. 3. 4 AT90LS8535與SJA1000的接口及編程 12. 4 AT90LS8535單片機(jī)與PC的串行通信 12. 4. 1 基于VC 6. 0的PC串口通信 12. 4. 2 應(yīng)用實(shí)例 第13章 系統(tǒng)設(shè)計(jì)中的程序處理方法 13. 1 數(shù)字濾波處理 13. 1. 1 平滑濾波 13. 1. 2 中值濾波 13. 1. 3 程序判斷濾波 13. 2 非線性處理 13. 2. 1 查表法 13. 2. 2 線性插值法
標(biāo)簽: AVR 單片機(jī) C語言編程 應(yīng)用實(shí)例
上傳時(shí)間: 2013-11-04
上傳用戶:元宵漢堡包
msp430單片機(jī)
標(biāo)簽: Erratasheet 14x x14 Device
上傳時(shí)間: 2013-10-19
上傳用戶:dick_sh
受控正弦信號(hào)發(fā)生器
標(biāo)簽: 正弦信號(hào)發(fā)生器
上傳時(shí)間: 2013-11-04
上傳用戶:止絮那夏
針對(duì)科研實(shí)驗(yàn)中對(duì)拉壓千斤頂加載過程控制的需要,采用ATmega128單片機(jī)控制步進(jìn)電機(jī)進(jìn)而實(shí)現(xiàn)對(duì)執(zhí)行系統(tǒng)的電動(dòng)泵站實(shí)行自動(dòng)控制。對(duì)力和位移的數(shù)據(jù)采集與處理及用步進(jìn)電機(jī)控制電動(dòng)泵站手柄的技術(shù)細(xì)節(jié)作了重點(diǎn)描述。通過單片機(jī)的A/D變換器對(duì)AMP放大模塊采集的電橋信號(hào)作量化處理,千斤頂?shù)牟倏厥直恢靡离妱?dòng)油泵閥門開啟的方向和大小作若干定位,單片機(jī)根據(jù)力或位移傳感器信號(hào),實(shí)時(shí)控制步進(jìn)電機(jī)驅(qū)動(dòng)手柄旋轉(zhuǎn)到相應(yīng)操控位置。 Abstract: This article describes the use of ATmega128 AVR microcontroller series of DBS electric pumping stations and QF100/200 separate twoway hydraulic jack to automate the process of manipulating the work of the technical content. Articles on force and displacement data acquisition and processing, and stepper motor control electric pump with the handle of the key technical details were described. Through the MCU’s A / D converter module is collected on the AMP amplification quantify the signal bridge, jack handle position control valve opening according to the direction of electric pumps for a number of positioning and size of the microcontroller based on force or displacement sensor signals, real-time control stepper motor drive control handle rotate to the appropriate location.
標(biāo)簽: AVR 單片機(jī) 閉環(huán)控制
上傳時(shí)間: 2014-01-16
上傳用戶:hasan2015
a_bit equ 20h ;個(gè)位數(shù)存放處 b_bit equ 21h ;十位數(shù)存放處 temp equ 22h ;計(jì)數(shù)器寄存器 star: mov temp,#0 ;初始化計(jì)數(shù)器 stlop: acall display inc temp mov a,temp cjne a,#100,next ;=100重來 mov temp,#0 next: ljmp stlop ;顯示子程序 display: mov a,temp ;將temp中的十六進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制 mov b,#10 ;10進(jìn)制/10=10進(jìn)制 div ab mov b_bit,a ;十位在a mov a_bit,b ;個(gè)位在b mov dptr,#numtab ;指定查表啟始地址 mov r0,#4 dpl1: mov r1,#250 ;顯示1000次 dplop: mov a,a_bit ;取個(gè)位數(shù) MOVC A,@A+DPTR ;查個(gè)位數(shù)的7段代碼 mov p0,a ;送出個(gè)位的7段代碼
標(biāo)簽: 直接驅(qū)動(dòng) 數(shù)碼管 計(jì)數(shù)器 程序
上傳時(shí)間: 2013-11-06
上傳用戶:lx9076
假定從8位AD中讀取數(shù)據(jù)(如果是更高位的AD可定義數(shù)據(jù)類型為int),子程序?yàn)間et_ad(); 1、限幅濾波法(又稱程序判斷濾波法) A、方法: 根據(jù)經(jīng)驗(yàn)判斷,確定兩次采樣允許的最大偏差值(設(shè)為A) 每次檢測(cè)到新值時(shí)判斷: 如果本次值與上次值之差<=A,則本次值有效 如果本次值與上次值之差>A,則本次值無效,放棄本次值,用上次值代替本次值 B、優(yōu)點(diǎn): 能有效克服因偶然因素引起的脈沖干擾 C、缺點(diǎn) 無法抑制那種周期性的干擾 平滑度差 /* A值可根據(jù)實(shí)際情況調(diào)整 value為有效值,new_value為當(dāng)前采樣值 濾波程序返回有效的實(shí)際值 */ #define A 10 char value; char filter() { char new_value; new_value = get_ad(); if ( ( new_value - value > A ) || ( value - new_value > A ) return value; return new_value; } 2、中位值濾波法 A、方法: 連續(xù)采樣N次(N取奇數(shù)) 把N次采樣值按大小排列 取中間值為本次有效值 B、優(yōu)點(diǎn): 能有效克服因偶然因素引起的波動(dòng)干擾 對(duì)溫度、液位的變化緩慢的被測(cè)參數(shù)有良好的濾波效果 C、缺點(diǎn): 對(duì)流量、速度等快速變化的參數(shù)不宜 /* N值可根據(jù)實(shí)際情況調(diào)整 排序采用冒泡法*/
上傳時(shí)間: 2014-12-26
上傳用戶:nanshan
以太網(wǎng)和CAN總線應(yīng)用廣泛,但由于其通信協(xié)議不同,兩種總線器件間無法進(jìn)行數(shù)據(jù)通信,因此,設(shè)計(jì)了基于CP2200與C8051F040的以太網(wǎng)總線與CAN總線接口轉(zhuǎn)換電路,并給出部分相關(guān)硬件電路與軟件設(shè)計(jì)分析。在保證數(shù)據(jù)完整和協(xié)議可靠的前提下,通過握手協(xié)議和簡(jiǎn)化的以太網(wǎng)協(xié)議,不僅實(shí)現(xiàn)了以太網(wǎng)數(shù)據(jù)與CAN數(shù)據(jù)的轉(zhuǎn)發(fā),同時(shí)還順利的解決了以太網(wǎng)的高速性與CAN的低速率沖突,以及兩者數(shù)據(jù)包之間的大小不同的矛盾。 Abstract: In the development of actual application, Ethernet and CAN bus are used very extensively. Owing to its various communication protocols, the communicating between two kinds of bus device can’t be carried out. Therefore, in order to solve this problem, the Ethernet-CAN bus interface circuit based on CP2200 and C8051F040 was designed in this paper, and part of the related hardware circuit and software design analysis were given. On the condition of data’s integrity and protocols’reliability, through the handshaking protocols and the simplified the Ethernet protocol, not only the data switching between CAN and Ethernet was realized, but also the differ in velocity and packet size was solved.
標(biāo)簽: C8051F040 CAN 以太網(wǎng) 轉(zhuǎn)換
上傳時(shí)間: 2013-10-15
上傳用戶:Ants
解答部分 PIC單片機(jī)指令的執(zhí)行過程遵循著一種全新哈佛總線體系結(jié)構(gòu)的原則,充分利用了計(jì)算機(jī)系統(tǒng)在程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器之間地址空間的相互獨(dú)立性,取指過程和執(zhí)行指令過程可以流水線操作同時(shí)進(jìn)行。因此,當(dāng)PIC時(shí)鐘頻率為4MHZ時(shí),執(zhí)行一條非轉(zhuǎn)移類指令需要4個(gè)系統(tǒng)時(shí)鐘周期,即1us,但其指令執(zhí)行的真實(shí)時(shí)間應(yīng)為2us(在執(zhí)行n—1條指令時(shí)取第n條指令,然后執(zhí)行第n條指令)。所以選項(xiàng)B正確.
上傳時(shí)間: 2013-12-10
上傳用戶:spman
總線:指能為多個(gè)部件服務(wù)的信息傳送線,在微機(jī)系統(tǒng)中各個(gè)部件通過總線相互通信。地址總線:它是傳送由CPU發(fā)出的用于選擇要訪問的器件或部件的地址。數(shù)據(jù)總線:它是用來傳送微型機(jī)系統(tǒng)內(nèi)的各種類型的數(shù)據(jù)。匯編:是能完成一定任務(wù)的機(jī)器指令的集合。二進(jìn)制數(shù):只有0和1兩個(gè)數(shù)碼,基數(shù)為二。16進(jìn)制數(shù):采用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F等16個(gè)數(shù)碼,其中A-F相應(yīng)的十進(jìn)數(shù)為10-15,基數(shù)是16。指令:是計(jì)算機(jī)所能執(zhí)行的一種基本操作的描述,是計(jì)算機(jī)軟件的基本單元。存儲(chǔ)器:用來存放計(jì)算機(jī)中的所有信息:包括程序、原始數(shù)據(jù)、運(yùn)算的中間結(jié)果及最終結(jié)果等。
標(biāo)簽: 單片機(jī)
上傳時(shí)間: 2013-11-14
上傳用戶:caoyuanyuan1818
基于幅移鍵控技術(shù)ASK(Amplitude-Shift Keying),以C8051F340單片機(jī)作為監(jiān)測(cè)終端控制器,C8051F330D單片機(jī)作為探測(cè)節(jié)點(diǎn)控制器,采用半雙工的通信方式,通過監(jiān)控終端和探測(cè)節(jié)點(diǎn)的無線收發(fā)電路,實(shí)現(xiàn)數(shù)據(jù)的雙向無線傳輸。收發(fā)電路采用直徑為0.8 mm的漆包線自行繞制成圓形空心線圈天線,天線直徑為(3.4±0.3)cm。試驗(yàn)表明,探測(cè)節(jié)點(diǎn)與監(jiān)測(cè)終端的通信距離為24 cm,通過橋接方式,節(jié)點(diǎn)收發(fā)功率為102 mW時(shí),節(jié)點(diǎn)間的通信距離可達(dá)20 cm。與傳統(tǒng)無線收發(fā)模塊相比,該無線收發(fā)電路在受體積、功耗、成本限制的場(chǎng)合有廣闊的應(yīng)用前景。 Abstract: Based on ASK technology and with the C8051F340 and C8051F330D MCU as the controller, using half-duplex communication mode, this paper achieves bi-directional data transfer. Transceiver circuit constituted by enameled wire which diameter is 0.8mm and wound into a diameter (3.4±0.3) cm circular hollow coil antenna. Tests show that the communication distance between detection and monitoring of the terminal is 24cm,the distance is up to 20cm between two nodes when using the manner of bridging and the node transceiver power is 102mW. Compared with the conventional wireless transceiver modules, the circuit has wide application prospect in small size, low cost and low power consumption and other characteristics.
標(biāo)簽: C8051F 單片機(jī) 無線收發(fā) 電路設(shè)計(jì)
上傳時(shí)間: 2013-10-19
上傳用戶:xz85592677
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1