电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

简易AVR单片机教程VIP免费

简易AVR单片机教程_第1页
1/41
简易AVR单片机教程_第2页
2/41
简易AVR单片机教程_第3页
3/41
简易单片机教程ICCAVR的使用参考程序代码1模拟比较器#include#includevoidmain(){unsignedcharmid;DDRC=0xFF;PORTC=0xFF;ACSR=0x00;//启动模拟比较器参考电压接比较器正端中断屏蔽触发定时计数器1的捕获关闭while(1){mid=ACSR&0x20;//读出模拟比较器的输出值if(mid==0)PORTC|=BIT(0);//PC0=1elsePORTC&=~BIT(0);//PC0=0}}2彩灯(软件例子程序)/*---------------------------------Function:流水灯Author:CWBData:2010-05-05--------------------------------*/#includevoiddelay_ms(intms){intm,n;for(m=0;m<=ms;m++)for(n=0;n<=450;n++);}voidmain(){inti,j,k;DDRA=0xFF;DDRB=0xFF;DDRC=0xFF;DDRD=0xFF;PORTA=0x00;PORTB=0x00;PORTC=0x00;PORTD=0x00;while(1){j=0x01;for(i=0;i<=6;i++){PORTA=j;PORTB=j;PORTD=j;delay_ms(600);j=(j<<1);}for(i=0;i<=6;i++){PORTA=j;PORTB=j;PORTD=j;delay_ms(600);j=(j>>1);}}}3、定时计数器TC2#include#pragmainterrupt_handlerMyCounter:20staticintiCounter=0;voidMyCounter(void){if(iCounter<=10){//PORTA^=0xFF;//~PINA;//0xFF;//iCounter++;//iCounter=0;}elseiCounter=0;}voidmain(void){DDRA=0xFF;PORTA=0x00;//PORTB=0xFF;DDRB=0xFF;TCCR0=0x1B;//PWM相位可调,T/C0与输出引脚断开,CLK/64分频//00011011TCNT0=0x00;//从0开始计数OCR0=0x3E;//达到63时,比较匹配发生TIMSK=0x02;//中断屏蔽寄存器T/C0输出匹配中断使能#asm("sei");//总中断开放SREG|=0x80;while(1){//inti,j;//for(i=0;i<1000;i++)//for(j=0;j<400;j++);if(iCounter==8)PORTA^=0xFF;};}4、计数器TC0#include#pragmainterrupt_handlerMyCounter:20staticintiCounter=0;voidMyCounter(void){if(iCounter<=10){//PORTA^=0xFF;//~PINA;//0xFF;//iCounter++;//iCounter=0;}elseiCounter=0;}voidmain(void){DDRA=0xFF;PORTA=0x00;//PORTB=0xFF;DDRB=0xFF;TCCR0=0x1B;//PWM相位可调,T/C0与输出引脚断开,CLK/64分频//00011011TCNT0=0x00;//从0开始计数OCR0=0x3E;//达到63时,比较匹配发生TIMSK=0x02;//中断屏蔽寄存器T/C0输出匹配中断使能#asm('sei')/********************************************//不明原因,C中嵌入汇编不能用**********************************************/SREG|=0x80;//总中断开放SREG|=0x80;while(1){inti,j;//for(i=0;i<1000;i++)//for(j=0;j<400;j++);if(iCounter==8){PORTA^=0xFF;for(i=0;i<1000;i++)for(j=0;j<400;j++);}};}5、EEPROM/*访问单片机资源EEPROM*/#include#definesei()SREG|=0X80#definecli()SREG&=0X7F//EEPROM控制寄存器位定义#defineEERE0//READ#defineEEWE1//WRITE#defineEEMWE2//总写入#defineWWRIE3//中断/*端口初始化*/void_init(void){DDRA=0XFF;PORTA=0XFF;}/*EEPROM读程序*/charEEPROM_R(unsignedintEEAdd){while(EECR&(1</*******************程序还有问题要解决**************************/voidmain(){DDRB=0x08;PORTB=0x00;//PB3(OC0)CONFIGoutputTCCR0=0x1B;//64分频pwm比较匹配发生oc0触发TCNT0=0x00;OCR0=0x80;//RECTWAVEASSR=0x00;//同步方式///T/C2目的定时1MSTCCR2=0x0B;//32fenpinCTC与输出引脚断开TCNT2=0x00;//从零开始记数OCR2=0x7D;//0b01111101~~125TCCR1A=0x00;TCCR1B=0x06;//时钟外部T1引酵下降驱动一般模式TCNT1H=0x00;TCNT1L=0x00;//从零开始记数IC...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

简易AVR单片机教程

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部