các bạn ơi,mình đang lập trình hiển thị cho LCD.nhưng mà có 1 điều thắc mắc là khi mình chạy mô phỏng = proteus thì mặc dù code mình không dùng vòng lặp nào nhưng LCD cứ chạy đi chạy lại hoài mà ko chịu dừng lại.ai biết cách làm cho LCD chỉ hiển thị 1 lần rồi stop thi chỉ cho mình với
code của mình đây
#include <reg52.h>
#include <stdio.h>
#include <string.h>
sbit rs=P1^0;//Xet RS=0 de gui lenh;Neu RS=1->gui du lieu can hien thi len LCD
sbit rw=P1^1;//Xet RW=0 de ghi hoac gui lenh len LCD;RW=1->doc tu LCD xuong
sbit en=P1^2;
sbit db7=P0^7;
const int n=1000;
void tre(unsigned long int v)
{
unsigned long int i;
for(i=0;i<v;i++);
}
int chophep(void)
{
int ra;
en=1; tre(n); en=0;
return ra=1;
}
void kt_lcd(void)
{
while(db7==1&&chophep()&&rw==1&&rs==0);
}
void lenh(unsigned char malenh)
{
kt_lcd(); chophep();
rs=0; rw=0; P2=malenh;
}
void in(char *s)
{
int i;
for(i=0;i<strlen(s);i++)
{
kt_lcd(); chophep();
rs=1; rw=0;
P2=s[i]; tre(n);
}
}
void khoi_tao(void)
{
lenh(0x01);//xoa man hinh hien thi
lenh(0x02);//tro ve dau dong
lenh(0x38);//hai dong va ma tran 5x7
lenh(0x06);//tang con tro( dich con tro sang phai)
lenh(0x0e);//bat hien thi, nhap nhay con tro
}
void main(void)
{
khoi_tao();
lenh(0x80); //cho chay o dong 1
in("SELECT PROGRAM");
lenh(0xC4); // cho chay o dong 2
in("WASH-FULL");
lenh(0x94); // cho chay o dong 3
in("RINSE");
lenh(0xD4); // cho chay o dong 4
in("SPIN");
}
code của mình đây
#include <reg52.h>
#include <stdio.h>
#include <string.h>
sbit rs=P1^0;//Xet RS=0 de gui lenh;Neu RS=1->gui du lieu can hien thi len LCD
sbit rw=P1^1;//Xet RW=0 de ghi hoac gui lenh len LCD;RW=1->doc tu LCD xuong
sbit en=P1^2;
sbit db7=P0^7;
const int n=1000;
void tre(unsigned long int v)
{
unsigned long int i;
for(i=0;i<v;i++);
}
int chophep(void)
{
int ra;
en=1; tre(n); en=0;
return ra=1;
}
void kt_lcd(void)
{
while(db7==1&&chophep()&&rw==1&&rs==0);
}
void lenh(unsigned char malenh)
{
kt_lcd(); chophep();
rs=0; rw=0; P2=malenh;
}
void in(char *s)
{
int i;
for(i=0;i<strlen(s);i++)
{
kt_lcd(); chophep();
rs=1; rw=0;
P2=s[i]; tre(n);
}
}
void khoi_tao(void)
{
lenh(0x01);//xoa man hinh hien thi
lenh(0x02);//tro ve dau dong
lenh(0x38);//hai dong va ma tran 5x7
lenh(0x06);//tang con tro( dich con tro sang phai)
lenh(0x0e);//bat hien thi, nhap nhay con tro
}
void main(void)
{
khoi_tao();
lenh(0x80); //cho chay o dong 1
in("SELECT PROGRAM");
lenh(0xC4); // cho chay o dong 2
in("WASH-FULL");
lenh(0x94); // cho chay o dong 3
in("RINSE");
lenh(0xD4); // cho chay o dong 4
in("SPIN");
}
Comment