完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include "reg52.h"
typedef unsigned int u16; typedef unsigned char u8; ***it PWM=P2^1; bit DIR; u16 count,value,timer1; void Timer1Init() { TMOD|=0X10; TH1 = 0xFF; TL1 = 0xff; ET1=1;//打开定时器1中断允许 EA=1;//打开总中断 TR1=1;//打开定时器 } void main() { Timer1Init(); while(1) { if(count>3000) //count的数值由原来的200改为3000,value的数值由1000改为5000, { //之后现象就如我在题目中所说的一样,为什么会这样? count=0; //PWM的周期和占空比的数值到底应该根据什么条件进行合理的设置? if(DIR==1) { value++; } if(DIR==0) { value--; } } if(value==5000) { DIR=0; } if(value==0) { DIR=1; } if(timer1>5000) { timer1=0; } if(timer1 PWM=1; } else { PWM=0; } } } void Time1(void) interrupt 3 { TH1 = 0xFF; TL1 = 0xff; //1us timer1++; count++; } |
|
相关推荐
3个回答
|
|
if(count>3000)把这值个改小点。
|
|
|
|
时间设置的过快
|
|
|
|
快速熄灭,点亮;3楼说明了原因,2楼说明了方法。 楼主温习一下定时中的知识,想出来原因,就会有大收获啦~
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
219 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
574 浏览 0 评论
684 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1074 浏览 0 评论
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12048 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 18:57 , Processed in 0.648842 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号