下载此文档

AVR精确延时.doc


文档分类:通信/电子 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
AVRstudio/***Author:ly*ForAVRmega8-bit*/#include<avr/>charii=0;/************************************延时Nus函数n=10:实际8us(8M)MEGA8:8M时:(n=1);1M时:实际延时17us(n=1)MEGA48:8M:n=;(n=1)1M:(n=1)*************************************/voiddelay_nus(unsignedintn){ //unsignedinti; asm("nop");//千万不可省略,或改成ii=8;(ii为全局变量,随便赋值给全局变量) while(--n>1); //for(i=1;i<n;i++);}/*********************************************延时1ms函数MEGA8:8M:(i<1656);1M:(i<198)MEGA48:8M:(i<1590)1M:延时998us(i<197)}**********************************************/voiddelay_1ms(void){ unsignedinti; for(i=0;i<198;i++)asm("nop");}/************************************其他延时(8M)Section1:若将i1、i定义为unsignedchar延时将缩短如:定义为char型时-->>i1=-->>i1=(定义为int):i1= Section3(定义为int): i1=(定义为int): i1= Section4=Section3>Section1>Section2(四种不同方式的语句)************************************/voiddelay1(unsignedinti1){/*******Section1********//* unsignedinti=0; asm("nop"); while(i<i1) i++;*/ /********Section2********/// for(;i1>0;i1--)asm("nop"); /********Section3********/// unsignedinti;// for(;i<i1;i++)asm("nop"); /********Section4********/ unsignedinti; while(i<i1) { i++;asm("nop"); }}intmain(void){DDRD=0xff;while(1){ PORTD|=1;//查看PD0电平变化 /*************短延时方式1(查看高电平持续时间)**************///mega48:1M时3us8

AVR精确延时 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zbfc1172
  • 文件大小23 KB
  • 时间2019-04-01
最近更新