?? 顯示.c
字號:
#include<reg51.h>
#include<stdio.h>
#include<absacc.h>
#define uint unsigned int
#define uchar unsigned char
extern void delay(uchar ntime);
sbit LOAD=P1^0;//CS
sbit DAT=P1^1;
sbit CLK=P1^2;//WR
uchar code tab[16]={0xb7,0x06,0xe5,0xc7,0x56,0xd3,0xf3,0x07,0xf7,0xd7,
0x76,0x75,0xb0,0x40,0x00,0xff};
void wrcom(uint com)
{
uchar i;
LOAD=1;
delay(1);
LOAD=0;//CS=0
for(i=12;i>=1;i--)
{
CLK=0;
if (com&0x8000) {DAT=1;}
else{DAT=0;}
com=com<<1;
CLK=1;
delay(1);
}
}
void init61a()
{
wrcom(0x8520);//初始化命令 1000 0101 0010 0000;0010 1001
wrcom(0x8280);//定義外晶振 1000 0010 1000 0000
wrcom(0x8020);//開振蕩 1000 0000 0010 0000
wrcom(0x8060);//開顯示 1000 0000 0110 0000
}
//==========顯示模塊=========
//DAT P1.1; LOAD P1.0 ; CLK P1.2
//=======地址:add====數據:dat========//
//======LCM061A 地址分配=============
//千位0x04 百位0x06 十位0x08 個位 0x0a
void cxdisp(uchar dat,uchar add)
{
uchar i,j=0xa0;
uint ads=0;
ads=add;
ads=ads<<8;
ads=ads+tab[dat];
ads=ads<<3;//高13位有效
LOAD=1;
delay(5);
LOAD=0;//CS=0
for(i=4;i>=1;i--)
{
CLK=0;
if (j&0x80) {DAT=1;}
else{DAT=0;}
j=j<<1;
CLK=1;
delay(1);
}
for(i=13;i>=1;i--)
{
CLK=0;
if (ads&0x8000) {DAT=1;}
else{DAT=0;}
ads=ads<<1;
CLK=1;
delay(1);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -