c51单片机怎样让液晶显示数字999
答案:3 悬赏:0
解决时间 2021-02-10 19:47
- 提问者网友:騷女、無惡不作
- 2021-02-10 06:07
c51单片机怎样让液晶显示数字999
最佳答案
- 二级知识专家网友:duile
- 2021-02-10 06:52
这是我的程序,不过 不同的板子程序是不一样的,具体要看你的I/O口了
#include<reg52.h>
#define uchar unsigned char
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit dula=P2^6;
sbit wela=P2^7;
void write_com(uchar);
void write_date(uchar);
void init();
void delay(uchar z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
init();
write_date('999');
while(1);
}
void init()
{
dula=0;
wela=0;
lcdrs=0;
lcden=0;
write_com(0x38);
write_com(0x0e);
write_com(0x06);
write_com(0x01);
}
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=0;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_date(uchar date)
{
lcdrs=1;
P0=date;
delay(5);
lcden=0;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
#include<reg52.h>
#define uchar unsigned char
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit dula=P2^6;
sbit wela=P2^7;
void write_com(uchar);
void write_date(uchar);
void init();
void delay(uchar z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
init();
write_date('999');
while(1);
}
void init()
{
dula=0;
wela=0;
lcdrs=0;
lcden=0;
write_com(0x38);
write_com(0x0e);
write_com(0x06);
write_com(0x01);
}
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=0;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_date(uchar date)
{
lcdrs=1;
P0=date;
delay(5);
lcden=0;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
全部回答
- 1楼网友:心与口不同
- 2021-02-10 09:06
#include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int sbit cs=p2^5; //片选信号 sbit sid=p2^6; //数据信号 sbit sclk=p2^7; //时钟信号 sbit rst=p2^2; //复位信号 sbit ch = p2^4; //并行、串行选择信号 void delay(unsigned int t) { unsigned int i,j; for(i=0; i<t; i++) for(j=0; j<10; j++); } void sendbyte(unsigned char zdata) { unsigned int i; for(i=0; i<8; i++) { if((zdata << i) & 0x80) { sid = 1; } else { sid = 0; } sclk = 0; sclk = 1; } } void write_com(unsigned char cmdcode) { cs = 1; sendbyte(0xf8); sendbyte(cmdcode & 0xf0); sendbyte((cmdcode << 4) & 0xf0); delay(2); } void write_data(unsigned char dispdata) { cs = 1; sendbyte(0xfa); sendbyte(dispdata & 0xf0); sendbyte((dispdata << 4) & 0xf0); delay(2); } void lcdinit() { rst = 0; delay(100); rst = 1; delay(20000); write_com(0x30); delay(50); write_com(0x0c); delay(50); } void hzkdis(unsigned char code *s) { while(*s > 0) { write_data(*s); s++; delay(50); } } void test() { write_com(0x03); delay(50); write_com(0x81); hzkdis(" hot-51"); write_com(0x91); hzkdis("单片机开发板"); write_com(0x89); hzkdis(" "); write_com(0x98); hzkdis(" 东流电子"); } void main() { ch = 0; delay(1); lcdinit(); delay(10); while(1) { test(); delay(5000); } }
- 2楼网友:不羁的心
- 2021-02-10 08:05
1.你要写一个液晶的驱动.
之前你要明白你液晶的型号,接口.
怎么与单片机相连.
2.写完上面的,显示你也就会了.
查一下你液晶的型号,然后网上搜一下程序就可以了.
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