• 大小: 108KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: 其他
  • 标签: 单片机  数字钟  

资源简介

基于单片机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_linkInfo.xml

     文件        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\objects.mk

     文件        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.ccxml

     文件        806  2018-03-29 19:54  数字钟\targetConfigs\readme.txt

     目录          0  2018-10-21 11:30  数字钟\.launches

     目录          0  2018-10-21 11:30  数字钟\.settings

............此处省略6个文件信息

评论

共有 条评论