征服嵌入式系列之AVR单片机笔记.doc_第1页
征服嵌入式系列之AVR单片机笔记.doc_第2页
征服嵌入式系列之AVR单片机笔记.doc_第3页
征服嵌入式系列之AVR单片机笔记.doc_第4页
征服嵌入式系列之AVR单片机笔记.doc_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录目录 第一课 不同类型单片机开发的比较第一课 不同类型单片机开发的比较 1 第二课 第二课 AVR 单片机的优点单片机的优点 3 第三课 第三课 AVR 单片机头文件简介与使用单片机头文件简介与使用 6 第四课 第四课 AVR 单片机单片机 I O 口的口的 4 种位操作方法种位操作方法 8 第五课 第五课 AVR 熔丝位简介熔丝位简介 11 第六课 如何把第六课 如何把 51 单片机的程序移植到单片机的程序移植到 AVR 单片机单片机 14 第七课 第七课 AVR 单片机中断的原理和使用单片机中断的原理和使用 15 第八课 第八课 AVR 单片机片内单片机片内 EEPROM 的原理和使用的原理和使用 22 第九课 第九课 AVR 单片机片内单片机片内 ADC 的原理和使用的原理和使用 27 第十课 第十课 AVR 片内定时器的原理和使用方法片内定时器的原理和使用方法 36 第十一课 第十一课 AVR 单片机单片机 TWI 总线的原理总线的原理 48 第十二课 第十二课 AVR 单片机单片机 USART 通信接口的原理和使用通信接口的原理和使用 55 第十三课 第十三课 AVR 单片机驱动单片机驱动 LCD1602 液晶显示器液晶显示器 65 第十四课 第十四课 AVR 单片机驱动单片机驱动 DS18B20 73 第十五课 第十五课 AVR 单片机驱动单片机驱动 DS1302 80 第十六课 不同型号的第十六课 不同型号的 AVR 单片机之间程序的移植方法单片机之间程序的移植方法 88 ATmega16 第一课 不同类型单片机开发的比较第一课 不同类型单片机开发的比较 第二课 第二课 AVR 单片机的优点单片机的优点 注意 注意 上面的上面的 DDB7 应该是应该是 DDRB7 点亮第一个点亮第一个 LED 灯灯 include include void main DDRB 0 xff PORTB 0 xff DDRA 0 xff PORTA 0 xfe while 1 第三课 第三课 AVR 单片机头文件简介与使用单片机头文件简介与使用 几种操作方法的比较几种操作方法的比较 include include void main DDRB 0 xff PORTB 0 xff DDRA 0 xff PORTA 0 PORTA 1 2 PORTA BIT 3 PORTA BIT PORTA 第四课 第四课 AVR 单片机单片机 I O 口的口的 4 种位操作方法种位操作方法 闪烁灯闪烁灯 include include void delay unsigned char z unsigned char x y for x 0 x z x for y 0 y 110 y void main DDRB 0 xff PORTB 0 xff DDRA 0 xff PORTA 0 xff while 1 PORTA delay 500 PORTA 0 x80 delay 500 用按键控制灯的闪烁用按键控制灯的闪烁 include include void main DDRB 0 xff PORTB 0 xff DDRA 0 xff PORTA 0 xff DDRD 0 PORTD 0 xff PD 口设置为带上拉的输入口设置为带上拉的输入 while 1 if PIND else PORTA void delay uint x y for x 0 x 1000 x for y 0 y 500 y void init DDRB BIT 6 PORTB BIT 6 DDRA 0 xff PORTA 0 xff MCUCR 0 x02 设置外部中断设置外部中断 0 的触发方式的触发方式 GICR BIT 6 使能外部中断使能外部中断 DDRD PORTD BIT 2 设置为带上拉电阻的输入设置为带上拉电阻的输入 SREG BIT 7 void main init while 1 PORTA BIT 0 delay PORTA delay pragma interrupt handler int0 isr 2 void int0 isr PORTA 0 delay delay delay PORTA 0 xff 第八课 第八课 AVR 单片机片内单片机片内 EEPROM 的原理和使用的原理和使用 include include define uchar unsigned char define uint unsigned int uchar code smg du 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x77 0 x7c 0 x39 0 x5e 0 x79 0 x71 ucahr code smg we 0 x08 0 x18 0 x28 0 x38 0 x48 0 x58 0 x68 0 x78 位选是用位选是用 74HC138 译码器控制的译码器控制的 uchar code table 0 0 0 0 0 0 0 0 void delay uint x for x 0 x 300 x void init DDRB 0 xff PORTB 0 DDRC 0 x78 01111000 PORTC 0 void display ucahr p uchar i for i 0 i 8 i PORTB smg du p p PORTC smg we i delay void EEPROM write uint addr uint adata SREG 关闭总中断关闭总中断 while EECR EEAR addr EEDR adata EECR BIT EEMWE EECR BIT EEWE SREG BIT 7 uchar EEPROM read uchar addr uchar edata SREG while EECR EEAR addr EECR BIT EERE edata EEDR return edata void main uchar i init i EEPROM read 2 i EEPROM write 2 i table 0 i while 1 display table 第九课 第九课 AVR 单片机片内单片机片内 ADC 的原理和使用的原理和使用 include include define uchar unsigned char define uint unsigned int uchar code smg du 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x77 0 x7c 0 x39 0 x5e 0 x79 0 x71 ucahr code smg we 0 x08 0 x18 0 x28 0 x38 0 x48 0 x58 0 x68 0 x78 位选是用位选是用 74HC138 控制的控制的 uchar code table 0 0 0 0 0 0 0 0 void delay uint x for x 0 x 300 x void init DDRB 0 xff PORTB 0 DDRC 0 x78 01111000 PORTC 0 void display uchar p uchar i for i 0 i 8 i PORTB smg du p p PORTC smg we i delay void adc init DDRA PORTA ADMUX 0 x40 ADCSRA 0 xe8 SFIOR 0 x00 SREG BIT 7 void data pro uint temp l uint temp h uint temp1 temp2 temp1 temp h 256 temp2 temp1 temp l table 3 temp2 1000 temp1 temp2 1000 table 2 temp1 100 temp2 temp1 100 table 1 temp2 10 table 0 temp2 10 void main init adc init while 1 pragma interrupt handler adc isr 15 void adc isr uint adc l adc h adc l ADCL adc h ADCH display table 第十课 第十课 AVR 片内定时器的原理和使用方法片内定时器的原理和使用方法 用普通模式实现秒表用普通模式实现秒表 include include define uchar unsigned char define uint unsigned int uchar code smg du 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x77 0 x7c 0 x39 0 x5e 0 x79 0 x71 ucahr code smg we 0 x08 0 x18 0 x28 0 x38 0 x48 0 x58 0 x68 0 x78 位选是用位选是用 74HC138 控制的控制的 uchar code table 0 0 0 0 0 0 0 0 uchar num void delay uint x for x 0 x 300 x void init DDRB 0 xff PORTB 0 DDRC 0 x78 01111000 PORTC 0 void display ucahr p uchar i for i 0 i 8 i PORTB smg du p p PORTC smg we i delay void timer1 init TCCR1B 0 x04 256 分频分频 TCNT1H 0 x8f TCNT1L 0 x80 TIMSK BIT 2 SREG BIT 7 void main init timer1 init while 1 display table pragma interrupt handler timer1 isr 9 void timer1 isr num if num 60 num 0 table 0 num 10 table 1 num 10 TCNT1H 0 x8f TCNT1L 0 x80 用用 CTC 模式输出模式输出 1KHZ 的方波的方波 include include define uchar unsigned char define uint unsigned int void main DDRD 0 x30 TCCR1B 0 x09 TCCR1A 0 x50 选择模式选择模式 4 OCR1A 3685 include include define uchar unsigned char define uint unsigned int void main DDRD 0 x30 TCCR1A 0 x63 TCCR1B 0 x1b 选用模式选用模式 15 OCR1A 575 频率为频率为 200HZ OCR1B 115 占空比为占空比为 1 5 第十一课 第十一课 AVR 单片机单片机 TWI 总线的原理总线的原理 第十二课 第十二课 AVR 单片机单片机 USART 通信接口的原理和使用通信接口的原理和使用 include include define uchar unsigned char define uint unsigned int define fosc 7372800 uchar rdata flag void uart init uint baud uint a UCSRC 0 x86 a fosc 16 baud 1 UBRRL a 256 UBRRH a 256 UCSRB 0 x98 SREG BIT 7 void uart send uchar data while UCSRA UDR data while UCSRA UCSRA BIT 6 pragma interrupt handler uartrece isr 12 void uarterce isr UCSRB rdata UDR flag 1 UCSRB BIT 7 void main uchar i h uart init 9600 uart send i while 1 if flag flag 0 uart send rdata 第十三课 第十三课 AVR 单片机驱动单片机驱动 LCD1602 液晶显示器液晶显示器 include include define uchar unsigned char define uint unsigned int define RS CLR PORTC uchar table2 abcdefg void delay nms uint nms 延时延时 n 个个 ms 具体函数自己写 具体函数自己写 void write com uchar com RS SET RW SET E CLR RS CLR RW CLR PORTA com delay nms 1 延时延时 1ms E SET delsy nms 1 E CLR void write data uchar data RS CLR RW SET E CLR RS SET RW CLR PORTA data delay nms 1 延时延时 1ms E SET delsy nms 1 E CLR void init DDRA 0 xff PORTA 0 RS OUT E OUT RW OUT delay nms 20 write com 0 x38 delay nms 5 write com 0 x38 delay nms 5 write com 0 x38 write com 0 x38 write com 0 x08 write com 0 x01 write com 0 x06 write com 0 x0c void main uchar i init write com 0 x80 for i 0 i 16 i write data table1 i delay nms 2 write com 0 x80 0 x40 for i 0 i 16 i write data table2 i write com 0 x80 while 1 第十四课 第十四课 AVR 单片机驱动单片机驱动 DS18B20 注意 注意 DS18B20 对时间要求非常高对时间要求非常高 延时函数一定要精确延时函数一定要精确 include include define uchar unsigned char define uint unsigned int define DQ IN DDRC ucahr code smg we 0 x08 0 x18 0 x28 0 x38 0 x48 0 x58 0 x68 0 x78 位选是用位选是用 74HC138 控制的控制的 uchar code table 0 0 0 0 0 0 0 0 void delay uint x for x 0 x 300 x void init DDRB 0 xff PORTB 0 DDRC 0 x78 01111000 PORTC 0 void display uchar p uchar i for i 0 i 8 i PORTB smg du p p PORTC smg we i if i 1 PORTB BIT 7 else PORTB delay void delay nus uint nms 延时延时 n 个个 us 具体函数自己写 具体函数自己写 uchar ds18b20 reset uchar i DQ OUT DQ CLR delay nus 500 DQ SET delay nus 100 DQ IN i DQ R delay nus 500 return i void ds18b20 write byte uchar value uchar i for i 0 i 1 uchar ds18b20 read byte uchar i value for i 0 i 1 DQ OUT DQ CLR delay nus 10 DQ SET DQ IN if DQ R value 0 x80 delay nus 50 return value void data pro uint temp uint a table 2 temp 100 a temp 100 table 1 a 10 table 0 a 10 void main uchar i j k uint temp init while 1 ds18b20 reset ds18b20 write byte 0 xcc ds18b20 write byte 0 x44 delay nus 2000 ds18b20 reset ds18b20 write byte 0 xcc ds18b20 write byte 0 xbe i ds18b20 read byte 低字节低字节 j ds18b20 read byte 高字节高字节 temp j 256 i 26 8 temp temp 0 625 268 data pro temp for k 0 k 20 k display table 第十五课 第十五课 AVR 单片机驱动单片机驱动 DS1302 include include define uchar unsigned char define uint unsigned int define SCK CLR PORTB ucahr code smg we 0 x08 0 x18 0 x28 0 x38 0 x48 0 x58 0 x68 0 x78 位选是用位选是用 74HC138 控制的控制的 uchar code table 0 0 0 0 0 0 0 0 uchar time data 7 10 6 4 17 11 59 35 年周月日时分秒年周月日时分秒 uchar write add 7 0 x8c 0 x8a 0 x88 0 x86 0 x84 0 x82 0 x80 uchar read add 7 0 x8d 0 x8b 0 x89 0 x87 0 x85 0 x83 0 x81 void delay uint x for x 0 x 300 x void init DDRB 0 xff PORTB 0 DDRC 0 x78 01111000 PORTC 0 void display uchar p uchar i for i 0 i 8 i PORTB smg du p p PORTC smg we i delay void delay nus uint nms 延时延时 n 个个 us 具体函数自己写 具体函数自己写 void write ds1302 byte uchar dat uchar i IO OUT for i 0 i 1 uchar read ds1302 uc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论