永发信息网

AVR单片机 拥有暂停功能秒表

答案:2  悬赏:40  手机版
解决时间 2021-04-09 06:17
用AVR单片机做一个可以摁一下暂时,再摁一下恢复的功能的秒表,求程序
最佳答案
AVR的程序我也不会写,不过我能给你个思路,按键按下产生中断就可以了,在按一下恢复。
全部回答
avr单片机tc0快速pwm   pwm:脉冲宽度调制,图中t为脉冲周期,t为高电平时间,t与t的比值t/t称为占空比,脉宽调制指的是调整t的大小,即改变脉冲的占空比,占空比值越大,输出的电压越高。改变占空比就改变输出的电压,常用于实现d/a,调节电压或电流,改变电动机的转速等。   快速pwm模式:它的计数方式是tcnt0由0开始计数到255式,计数加1返回到0,然后继续加1计数,相对于相位pwm修正模式(由0计数到255,再从255计数到0),只有一个斜坡,因此pwm输出频率高。在快速pwm模式下,计数器的最大值决定了pwm的频率,而比较寄存器ocr0决定了占空比的大小。t/c0是8位计数器, 输出pwm的频率=系统时钟频率/(分频系数*255) 。   pwm产生过程:定时器启动后,当tnct0和ocr0的值相等时,输出引脚oc0(pb3)清0,当tnct0到255时oc0置位,在程序运行过程中改变ocr0中的数值,就改变了oc0输出的占空比。   //函数功能:控制pb3引脚上的发光二极管由亮到灭,再由灭到亮 (代码来自轻松玩转avr单片机c语言cd)   #include   #define uchar unsigned char   #define uint unsigned int   unsigned int count;      void delay_ms(uint xms)   {   int i,j;   for(i=0;i   { for(j=0;j<1140;j++) ; }   }      void port_init()   {   ddrb|=(1<   portb&=(0<   }      void timer0_init()   {   tccr0=(1<   // t/c0工作于快速pwm模式,不分频   //比较匹配时,oc0置位,记数到0xff时,清零oc0   ocr0=0; //比较匹配寄存器初值,   sreg=0x80; //使能全局中断   }      void main(void)   {   port_init();   timer0_init();   while(1)   {   for(count=0;count<256;count++) //ocr=0时,led最亮,然后逐渐变暗   {   ocr0=count; //比较匹配寄存器赋值   delay_ms(20); //延时一段时间,以观察效果   }   delay_ms(3000); // led最暗时,延时一段时间   for(count=255;count>0;count--) //ocr=255时,led最暗,然后逐渐变亮   {   ocr0= count;   delay_ms(20);   }   delay_ms(3000); //led最亮时,延时一段时间   }   }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小个子被一群壮汉围堵,想过去必须接受大个子
帝国时代3中 3种散兵的区别是什么?
电脑中病毒了怎么处理,怎样才能知道电脑中了
2011年2月份,蚌埠居民储蓄存款增加13.38亿元
分数估计刚刚过普本线的理科女,学什么专业比
送礼物红色礼盒和蓝色礼盒有什么区别?
人一天可以吃几个香蕉,一天最多可以吃多少根
被动物真菌感染用什么药,是单丝菌
某校九年级某班同学在研究“二战后欧美主要资
写的英语单词怎么写,草原的尽头的英文单词
是你路过我的倾城时光 什么意思
月亮巨蟹和太阳巨蟹怎么区分的?
身份证去什么地方冲磁
金融学的数学与工科数学谁更难
codol哪个区人多
推荐资讯
涤纶用日语怎么说,涤纶短纤维和涤纶长纤维英
蓟县邦均二中是在坟地上建盖
单选题已知函数f(x)=ax+1,存在x0∈(-1,1
悲惨世界摘抄段落,雨果<悲惨世界>好句摘抄
沧州小树林到明珠怎么去
新三国演义爱奇艺观看,新版三国演义为什么在
请问南京的高中(南师附中)有晚自习吗?知道的
下面哪个选项是"四书"的构成 a,大学,中庸,
汽车排量1.6l什么意思
洗澡时燃气热水器温度一直28怎么上不去
Look! That fellow is too sleepy to work. H
修改病句 《乡思》是宋朝诗人李觏写的。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?