完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
***it a=P1^0; ***it b=P1^1; unsigned char speed0; void zz(); void speed(); void model1(unsigned char a); void main() { TMOD|=0x10; TH0=0xfe; TL0=0x0c; EA=1; ET0=1;//´ò¿ª¶¨Ê±Æ÷0 TR0=1; zz(); } void zz() { model1(a); b=0; 0; } void model1(unsigned char a) { while(1) { if(speed0>=100) //PWMÖÜÆÚΪ100*0.5ms { speed0=0; } else if(speed0< 50) //¸Ä±ä30Õâ¸öÖµ¿ÉÒԸıäÖ±Á÷µç»úµÄËÙ¶È { a=1; // b=1; } else { a=0; // b=0; } } } void speed(void) interrupt 1 { TH0 = 0xfe; TL0 = 0x0c; speed0++; } |
|
相关推荐
10个回答
|
|
如果是占空比50%的,定时器取反就可以了
|
|
|
|
不懂 期待楼主搞好后能分享一下经验
|
|
|
|
可以直接用延时写pwm,但是不准确
|
|
|
|
你用的什么芯片?如果你这么输出占空比的话很费资源的,现在好多的都带这个功能的,
|
|
|
|
|
|
|
|
|
|
|
|
哎 我也练习过一些非常基本的程序 但是感觉程序模式死板 稍微错一点就不行 |
|
|
|
#include
#define uint unsigned int ***it a=P1^0; ***it b=P1^1; unsigned char speed0; void zz(); void speed(); void model1(uint a); void main() { TMOD|=0x01; TH0=0xfe; TL0=0x0c; EA=1; ET0=1;//´ò¿ª¶¨Ê±Æ÷0 TR0=1; b=1; while(1) { model1(80); } } void model1(uint ) { if(speed0>=100) //PWMÖÜÆÚΪ100*0.5ms { speed0=0; } else if(speed0< a) //¸Ä±ä30Õâ¸öÖµ¿ÉÒԸıäÖ±Á÷µç»úµÄËÙ¶È { P1&=0xfe; // b=1; } else { P1|=0x01; // b=0; } } void speed(void) interrupt 1 { TH0 = 0xfe; TL0 = 0x0c; speed0++; } |
|
|
|
这是改好的程序,可以正常使用了 |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
151 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1043 浏览 0 评论
836 浏览 0 评论
874 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
869 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11824 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 00:37 , Processed in 0.760563 second(s), Total 89, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号