历史上的今天
返回首页

历史上的今天

今天是:2025年02月24日(星期一)

正在发生

2020年02月24日 | MSP430G2553、F5529、FR5994+LCD1602八位液晶显示程序

2020-02-24 来源:eefocus

一:MSP430G2553+LCD1602代码

#include

unsigned char tab[]={"0123456789"};

#define uchar unsigned char

#define uint unsigned int

#define lcd_dir P1DIR

#define lcd_out P1OUT

#define OUT_lcd P2DIR |=BIT0+BIT1+BIT2   //P2口设为输出

#define RS_1 P2OUT |=BIT0    //P2.0

#define RS_0 P2OUT &=~BIT0

#define RW_1 P2OUT |=BIT1    //P2.1

#define RW_0 P2OUT &=~BIT1

#define E_1 P2OUT |=BIT2    //P2.2

#define E_0 P2OUT &=~BIT2

//写指令

void WriteInstruction(uchar dictate)

//单词:Instruction指令         dictate命令、指示

{

    OUT_lcd;

    lcd_dir =0xff;

    _delay_cycles(5000);

    E_0;

    RS_0;

    RW_0;

    _delay_cycles(2);

    E_1;

    lcd_out=dictate;

    _delay_cycles(1000);

    E_0;

}

//写地址

void WriteAddress(uchar x)     //Address地址

{

    WriteInstruction(x|0x80);   //设计数据指针起点

}

//写数据

void WriteData(uchar y)

{

    OUT_lcd;

    lcd_dir =0xff;

    _delay_cycles(5000);

    RS_1;

    E_0;

    RW_0;

    _delay_cycles(2);

    E_1;

    lcd_out=y;

    _delay_cycles(1000);

    E_0;

    RS_0;

}

void Lcd_Init()

{

    _delay_cycles(15000);

    WriteInstruction(0x38);//开显示

    _delay_cycles(50);

    WriteInstruction(0x38);

    WriteInstruction(0x38);

    WriteInstruction(0x0c);    //开显示不显示光标

    WriteInstruction(0x06);     //写一个指针加一

    WriteInstruction(0x01);       //清屏

}

void main(void)

{

   int  i=0;

    WDTCTL=WDTPW+WDTHOLD;

    Lcd_Init();

 //   ADC10_Init();

    WriteAddress(0x03);

    WriteData('V');

    WriteData('P');

    WriteData('P');

    WriteData(':');

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

    {

    WriteData(tab[i]);

    }

    while(1);

}


二:MSP430FR5994+LCD1602代码

#include

unsigned char tab[]={"1234567"};

#define uchar unsigned char

#define uint unsigned int

#define lcd_dir P3DIR      //P3.0,P3.1,P3.2,P3.3,P3.4,P3.5,P3.6,P3.7,

#define lcd_out P3OUT

#define OUT_lcd P1DIR |=BIT2+BIT4+BIT5   //P2口设为输出

#define RS_1 P1OUT |=BIT2    //P1.2

#define RS_0 P1OUT &=~BIT2

#define RW_1 P1OUT |=BIT4    //P1.4

#define RW_0 P1OUT &=~BIT4

#define E_1 P1OUT |=BIT5     //P1.5

#define E_0 P1OUT &=~BIT5

//写指令

void WriteInstruction(uchar dictate)

//单词:Instruction指令         dictate命令、指示

{

    P1OUT &= ~BIT2|~BIT4|~BIT5;//清除P1.0输出锁存器以确定开机状态

    OUT_lcd;

    P3OUT &= ~BIT0|~BIT1|~BIT2|~BIT3|~BIT4|~BIT5|~BIT6|~BIT7;//清除P1.0输出锁存器以确定开机状态

    //清除并启动

    lcd_dir =0xff;//全部输出

    _delay_cycles(5000);

    E_0;

    RS_0;

    RW_0;

    _delay_cycles(2);

    E_1;

    lcd_out=dictate;

    _delay_cycles(1000);

    E_0;

}

//写地址

void WriteAddress(uchar x)     //Address地址

{

    WriteInstruction(x|0x80);   //设计数据指针起点

}

//写数据

void WriteData(uchar y)

{

    P1OUT &= ~BIT2|~BIT4|~BIT5;//清除P1.0输出锁存器以确定开机状态

        OUT_lcd;

        P3OUT &= ~BIT0|~BIT1|~BIT2|~BIT3|~BIT4|~BIT5|~BIT6|~BIT7;//清除P1.0输出锁存器以确定开机状态

        //清除并启动

        lcd_dir =0xff;//全部输出

        _delay_cycles(5000);

        RS_1;

        E_0;

        RW_0;

        _delay_cycles(2);

        E_1;

        lcd_out=y;

        _delay_cycles(1000);

        E_0;

        RS_0;

}

