关于verilog的12864程序

关于verilog的12864程序,第1张

你的LCM是用什么控制IC的?COB还是COG? 不清楚你悄型世驱动IC所以不能帮你看了,只要初始化没问题就行了,我给你发个常用的COB 三星0108的驱动 程序,跟 COG的7565R的程序,你参考下

// MASTER IC: S6B0108 X3SLAVE IC: S6B0107

// VDD= 5v,Vop=10.0V 1/64DUTY 1/9BIAS

// PARALLEL 6800-SERIES

// 2003.7.12 by ZHM

#include <启肢mreg52.h>租蔽

#define Uchar unsigned char

#define Uint unsigned int

unsigned char code Pic[8*128]

unsigned char code image[8*128]

void ComWrite(Uchar com)

void DatWrite(Uchar dat)

void Initial(void)

void Disp(Uchar dot1,Uchar dot2)

void DispBmp(void)

void DispB(void)

void block(Uchar dot1,Uchar dot2)

void delay(unsigned int d)

{

int d3

for(d!=0d--)

{

for(d3=50d3!=0d3--)

{}

}

}

void main(void)

{

Initial()

while(1)

{

DispBmp()

Disp(0x0ff,0x0ff)

delay(3000)

Disp(0x00,0x00)

delay(3000)

Disp(0x55,0x55)

delay(3000)

Disp(0xaa,0xaa)

delay(3000)

Disp(0xff,0x00)

delay(3000)

Disp(0x00,0xff)

delay(3000)

Disp(0xaa,0x55)

delay(3000)

Disp(0x55,0xaa)

delay(3000)

block(0x00,0xff)

delay(3000)

DispB()

}

}

void block(Uchar dot1,Uchar dot2)

{

Uchar cnt,cnt2

register Uchar cnt1

CS1=1CS2=0 //SELECT ALL SEG IC

for(cnt=0cnt<4cnt++)

{

ComWrite(0x0b8+cnt+cnt) //Set Page Address 0~7

ComWrite(0x40)

for(cnt2=0cnt2<4cnt2++)

{

for(cnt1=8cnt1>0--cnt1){ DatWrite(dot1)}

for(cnt1=8cnt1>0--cnt1){ DatWrite(dot2)}

}

ComWrite(0x0b8+cnt+cnt+1) //Set Page Address 0~7

ComWrite(0x40)

for(cnt2=0cnt2<4cnt2++)

{

for(cnt1=8cnt1>0--cnt1){ DatWrite(dot2)}

for(cnt1=8cnt1>0--cnt1){ DatWrite(dot1)}

}

}

CS1=0CS2=1

for(cnt=0cnt<8cnt++)

{

ComWrite(0x0b8+cnt) //Set Page Address 0~7

ComWrite(0x40)

for(cnt2=0cnt2<4cnt2++)

{

for(cnt1=8cnt1>0--cnt1){ DatWrite(dot1)}

for(cnt1=8cnt1>0--cnt1){ DatWrite(dot2)}

}

cnt++

ComWrite(0x0b8+cnt) //Set Page Address 0~7

ComWrite(0x40)

for(cnt2=0cnt2<4cnt2++)

{

for(cnt1=8cnt1>0--cnt1){ DatWrite(dot2)}

for(cnt1=8cnt1>0--cnt1){ DatWrite(dot1)}

}

}

delay(10)

}

void DispBmp(void)

{

Uchar cnt

register Uchar cnt1

for(cnt=0cnt<8cnt++)

{

CS1=1 CS2=0// CS3=1

ComWrite(0x0b8+cnt) //Set Page Address 0~7

ComWrite(0x40)

for(cnt1=64cnt1>0cnt1--) DatWrite(image[128*cnt+64-cnt1])

CS1=0 CS2=1// CS3=1

ComWrite(0x0b8+cnt) //Set Page Address 0~7

ComWrite(0x40)

for(cnt1=128cnt1>64cnt1--) DatWrite(image[128*cnt+192-cnt1])

/* CS1=1 CS2=1// CS3=0

ComWrite(0x0b8+cnt) //Set Page Address 0~7

ComWrite(0x40)

for(cnt1=0cnt1<64cnt1++) DatWrite(*bmp++)

*/ }

delay(5000)

Disp(0x00,0x00)

}

