MSP430 F5529 单片机 模拟时钟 万年历 数字时钟 OLED Analog clock

发布者:科技飞翔最新更新时间:2021-01-20 来源: eefocus关键字:MSP430  F5529  单片机  模拟时钟  万年历  数字时钟 手机看文章 扫描二维码
随时随地手机看文章

做了一块MSP430 F5529转接板看起来漂亮一点,没有就直接用杜邦线接线。

https://blog.csdn.net/x1131230123/article/details/108772807

Analog clock. Starting with the current time, draw a clock face and the hour, minute and seconds hand.

Use the RTC module in the MSP430, and move the hands to show the correct time.


1、

模拟时钟 OLED

功能:实时显示时钟;按键修改时钟。


2、

最终效果:

3、

硬件:OLED和MSP430 F5529自带的2个按键


OLED接线

//            |             P3.1|<- Data In (UCB0SOMI)

//            |    F5       P3.0|-> Data Out (UCB0SIMO)   --D1(OLED)

//            |             P3.2|-> Serial Clock Out (UCB0CLK)  --D0(OLED)

//            |             P2.0|->RES(OLED)

//            |             P2.2|->DC(OLED)

//            |             P8.1|->CS(OLED)


主函数中初始化时钟为25MHZ,初始化OLED,初始化2个按键。初始化模拟时钟的表盘显示,初始化MSP430 F5529内部的RTC模块,打开总中断。


int main(void)

{


    WDTCTL = WDTPW + WDTHOLD; /* Stop WDT */

    initClock();                //25MHZ

    OLED_Init(); /* 初始化OLED */


    /*按键1 */

    P1DIR &= ~(BIT1);

    P1OUT |= (BIT1);

    P1REN |= (BIT1);

    /*按键2 */

    P2DIR &= ~(BIT1);

    P2OUT |= (BIT1);

    P2REN |= (BIT1);


    init_Point_Clock();

    Display_Pointer(Point_Time[1], 1);


    SetupRTC(); /* set RTC */

    _EINT();


    while (1)

    {

        KEY_Scan();

    }

}


每一秒发生中断,去更新模拟时钟的显示:去掉上次时间的指针显示----->显示这次的时间指针。每一秒发生中断,去更新时钟数字的显示。


        Display_Pointer(Point_Time[1], 0); //去掉上次时间的指针显示

        Point_Time[1].hour = RTCHOUR;

        Point_Time[1].minute = RTCMIN;

        Point_Time[1].second = RTCSEC;

        Display_Pointer(Point_Time[1], 1); //显示这次的时间指针


主函数不断KEY_Scan()循环检测按键,处理按键。

按键1 修改想要更改的项目

按键2 增加数值


关键字:MSP430  F5529  单片机  模拟时钟  万年历  数字时钟 引用地址:MSP430 F5529 单片机 模拟时钟 万年历 数字时钟 OLED Analog clock

上一篇:MSP430 F5529 单片机 OLED 俄罗斯方块
下一篇:CCS-msp430

推荐阅读最新更新时间:2024-11-17 14:13

STM8L051单片机,PWM配置
STM8L051单片机,PWM配置。 文件.c 中代码如下所示 #include MYPWM.h void MYPWM_Init(void)//PWM初始化 { GPIO_Init(GPIOB,GPIO_Pin_1,GPIO_Mode_Out_PP_High_Fast); //TIME3 ,CH1,PB1,快速推挽输出高电平 TIM3_DeInit();//定时器配置为缺省 CLK_PeripheralClockConfig(CLK_Peripheral_TIM3,ENABLE); //TIME3时钟使能 TIM3_TimeBaseInit(TIM3_Prescaler_8,TIM3_CounterMode_
[单片机]
基于MTV412微控制器1对8的ISP系统
引 言 随着微控制器应用领域的不断扩展和深入,越来越多种类的微控制器具有ISP(In System Programming,在系统编程)功能。使用ISP可以使工厂在产品设计、制造过程中不必把微控制器从目标板中拔出,通过I2C实现在线体上程序升级。目前,在国内一线工厂,主设备(上位机)一般都用PC,这样不仅浪费资源,而且灵活性较差;同时由于在线体上只能对单个从设备进行程序更新,严重影响了工厂的生产效率。为此,本文设计了一种基于MTV412微控制器的1对8的ISP系统,主设备采用Myson公司的MTV412,可以同时对8台从设备进行在线程序更新。 目前,51内核的微控制器ISP模式一般分为两大类:一类是使用JTAG协议的ISP模式
[应用]
基于51单片机的ADC0809C程序代码
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。 A/D转换器是模拟信号源与计算机或其它数字系统之间联系的桥梁,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机等数字系统进行处理、存储、控制和显示。在工业控制
[单片机]
基于AT89S51单片机的PID温度控制系统设计
  温度控制技术不仅在工业生产有着非常重要的作用,而且在日常生活中也起着至关重要的作用。本文对系统进行硬件和软件的设计,在建立温度控制系统数学模型的基础之上,通过对PID控制的分析设计了系统控制器,完成了系统的软、硬件调试工作。算法简单、可靠性高、鲁棒性好,而且PID控制器参数直接影响控制效果。   1. 系统概述   1.1 系统总体结构   该系统利用AT89S51丰富的外设模块搭建硬件平台。系统的硬件电路包括:模拟部分和数字部分,基本电路由核心处理模块、温度采集模块、键盘显示模块及控制执行模块等组成。   1.2 系统工作流程   系统开始工作时,首先由单片机控制软件发出温度读取指令,通过数字温度传感器采集被控对象的当前温度
[电源管理]
基于AT89S51<font color='red'>单片机</font>的PID温度控制系统设计
单片机 MSP430 独立按键检测
可以不用while等待。 定义函数 #define CPU_F ( (double) 8000000) #define delay_us( x ) __delay_cycles( (long) (CPU_F * (double) x / 1000000.0) ) #define delay_ms( x ) __delay_cycles( (long) (CPU_F * (double) x / 1000.0) ) #define CO 1 #define SET 2 #define UP 3 #define DOWN 4 #define key_01 (P2IN&BIT5) #define key_02 (P
[单片机]
TI新推M4内核MCU,卖的不是硬件!
  与去年6月来中国时一样,TI Stellaris 微控制器业务部总经理Jean Anne Booth依旧穿着黑色西服套裤、黑色方头皮鞋,项上挂着珍珠项链,优雅、职业。但这一次不同,Jean谈的不再是TI和Luminary在产品、技术上的融合,而是Stellaris并入TI大家庭后第一次的“全TI”产品——LM4Fx。 TI Stellaris 微控制器业务部总经理Jean Anne Booth   这个全球第一款基于Cortex-M4内核的65纳米微控制器系列产品,就这样悄然亮相了。   为何M4?   自2010年开始,Freescale、NXP、瑞萨等厂商都陆续发布了基于M4 MCU的信息,就在几天前,ST也发布
[单片机]
msp430按键控制LED灯
#include io430.h /* 按键控制lLED灯的亮灭,有两种方法. 方法一:中断功能. 方法二:利用 if(P4IN&BIT2)判断即可. 写代码时,尽量按照步骤来,避免因疏忽而浪费大量时间找bug. */ int main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; P4DIR |= BIT5; P4REN |= BIT2; P4OUT |= BIT2; P4IES |= BIT2; P4IFG &= ~BIT2; P4IE |
[单片机]
Modbus协议下单片机与eView触摸屏的通信方法
  Modbus协议由于其具有开放性、透明性、成本低、易于开发等特点,已成为当今工业领域通信协议的首选。   本文介绍了一种基于Modbus通信协议的eView触摸屏与常用的51单片机的通信方法。该方法通过C51编程实现Modbus通信,在51系列单片机上具有通用性,有一定的借鉴作用。   工业控制中经常需要观察系统的运行状态或者修改运行参数。触摸屏能够直观、生动地显示运行参数和运行状态,而且通过触摸屏画面可以直接修改系统运行参数,人机交互性好。单片机广泛应用于工控领域中,与触摸屏配合,可组成良好的人机交互环境。   触摸屏与单片机通信,需要根据触摸屏采用的通信协议为单片机编写相应的通信程序。Modbus协议是美国Modic
[工业控制]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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