资源简介
基于单片机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
相关资源
- 51单片机控制LED PWM调光程序
- 基于C51单片机的MP3播放器设计
- 电子-KBPC610.pdf
- 三菱、西门子、欧姆龙、松下PLC、单
- 基于MSP430F5529单片机的蓝牙遥控小车
- 基于89C51单片机的节拍器设计
- 基于单片机的彩灯设计
- 基于STC单片机的太阳能热水器智能节
- 51单片机驱动74hc595芯片的程序
- 基于单片机控制的LED智能照明系统设
- 基于单片机的新型线阵CCD电路
- FPGA实现ddsISE实现
- 单片机驱动蜂鸣器程序原理图
- 51单片机串口修改DS1302时间
- 51单片机的简易计算器仿真及源码
- 51单片机通过6050——DMP获取姿态角例
- 基于51单片机的智能导航小车
- 基于单片机的温度控制系统
- 单片机电子时钟完整版基于at89c51电子
- 基于STC89C52单片机的简易计算器不能实
- 基于单片机的数字示波器设计
- 基于51单片机 的智能交通灯设计 带
- stc15两轮自平衡小车
- 简易单片机4人抢答器
- 51单片机读写SD卡程序,使用FAT文件系
- Labview与单片机串口通讯
- 我做的温度控制器完整项目文件
- 51单片机与触摸屏通信
- stm32单片机lcd12864串行程序
- AT89c51单片机流水灯
评论
共有 条评论