标题:
单片机控制电动机正反转及其1602液晶显示
[打印本页]
作者:
天空的预案
时间:
2017-7-12 22:47
标题:
单片机控制电动机正反转及其1602液晶显示
这是单片机控制电动机正反转和液晶显示的一下示例程序,大家可以参考
单片机源程序如下:
#include <reg52.h>
#include "LCD1602.h"
sbit Key_UP=P3^2; //正转按键 对应实验板上的K1
sbit Key_DOWN=P3^3;//反转按键 对应实验板上的K2
sbit Key_STOP=P3^4;//停止键 对应实验板上的K3
sbit ZZ=P1^0;//控制端
sbit FZ=P1^1;//控制端
sbit BEEP = P3^6; //蜂鸣器控制端口P36
unsigned char KeyV,TempKeyV;
void Delay(unsigned int ii)
{
unsigned int jj;
for(;ii>0;ii--)
for(jj=0;jj<125;jj++)
{;}
}
//LCD初始化
void InitLCD()
{
LCDReset();
InputMode(0x06); //增量方式,不移位
DispControl(0x0c); //显示开,光标关,闪烁关
FunctionSet(0x38); //8位,2行,5×7
}
/*********************************************************/
void beep() //蜂鸣器响一声函数
{
unsigned char i;
for (i=0;i<100;i++)
{
Delay(1);
BEEP=!BEEP; //BEEP取反
}
BEEP=1; //关闭蜂鸣器
Delay(250); //延时
}
void main()
{
FZ=1;
ZZ=1;
InitP0(0);
InitLCD();
while(1){
if (!Key_UP)
KeyV = 1;
if (!Key_DOWN)
KeyV = 2;
if (!Key_STOP)
KeyV = 3;
if (KeyV!= 0)
{
Delay(10);
if (!Key_UP)
TempKeyV = 1;
if (!Key_DOWN)
TempKeyV = 2;
if (!Key_STOP)
TempKeyV = 3;
if (KeyV == TempKeyV)
{
if (KeyV == 1){
beep();
ZZ=1;
FZ=0;
}
if(KeyV==2){
beep();
ZZ=0;
FZ=1;
}
if(KeyV==3){
beep();
ZZ=0;
FZ=0;
}
}
}
KeyV=0;
TempKeyV=0;
if(ZZ==1&FZ==0){
DispCharacter(0,4,'F');
DispCharacter(0,5,'O');
DispCharacter(0,6,'R');
DispCharacter(0,7,'E');
DispCharacter(0,8,'W');
DispCharacter(0,9,'A');
DispCharacter(0,10,'R');
DispCharacter(0,11,'D');
}
if(ZZ==0&FZ==1){
DispCharacter(0,4,'R');
DispCharacter(0,5,'O');
DispCharacter(0,6,'L');
DispCharacter(0,7,'L');
DispCharacter(0,8,'B');
DispCharacter(0,9,'A');
DispCharacter(0,10,'C');
DispCharacter(0,11,'K');
}
if(ZZ==0&FZ==0){
DispCharacter(0,4,'S');
DispCharacter(0,5,'T');
DispCharacter(0,6,'O');
DispCharacter(0,7,'P');
DispCharacter(0,8,' ');
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
正反转及其液晶显示.zip
(41.25 KB, 下载次数: 37)
2017-7-12 22:46 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
xymiss
时间:
2017-8-10 21:57
谢谢。学习一下。。
作者:
孤独的零
时间:
2019-4-15 19:08
你好,这个有电路图吗??
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1