Loading... MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。MSP430G2553的Launchpad扩展板集成了128段LCD显示屏,ADC和DAC,负电源转换、拨盘电位器、SD/TF卡槽、音频功率放大器和基于I2C扩展的4个按键与8个LED灯,基本上可以满足学习的需要,不需要额外的外设。 本次课程设计主要利用MSP430G2553的扩展板实现使用4个按键、8个LED灯、一个LCD显示屏、一个蜂鸣器的电子时钟系统,可以实现以下功能: * 可以实现日期、时间显示切换; * 可以实现按键调整日期和时间; * 可整点报时; * 可设闹钟,同时具有闹钟开关功能; * 秒表功能。 软件程序使用CCS开发,可以导入后直接使用,代码如下: [https://github.com/SunWind2000/ElectronicClock](https://github.com/SunWind2000/ElectronicClock) 硬件原理图使用Altuim Designer设计。 项目结构如下图所示:  main.c中的代码如下: ```c /****************************************************************************************** * main.c * 电子时钟主函数 * 功能描述: * (1)可通过按键在日历和时间之间切换显示; * (2)可由按键调整日期和时间; * (3)可整点报时(“嘟、嘟”声); * (4)可设定时,定时时间到发出“嘟、嘟”声; * (5)具有秒表功能。 * Created on: 2021-5-28 * Author: 孙昊阳 ******************************************************************************************/ #include <msp430.h> #include "TCA6416A.h" #include "HT1621.h" #include "LCD_Display.h" #include "I2C_Key.h" #include "Sec_Clock.h" #include "DAC8411.h" void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer unsigned char IO10_Onclick_Num = 0; DCOCTL = CALDCO_8MHZ; BCSCTL1 = CALBC1_8MHZ; DAC8411_Init(); //初始化音频功率放大器输出端口 TCA6416A_Init(); // 初始化IO扩展口 HT1621_init(); // 初始化lcd_128 TimerA_Init(); //初始化时钟定时器 Sec_TimerA_Init(); //初始化秒表定时器 while(1) { PinIN(); HT1621_Reflash(LCD_Buffer); IO10_Onclick_Num = I2C_IODect(); switch(IO10_Onclick_Num) { case 0: Display_Time(); //默认显示时分秒 break; case 1: Display_Date(); //按一次显示年月日 break; case 2: Display_Sec_Clock(); //按两次显示秒表功能; break; case 3: Display_Alarm(); //按三次显示闹钟 break; default: Refresh_Sec_Clock(); //秒表计数值复位; break; } Hourly_Chime(); //整点报时函数; Alarm(); //闹钟函数,具有闹钟开关功能 } } ``` 最后修改:2021 年 12 月 17 日 04 : 39 PM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 ×Close 赞赏作者 扫一扫支付 支付宝支付 微信支付