历史上的今天
今天是:2024年09月26日(星期四)
2019年09月26日 | 51单片机pwm信号模拟
2019-09-26 来源:eefocus
适用所有单片机,晶振为11.0592M
#include "reg52.h"
int pwm1=1; 第一路pwm占空比
int pwm2=60; 第二路pwm占空比
sbit led1=P1^0;
sbit led2=P1^3;
sbit md1=P1^0;
void pwm_init()
{
TMOD|=0x01;
TH0=(65536-100)/256; 约1Kmz
TL0=(65536-100)%256;
ET0=1;
EA=1;
TR0=1;
}
void pwm_timer()interrupt 1
{
static int c1=0,c2=0;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
if(c1 led1=0; } else{ led1=1; } if(c1==100){c1=0;} c1++; if(c2 led2=1; } else{ led2=0; } if(c2==100){c2=0;} c2++; } void delay(int n) { int z; while(n--){ z=110; while(z--); } } void delay1() { } void main() { pwm_init(); while(1) { delay(100); pwm1+=10; pwm2+=1; if(pwm1>100)pwm1=1; if(pwm2>100)pwm2=1; } }
上一篇:51单片机寄存器介绍
下一篇:课程设计题十四:双机通信
史海拾趣
|
☆★☆★☆★【电子设计】资料收藏区(2012.03更新)!!!☆★☆★☆★ 作为新的版主,为了活跃此版,我会努力地!!!虽然没有机会再参加下届的全国大学生电子设计竞赛了,但是我希望给下一届的朋友们留下一点东西,希望你们能够取得好成绩!也衷心希望大家能够支持我哈! 在此谨把我在今年参加大赛时候收集的自认为一些比 ...… 查看全部问答> |
|
程序如下:process (clk)begin if rising_edge (clk) then S_1<=S_1 +1; O_1<=S_1; else null; end if;end process;其中,S_1是 ...… 查看全部问答> |
|
由于有一个项目涉及到硬件开发的东西,现寻找武汉市(最好在武昌这边)有丰富的硬件开发经验的人进行项目合作,具体要求如下: 1、熟悉ARM7及单片机开发; 2、有设计PCB板的能力,最后设计过ARM板; 3、会编写相关驱动程序,如开关量输出程序; ...… 查看全部问答> |
|
makefile文件有这样一句,我想事先看看APP_PRJ是什么内容,应该怎么做,多谢 APP_LIB = $(APP_PRJ)/lib… 查看全部问答> |
|
我建了一个对话框 对话框上有两个编辑框 一个用来编辑写入文件的内容 一个用来显示读出文件的内容 还有两个按钮 一个按钮用来执行写入操作 一个按钮用来执行读取操作 —————————————————————————————— 写入按 ...… 查看全部问答> |
|
一、该函数中的第二个参数在MS自带的Print驱动中设为DefaultTransferComplete,也就是SetEvent,但是之后没有见WaitForSingleObject; 二、.\\WINCE500\\PUBLIC\\COMMON\\OAK\\DRIVERS\\USB\\USBD\\usbddrv.cpp中的IssueBulkTransfer中在异步模式 ...… 查看全部问答> |
|
比如:我拔通10000号,使用 ATD10000;\\r 拔通后,不知道如何继续拔\"1\"键,继续使用ATD1;\\r没有作用。请大家赐教! … 查看全部问答> |




