找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1812|回复: 0
打印 上一主题 下一主题
收起左侧

MSP430软件实时钟演示程序代码

[复制链接]
跳转到指定楼层
楼主
功能详见源码
  1. /*

  2.                          软件实时钟演示程序


  3.      说明:该程序演示RTC程序库所包含的常用的RTC功能函数的使用方法。
  4.            其中RTC_Tick()函数放在了BasicTimer的中断服务程序中。


  5.   (C)西安电子科技大学 测控技术与仪器教研中心 编写:谢楷 2008/02/20

  6. */
  7. //
  8. //
  9. //                  MSP430F4XX
  10. //               +---------------+         Digital Number
  11. //               |               |         左8+ 7654321右
  12. //               |               |    +----------------------+
  13. //               |         S0-S15|--->|   SoftBaugh LCD_048  |
  14. //               |      COM0-COM3|--->|   7.1Digit,4-Mux LCD |
  15. //               |               |    +----------------------+
  16. //               |               |
  17. //               |        R03-R33|<---LCD Voltage Ladder Rs
  18. //               |               |
  19. //               |       XIN/XOUT|<---32.768KHz Watch Crystal
  20. //               |               |
  21. //               +---------------+


  22. #include "msp430x42x.h"
  23. #include "RTC.h"
  24. #include "BasicTimer.h"
  25. #include "LCD_Display.h"
  26. #include "Key.h"
  27. #include "jinshu.h"
  28. #include "UART.h"
  29. char Hour;
  30. char Minute;
  31. char Second;
  32. unsigned char Command149[5];

  33. void main( void )
  34. {
  35.     WDTCTL=WDTPW+WDTHOLD;  //停止看门狗
  36.     FLL_CTL0|=XCAP18PF;          //配置晶振负载电容
  37.     //P1DIR|=BIT0+BIT1+BIT2+BIT3+BIT4;
  38.     P2DIR|=BIT0+BIT1+BIT2+BIT3;       //悬空的IO口要置为输出
  39.     //P1OUT =0;                         //不确定电平会造成IO耗电
  40.     P2OUT =0;
  41.     jinshu_Init();//金属检测初始化程序
  42.     BT_Init(64);           //BasicTimer设为1/64秒中断一次
  43.     LCD_Init();           //LCD初始化
  44.     TACTL=TASSEL_1+MC_2+TAIE+TACLR;
  45.     UART_Init425();
  46.     //RTC_SetVal('h',12);
  47.     _EINT();
  48.     RTC_SetVal('m',0);      //设置时间为12:30

  49.      unsigned int i;
  50.     while(1)
  51.     { for(i=0;i<20;i++)
  52.          UART0_GetChar(Command149);
  53.       if(Command149[0]==0x08)
  54.       {  Dis_Shu[3]=Dis ;
  55.         _DINT();
  56.        for(i=0;i<2000;i++)
  57.        {
  58.        Hour=RTC_GetVal('h');      //获取"时"
  59.        Minute=RTC_GetVal('m');    //获取"分"
  60.        Second=RTC_GetVal('s');    //获取"秒"
  61.        LCD_DisplayChar(Minute/10,3);
  62.        LCD_DisplayChar(Minute%10,2);  //显示"分"
  63.        LCD_DisplayChar(Second/10,1);
  64.        LCD_DisplayChar(Second%10,0);  //显示"秒"
  65.        LCDM3|=0x10;                   //显
  66.        LCD_DisplayChar(3,5);
  67.        }
  68.         for(i=0;i<1000;i++)
  69.          {  LCD_DisplayDecimal(Dis_Shu[3],2);
  70.           }
  71.        for(i=0;i<1000;i++)
  72.          {LCD_DisplayDecimal(Dis_Shu[0],2);
  73.          LCD_DisplayChar(1,5);
  74.          }
  75.        for(i=0;i<1000;i++)
  76.          {LCD_DisplayDecimal(Dis_Shu[1],2);
  77.            LCD_DisplayChar(2,5);
  78.          }
  79.        for(i=0;i<1000;i++)
  80.          {LCD_DisplayDecimal(Dis_Shu[2],2);
  81.            LCD_DisplayChar(3,5);
  82.          }
  83.        LCD_Clear();
  84.        for(i=0;i<500;i++);
  85.        }

  86.        else
  87.        {

  88. ……………………

  89. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

全部资料下载地址:
源代码.zip (131.87 KB, 下载次数: 8)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表