资源简介
基于单片机MSP430F6638(其他430系列均适用)、OLED显示屏以及矩阵键盘。本数字钟具有设置时间、日期,设置闹钟(5个)等功能。包含所有的.c和.h文件,

代码片段和文件信息
#include
#include “oled.h“
#include “bmp.h“
#define CALADC12_15V_30C *((unsigned int *)0x1A1A) // Temperature Sensor Calibration-30 C
#define CALADC12_15V_85C *((unsigned int *)0x1A1C) // Temperature Sensor Calibration-85 C
unsigned int temp;
volatile float temperatureDegC;
volatile float temperatureDegF;
unsigned int day=30 month=3 year=2018;
unsigned int second = 50 minute = 59 hour = 23;
unsigned long int clk = 0 clkb = 0;
int al[5]={-1-1-1-1-1};
int da[3]={0};
static int key = 0 no=0;
static int menu15=0 alarm=0 ap=-1;
unsigned int ring1=0 ring2=0 ring3=0 ring4=0 ring5=0;
unsigned int min = 99 hou = 99;
unsigned int min3 = 99 hou3 = 99;
unsigned int min1 = 99 hou1 = 99;
unsigned int min4 = 99 hou4 = 99;
unsigned int min5 = 99 hou5 = 99;
unsigned int min2 = 99 hou2 = 99;
unsigned char button;
void Key_Head(void);
int Key_Read(void);
void Setclock_1s(void);
void Setclock_200Hz(void);
void ShowClock(void);
void ShowClock_AP(void);
void NShowClock(void);
void ShowDate(void);
void NShowDate(void);
void SetMyClock(void);
void SetMyDate(void);
void SetMyAlarm(int No);
void OLED_myInit(void);
void menu_Init(void);
void menu_alarm_init(void);
void JAlarmRing(void);
void JReset(int No);
void JWeek(int year int month int day);
int main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P4REN |= BIT0 + BIT1 + BIT2 + BIT3;
P4OUT |= BIT0 + BIT1 + BIT2 + BIT3;
OLED_Init(); //初始化OLED
P4DIR &= ~(BIT0 + BIT1 + BIT2 + BIT3);
P4DIR |= BIT4 + BIT5 + BIT6 + BIT7;
P6DIR |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5 + BIT6 + BIT7;
P6OUT |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5 + BIT6 + BIT7;
REFCTL0 &= ~REFMSTR; // Reset REFMSTR to hand over control to
// ADC12_A ref control registers
ADC12CTL0 = ADC12SHT0_8 + ADC12REFON + ADC12ON;
// Internal ref = 1.5V
ADC12CTL1 = ADC12SHP; // enable sample timer
ADC12MCTL0 = ADC12SREF_1 + ADC12INCH_10; // ADC i/p ch A10 = temp sense i/p
ADC12IE = 0x001; // ADC_IFG upon conv result-ADCMEMO
__delay_cycles(100); // Allow ~100us (at default UCS settings)
// for REF to settle
ADC12CTL0 |= ADC12ENC;
OLED_Clear();
OLED_myInit();
delay_ms(50000);
OLED_Clear();
Setclock_1s();
Setclock_200Hz();
TA0CCTL0 = CCIE;
TB0CCTL0 = CCIE;
__bis_SR_register(GIE+LPM3_bits); // Enter LPM3 enable interrupts
__no_operation(); // For debugger
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMER0_A0_ISR(void)
{
P1OUT ^= BIT2;
ADC12CTL0 &= ~ADC12SC;
ADC12CTL0 |= ADC12SC;
temperatureDegC = (float)(((long)temp - CALADC12_15V_30C) * (85 - 30))
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 614 2018-03-29 19:54 数字钟\.ccsproject
文件 28424 2018-03-29 19:54 数字钟\.cproject
文件 4673 2018-03-29 19:57 数字钟\.launches\CLOCK_CHU.launch
文件 839 2018-03-29 19:54 数字钟\.project
文件 62 2018-03-29 19:54 数字钟\.settings\org.eclipse.cdt.codan.core.prefs
文件 123 2018-03-29 19:54 数字钟\.settings\org.eclipse.cdt.debug.core.prefs
文件 208 2018-03-29 19:55 数字钟\.settings\org.eclipse.core.resources.prefs
文件 11956 2018-03-15 19:05 数字钟\bmp.h
文件 72 2018-04-11 17:45 数字钟\Debug\ccsObjs.opt
文件 96016 2018-04-11 17:45 数字钟\Debug\CLOCK_CHU.map
文件 123756 2018-04-11 17:45 数字钟\Debug\CLOCK_CHU.out
文件 355531 2018-04-11 17:45 数字钟\Debug\CLOCK_CHU_li
文件 781 2018-04-11 17:45 数字钟\Debug\main.d
文件 80396 2018-04-11 17:45 数字钟\Debug\main.obj
文件 4421 2018-04-11 17:45 数字钟\Debug\makefile
文件 260 2018-04-11 17:16 数字钟\Debug\ob
文件 791 2018-04-08 13:52 数字钟\Debug\oled.d
文件 33032 2018-04-08 13:52 数字钟\Debug\oled.obj
文件 2073 2018-04-11 17:45 数字钟\Debug\sources.mk
文件 1766 2018-04-11 17:45 数字钟\Debug\subdir_rules.mk
文件 604 2018-04-11 17:45 数字钟\Debug\subdir_vars.mk
文件 14641 2018-03-29 19:54 数字钟\lnk_msp430f6638.cmd
文件 33125 2018-04-11 17:46 数字钟\main.c
文件 7575 2018-03-21 17:13 数字钟\oled.c
文件 5185 2018-03-15 19:06 数字钟\oled.h
文件 15137 2018-03-24 15:13 数字钟\oledfont.h
文件 822 2018-03-29 19:54 数字钟\targetConfigs\MSP430F6638.ccxm
文件 806 2018-03-29 19:54 数字钟\targetConfigs\readme.txt
目录 0 2018-10-21 11:30 数字钟\.launches
目录 0 2018-10-21 11:30 数字钟\.settings
............此处省略6个文件信息
- 上一篇:学好 STM32,只要弄懂这 20 个经典项目
- 下一篇:一笔画.rar
相关资源
- 单片机音乐倒数定时器的设计
- STC15F
- 51单片机通信采样proteus仿真方波转化
- 51 单片机 红外避障小车 大集合136
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
评论
共有 条评论