run.c

来自「单片机直流电机PWM控制实验(电机自备)」· C语言 代码 · 共 38 行

C
38
字号
#define uchar unsigned char
#define uint unsigned int 
#define ulong unsigned long 
#include <reg52.h>
sbit P00 = P0^0; //控制电机
sbit K1= P3^5; //按键 
uchar scale;//用于保存占空比的输出0的时间份额,总共10份 
//模拟PWM输出控制10个等级 
void main(void) // 主程序 
{ 
uint n; 
RCAP2H =0xF3; //赋T2的预置值,溢出1次是1/1200秒钟 
RCAP2L =0x98; 
TR2=1; //启动定时器 
ET2=1; //打开定时器2中断 
EA=1; //打开总中断 
while(1) //程序循环 
{ ;
for(n=0;n<50000;n++); //每过一会儿就自动加一个档次的亮度 
scale++; 
if(scale==10)scale=0; 
} 
} 
//1/1200秒定时器2中断 
timer2() interrupt 5 
{ 
static uchar tt; //tt用来保存当前时间在一秒中的比例位置 
TF2=0; 
tt++; 
if(tt==10) //每1/120秒整开始输出低电平 
{ 
tt=0; 
if(scale!=0)
P00=0; 
} 
if(scale==tt) //按照当前占空比切换输出高电平 
P00=1; 
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?