标题:
12864显示问题,希望大家能够帮帮我这个菜鸟
[打印本页]
作者:
aaa123
时间:
2013-7-17 20:59
标题:
12864显示问题,希望大家能够帮帮我这个菜鸟
12864显示
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define N 10
uchar code num1[]="120806";
sbit DU=P2^6; //数码管段选
sbit WE=P2^7; //数码管位选
sbit RS=P1^0; //数据或指令端
sbit RW=P1^1; // 读写端
sbit EN=P2^5; //使能端
sbit PSB=P1^2; //串行或并行
sbit RST=P1^4; //复位端
void delay(uchar n) //n=1 延时0.2ms
{
uchar j;
while(n--)
for(j=0;j<110;j++);
}
void W_Com(uchar n) //写指令函数
{
RS=0;
RW=0;
EN=0;
P0=n;
delay(N);
EN=1;
delay(N);
EN=0;
}
void W_Data(uchar n) //写数据函数
{
RS=1;
RW=0;
EN=0;
P0=n;
delay(N);
EN=1;
delay(N);
EN=0;
}
void init()
{
RST=1; //不复位
PSB=1; // 并行工作方式
delay(N);
W_Com(0x30); // 基本指令操作
delay(N);
W_Com(0x0c); // 开显示 关光标
delay(N);
W_Com(0x01); // 清屏操作
delay(N);
}
void main()
{
uchar i;
EN=0;
DU=0;
WE=1;
P0=0xff;
WE=0; //关闭 消除数码管
init();
W_Com(0x80); //指定位置显示
for(i=0;i<6;i++)
{
W_Data(num1[i]);
delay(N);
}
while(1);
}
想要在第一行开始显示120806,为什么一点现象也没有
大家帮帮忙看看吧
程序是有点乱
作者:
liuzhaoxin1020
时间:
2017-2-17 13:30
得结合硬件分析,
作者:
颜逸清
时间:
2017-2-17 16:05
void main() { uchar i; EN=0; DU=0; WE=1; P0=0xff; WE=0; //关闭 消除数码管 init(); W_Com(0x80); //指定位置显示 for(i=0;i<6;i++) { W_Data(num1[i]); delay(N); } while(1); }
作者:
颜逸清
时间:
2017-2-17 22:09
void main() { uchar i; EN=0; DU=0; WE=1; P0=0xff; WE=0; //关闭 消除数码管 init(); W_Com(0x80); //指定位置显示 for(i=0;i<6;i++) { W_Data(num1[i]); delay(N); } while(1); }
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1