功能:
控制电机加速、减速、反向、指示灯显示功能。
#include "key.h"
#include "delay.h"
#include "main.h"
// extern unsigned char key_flag=0;
extern unsigned char key_flag;
extern unsigned char key_value;
//外部中断初始化
void Int0_Init (void){
EA=1;
IT0=1; //下降沿触发
}
//外部中断函数
void int0() interrupt 0{
key_flag=1;
// IE=0x80; //屏蔽中断
P1=0xff;
key_value=P1;
// IE=0x81; //开启中断
}
#include "delay.h"
void Delay_ms(unsigned int n)
{
unsigned int i,j;
for(i=0;i<n;i++)
for(j=0;j<123;j++);
}
nclude "key.h"
#include "delay.h"
#include "motor.h"
// #include "picture.h"
//定义
unsigned char key_flag;
unsigned char key_value;
unsigned char duty=5;
unsigned char t;
void main(){
// EA=1;
// IE=0x81; // 允许INT0中断
// IT0=1; //下降沿触发
key_flag=0;
Time0_Init(); //初始化定时器0
Time1_Init(); //初始化计数器1
Int0_Init(); //初始化外部中断
OLED_Init(); //初始化OLED
OLED_Clear(); //清屏
while(1){
// OLED_ShowString(0,0,"rpm:",14);
// //
// OLED_ShowNum(40,5,t,3,14);
//
OLED_ShowString(64,0,"duty: 0%",14);
//
OLED_ShowNum(104,0,duty,1,14);
//
//按键判断
if (key_flag==1){
switch (key_value){
case 0xfe: speed_up(); //加速11111110
break;
case 0xfd: speed_cut(); //减速11111101
break;
资料借鉴于此 纷传
阅读全文