• 大小: 31KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: 其他
  • 标签: STC15F  12864  

资源简介

基于Keil uVision4开发环境,使用STC15F2K60S2驱动12864(带字库,串行口通信)的代码,亲测可用

资源截图

代码片段和文件信息

#include 

#include 

#include 

#include 

#define uchar unsigned char

#define uint unsigned int

sbit key = P4^5;

sbit CS=P2^7;//第4根线  RS    PSB接地

sbit SID=P2^6;//第5根线  RW

sbit SCK=P2^5;//第6根线  E

uchar code AC_TABLE[]={

0x800x810x820x830x840x850x860x87//第一行汉字位置

0x900x910x920x930x940x950x960x97//第二行汉字位置

0x880x890x8a0x8b0x8c0x8d0x8e0x8f//第三行汉字位置

0x980x990x9a0x9b0x9c0x9d0x9e0x9f//第四行汉字位置

};

/******************************** 函数名称    :SendByte  串口发送一个字节*****/

void SendByte(uchar Dbyte)

{

uchar i;

for(i=0;i<8;i++)

{

SCK=0;

Dbyte=Dbyte<<1;

SID=CY;

SCK=1;

SCK=0;

}

}

/***********接收一个字节***/

uchar ReceiveByte(void)

{

uchar itemp1temp2;

temp1=0;

temp2=0;

for(i=0;i<8;i++)

{

temp1=temp1<<1;

SCK=0;

SCK=1;

SCK=0;

if(SID)temp1++;

}

for(i=0;i<8;i++)

{

temp2=temp2<<1;

SCK=0;

SCK=1;

SCK=0;

if(SID)temp2++;

}

return((0xf0&temp1)+(0x0f&temp2));

}

void CheckBusy(void)

{

do SendByte(0xfc);

while(0x80&ReceiveByte());

}

void WriteCommand(uchar Cbyte)

{

CS=1;

CheckBusy();

SendByte(0xf8);

SendByte(0xf0&Cbyte);

SendByte(0xf0&Cbyte<<4);

CS=0;

}

void WriteData(uchar Dbyte)

{

CS=1;

CheckBusy();

SendByte(0xfa);

SendByte(0xf0&Dbyte);

SendByte(0xf0&Dbyte<<4);

CS=0;

}

uchar ReadData(void)

{

CheckBusy();

SendByte(0xfe);

return ReceiveByte();

}

void Delay(uint MS)

{

uchar ususn;

while(MS!=0)

{

usn=2;

while(usn!=0)

{

us=0xf5;

while(us!=0)

{

us--;

};

usn--;

}

MS--;

}

}

void LcmInit(void)

{

WriteCommand(0x30);

WriteCommand(0x03);

WriteCommand(0x0C);

WriteCommand(0x01);

WriteCommand(0x06);

}

void LcmClearTXT(void)

{

uchar i;

WriteCommand(0x30);

WriteCommand(0x80);

for(i=0;i<64;i++)

WriteData(0x20);

}

void PutStr(uchar rowuchar coluchar *puts)

{

WriteCommand(0x30);

WriteCommand(AC_TABLE[8*row+col]);

while(*puts!=‘\0‘)

{

if(col==8)

{

col=‘0‘;

row++;

}

if(row==4)row=‘0‘;

WriteCommand(AC_TABLE[8*row+col]);

WriteData(*puts);

puts++;

WriteData(*puts);

puts++;

col++;

}

}

void DisplayDots(uchar DotByte)

{

uchar ij;

WriteCommand(0x34);

WriteCommand(0x36);

for(i=0;i<32;i++)

{

WriteCommand(0x80|i);

WriteCommand(0x80);

for(j=0;j<32;j++)

{

WriteData(DotByte);

}

DotByte=~DotByte;

}

}

void main(void)

{

Delay(100);

LcmInit();

LcmClearTXT();

// PutStr(00“欢迎光临老师试试“);

PutStr(10“请输入密码:“);

// PutStr(20“http://blog.rayu“

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      12359  2018-10-17 11:59  12864串行通讯\12864

     文件       3257  2018-10-17 12:02  12864串行通讯\12864.c

     文件       1757  2018-10-17 11:59  12864串行通讯\12864.hex

     文件         42  2018-10-17 11:59  12864串行通讯\12864.lnp

     文件       9590  2018-10-17 11:59  12864串行通讯\12864.LST

     文件      13258  2018-10-17 11:59  12864串行通讯\12864.M51

     文件      13706  2018-10-17 11:59  12864串行通讯\12864.OBJ

     文件        162  2019-04-03 21:19  12864串行通讯\12864.plg

    .......     71971  2019-04-03 21:20  12864串行通讯\12864.uvgui.strange man

    .......     72077  2018-10-17 12:06  12864串行通讯\12864.uvgui_strange man.bak

    .......      5628  2019-04-03 21:20  12864串行通讯\12864.uvopt

     文件      13447  2018-10-16 14:36  12864串行通讯\12864.uvproj

     目录          0  2019-04-03 21:20  12864串行通讯

----------- ---------  ---------- -----  ----

               217254                    13


评论

共有 条评论