MSP430单片机控制lcd1602显示C程序

发布者:RainbowMelody最新更新时间:2021-04-06 来源: eefocus关键字:MSP430  单片机控制  lcd1602显示 手机看文章 扫描二维码
随时随地手机看文章

//MSP430写的1602液晶显示程序2011/8/26//硬件连接   

//P4 数据口  P3.7---E P3.6---RW  P3.5----RS

#include"msp430x14x.h"

#define   uint      unsigned int

#define rw(x) P3OUT=(P3OUT&(~BIT6))|(x?BIT6:0);


unsigned char table0[]="hankouxueyuan";                                    

unsigned char table1[]="dianzisheji";

  

//**************延时***********************************

void delay(uint z)

{

    uint t,y;

    for(t=z;t>0;t--)

        for(y=110;y>0;y--);

}


//*******写命令*****************************************

void write_com(unsigned char com)

{

    P3OUT&=~BIT5;//作为RS选择端低电平有效

    rw(0);

    P3OUT|=BIT7;

    delay(10);

    P4OUT=com;

    //P4OUT=com;

    //P3OUT|=BIT7;

    delay(15);

    P3OUT&=~BIT7;

}


//*******写数据***************************************************

void write_data(unsigned char date)

{

    P3OUT|=BIT5;//作为RS选择端高电平有效劳

    rw(0);

    P3OUT|=BIT7;

    delay(10);

    P4OUT=date;

    //delay(15);

    //P4OUT=date;

    //P3OUT|=BIT7;作为E选择端=1;

    delay(15);

    P3OUT&=~BIT7;

}



//********初始化******************************************

void init()

{

  P3DIR=0xff;//P3输出 作控制口

  P3SEL=0;

  P3OUT=0x00;

  

  P3OUT&=~BIT7;//E

  P3OUT&=~BIT5;//RS


  P4DIR=0XFF;//P4输出 作数据口

  P4SEL=0;

  P4OUT=0X00;

  write_com(0x38);//显示模式设置

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

  write_com(0x06);//数据地址指针

  write_com(0x01);//清屏

  //_BIS_SR(GIE);//两个开总中断的方法随便用哪一个

  //   _EINT();

}


//************显示函数2********************

display2(unsigned char x,unsigned char *p)

{

  unsigned char y=0;      //y要给其初值0否则出乱码

  write_com(x);

  while(p[y]!=0x00)

   {

     write_data(p[y]);

     y++;

     delay(15);

   }

}


//***************主函数****************************************************

void main()

{

  WDTCTL=WDTPW+WDTHOLD;                 //关看门狗

  init();

  while(1)

  {

    display2(0x80+0x01,table0);

    display2(0x80+0x40+0x01,table1);

  }

}


关键字:MSP430  单片机控制  lcd1602显示 引用地址:MSP430单片机控制lcd1602显示C程序

上一篇:基于MSP430和nRF905的多点无线通讯模块
下一篇:CPLD和MSP430单片机在导波雷达物位计中的应用

推荐阅读最新更新时间:2024-11-11 05:52

