欢迎来到天天文库
浏览记录
ID:20624111
大小:209.00 KB
页数:16页
时间:2018-10-14
《初识avr单片机(基本程序和proteus仿真)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.跑马灯#include/*延时函数*/voidDelay(){unsignedchara,b;for(a=1;a;a++)for(b=1;b;b++);}voidmain(){inti;DDRB=0xFF;/*定义B口输出*/while(1){PORTB=0x01;/*点亮一个LED灯*/Delay();for(i=0;i<7;i++){PORTB<<=1;/*被点亮的LED灯移位*/Delay();}}}PROTEUS仿真图:2.方波产生//ICC-AVRapplicationbuil
2、der:2011-7-1820:05:48//Target:M16//Crystal:7.3728Mhz#include#includevoidmain(void){PORTA=0x00;DDRA=0xFF;//初始化A口while(1){PORTA=0XFF;//A口置高电平DELAY(50);//高电平延时PORTA=0X00;//A口置低电平DELAY(50);//低电平延时}}//延时函数voidDELAY(unsignedinti){unsignedinta,b
3、;for(b=0;b#includevoidport_init(void){PORTB=0xFF;DDRB=0xFF;PORTD=0xFF;DDRD=0x00;}#pragmainterrupt_handlerint0_i
4、sr:2voidint0_isr(void){PORTB=~PORTB;//externalinteruptonINT0}//callthisroutinetoinitializeallperipheralsvoidinit_devices(void){//stoperrantinterruptsuntilsetupCLI();//disableallinterruptsport_init();MCUCR=0x0A;GICR=0x40;TIMSK=0x00;//timerinterruptsourcesSEI(
5、);//re-enableinterrupts//allperipheralsarenowinitialized}voidmain(void){init_devices();while(1){}}PROTEUS仿真图:4.定时器中断//ICC-AVRapplicationbuilder:2011-7-10AM10:41:53//Target:M16//Crystal:7.3728Mhz#include#includeunsignedinti=0;voidport_init
6、(void){PORTB=0x01;DDRB=0xFF;}//TIMER0initialize-prescale:1024//WGM:Normal//desiredvalue:10mSec//actualvalue:10.000mSec(0.0%)voidtimer0_init(void){TCCR0=0x00;//stopTCNT0=0xB8;//setcountOCR0=0x48;//setcompareTCCR0=0x05;//starttimer}#pragmainterrupt_handlertime
7、r0_ovf_isr:10voidtimer0_ovf_isr(void){i++;if(i==100){PORTB<<=1;i=0;if(PORTB==0X00){PORTB=0X01;}}TCNT0=0xB8;//reloadcountervalue}//callthisroutinetoinitializeallperipheralsvoidinit_devices(void){//stoperrantinterruptsuntilsetupCLI();//disableallinterruptsport
8、_init();timer0_init();MCUCR=0x00;GICR=0x00;TIMSK=0x01;//timerinterruptsourcesSEI();//re-enableinterrupts//allperipheralsarenowinitialized}voidmain(){init_devices();while(1){}}PROTEUS仿真图:5.AD转换//
此文档下载收益归作者所有