void Lcd_Init()

{

    _delay_cycles(15000);

    WriteInstruction(0x38);//开显示

    _delay_cycles(50);

    WriteInstruction(0x38);

    WriteInstruction(0x38);

    WriteInstruction(0x0c);    //开显示不显示光标

    WriteInstruction(0x06);     //写一个指针加一

    WriteInstruction(0x01);       //清屏

}

void main(void)

{

   int  i=0;

    WDTCTL=WDTPW+WDTHOLD;

    PM5CTL0 &= ~LOCKLPM5;

    Lcd_Init();

 //   ADC10_Init();

    WriteAddress(0x03);

    WriteData('V');

    WriteData('I');

    WriteData('P');

    WriteData(':');

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


   {

    WriteData(tab[i]);

   }

    while(1);

}


三:MSP430F5529+LCD1602代码

#include

unsigned char tab[]={"1234567"};

#define uchar unsigned char

#define uint unsigned int

#define lcd_dir P3DIR      //P3.0,P3.1,P3.2,P3.3,P3.4,P3.5,P3.6,P3.7,

#define lcd_out P3OUT

#define OUT_lcd P1DIR |=BIT2+BIT4+BIT5   //P1口设为输出

#define RS_1 P1OUT |=BIT2    //P1.2

#define RS_0 P1OUT &=~BIT2

#define RW_1 P1OUT |=BIT4    //P1.4

#define RW_0 P1OUT &=~BIT4

#define E_1 P1OUT |=BIT5     //P1.5

#define E_0 P1OUT &=~BIT5

//写指令

void WriteInstruction(uchar dictate)

//单词:Instruction指令         dictate命令、指示

{


    OUT_lcd;

    //清除并启动

    lcd_dir =0xff;//全部输出

    _delay_cycles(5000);

    E_0;

    RS_0;

    RW_0;

    _delay_cycles(2);

    E_1;

    lcd_out=dictate;

    _delay_cycles(1000);

    E_0;

}

//写地址

void WriteAddress(uchar x)     //Address地址

{

    WriteInstruction(x|0x80);   //设计数据指针起点

}

//写数据

void WriteData(uchar y)

{


        OUT_lcd;

        //清除并启动

        lcd_dir =0xff;//全部输出

        _delay_cycles(5000);

        RS_1;

        E_0;

        RW_0;

        _delay_cycles(2);

        E_1;

        lcd_out=y;

        _delay_cycles(1000);

        E_0;

        RS_0;

}

void Lcd_Init()

{

    _delay_cycles(15000);

    WriteInstruction(0x38);//开显示

    _delay_cycles(50);

    WriteInstruction(0x38);

    WriteInstruction(0x38);

    WriteInstruction(0x0c);    //开显示不显示光标

    WriteInstruction(0x06);     //写一个指针加一

    WriteInstruction(0x01);       //清屏

}

void main(void)

{

   int  i=0;

    WDTCTL=WDTPW+WDTHOLD;

    Lcd_Init();

 //   ADC10_Init();

    WriteAddress(0x03);

    WriteData('V');

    WriteData('I');

    WriteData('P');

    WriteData(':');

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


   {

    WriteData(tab[i]);

   }

    while(1);

}


推荐阅读

史海拾趣

Belden Wire & Cable公司的发展小趣事

在1902年,Joseph C. Belden在美国芝加哥创立了Belden公司,标志着这家电线电缆公司的诞生。创立初期,公司便专注于电线电缆的研发和生产,凭借其卓越的产品质量和可靠的性能,逐渐在市场上崭露头角。随着业务的发展,Belden逐渐扩大了生产规模,并增设了多个生产基地,以满足不断增长的市场需求。

BREL International Components公司的发展小趣事

BREL International Components公司自创立之初,就致力于电子元件的技术创新。在早期阶段,公司研发出一款高性能的集成电路,其稳定性和耐用性远超市场同类产品。这一创新为BREL赢得了众多客户的青睐,公司迅速在电子元件市场占据了一席之地。随着技术的不断进步,BREL持续推出创新产品,如低功耗的芯片和高速传输的连接器,进一步巩固了其在行业内的领先地位。

台湾固锝(GD)公司的发展小趣事
通过合理设计反馈电路和保护电路,确保放大器的稳定性和可靠性。
Crocus Technology公司的发展小趣事