void DispB(void)

{

Uchar cnt

register Uchar cnt1

for(cnt=0cnt<8cnt++)

{

CS1=1 CS2=0// CS3=1

ComWrite(0x0b8+cnt) //Set Page Address 0~7

ComWrite(0x40)

for(cnt1=64cnt1>0cnt1--) DatWrite(Pic[128*cnt+64-cnt1])

CS1=0 CS2=1// CS3=1

ComWrite(0x0b8+cnt) //Set Page Address 0~7

ComWrite(0x40)

for(cnt1=128cnt1>64cnt1--) DatWrite(Pic[128*cnt+192-cnt1])

/*

CS1=1 CS2=1// CS3=0

ComWrite(0x0b8+cnt) //Set Page Address 0~7

ComWrite(0x40)

for(cnt1=0cnt1<64cnt1++) DatWrite(*bmp++)*/

}

delay(10000)

Disp(0x00,0x00)

}

void Disp(Uchar dot1,Uchar dot2)

{

Uchar cnt

register Uchar cnt1

CS1=1CS2=1 //SELECT ALL SEG IC

for(cnt=0cnt<8cnt++)

{

ComWrite(0x0b8+cnt) //Set Page Address 0~7

ComWrite(0x40) //Set Y address

for(cnt1=0cnt1<32cnt1++)

{

DatWrite(dot1)

DatWrite(dot2)

}

}

CS1=0CS2=0

for(cnt=0cnt<8cnt++)

{

ComWrite(0x0b8+cnt) //Set Page Address 0~7

ComWrite(0x40) //Set Y address

for(cnt1=0cnt1<32cnt1++)

{

DatWrite(dot1)

DatWrite(dot2)

}

}

delay(10)

}

void Initial()

{

CS1=1 CS2=1

RES =0

delay(500)

RES =1

delay(100)

ComWrite(0x0C0) // start line 00

ComWrite(0x3f) //Display ON

CS1=0CS2=0// CS3=1 // CLOSE IC

ComWrite(0x3f) //Display ON

}

void DatWrite(Uchar dat)

{

RS = 1

RW = 0

P1=dat

E = 1

//P1 = dat

E = 0

RW = 1

}

void ComWrite(Uchar com)

{

RS = 0

RW = 0

P1=com

E = 1

//P1 = com

E = 0

RW =1

}

