資源簡介
基于單片機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
評論
共有 條評論