
// 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元/片
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)