unsigned char code Pic[8*128]={

/*-- 调入了一幅图像:C:\Documents and Settings\liuminglai\桌面\e.bmp --*/

/*-- 宽度x高度=128x64 --*/

0xFF,0xFF,0x83,0x83,0x83,0xC3,0xC3,0xC3,0x43,0x43,0x63,0x63,0xE3,0xE3,0xE3,0xE3,

0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0xA3,0x83,0x43,0x43,0x43,0x43,0x43,0x43,0x43,

0x43,0xC3,0xC3,0xC3,0x83,0x83,0x83,0x83,0x83,0x83,0x03,0x03,0x03,0x03,0x03,0x03,

0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,

0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,

0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,

0x03,0x83,0x83,0xC3,0x43,0xC3,0x43,0x63,0xE3,0x63,0x23,0x23,0xF3,0x33,0x93,0x93,

0x5B,0x2B,0xAB,0x9B,0xCB,0xCB,0xEB,0xEB,0x63,0x73,0xF3,0xF3,0xE3,0xC3,0xFF,0xFF,

0xFF,0xFF,0x0D,0x18,0x38,0x28,0x68,0x48,0xC8,0xC8,0xC8,0x88,0x8C,0x8C,0x8C,0x8C,

0x8C,0x8C,0x84,0x84,0x84,0xC4,0xC4,0xC4,0xC4,0xC4,0xC4,0x44,0x44,0x44,0x45,0x45,

0x45,0x45,0x40,0x48,0xF6,0x22,0x27,0xFD,0x2D,0x0B,0x07,0x11,0x5B,0x53,0xF3,0x23,

0x22,0x66,0x66,0x6C,0xCC,0x88,0x18,0x10,0x30,0x20,0x60,0xC0,0xC0,0x80,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0x30,0x10,0xF8,0x0C,0x8C,0x3E,0x03,

0xE1,0x07,0x00,0x20,0x84,0xC1,0x70,0x2E,0xD3,0xF8,0x3E,0x1D,0x0E,0x0F,0x06,0x06,

0x07,0x03,0x07,0x07,0x07,0x05,0x01,0x03,0x03,0x06,0x06,0x04,0x01,0x03,0xFF,0xFF,

0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,

0x03,0x03,0x04,0x0C,0x08,0x18,0x30,0x20,0x68,0x68,0x60,0x44,0x44,0x44,0x44,0xC4,

0xC4,0xC4,0x84,0xA4,0xA4,0x25,0x26,0x5A,0x57,0x7D,0x55,0xF5,0xD5,0x85,0xE3,0x9D,

0x11,0x75,0xF5,0x14,0x14,0xFF,0x4B,0x42,0x54,0x50,0xF8,0x50,0x50,0x61,0xA3,0x06,

0x06,0x0C,0x18,0x30,0x60,0xC0,0x80,0x80,0x80,0x80,0xC0,0x40,0xE0,0xF8,0x3C,0x0E,

0x07,0x03,0x03,0x33,0x91,0x99,0x89,0x0B,0xE3,0xF2,0xFC,0xF8,0xF0,0xE7,0xE8,0xCC,

0xCC,0x8C,0x8F,0xF6,0x39,0x1C,0x0E,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0

/**********************************************************************

* EY1206E3 IC: ST7565R

* Parallel Interface: 6800 systeml

* Duty = 1/65 Bias = 1/9 Vdd =3.0 Vop = 9.7v

* 2008.08.11 by Arrow Du

***********************************************************************/

#include <reg52.h> //Port Pin included

#include <delay.c>

#define Uchar unsigned char

#define Uint unsigned int

void DispBmp(Uchar bmp[])

void DispDat(Uchar dat1, dat2)

void ComWrite(Uchar COM)

void DatWrite(Uchar DAT)

void INITIAL(void)

sbit RES = P3^7

sbit CS1 = P3^1

sbit RD1 = P3^5

sbit WR1 = P3^0

sbit A0 = P3^6

Uchar Ratio=0x27//调节LCD电压参数

Uchar Refer=0x30//调节LCD电压参数

extern char code zft[]//显示图片

void MAIN(void)

{

EA=1

EX1=1

PX1=1

IT1=1

WR=0

delay(200)

INITIAL()

delay(200)

while(1)

{

DispBmp(zft)

delay(20000)

DispDat(0x55, 0x55)

DispDat(0xaa, 0xaa)

DispDat(0xff, 0x00)

DispDat(0x00, 0xff)

DispDat(0x00, 0x00)

}

}

void INITIAL()

{

delay(100)

CS1 =0

RES=0

delay(50)

RES=1

delay(50)

ComWrite(0x02e)

delay(50)

ComWrite(0x0a2) // 1/9 bias

ComWrite(0x0a0) // ADC(segment driver direction select):reverse

ComWrite(0x0c8) // Common Output Mode Select: 1/64duty, COM63->COM0

ComWrite(0x2f)// Power Controller Set

ComWrite(0x2f)// Power Controller Set

delay(50)

ComWrite(0x0f8)

ComWrite(0x00) //Booster Ratio Select

ComWrite(Ratio)

ComWrite(0x81)

ComWrite(Refer)

ComWrite(0x0af)// Display ON

ComWrite(0x40) // Display Start Line Set: 00

}

void DispBmp(Uchar bmp[])

{

Uchar cnt, cnt1

for(cnt=0cnt<8cnt ++)

{

ComWrite(0xb0 + cnt)

ComWrite(0x10)

ComWrite(0x00)

for(cnt1=0cnt1<128cnt1 ++)

{

DatWrite(*bmp ++)

// delay(50)

}

}

delay(20000)

}

void DispDat(Uchar dat1, dat2)

{

Uchar cnt,cnt1

for(cnt=0cnt<8cnt++)

{

ComWrite(0xb0 + cnt)

ComWrite(0x10)

ComWrite(0x00)

for(cnt1=0cnt1<128 cnt1++)

{

DatWrite(dat1)

DatWrite(dat2)

}

}

delay(20000)

}

/*void ComWrite(Uchar COM)

{

A0=0

delay(1)

P1=COM

delay(1)

E=0

delay(1)

E=1

}

void DatWrite(Uchar DAT)

{

A0=1

delay(1)

P1=DAT

delay(1)

E=0

delay(1)

E=1

} */

/*

void ComWrite(unsigned char com)

{

unsigned char count

CS1=1

A0=0

for (count = 0count <8count++)

{

SCL=0

SDA=(bit)(com&0x80)

SCL=1

com=com<<1

}

delay(10)

}

void DatWrite(unsigned char dat)

{

unsigned char count

CS1=0

A0=1

for (count = 0count <8count++)

{

SCL=0

SDA=(bit)(dat&0x80)

SCL=1

dat=dat<<1

}

delay(10)

}

*/

void DatWrite(Uchar dat)//80

{

A0 = 1

RD1=1

WR1=0

P1=dat

WR1=1

}

void ComWrite(Uchar com)

{

A0 = 0

RD1=1

WR1=0

P1=com

WR1=1

}

先纠正你的英文错误,date是日期data才是数据!

你uchar写的是中文!!12864最多支持中文字库还是十六进制的!怎么可能有败陪缓显示?!

中文是双字节,察模假设你的12864带乱耐字库,应该输入十六进制数据我(0xCE,0xD2)

爱(0xB0,0xAE)单(0xB5,0xA5)片(0xC6,0xAC)机(0xBB,0xFA)

BXJG-S51实验板

----------初罩基学者最超值的51单片机开发实验板

咨询购买热线:电话0431—87021858孙先生 传真:0431--87021868

手机13756126302 孙先生 13604434256魏小姐

在线QQ咨询: 191393051 273402949 724234127

E---mail:Secret_s@163.com qqq669979@sohu.com

一 .产品配置及形象展示

1、实验板1个(图一所见,全部为标准配置)

2、AT89S52 (板载)1片

3、电源线1条

4、串口线1条

5、下载线1条

6、实验板光盘1张

二 .产品特点

本产品由国内著名专家及教授精心设计,极大地扩展了普通单片机开发系统(单片机学习板、单片机开发板)的优势功能。

1.实验 编程 下载三合一

实验板、仿真器、ISP下载线 三功能合一的综合单片机学习开发系系统 。用户不需要购买任何其他器件,通过本单片机学习开发系统即可进入成熟工程师的行列。

2.支持多种品牌芯片在线烧写

1)AMTEL AT89S:本系列单片机开发系统支持ATMEL AT89S系列;2)华邦具有ISP下载功能的单片机各物亮谨型号;3)STC系列;4)SST系列。

三 .产品优势功能

1.本实验板丰富的板载资源

(1)MAX517 8位串行D/A转换器 (2)TLC2543 12位串行逐次逼近型A/D转换器

(3)YM12864R液晶接口 (4)4位LED数码管 (5)4个按键

(6)I2C串行EEPROM 24C02 (7)蜂鸣器、2个LED

(8)RS232接口(兼ISP接口)

(9)ISP在线编程:可以键早在线烧写多种MCU程序,无需拔下芯片即可把程序固化到MCU内部的EEPROM中。支持四种品牌芯片在线烧写。

(10)S51单片机的全部I/O脚全部引出:为日后做更多的外扩试验,以及驱动其他目标板等打下良好的外扩基础

2.提供实验板实验程序(C语言) 源代码目录光盘

3.无需另购编程器,下载程序

四.购买说明

(1)本实验板单价: 元

(2)选购件 客户在购买中,请在注明要选购的配件,并在付款时加上配件的价格。

1、液晶:YM12864R字符型液晶模块80元/块

2、芯片:DS18B20温度传感 12元/片

ATMEL:AT89S52 7元/片

STC89C52 7元/片

STC:STC89C51:7元/片

WINBOND:W78E516B:22元/片


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12503580.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-25
下一篇2025-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存