MSP430F5438内部延时函数的用法
今天看示例程序中出现了__delay_cycles()这个函数,在查找msp430x54x.h这个头文件的时候,发现这个头文件中没有该函数的声明,原来这个函数已经在IAR这个编译器中集成,这里总结一下__delay_cycles();这个函数的具体用法 第一步,复制代码: #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((lo
[单片机]
msp430 RS232 示例程序
/****************************************************** 程序功能:接收来自PC机的字符,然后重新发送给PC机 ------------------------------------------------------- 通信格式:N.8.1, 9600 无校验,8个数据位,1个停止位,波特率9600 ------------------------------------------------------ 测试说明:打开串口调试助手,正确设置通信格式,向学习板 发送一个字符,观察是否收到回发的字符,以及是否 正确 ***************
[单片机]
基于MSP430与DTMF技术的医院呼叫对讲系统设计
  随着科学技术的迅速发展,尤其是电子信息技术的不断更新,医疗卫生事业也逐步深化改革,实现现代化医疗成为医院未来发展的趋势,医院呼叫对讲系统是提高医院的护理水平的重要设备之一,其基本功能就是通过一种简便的途径使护理对象与医护人员达成沟通。16位的MSP430单片机的集成度很高,片内资源丰富,主要的突出特点是低功耗,可以实现长时间的稳定工作,应用到该系统后,性能得到很好的优化,可以提高医护人员的工作效率和降低他们的劳动强度,病人也能得到及时的护理和医疗,可以显著提高医院的服务水平和医疗质量。   1 DTMF呼叫对讲系统介绍   1.1 DTMF技术的介绍   DTMF(Dual Tone Mul TI Frequency),即
[单片机]
基于<font color='red'>MSP430</font>与DTMF技术的医院呼叫对讲系统设计
MSP430 定时器B与看门狗定时器(2)
简介:本节主要介绍: ·16位定时器B之结构 ·16位定时器B之寄存器 ·16位定时器B之程序举例 1. 16位定时器B之结构 1.1 Timer_B7系统 16位Timer_B7仅在MSP430F14x及MSP430F44x芯片中存在,从标题的命名规则可知Timer_B具有7个捕获/比较器。与Timer_A3相比,Timer_B7还具有一下特点: 1、Timer_B7可以配置定时器计数长度:8位、10位、12位或16位; 2、Timer_B7捕获/比较寄存器增加了锁存器; 3、Timer_B7不具备SCCI控制位及其相关功能; 4、Timer_B7在进行比较时,并不是TBCCRx中的值直接与TBR比较
[单片机]
<font color='red'>MSP430</font> 定时器B与看门狗定时器(2)
MSP430 中断优先级
MSP430的中断优先级、打开关闭、中断嵌套 优先级顺序从高到低为: PORT2_VECTOR (1 * 2u) /* 0xFFE2 Port 2 */ PORT1_VECTOR (4 * 2u) /* 0xFFE8 Port 1 */ TIMERA1_VECTOR (5 * 2u) /* 0xFFEA Timer A CC1-2, TA */ TIMERA0_VECTOR (6 * 2u) /* 0xFFEC Timer A CC0 */ ADC_VECTOR (7 * 2u) /* 0xFFEE ADC */ USART0TX_VECTOR (8 * 2u) /* 0xFFF0 USART 0 Tran
[单片机]
利用MSP430定时器A测量脉冲宽度
1-程序描述 利用MSP430单片机定时器A和捕获/比较功能模块结合使用,实现脉冲宽度的测量。 本例程用到了定时器A的CCI1A端口(例如MSP430F14X的P1.2引脚)作捕获外部输入的脉冲电平跳变,同时结合简单的软件算法就能实现脉冲宽度的测量。在实际应用中可根据例程中的start,end,overflow三个变量来计算脉冲宽度。此功能模块在实际产品应用中体现出有较高的应用价值。 2-例程 #include msp430x14x.h unsigned int start,end; unsigned char overflow; void main (void) { WDTCTL= WDTPW+WDTHOLD;//关闭
[单片机]
用proteus8.0仿真51单片机控制步进电机实验报告与源码
用proteus8.0仿真51单片机控制步进电机,实现简单的正反转、加减速控制。 ps. 该贴仅为获取黑币而法,如有雷同,多多保函 实验内容 掌握KeilC51软件与Protues软件联合仿真调试的方法; 掌握步进电机的工作原理及控制方法; 掌握步进电机控制的不同编程方法。 电路图 实验心得 这次实验让我学到了通过改变延时函数的参数可以实现步进电机的增减速,改变驱动电机的数模可以实现电机的正反转,中途遇到的困难不少,但在老师的指导下总算是完成任务。这两次实验使我能更熟练地运用微机来控制其他器件,获益良多。 单片机源程序如下: #include reg52.h sbit KEY0=P0^0; sbit KE
[单片机]
用proteus8.0仿真51<font color='red'>单片机控制</font>步进电机实验报告与源码
MSP430与DS18B20数码管显示(中断法)
#include msp430x14x.h typedef unsigned char uchar; typedef unsigned int uint; /*****18B20部分的接口定义********/ #define DQ1 P1OUT |= BIT6 #define DQ0 P1OUT &= ~BIT6 #define DQ_in P1DIR &= ~BIT6 #define DQ_out P1DIR |= BIT6 #define DQ_val (P1IN & BIT6) /*****数码管部分的接口定义********/ #define wei_h P5OUT|= BIT5 #define wei_l P5OUT
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved