最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

C0851F410与12864液晶显示

IT圈 admin 56浏览 0评论

2024年4月15日发(作者:闪靖易)

C0851F410与12864液晶显示

#include "C8051F410.h"

#define uchar unsigned char

#define LCMdata P2

#define Busy 0x80

sbit RS = P1^3;

sbit RW = P1^4;

sbit E = P1^5;

sbit PSB = P1^6;

sbit REST= P0^7;

//sfr16 TMR2RL = 0xCA; // Timer2 Reload Register

//sfr16 TMR2 = 0xCC;

void Display_String(uchar line,uchar *string);

void Wr_Data(uchar wrdata); //写数据

void Wr_Command(uchar wrcommand,busyc); //写指令

void RDbf(void);//读忙状态

void Lcm_Init(void);//液晶初始化

void Delay5Ms(void);//延时5ms

void write_show(uchar);

void SET_CGRAM(uchar,uchar);

void Dis_CG(uchar,uchar,uchar);

void Timer0Init(void);

uchar count,miao;

//uchar OS_Delay[1];

uchar code string_1[] = {"祖国江山好,

"};

uchar code string_2[] = {"爱情少不了。

"};

uchar code string_3[] = {" 温度:00

"};

uchar code string_4[] = {"温州大学--设计

"};

uchar code

CGRAM_ZIKU[]={0x70,0x00,0x50,0x00,0x70,0x00,0x07,

0xFC,0x1C,0x06,0x38,0x02,0x70,0x00,0x70,0x00,

0x70,0x00,0x70,0x00,0x70,0x02,0x38,0x02,0x1C,0x0C

,0x0F,0xF0,0x00,0x00,0x00,0x00};

void main(void)

{

PCA0MD &= ~0x40; // Clear watchdog timer enable

OSCICN = 0x81;

while ((OSCICN & 0x40 ) == 0); // Wait until

stable

P0MDOUT = 0x80;

P1MDOUT = 0x78;

P2MDOUT = 0xFF;

XBR1 = 0x40;

Lcm_Init();

Timer0Init() ;

EA = 1 ;

Display_String(1,string_1);

Display_String(2,string_2);

Display_String(3,string_3);

Display_String(4,string_4);

SET_CGRAM(1,&CGRAM_ZIKU);

Dis_CG(2,6,1);

while(1)

{

if(count==20)

{

count=0;

miao++;

if(miao==100)

{

miao=0;

}

write_show(miao);

}

}

}

void SET_CGRAM(uchar num,uchar *CGRAM_ZIKU)

{

uchar i,add;

Wr_Command(0x34);

Wr_Command(0x02);

Wr_Command(0x30);

add=(num

2024年4月15日发(作者:闪靖易)

C0851F410与12864液晶显示

#include "C8051F410.h"

#define uchar unsigned char

#define LCMdata P2

#define Busy 0x80

sbit RS = P1^3;

sbit RW = P1^4;

sbit E = P1^5;

sbit PSB = P1^6;

sbit REST= P0^7;

//sfr16 TMR2RL = 0xCA; // Timer2 Reload Register

//sfr16 TMR2 = 0xCC;

void Display_String(uchar line,uchar *string);

void Wr_Data(uchar wrdata); //写数据

void Wr_Command(uchar wrcommand,busyc); //写指令

void RDbf(void);//读忙状态

void Lcm_Init(void);//液晶初始化

void Delay5Ms(void);//延时5ms

void write_show(uchar);

void SET_CGRAM(uchar,uchar);

void Dis_CG(uchar,uchar,uchar);

void Timer0Init(void);

uchar count,miao;

//uchar OS_Delay[1];

uchar code string_1[] = {"祖国江山好,

"};

uchar code string_2[] = {"爱情少不了。

"};

uchar code string_3[] = {" 温度:00

"};

uchar code string_4[] = {"温州大学--设计

"};

uchar code

CGRAM_ZIKU[]={0x70,0x00,0x50,0x00,0x70,0x00,0x07,

0xFC,0x1C,0x06,0x38,0x02,0x70,0x00,0x70,0x00,

0x70,0x00,0x70,0x00,0x70,0x02,0x38,0x02,0x1C,0x0C

,0x0F,0xF0,0x00,0x00,0x00,0x00};

void main(void)

{

PCA0MD &= ~0x40; // Clear watchdog timer enable

OSCICN = 0x81;

while ((OSCICN & 0x40 ) == 0); // Wait until

stable

P0MDOUT = 0x80;

P1MDOUT = 0x78;

P2MDOUT = 0xFF;

XBR1 = 0x40;

Lcm_Init();

Timer0Init() ;

EA = 1 ;

Display_String(1,string_1);

Display_String(2,string_2);

Display_String(3,string_3);

Display_String(4,string_4);

SET_CGRAM(1,&CGRAM_ZIKU);

Dis_CG(2,6,1);

while(1)

{

if(count==20)

{

count=0;

miao++;

if(miao==100)

{

miao=0;

}

write_show(miao);

}

}

}

void SET_CGRAM(uchar num,uchar *CGRAM_ZIKU)

{

uchar i,add;

Wr_Command(0x34);

Wr_Command(0x02);

Wr_Command(0x30);

add=(num

发布评论

评论列表 (0)

  1. 暂无评论