历史上的今天
返回首页

历史上的今天

今天是:2025年04月23日(星期三)

正在发生

2021年04月23日 | MSP430控制SED1335液晶显示源程序例程

2021-04-23 来源:eefocus

简介:MSP430控制SED1335液晶显示源程序例程


/*-------------------------------------

基于MSP430单片机子程序


功能:SED1335液晶控制器子程序


介绍:SED1335是日本SEIKOEPSON公司出品的液晶显示控制器,在同类产品中是功能很强。其特点为:有较强功能的I/O缓冲器;指令功能丰富;四位数据并行发送;图形和文本方式混合显示。


来源:晖创电子网:www.schuitron.comMSP430源程序例程

------------------------------- */


#define WC_ADD XBYTE[0xC100]

#define WD_ADD XBYTE[0xC000]

#define RD_ADD XBYTE[0xC100]

#define RB_ADD XBYTE[0xC000]


void INTR(void);

void CLEAR(void); /* 信号输入 x [0---319] ,y [0---239] */

void CCTW(unsigned int x,unsigned char y,unsigned char m,unsigned char n,unsigned char *p);

void dot (unsigned int x,unsigned char y,bit c); /* c=1 划点 c=0 取消点*/


void INTR(void)

{

unsigned char code SYSTAB[]={0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00}; // control parameter

unsigned char code SCRTAB[]={0x00,0x00,0xf0,0x00,0x40,0xf0,0x00,0x80,0x00,0x00};

unsigned char i=0x0;


WC_ADD = 0x40;

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

{

WD_ADD = SYSTAB;

}

WC_ADD = 0x44;

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

{

WD_ADD = SCRTAB;

}

WC_ADD = 0x5a;

WD_ADD = 0x0;

WC_ADD = 0x5b;

WD_ADD = 0x0;

WC_ADD = 0x59;

WD_ADD = 0x54;

}


void CLEAR(void)

{

unsigned char i=0,j=0;


WC_ADD = 0x4c;

WC_ADD = 0x46;

WD_ADD = 0x0;

WD_ADD = 0x0;

WC_ADD = 0x42;

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

{

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

{ WD_ADD = 0x0;

}

}

}


void CCTW(unsigned int x,unsigned char y,unsigned char m,unsigned char n,unsigned char *p)

