历史上的今天
返回首页

历史上的今天

今天是:2025年01月30日(星期四)

2018年01月30日 | MSP430单片机1602液晶60秒计时程序

2018-01-30 来源:eefocus

MSP430 单片机 1602液晶60秒计时程序

//**************************************************************

//             P3BIT5接RS)-- (BIT7接NE)-- (BIT6接RW)

//             P4口送数据 
// 
//                                           08-6-27 
//***************************************************** 
#include "msp430x22x4.h" 
unsigned char  table[]="0123456789"; 
unsigned char a=0,b=0,c=0,d=0,e=0,f=0; 
 char num,count=0;   
//***********************读写数据延时******************  
void delay(int z) 

    int x,y; 
    for(x=z;x>0;x--) 
        for(y=510;y>0;y--);  

//***********************写命令************************ 
void write_com(char com) 
{      
      P3OUT&=~BIT5;               //控制LCD的  R/S口此时为命令为-0        
        P4OUT=com; 
    delay(5);            
    P3OUT|=BIT7;               //控制LCD的  EN口-1       
    delay(5);     
       P3OUT&=~BIT7;                //控制LCD的  EN口-0 
        

//**********************写数据************************* 
void write_data(char date)        
{  
    P3OUT|=BIT5;       // R/S口此时为数据为-1       
    P4OUT=date; 
    delay(5);             
    P3OUT|=BIT7;               //EN口为-1        
    delay(5);     
       P3OUT&=~BIT7;                //EN口为-0     
         

//*********************液晶显初始化*********************** 
void init() 

        WDTCTL=WDTPW+WDTHOLD;                 //关看门狗 
        BCSCTL1 =CALBC1_1MHz;                 //设定DCO为1MHZ 
        DCOCTL =CALBC1_1MHZ; 
        
         TACTL=TASSEL1+TACLR+ID_3;         //定时器A时钟源为MCLK,\式 
         CCR0 =65500;                      //计数值为65535个ACLK周期 
         CCTL0|=CCIE; 
         TACTL|=MC_1; 
         P3SEL  = 0X00; 
         P3DIR  = 0XFF; 
         P3OUT = 0X00; 
         P4DIR = 0XFF; 
         P4SEL = 0X00; 
         P4OUT = 0X00; 
       
    P3OUT&=~BIT6;                // RW口为-0 
    P3OUT&=~BIT7;                //EN口为-0 
         
    write_com(0x38);//显示模式设置         
    write_com(0x0c); //显示开及光标设置 
        write_com(0x04); 
        write_com(0x01); //显示清屏            
       // _EINT(); 
        //_BIS_SR(GIE); 



//**************************主程序*******************// 
  
void main() 

  init();  
  for(;;) 
  { 
  //write_com(0x01);//清屏   
   write_com(0x80+0x05); 
    write_data(table[b]); 
    //delay(5); 
     write_com(0x80+0x06); 
    write_data(table[a]); 
    
  } } 


//*****************************定时中断函数************************ 

  #pragma vector =TIMERA0_VECTOR          //ccr0中断服务 
__interrupt void ta1_isr(void) 
{  
    count++; 
       CCTL0&=~CCIFG;   
    if(count!=2)return; 
    count=0; 
    a++; 
    if(a>9) 
    { 
          a=0;b++; 
    if(b>5) 
        { 
          a=0;b=0; 
        } 
        } 
        CCR0 =65535; 


推荐阅读

史海拾趣

Goldentech Discrete Semiconductor Inc公司的发展小趣事

在20世纪90年代末,Goldentech Discrete Semiconductor Inc.(以下简称“Goldentech”)由一群来自顶尖学术机构的半导体专家创立。公司从成立之初就专注于研发高性能的离散半导体器件,特别是针对当时迅速发展的移动通信市场。Goldentech的创新团队成功开发出了一种新型的低功耗、高频率的晶体管,这一技术突破迅速吸引了多家手机制造商的注意。凭借这一技术优势,Goldentech在短时间内成为移动通信领域离散半导体器件的主要供应商之一,推动了公司业务的快速增长。

德尔创(Dersonic)公司的发展小趣事

在激烈的市场竞争中,德尔创始终保持着对技术创新的追求。公司不断加大研发投入,引进高端人才和先进设备,积极探索新的技术路线和产品应用。通过多年的积累和创新,德尔创在电子元器件领域已经拥有了一批具有自主知识产权的核心技术,并在市场上取得了显著的优势。这些技术优势不仅提升了公司的竞争力,还为公司的未来发展奠定了坚实的基础。

Fair Rite公司的发展小趣事

随着电子行业的快速发展,Fair Rite迅速捕捉到新的市场机遇。公司不断推出创新产品,以满足医疗、照明、汽车、通讯、航空、国防、智能能源和工业市场等领域的需求。Fair Rite通过技术创新和品质保证,赢得了客户的信赖和市场的认可。

ECLIPTEK公司的发展小趣事

随着全球对环保问题的日益关注,ECLIPTEK公司积极响应环保号召,将绿色环保理念融入其产品研发和生产过程中。公司采用环保材料和清洁能源,减少生产过程中的废弃物和污染物排放。同时,ECLIPTEK还积极参与环保公益活动,推动电子行业的可持续发展。

EMMICRO公司的发展小趣事

作为一家具有社会责任感的企业,EMMICRO公司始终关注环保和社会公益事业。公司积极参与环保活动和公益捐赠,推动企业的可持续发展和社会进步。同时,公司还积极承担对员工的培训和发展责任,为员工提供良好的职业发展平台和福利待遇。这种对社会责任的担当也赢得了社会的广泛赞誉和尊重。

GD Rectifiers Ltd公司的发展小趣事

GD Rectifiers Ltd在电子行业初期便以其卓越的技术创新能力崭露头角。公司在成立之初便专注于电力电子整流器的研发,通过不断优化电路设计和材料选择,成功推出了具有高效率和低损耗特性的整流器产品。这一技术创新不仅帮助公司在市场上建立了差异化竞争优势,还吸引了大量对电力效率有高度要求的客户。随着市场需求的不断增长,GD Rectifiers Ltd逐渐扩大了产品线,涵盖了更广泛的应用领域,进一步巩固了其市场地位。

问答坊 | AI 解惑

飞思卡尔智能汽车比赛

本来是要参加明天的飞思卡尔智能汽车比赛的,前段时间被老师叫去帮他完成一些东西,就退出来了。下面是一些飞思卡尔的资料,或许有用。 …

查看全部问答>

MSP430F1系列单片机,串口中断问题

MSP430F149单片机,中断发送函数         我理解的发送过程是这样的,大家先看下这样理解对不对?:首先,代码设置中断标志,UTXIFG1 = 1,程序进入发送中断函数发送一个字节,发送完毕后,MCU自动复位UTXIFG1 = 0, 然后退出 ...…

查看全部问答>

gooogleman 看到该贴请进

gooogleman, 我听论坛的兄弟说你有WINCE下的 SKYPE软件, 不知能发给我一份吗? 我找了好几天了也没找到。急用. 非常感谢. EMAIL:  LHEART@263.NET…

查看全部问答>

如何在pda上实现拦截电话并设置屏幕横竖方式

想做个小程序,使其起到如下效果: 当按通话键或有来电时,无论屏幕是处于横屏还是竖屏,立即切换到竖屏,当挂断电话后再恢复到原来的屏幕方式 想以服务的方式做,能安装能卸载 给个例子或思路…

查看全部问答>

紧急求助!对vxworks/tornado开发比较熟悉的大牛帮帮忙!

选了vxworks的课,结果忙了一学期其他的事情,还有几天交作业了,着急,诚征大牛帮忙。价格面议。手机:13718106015    实验1. 哲学家的晚餐(30%)    实验2. TCP双机通信(40%)    实验内容:安装Tornado UL ...…

查看全部问答>

新手求助啊 ccs5.1延时程序中asm("nop")

当加一个asm(\"nop\")到延时程序中,无任何问题,当有2个以上延时程序时则会出现错误,如何解决啊?  附图 …

查看全部问答>

FL2440屏幕初始化

我看了FL2440屏幕初始化的代码,在bootloader,eboot还有wince驱动中都有,但是只有bootloader中的初始化调用了,eboot还有wince驱动中都没有调用初始化函数。。但是我现在用spi接口的屏幕照样做,bootloader中可以点亮,但是到了wince中就会熄灭, ...…

查看全部问答>

430仿真器的驱动装不上去win7 32位的,指点一下吧

430仿真器的驱动装不上去win7 32位的,每次都安装不成功,出现下面这种情况…

查看全部问答>