STC 89C51,单片机C语言程序,P10输出PWM方波

如题所述

第1个回答  2020-02-25
串口还是P10?我下面贴出P10输出PWM的产生代码,希望对你能有帮助。
#include
# t 10000/100 //修改10000更改周期 单位us T(us)=10^6/f(hz) 至少10000us
# Duty_cycle 10 ///更改此更改占空比 0-100
unsigned char percent=0;
sbit work_pin P1^0;
void Timer0Init() //定时器0初始化
{
TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。
TH0=0xff;
TL0=0x9c;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
}
void PWM_work() interrupt 1
{
TH0=0xff;
TL0=0c9c;
percent++;
if(percent<=Duty_cycle*t/100)
{
work_pin=1;
if(percent>t) percent=0;
}
else work_pin=0;
}
void main()
{
Timer0Init();
while(1);
}

STC 89C51,单片机C语言程序,P10输出PWM方波
串口还是P10?我下面贴出P10输出PWM的产生代码,希望对你能有帮助。include t 10000\/100 \/\/修改10000更改周期 单位us T(us)=10^6\/f(hz) 至少10000us Duty_cycle 10 \/\/\/更改此更改占空比 0-100 unsigned char percent=0;sbit work_pin P1^0;void Timer0Init() \/\/定时器0初始化 {...

求89C51单片机通过L298N控制两直流电机C语言程序 要求:通过3个光电...
转向要靠舵机输出pwm波形控制,最好是50hz 电机只是控制转速 控制占空比就可以了 void timer0() interrupt 1 { d_count++;if(d_count==d_num)duoji=0;if(d_count==480){ d_count=0;duoji=1;} TH0=(65536-10)\/256;TL0=(65536-10)%256;} ...

单片机菜鸟问个小白问题 求解释 C语言程序的。
主程序部分一个循环,首先检测什么按键被按下,按了就给这个全局数组赋值 检测完了之后是显示的代码。我只操作过2位数码管,8位光靠扫描不确定能不能显示得稳定(不闪烁),这个只能靠你了,反正是显示,显示的代码就是从我刚刚说的全局数组读数据,输出到数码管 完了回到循环开始,检测按键有没有被...

51单片机检测引脚电平变化的C语言程序
include <reg52.h> sbit LED0 = P0^0; sbit LED1 = P0^1; sbit LED2 = P0^2; sbit LED3 = P0^3;sbit LED4 = P0^4; sbit LED5 = P0^5; sbit LED6 = P0^6; sbit LED7 = P0^7;sbit LED10 = P1^0;void main() { LED0 = 0; LED1 = 0; LED2 = ...

请问用L293D 能驱动直流无刷电机么
可以的。虽然调速原理不同,但驱动电流都是梯形波(方波)。所以是可以用来驱动的。EN A(B) IN1(IN3) IN2(IN4) 电机运行情况 H H L 正转 H L H 反转 H 同IN2(IN4) 同IN1(IN3) 快速停止 L X X 停止 L293D采用16引脚DIP封装,其内部集成了双极型H-桥电路,所有的开量都...

相似回答
大家正在搜