{

unsigned char ap=0x28,i,j,k,tt=0,uu=0,rr=0,ee=0,ff=0,gg=0; /*ap 修改 P7, 行字符个数 */

unsigned int l;


tt = x%8;

x=x/8;

l = y*ap + x+0x4000;

x = (unsigned char)(l&0x00ff);

y = (unsigned char)((l&0xff00)>>8);


WC_ADD=0x4c; /*设置光标“右”移动方式 */


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

{

WC_ADD = 0x46; /* 光标指针设置 */

WD_ADD = x; /* 光标地址16位 */

WD_ADD = y;


if(tt==0)

{

WC_ADD = 0x42; /* 连续写入数据*/


for (j=0;j{

WD_ADD = *p;

p++ ;

}

} /* 0 1 2 3 */

else { /* 0---7 8---16 17---24 25---32*/


for(j=0;j{


RD_ADD=0x43; /* 读数据 */

uu=RD_ADD;

rr=RD_ADD;


/*-----------------------------------------------------*/

gg=*p; /* 处理数据*/

p++;

k=uu>>(8-tt);

k=k<<(8-tt); // 高位

ee=k;

k=gg>>tt; // 移高位作为低位

ee=ee|k;

/*-----------*/

k=rr<k=k>>tt; // 低位

ff=k;

k=gg<<(8-tt);

ff=ff|k;

/*--------------------------------------------------------------*/


WC_ADD=0x4d; /*改变光标“左”移动方式 */

RD_ADD=0x43;

k=RD_ADD;

k=RD_ADD;


WC_ADD=0x4c; /*非复光标“右”移动方式 */


WC_ADD = 0x42; /* 送数据两个 */


WD_ADD =ee;

WD_ADD =ff;


/*本送一个数据,前面送了两个,需要返回一个*/


WC_ADD=0x4d; /*改变光标“左”移动方式 */

RD_ADD=0x43;

k=RD_ADD;

k=RD_ADD;


WC_ADD=0x4c; /*非复光标“右”移动方式 */

RD_ADD=0x43;

k=RD_ADD;

}

}

l=(ap+x+(y<<8));

x=(unsigned char)(l&0x00ff);

y=(unsigned char)((l&0xff00)>>8);

}

}

void dot (unsigned int x,unsigned char y,bit c)

{


unsigned char ap=0x28,tt=0,uu=0,gg=0,k=0; /*ap 修改 P7, 行字符个数 */

unsigned int l=0;


tt = x%8;

x = x/8;

l = y*ap + x+0x4000;

x = (unsigned char)(l&0x00ff);

y = (unsigned char)((l&0xff00)>>8);


WC_ADD = 0x4c;

WC_ADD = 0x46; /* 光标指针设置 */

WD_ADD = x; /* 光标地址16位 */

WD_ADD = y;

RD_ADD=0x43; /* 读数据 */

uu=RD_ADD;


if(c)

{

gg = 1;

gg =gg<<(7-tt);

uu=uu|gg;

}

else {

gg = 1;

gg =gg<<(7-tt);

gg = ~gg;

uu=uu≫

}


WC_ADD=0x4d;

RD_ADD=0x43;

k=RD_ADD;


WC_ADD = 0x4c; /*非复光标“右”移动方式 */

WC_ADD = 0x42; /* 送数据两个 */

WD_ADD = uu;


}


推荐阅读

史海拾趣

Datalogic公司的发展小趣事

Datalogic公司自成立以来,一直致力于技术创新。在1990年代,随着电子行业的快速发展,对高精度数据采集和处理的需求日益增加。Datalogic凭借其深厚的技术积累,成功研发出一系列高性能的条码扫描器和数据采集器,这些产品凭借其高效、稳定的表现,迅速在电子行业占据了一席之地。

DAPAudio公司的发展小趣事

随着数字化和智能化的快速发展,音频处理行业也面临着巨大的变革。DAPAudio积极应对这一变革,不断推出适应市场需求的新产品和技术。通过与科技公司、高校和研究机构的合作,DAPAudio在人工智能、物联网等新兴领域取得了重要突破,为公司未来的发展奠定了坚实的基础。

BOCA公司的发展小趣事

BOCA公司最初是一家小型电子元件制造商,面临着激烈的市场竞争。然而,公司始终坚持研发创新,投入大量资源于新技术的研究。终于,在一次偶然的实验中,BOCA的研发团队成功开发出了一种新型的半导体材料,这种材料在性能上远超当时的行业标准。这一技术突破让BOCA迅速在行业中崭露头角,订单量激增,公司规模迅速扩大。

ETRI公司的发展小趣事

在光通信技术领域,ETRI也取得了显著成果。他们与Eldis公司合作,成功将一种电吸收调制光源(EML)商业化。这种光源能够在30公里内每秒传输250亿比特,且在高温和室温下都能稳定工作。这一技术的成功商业化,对于提高数据传输速度和效率具有重要意义。

德力西(DELIXI)公司的发展小趣事

进入新世纪后,德力西开始全国化布局和多元化发展。1998年,在上海注册成立了上海德力西集团有限公司,与西安高压电器研究所联合生产高压电器和成套设备。此外,德力西还积极参与国企改革,整体并购了杭州西子(集团)公司,并进入环保领域,建设垃圾处理及水处理项目。这些举措使德力西在电子行业的地位更加稳固。

Ampire Co Ltd公司的发展小趣事

1984年,胡成中偕其弟胡成国等人在浙江省乐清市创立了“乐清县求精开关厂”,这便是德力西的前身。当时,企业仅有3位股东,5万元的资本,8名员工,以及单一的热继电器产品。凭借“以质取胜”的经营理念和灵活的机制,德力西在温州市电器行业中逐渐崭露头角。

问答坊 | AI 解惑

RS485能实现全双工串行通信么?

算是问一下吧,我也没想过,有通过在用这个东西。…

查看全部问答>

国产手机为迟钝付出代价

本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 得3G市场者得天下,不是危言耸听。国产手机要想改变2G时代受制于人的局面,就必须拿出自己的看家本领,主打3G这张牌。尤其在TD领域,本土厂商以此为契机,给洋品牌沉重一击,并非没有可能。 ...…

查看全部问答>

如何计算nand flash的使用寿命?

我在一个只有32M的nand flash里使用SQLite,每天从远程服务器download一个文件,然后把文件解析后插入到数据库中,大概每天要插入五千条记录,会不会导致nand flash报废,该如何计算它的使用寿命啊?希望有这方面经验的朋友指点一下! …

查看全部问答>

SWIM管脚问题

现在我的MCU程序已经完成,为了把SWIM管脚设置成普通I/O口,我在 main() {       CFG_GCR = 0x01; } 这样出错,所以请问大侠这个该怎么在我的程序中实现SWIM管脚设置成普通I/O口。 问题有点简单,但是我就是实现不 ...…

查看全部问答>

STM8写EEPROM时UART接收中断为什么发生过载错误?

STM8写EEPROM时UART接收中断为什么发生过载错误?UART_SR的OR置位。 不写EEPROM时串口中断接收数据正常。…

查看全部问答>

stm8s103f3p_ vcap电容680nF及1uf_管脚电压只有0.8V

做了一个传感器的板子,使用了stms103f3的单片机,但是vcap管脚的内核基准电压测量发现只有0.8v,实际在vcap管脚:1) 未接电容,2),接220nf电容,3)接680nf电容 4) 接1uf电容。焊接了两块板子,供电电压分别为3.3V和5V,问题相同,求高手赐教。 ...…

查看全部问答>

【TI技术文章】:KeyStone存储器架构

随着全球范围内的海量数据对无线和有线网络的强大冲击,运营商面临着严峻的挑战,他们需要不断推出既能满足当前需求也能满足未来需求的网络。因此,通信基础局端设备制造商在致力于降低每比特成本和功耗的同时,也在不断寻求能够满足当前及至未来需 ...…

查看全部问答>

C51的单片机做红外空调编码发送的问题

就是现在单片机发送的波形和空调遥控器发送的波形基本上是一样的,用示波器看过了,但是单片机发送的红外波形,空调没什么反应,是什么问题啊?求帮助…

查看全部问答>

TI Deals这周又有了

这周的TIdeals是 MetaWatch,基于 MSP430F5438A和CC2560的一套解决方案,这次的TIdeals不算是个大便宜吧,原价是199美刀,现价非别为149和139美刀,还是好贵哦!包括两款,一款是数字显示的手表,另一款是表针显示的。手表链接如下:http ...…

查看全部问答>

【M4开发板Hanker试用狂】ddllxxrr之五:FATFS写W25*80A

FatFs是C语言写的支持支持FAT12,FAT16,FAT32文件系统,并且方便在小单片机上移植。并且完全免费,开源,嘿嘿!   在这里http://elm-chan.org/fsw/ff/00index_e.html下载源码。移植也很简单,同样移植的时候也是提供读写扇区等几个函数,但 ...…

查看全部问答>