要求
1、驱动直流电机
2、通过K1按键调节直流电机转速,并将转速等级显示在数码管上
效果
资源
工程文件压缩包
链接:https://pan.baidu.com/s/1kIA6OU1SniVyTORJPXJQsw
提取码:92pa
main函数
#include <REGX52.H>
#include "Key.H"
#include "Nixie.H"
#include "Timer0.H"
sbit Motor=P1^0; //电机速度调节接口
unsigned char Counter,Compare; //占空比调节
unsigned char KeyNum,Speed; //亮度控制
void main(){
Timer0Init();
while(1){
//独立按键模块
KeyNum=key();
if(KeyNum==1){
Speed++;
Speed%=6;
Compare=Speed*20;
}
}
}
//定时器中断函数模板 100us触发一次
void Timer0_Routine() interrupt 1 //中断1
{
TL0 = 0x9C; //设置定时初值
TH0 = 0xFF; //设置定时初值
//数码管显示模块
Num_Nixie(Speed,0);
//直流电机速度调节模块
Counter++;
Counter%=101;
if(Counter<Compare){
Motor=1; //给电机供电
}
else{
Motor=0; //不给电机供电
}
}