资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
#include #include #define uchar unsigned char #define uint unsigned int/*L7010r 接口定义*/ sbit MOTOR_A_2=P14; /正转sbit MOTOR_A_1=P15; /反转sbit EN_MOTOR_A =P34; sbit k1=P13; /定义 k1 为 p1.5 口sbit k2=P12; /定义 k2 为 p3.1 口sbit k3=P11; /定义 k3 为 p3.2 口sbit k4=P10; /定义 k4 为 p3.3 口sbit rs=P20; /LCD 的数据/ 命令选择端sbit rw=P21; /LCD 的读写选择端sbit lcdcs=P22; /LCD 的使能信号端sbit warning=P31; /蜂鸣器端uchar e=0;uchar T=0; /定时标记uchar W=0; /脉宽值 0100uchar A=0; /方向标记 0,1uchar k=0; /按键标记uchar i=0; /计数变量uint b,z,count,zhuan,msec; /定义参数uchar display= speed= r/sec; /定义显示参数/sbit rs=P27; /LCD 的数据 /命令选择端/sbit rw=P26; /LCD 的读写选择端/sbit lcdcs=P25; /LCD 的使能信号端/sbit warning=P31; /蜂鸣器端uint b,z,count,zhuan,msec; /定义参数/uchar display= speed= r/sec; /定义显示参数void delay(uint ms); /固定函数声明 /*-毫秒延时-*/void delay(uint ms)uint b,j; /为延时引入 i,j 两参数for (j=0;jW)EN_MOTOR_A =0;if(e=1)MOTOR_A_2=0;else if(e=0)MOTOR_A_1=0;else EN_MOTOR_A =1;MOTOR_A_1=1; MOTOR_A_2=1;if(T=100)T=0; /*-向 LCD1602 写命令-*/void write_command(uchar command)rs=0; /选择写命令P0=command; /向 LCD 写命令lcdcs=1; /信号使能端高电平lcdcs=0; /信号使能端低电平/*-*/*-向 LCD1602 写数据-*/void write_data(uchar data0)rs=1; /选着写数据P0=data0; /向 LCD 写数据lcdcs=1; /信号使能端高电平lcdcs=0; /信号使能端低电平/*-LCD 显示-*/void displaytolcd()write_command(0x80); /向 LCD1602 写命令 80Hfor (b=0;b5000) /高于 5000 转打开警告warning=1;if(zhuan=5000) /低于 5000 转关闭警告warning=0;/*独立按键检测*/void key(void) /按键判断程序 if(k1=0) /按键 1 按下while(k1=0); /按键 1 抬起if(W=100) /如果脉宽为 100W=0; /脉宽置 0elseW+=1; /否则加 1else if(k2=0) /按键 2 按下 while(k2=0); /按键 2 抬起if(W=0) /如果脉宽为 0W=100; /脉宽设置成 100elseW-=1; /否则减 1else if(k3=0) /按键 3 按下 正转 while(k3=0); /按键 3 抬起A=!A; /方向标记取反k=0; /按键标记清 0e=1; else if(k4=0) /按键 4 按下 while(k4=0); /按键 4 抬起/W=0; /脉宽清 0k=0; /按键标记清 0e=0;void main(void)init(); /系统初始化 while(1)key(); /查询按键disp_count(); /数据处理warning_speed(); /转速警告displaytolcd(); /LCD 显示
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号