历史上的今天
今天是: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; }
下一篇:基于MSP430的湿度计作品展示
史海拾趣
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 得3G市场者得天下,不是危言耸听。国产手机要想改变2G时代受制于人的局面,就必须拿出自己的看家本领,主打3G这张牌。尤其在TD领域,本土厂商以此为契机,给洋品牌沉重一击,并非没有可能。 ...… 查看全部问答> |
|
我在一个只有32M的nand flash里使用SQLite,每天从远程服务器download一个文件,然后把文件解析后插入到数据库中,大概每天要插入五千条记录,会不会导致nand flash报废,该如何计算它的使用寿命啊?希望有这方面经验的朋友指点一下! … 查看全部问答> |
|
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,问题相同,求高手赐教。 ...… 查看全部问答> |
|
随着全球范围内的海量数据对无线和有线网络的强大冲击,运营商面临着严峻的挑战,他们需要不断推出既能满足当前需求也能满足未来需求的网络。因此,通信基础局端设备制造商在致力于降低每比特成本和功耗的同时,也在不断寻求能够满足当前及至未来需 ...… 查看全部问答> |
|
这周的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下载源码。移植也很简单,同样移植的时候也是提供读写扇区等几个函数,但 ...… 查看全部问答> |




