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

发布者:梦幻微笑最新更新时间:2018-01-30 来源: eefocus关键字:MSP430  单片机  1602液晶  60秒计时 手机看文章 扫描二维码
随时随地手机看文章

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; 


关键字:MSP430  单片机  1602液晶  60秒计时 引用地址:MSP430单片机1602液晶60秒计时程序

上一篇:msp430 ADC10单通道多次转换
下一篇:MSP430单片机1602液晶显示程序

推荐阅读最新更新时间:2024-03-16 15:53

51单片机程序执行流程详细分析
单片机是没有上操作系统的东西,在keil中编写的代码都是裸机代码,深入编写裸机代码有助于了解硬件的特性。 若不是硬件特性已定的情况之下的其它流程都是代码作祟。忽然想到来探探51单片机的执行流程。这个念头起源于最初见到每个51程序里面的主函数里面最终都挂一个while(1);语句。为何要加一句while死循环让程序停留在main函数中呢。将while(1);语句去掉有什么影响么? 写一个很简单的程序试一下。 执行以上程序,由P1端口控制的流水灯闪了一下。程序最终进入while(1);里纠缠去了,这个到好解释。 现将while(1);语句屏蔽掉。我还以为程序不能被正确执行了呢,因为退出了main主函数,就像Ren
[电源管理]
51<font color='red'>单片机</font>程序执行流程详细分析
单片机选型九大注意事项
电视,洗衣机,咖啡机,遥控器和所有类型的已连接设备都需要人机交互,微控制器(MCU)通过处理使之成为可能。 市场上有无数MCU可以执行这类解决方案,以下总结了九个选型考虑因素,以帮助减少复杂性。 1.安全 安全设计应不仅考虑外界的连接访问,而且还应防止黑客通过物理手段实施潜在的恶意攻击。黑客不仅试图获得控制权或损害设备,还会获得设备记录和用户数据。对安全的全面审查应包括屏蔽层,安全配置硬件,内存保护单元,加密引导加载程序和加速器。 2.性能 大多数MCU应用程序编程均在Arm,MIPS和X86 CPU上运行。适当的规划可确保设计人员选择正确的MCU和相应的处理器,以在现在和将来提供必要的器件和系统性能。MCU的
[单片机]
单片机和MCP2510的CAN总线通信模块设计
CAN(Controller Area Network)总线,即控制器局域网。由于具有高性能、高可靠性以及独特的设计,CAN总线越来越受到人们的重视。德国的Bosch公司最初为汽车监控和控制系统设计了CAN总线,现在,其应用已面向过程工业、机械工业、纺织工业、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN总线已经形成国际标准,并已经公认为是最有前途的现场总线之一。CAN总线规范已经被国际标准化组织制订为国际标准ISO11898,并得到众多半导体器件厂商的支持,推出各种集成有CAN协议的产品。CAN总线系统智能节点是网络上报文的接收和发送站,一般由单片机和CAN控制器或二者合二为一组成。 MCP2510是Micro
[单片机]
<font color='red'>单片机</font>和MCP2510的CAN总线通信模块设计
msp430的printf函数的简单移植
在做一个基于TCS34725的RGB颜色传感器的工程,我使用的主控是MSP430,平时调试的时候用485总线发送到上位计(电脑或上层主控机),开始直接用串口发送函数直接发送,但是很多数据显示超级不方便,比如浮点数和有特地格式的数据流,先前都是自己用串口发送函数组一函数就是调用了int putchar(char *) 函数,于是我花了几分钟写了一个putchar函数,已使用,还真的成功了…….,想想先前傻逼的一个一个的构造格式,转化数字为字符串,现在终于可以使用printf函数了…. int putchar(int ch) { if (ch == '\n') { RS485Send_Byte(0x
[单片机]
一种80C198单片机测控通用系统
各种测控系统和智能仪器、仪表基本组成包括:传感器、计算机系统、执行器。现在,传感器、执行器的通用性越来越好,设计自动测控系统或智能仪器仪表有标准的4~20mA或0~10mA的标准信号输出的传感器和接受标准驱动信号的执行器供选择,因此,设计者只需设计计算机系统部分,计算机系统基本结构是一致的,仅涉及到具体芯片选择,实现途径大同小异,加之单片机技术的迅猛发展,其集成度越来越高,功能越来越强,接口更容易,如80C198,内部有4个带采样保持的10位A/D通道,4个高速触发输入通道,6个高速脉冲发生器的输出可以触发外部事件。一套设计完善的计算机系统便具有极好的通用性。下面介绍一种比较完善的80C198单片机测控系统。 2 系统硬件电
[单片机]
一种80C198<font color='red'>单片机</font>测控通用系统
MSP430F5529之1.44寸OLED显示
前言 有几天没更新了,最近一直忙着电赛,学习这个TI处理器芯片,因为我之前并没有接触过。毕竟我学的51单片机和32单片机,感觉这个16位的单片机“食之乏味,弃之可惜”,但是没办法,电赛TI公司赞助的,还是得准备准备哈哈,这里我是用CCS软件来入门的。 一、1.44寸OLED “独白” 其实相对于0.96寸OLED ,该OLED 最明显的特点就是它多出了四个接口(RES、DC、CS、BLK),同时保留了原有的接口(VCC、GND、SCL、SDA),下面讲一下接线问题: 电源接线: VCC :接 5V GND :接地 液晶屏数据线接线: CS : 片选信号 SCL(CLK): SPI 时钟信号引
[单片机]
<font color='red'>MSP430</font>F5529之1.44寸OLED显示
STM32单片机学习笔记(5):ADC模数转换器
项目简介 利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。这是第五部分针对STM32单片机内置ADC模块的学习和理解。 硬件模块 STM32F103R4 LDR 串口模块 软件工具 CubMX Proteus KEIL 电路连接图 工作流程 首先创建一个CubMX工程,选择ADC模块 其余保持默认即可。 然后就是编写程序,程序代码在后面会列出来,这里简单说说自己遇到的一些问题。刚开始出来的结果全是0,但是网上有人说在实物开发板上是可以正常运行的。本来想放弃选用ADC0832模块的,不过不幸的事
[单片机]
STM32<font color='red'>单片机</font>学习笔记(5):ADC模数转换器
电子车速里程表的单片机实现方案
摘要:介绍了一个基于单片机的电子式转速里程表实现方案,讨论了里程计数的原理和转速指示原理,给出了用单片机AT89C2051和LM1819驱动器设计的汽车转速里程表的具体电路原理图。 关键词:转速里程表;空气轴表芯;LM1819;驱动器;单片计算机 1 概述 传统的汽车转速里程表的功能有两个,一是用指针指示汽车行驶的瞬时车速,二是用机械计数器记录汽车行驶的累计里程。现代汽车正向高速化方向发展,随着车速的提高,用软轴驱动的传统车速里程表受到前所未有的挑战,这是因为软轴在高速旋转时,由于受钢丝交变应力极限的限制而容易断裂,同时,软轴布置过长会出现形变过大或运动迟滞等现象,而且,对于不同的车型,转速里程表的安装位置也会受到软轴长度
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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