随着技术的不断成熟和市场需求的变化,Crocus Technology开始拓展其产品线。2015年,公司成功推出了首款磁开关产品,这标志着公司在磁传感器领域迈出了重要的一步。随后,公司又陆续推出了位置传感和2D传感器产品,进一步巩固了其在磁传感器市场的地位。

First Switchtech公司的发展小趣事

在追求商业成功的同时,First Switchtech公司(或类似公司)也始终关注可持续发展和社会责任。公司致力于环保产品的研发和生产,推出了多款符合国际环保标准的电子开关产品。同时,公司还积极参与公益事业,通过捐赠资金、技术支持等方式帮助贫困地区改善教育条件、提升医疗水平等。这些举措不仅提升了公司的社会形象,也促进了公司与社会的和谐共生。

需要注意的是,以上故事是基于电子行业普遍趋势和可能发展路径的构想,并非直接针对First Switchtech公司的具体事实。如需了解该公司的真实发展情况,建议直接访问其官方网站或查阅相关新闻报道。

ddm hopt + schuler GmbH & Co KG公司的发展小趣事

随着全球对环境保护意识的增强,ddm hopt + schuler公司开始关注绿色制造和可持续发展。公司投入大量资源进行绿色生产技术的研发,成功开发出一系列节能、环保的电子生产设备。这些设备在保障生产效率和产品质量的同时,显著降低了能源消耗和废弃物排放。这一举措不仅提升了公司的品牌形象,也赢得了客户和市场的广泛赞誉。

问答坊 | AI 解惑

MaxplusII(中文)快速入门

MaxplusII(中文)快速入门…

查看全部问答>

合格的电子工程师需要掌握的知识和技能

合格的电子工程师需要掌握的知识和技能,我不多说了,看了就知道。是好贴的话就顶一下!O(∩_∩)O谢谢…

查看全部问答>

汽车CAN数据传输系统的原理及故障实例

(1)什么是数据总线  一辆汽车不管有多少块电控单元,不管信息容量有多大,每块电控单元都只需引出两条线共同接在两个节点上,这两条导线就称作数据总线。以前各电控单元之间好比有许多人骑着自行车来来往往,现在是这些人乘坐公共汽车,公共汽车 ...…

查看全部问答>

LM3S8962 Evaluation Board开发板

SW-EK-LM3S8962-5961  软件包里面 can_device_qs_debug  就是小板的工程文件 小板的程序使用KEIL软件,LM3S8962 Evaluation Board开发板板载调试器调试外部芯片,就可以下载程序了。 IAR软件下载不成功,知道的告诉一声如何 ...…

查看全部问答>

USB下载接口驱动程序.rar

本帖最后由 paulhyde 于 2014-9-15 08:57 编辑 USB下载接口驱动程序.rar  …

查看全部问答>

WINCE5 基于MFC,使用GDI+时,能通过编译,但是画不出来

WINCE5 EVC基于MFC的。使用GDI+时,能通过编译,但是画不出来   我从这个网站http://www.ernzo.com/LibGdiplus.aspx下载下来VC使用GID+的头文件以及LIB库。。按 照下面的要求 配置好GDI+  使用环境。。 头文件: #inc ...…

查看全部问答>

请大家来帮手看看编译u-boot时出现的错误?

ot@localhost u-boot-1.1.6]# export PATH=/ning/2.95.3/bin:$PATH [root@localhost u-boot-1.1.6]# make B2_config Configuring for B2 board... [root@localhost u-boot-1.1.6]# make for dir in tools examples post post/cpu ; do make - ...…

查看全部问答>

怎样把自己的shell挂接到系统的telnet服务上呢?

vxwoks系统有自己的tlenet服务,但是怎样把自己做的shell关联到系统的telnet 服务上呢? 看了帮助,说修改shellParserControl这个接口为自定义的接口,但是怎样实现这个接口呢?急,谢谢!…

查看全部问答>

soc内部串口驱动与测试程序问题

一般来说soc的串口是都已经是能用的. 我现在的问题是 root@/dev#echo jdskfj>ttyS1 Using fractional divider baud 9600, clock 100000000 dlf 00 dlm is 2,dll is 8b 当我用int main() { int fd; int nread; int i; char buff[512]; ch ...…

查看全部问答>

LED显示屏为什么能够得到广泛使用,我的总结是以下几点:

  1、可延展性:LCD屏做的越大,生产线设备投入越高。而LED显示屏尺寸的增大是很容易的,就像搭积木一样。分辨率也方便根据用户需求实现。   2、全彩:灯泡,霓虹灯等都是单色的,LED实现了RGB三原色的组合。   3、可靠性高:LED是固体照明, ...…

查看全部问答>