《AVR單片機原理及應用》詳細介紹了ATMEL公司開發的ATmega8系列高速嵌入式單片機的硬件結構、工作原理、指令系統、接口電路、C編程實例,以及一些特殊功能的應用和設計,對讀者掌握和使用其他ATmega8系列的單片機具有極高的參考價值 AVR單片機原理及應用》具有較強的系統性和實用性,可作為有關工程技術人員和硬件工程師的應用手冊,亦可作為高等院校自動化、計算機、儀器儀表、電子等專業的教學參考書。 目錄 第1章 緒論 1.1 AVR單片機的主要特性 1.2 主流單片機系列產品比較 1.2.1 ATMEL公司的單片機 1.2.2 Mkcochip公司的單片機 1.2.3 Cygnal公司的單片機 第2章 AVR系統結構概況 2.1 AVR單片機ATmega8的總體結構 2.1.1 ATmega8特點 2.1.2 結構框圖 2.1.3 ATmega8單片機封裝與引腳 2.2 中央處理器 2.2.1 算術邏輯單元 2.2.2 指令執行時序 2.2.3 復位和中斷處理 2.3 ATmega8存儲器 2.3.1 Flash程序存儲器 2.3.2 SRAM 2.3.3 E2pROM 2.3.4 I/O寄存器 2.3.5 ATmega8的鎖定位、熔絲位、標識位和校正位 2.4 系統時鐘及其分配 2.4.1 時鐘源 2.4.2 外部晶振 2.4.3 外部低頻石英晶振 2.4.4 外部:RC振蕩器 2.4.5 可校準內部.RC振蕩器 2.4.6 外部時鐘源 2.4.7 異步定時器/計數器振蕩器 2.5 系統電源管理和休眠模式 2.5.1 MCU控制寄存器 2.5.2 空閑模式 2.5.3 ADC降噪模式 2.5.4 掉電模式 2.5.5 省電模式 2.5.6 等待模式 2.5.7 最小功耗 2.6 系統復位 2.6.1 復位源 2.6.2 MCU控制狀態寄存器——MCUCSR 2.6.3 內部參考電壓源 2.7 I/O端口 2.7.1 通用數字I/O端口 2.7.2 數字輸入使能和休眠模式 2.7.3 端口的第二功能 第3章 ATmega8指令系統 3.1 ATmega8匯編指令格式 3.1.1 匯編語言源文件 3.1.2 指令系統中使用的符號 3.1.3 ATmega8指令 3.1.4 匯編器偽指令 3.1.5 表達式 3.1.6 文件“M8def.inc” 3.2 尋址方式和尋址空間 3.3 算術和邏輯指令 3.3.1 加法指令 3.3.2 減法指令 3.3.3 取反碼指令 3.3.4 取補碼指令 3.3.5 比較指令 3.3.6 邏輯與指令 3.3.7 邏輯或指令 3.3.8 邏輯異或 3.3.9 乘法指令 3.4 轉移指令 3.4.1 無條件轉移指令 3.4.2 條件轉移指令 3.4.3 子程序調用和返回指令 3.5 數據傳送指令 3.5.1 直接尋址數據傳送指令 3.5.2 間接尋址數據傳送指令 3.5.3 從程序存儲器中取數裝入寄存器指令 3.5.4 寫程序存儲器指令 3.5.5 I/0端口數據傳送 3.5.6 堆棧操作指令 3.6 位操作和位測試指令 3.6.1 帶進位邏輯操作指令 3.6.2 位變量傳送指令 3.6.3 位變量修改指令 3.7 MCU控制指令 3.8 指令的應用 第4章 中斷系統 4.1 外部向量 4.2 外部中斷 4.3 中斷寄存器 第5章 自編程功能 5.1 引導加載技術 5.2 相關I/O寄存器 5.3 Flash程序存儲器的自編程 5.4 Flash自編程應用 第6章 定時器/計數器 6.1 定時器/計數器預定比例分頻器 6.2 8位定時器/計數器O(T/CO) 6.3 16位定時器/計數器1(T/C1) 6.3.1 T/C1的結構 6.3.2 T/C1的操作模式 6.3.3 T/121的計數時序 6.3.4 T/C1的寄存器 6.4 8位定時器/計數器2(T/C2) 6.4.1 T/C2的組成結構 6.4.2 T/C2的操作模式 6.4.3 T/C2的計數時序 6.4.4 T/02的寄存器 6.4.5 T/C2的異步操作 6.5 看門狗定時器 第7章 AVR單片機通信接口 7.1 AVR單片機串行接口 7.1.1 同步串行接口 7.1.2 通用串行接口 7.2 兩線串行TWT總線接口 7.2.1 TWT模塊概述 7.2.2 TWT寄存器描述 7.2.3 TWT總線的使用 7.2.4 多主機系統和仲裁 第8章 AVR單片機A/D轉換及模擬比較器 8.1 A/D轉換 8.1.1 A/D轉換概述 8.1.2 ADC噪聲抑制器 8.1.3 ADC有關的寄存器 8.2 AvR單片機模擬比較器 第9章 系統擴展技術 9.1 串行接口8位LED顯示驅動器MAX7219 9.1.1 概述 9.1.2 引腳功能及內部結構 9.1.3 操作說明 9.1.4 應用 9.1.5 軟件設計 9.2 AT24C系列兩線串行總線E2PPOM 9.2.1 概述 9.2.2 引腳功能及內部結構 9.2.3 操作說明 9.2.4 軟件設計 9.3 AT93C46——三線串行總線E2PPOM接口芯片 9.3.1 概述 9.3.2 內部結構及引腳功能 9.3.3 操作說明 9.3.4 軟件設計 9.4 串行12位的ADCTL543 9.4.1 概述 9.4.2 內部結構及引腳功能 9.4.3 操作說明 9.4.4 AD620放大器介紹 9.4.5 軟件設計 9.5 串行輸出16位ADCMAXl95 9.5.1 概述 9.5.2 引腳功能及內部結構 9.5.3 操作說明 9.5.4 應用 9.5.5 軟件設計 9.6 串行輸入DACTLC5615 9.6.1 概述 9.6.2 引腳功能及內部結構 9.6.3 操作說明 9.6.4 軟件設計 9.7 串行12位的DACTLC5618 9.7.1 概述 9.7.2 內部結構及引腳功能 9.7.3 操作說明 9.7.4 軟件設計 9.8 串行非易失性靜態RAMX24C44 9.8.1 概述 9.8.2 引腳功能及內部結構 9.8.3 操作說明 9.8.4 軟件設計 9.9 數據閃速存儲器AT45DB041B 9.9.1 概述 9.9.2 引腳功能及內部結構 9.9.3 操作說明 9.9.4 軟件設計 9.10 GM8164串行I/0擴展芯片 9.10.1 概述 9.10.2 引腳功能說明 9.10.3 操作說明 9.10.4 軟件設計 9.11 接口綜合實例 附錄1 ICCACR簡介 附錄2 ATmega8指令表 參考文獻
上傳時間: 2013-10-29
上傳用戶:lanwei
TLC2543是TI公司的12位串行模數轉換器,使用開關電容逐次逼近技術完成A/D轉換過程。由于是串行輸入結構,能夠節省51系列單片機I/O資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應用。 TLC2543的特點 (1)12位分辯率A/D轉換器; (2)在工作溫度范圍內10μs轉換時間; (3)11個模擬輸入通道; (4)3路內置自測試方式; (5)采樣率為66kbps; (6)線性誤差±1LSBmax; (7)有轉換結束輸出EOC; (8)具有單、雙極性輸出; (9)可編程的MSB或LSB前導; (10)可編程輸出數據長度。 TLC2543的引腳排列及說明 TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1 TLC2543電路圖和程序欣賞 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上傳時間: 2013-11-19
上傳用戶:shen1230
第一章:MCS-51系列單片機的存儲結構(4學時) ① 掌握內部數據寄存器RAM的結構、用途和特點; ② 程序存儲器ROM的結構特點,編程中應注意的問題; ③ 片內、外程序存儲器的確定方法。 .. 第二章:MCS-51單片機指令系統及時序(4學時) ① 111條指令的功能分類; ② 指令的尋址方式; ③ 偽指令及匯編語言源程序的格式; ④ 與指令的相關時序。 第三章:MCS-51單片機內部模塊的功能介紹(8學時) ① 內部并行I/O端口的結構特點、使用中的注意事項; ② 定時/計數器的2種工作方式、4種計數模式; ③ 串行接口的4種工作模式的設定及波特率的計算; ④ 中斷系統的結構、中斷響應的過程和編程方法。 .. 第四章:MCS-51單片機系統的擴展及應用(8學時); ① 系統擴展的幾種方法; ② 外部程序、數據存儲器的擴展; ③ A/D、D/A轉換器與單片機的接口電路及編程方法; ④ 鍵盤掃描/動態顯示接口電路; ⑤ 單片機的監控電路等。
上傳時間: 2013-10-17
上傳用戶:熊少鋒
概述 HT46R32/HT46R34是8位高性能精簡指令集單片機,專門為需要A/D轉換的產品而設計,例如傳感器信號輸入。內置放大器/比較器和PWM調制功能使得這款單片機處理模擬信號的能力更加強大。 低功耗、I/O使用靈活、可編程分頻器、計數器、振蕩類型選擇、多通道A/D轉換運算放大器/比較器、脈沖測量功能、暫停和喚醒功能,使這款單片機可以廣泛應用于傳感器的信號處理、馬達控制、工業控制、消費類產品、子系統控制等等。
上傳時間: 2013-11-13
上傳用戶:哈哈hah
針對材料試驗機等設備中要求測量或控制材料拉伸或壓縮的位移,一般采用光電軸角編碼器檢測位置信號,輸出正交編碼脈沖信號。若采用其他方法檢測位置信號,必然導致電路設計復雜,可靠性降低。因此,提出一種基于LS7266R1的電子式萬能材料試驗機設計方案。給出了試驗機中的控制器工作原理,LS7266R1與單片機的接口硬件設計,以及主程序軟件流程圖。巧妙地把力量傳感器,位移傳感器等機械運動狀態的壓力或拉力以及位置坐標,變成了電壓信號和電脈沖數字信號,供A/D測量和LS7266R1計數,從而實現了獨立完成材料試驗控制或通過PC機串口命令完成材料試驗控制。 Abstract: Aiming at the requirement that the displacement of the tension and compression always be tested and controlled in the equipement such as material testing machine. The position signal was tested by photoelectric axial angle coder. Therefore, the paper proposes the design of electronic universal testing machine design based on LS7266R1. If the position signal detected by other methods, will inevitably lead to the circuit design complexity, reliability decreased. The work theory of the controller, the hardware interface design between LS7266R1 and single chip, and the flow chart of main program, are presented in this paper. The signal of the compression or tension power and displacement at working, which tested by power sensor and displacement sensor especially, is changed into electric voltage and electric pulse numerical signals. And these signals can be tested by A/D and counted by LS7266R1. Finally the test of the material properties can be controlled by itself, or controlled by the COM command of PC.
上傳時間: 2013-11-02
上傳用戶:yl1140vista
摘要:該文介紹了PIC單片機與ICL7135將檢測到的溫度進行轉換處理后通過串行口傳送給上位機,應用于高精度的溫度檢測儀表中,并詳細闡述了設計的思路、工作原理以及遇到的一些問題、解決方法等。關鍵詞:PIC單片機;A/D轉換;溫度變送器
上傳時間: 2013-11-04
上傳用戶:落花無痕
文首先分析SIMADYN D中通信板CP1470的功能,然后介紹了一種以MPC860為核心的通信板的設計方案,詳細講解了功能分析、硬件系統設計、通信流程等內容。
上傳時間: 2013-11-16
上傳用戶:shawvi
介紹一種運用PIC16F84單片機實現與PC機串行通信的方法,并給出其硬件接口電路及通信源程序。關鍵詞 異步串行通信 發送與接收 VB4 Win95 串口查詢法 1 前言 美國Microchip公司的PIC16系列單片機是一種新型的CMOS工藝的8位單片機。其中,PIC16FXX單片機的程序存儲器為電可擦除閃速存儲器(flash),可多次修改程序,甚至可以在線編程。PIC16F83和PIC16F84片內數據存儲器除RAM外,還有64字節的EEPROM,可以當作一般的或非易失性的數據存儲器使用,簡單方便。它還具有片內上電復位、延時電路、看門狗電路等。另外,PIC16系列單片機功耗極低,因而是一種非常適合在各種便攜式設備中使用的高性價比的單片機,并已經得到了越來越廣泛的應用。 但是在許多需要大量計算的運用中,還必須借助微機的強大數據處理能力。這樣必須通過通信電路實現PIC單片機與微機間的可靠數據傳輸。有的PIC16單片機內并沒有提供串行口,所以串行通信必須通過自己設計的硬件電路和通信軟件來實現。 下面介紹用查詢法實現異步串行通訊的方法。同時給出了用PIC16F84單片機的兩個I/O口模擬2線串行口的硬件接口電路、程序流程框圖、單片機內通信程序以及微機內的通信程序等。2 硬件實現方法與電路 PIC16F84的程序存儲器由1K×14的閃速(flash)存儲器構成,它只有13條I/O口,1個定時器,為了盡量節省單片機的軟硬件資源,采用下述異步串行通信的實現方法。 如圖1所示,PIC16F84在4MHz時鐘下,采用半雙工方式,可實現9600波特率的異步串行數據通信,1位停止位,8位數據位,無校驗位。接收和發送以低位在先(一般模式),采用軟件延時。為節省篇幅,單片機內的通信程序中未提供任何握手協議,用戶可根據自己的需要在軟件中加入握手方式。
上傳時間: 2014-12-27
上傳用戶:偷心的海盜
P87LPC767 OTP 單片機原理 P87LPC767 是20 腳封裝的單片機適合于許多要求高集成度低成本的場合可以滿足許多方面的性能要求作為Philips 小型封裝系列中的一員P87LPC767 提供高速和低速的晶振和RC 振蕩方式可編程選擇具有較寬的操作電壓范圍可編程I/O 口線輸出模式選擇可選擇施密特觸發輸入LED 驅動輸出有內部看門狗定時器P87LPC767 采用80C51 加速處理器結構指令執行速度是標準80C51 MCU 的兩倍特性 操作頻率為20MHz 時除乘法和除法指令外加速80C51 指令執行時間為300600ns VDD=4.5 5.5V 時時鐘頻率可達20MHz VDD=2.7 4.5V 時時鐘頻率最大為10MHz 4 通道多路8 位A/D 轉換器在振蕩器頻率fosc=20MHz 時轉換時間為9.3μs 用于數字功能時操作電壓范圍為2.7 6.0V 4K 字節OTP 程序存儲器128 字節的RAM 32Byte 用戶代碼區可用來存放序列碼及設置參數 2 個16 位定時/計數器每一個定時器均可設置為溢出時觸發相應端口輸出 內含 2 個模擬比較器 全雙工通用異步接收/發送器UART 及I2C 通信接口 八個鍵盤中斷輸入另加2 路外部中斷輸入 4 個中斷優先級 看門狗定時器利用片內獨立振蕩器,無需外接元件,看門狗定時器溢出時間有8 種選擇 低電平復位使用片內上電復位時不需要外接元件 低電壓復位選擇預設的兩種電壓之一復位可在掉電時使系統安全關閉也可將其設置為一個中斷源 振蕩器失效檢測看門狗定時器具有獨立的片內振蕩器因此它可用于振蕩器的失效檢測 可配置的片內振蕩器及其頻率范圍和RC 振蕩器選項(用戶通過對EPROM 位編程選擇) 選擇RC 振蕩器時不需外接振蕩器件 可編程 I/O 口輸出模式準雙向口,開漏輸出,上拉和只有輸入功能可選擇施密特觸發輸入 所有口線均有20mA 的驅動能力 可控制口線輸出轉換速度以降低EMI,輸出最小上升時間約為10ns 最少 15 個I/O 口,選擇片內振蕩和片內復位時可多達18 個I/O 口 如果選擇片內振蕩及復位時,P87LPC767 僅需要連接電源線和地線 串行 EPROM 編程允許在線編程2 位EPROM 安全碼可防止程序被讀出 空閑和掉電兩種省電模式提供從掉電模式中喚醒功能低電平中斷輸入啟動運行典型的掉電電流為1μA 低功耗 4MHz-20MHz,1.7-10mA@3.3v 100KHz-4MHz,0.044-1.7mA@3.3v 20KHz-100KHz,9-44μA@3.3v 20 腳DIP 和SO 封裝
上傳時間: 2013-11-06
上傳用戶:xcy122677
單片機原理及綜合設計 第一章:MCS-51系列單片機的存儲結構(4學時)① 掌握內部數據寄存器RAM的結構、用途和特點;② 程序存儲器ROM的結構特點,編程中應注意的問題;③ 片內、外程序存儲器的確定方法。 第二章:MCS-51單片機指令系統及時序(4學時)① 111條指令的功能分類;② 指令的尋址方式;③ 偽指令及匯編語言源程序的格式;④ 與指令的相關時序。第三章:MCS-51單片機內部模塊的功能介紹(8學時)① 內部并行I/O端口的結構特點、使用中的注意事項;② 定時/計數器的2種工作方式、4種計數模式;③ 串行接口的4種工作模式的設定及波特率的計算;④ 中斷系統的結構、中斷響應的過程和編程方法。 第四章:MCS-51單片機系統的擴展及應用(8學時);① 系統擴展的幾種方法;② 外部程序、數據存儲器的擴展;③ A/D、D/A轉換器與單片機的接口電路及編程方法;④ 鍵盤掃描/動態顯示接口電路;⑤ 單片機的監控電路等。
上傳時間: 2013-10-28
上傳用戶:ydd3625