MSP430单片机实现时钟显示

合集下载

基于msp430单片机的数字时钟

基于msp430单片机的数字时钟

摘要:日期时间显示器可以说是各种各样,随处可见,这里我们着重设计一款超低功耗的,显示内容较为丰富的日期时间显示器。

该日期时间显示器是基于MSP430单片机和LCD1602液晶显示器。

MSP430单片机最显著的特点是能够超低功耗运行,正是由于这一特点,用MSP430来做日期时间显示器,可以很有效地降低功耗,节约电能。

同时LCD1602是微功耗的液晶显示器,显示内容丰富。

目录摘要 (1)一、MSP430单片机最小系统 (3)二、LCD1602液晶显示器 (3)三、按键和闹铃 (6)四、主程序框图 (7)五、MSP430单片机的内部设置 (8)1、时钟系统与低功耗模式 (8)2、I/O口 (9)3、Basic Timer基础定时器 (10)一、MSP430单片机最小系统在传统的微处理器系统中,要让系统运行,至少要提供电源、时钟和复位信号,而在MSP430单片机中,内部就带有复位电路(BOR)、片内数控时钟源(DCO),因此只需外加电源即可构成可运行的最小系统。

由于内部DCO误差很大(20%),且受温度影响严重。

只适合为CPU运算提供时钟,或在对时间误图1差要求极其宽松的场合。

但是在这里我们要做日期时间显示器,就必须通过外部晶体作为时钟源。

MSP430单片机通常使用32.768kHz的手表晶振作为外部时钟。

MSP430最小系统设计如图1所示。

二、LCD1602液晶显示器LCD1602是工业字符型液晶,能够同时显示16×02即32个字符。

市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此表1HD44780写的控制程序可以很方便地应用于市场上大部分的字符型液晶。

字符型LCD通常有14个引脚线或16个引脚线,多出来的两条线是背光电源线VCC (15脚)和地线GND(16脚),其控制原理与14脚的LCD完全相同。

管脚具体定义如表1所示。

HD44780内置了DDRAM、CGROM和CGRAM。

MSP430的时钟设置

MSP430的时钟设置

MSP430的时钟设置MSP430大部分都有三时钟脉冲可供运行时选择,这三个时钟是,1)辅助时钟ACLK;2)系统主时钟MCLK;3)子系统时钟SMCLK。

这三种时钟脉冲的选择主要靠下面三个控制寄存器来完成,这三个控制寄存器是1)控制寄存器DCOCT其存储单元地址是56h;2) 基本始终控制寄存器1,BCSCTL1,地址57h;3) 基本始终控制寄存器2,BCSCTL2,地址58h。

下面对这三个寄存器的控制的软件状态状态进行介绍。

1)控制寄存器DCOCTLDCO2;DCO1;DCO0这三位共八个状态,控制时钟脉冲的8个频段。

000~111对应0~7;频率由低到高8个频段。

MOD.4~MOD.0这5为共32种状态,定义在32个周期中插入插入其他频率。

DCO2=0x80;DCO1=0x40;DCO0=0x20;MOD4=0x10;MOD3=0x08;MOD2=0x04;MOD1=0x02;MOD0=0x01其中TX2OFF为0,开启TX2振荡器,为1关闭;XTS=0开启低频模式,1开启高频模式;DIVA1和DIVA0控制分频模式0 0 不分频0 1 2分频1 0 4分频1 1 8分频TX5V一般设置为0RSEL2~RSEL0三位决定八个频段的不同频率,这样,RSEL2~RSEL0和DCO2~DCO0共可实现8*8=64个不同的频率。

由于430没有位操作,所以定义了每一位状态对应的名称:TX2OFF=0x80TXS=0x40DIVA1=0x20DIVA0=0x10TX5V=0x08RSEL2=0x04RSEL1=0x02RSEL0=0x01也就是每位所在的位置为1,其余位为0,这样,要对某一位操作,就可通过运算,在不改变其他位的情况下,对某一位进行置1或清0(如何做后面讲)。

SELM.1- SELM.0DIVM.1- DIVM.0SELS时钟源选择DIVS.1-DIVS.0 DCOR0 0 默认DCOCLK0 0默认MCLK=DCOCLK00 默认SMCLK=MCLK选择电阻0 1选择DCOCLK0 1 2分频选择SMCLK01 MCLK 2分频内电阻1 0 选择XT2CLK1 0 4分频默认选择DCOCLK10 MCLK 4分频或外电阻1 1 选择LFXTICLK1 18分频11 MCLK 8分频SELM1=0x80;SELM0=0x40;DIVM1=0x20;DIVM0=0x10;SELS=0x08;DIVS1=0x04;DIVS0=0x02;DCOR=0x01;下面看如何让在保证其他位不变的情况下给某一位清0或置1.例1要给BCSCTL2的bit3清0。

MSP430单片机实现时钟显示

MSP430单片机实现时钟显示

MSP430单片机实现时钟显示MSP430单片机实现时钟显示MSP430系列振荡器是一种超低功耗存储器,它的每一系列根据不同的需要由不同的模块组成,其FLASH系列使高效电子系统变得轻巧。

FLASH驱动器同时也具有很强的灵活性。

同时为了在低控制器strong的驱动下得到较高的稳定频率,某些MSP430器件上使用了锁频技术FLL或增强型锁频环技术FLL+。

如MSP430F412的时钟模块中使用了FLL+技术,这样可以得到稳定的频率。

MSP430F413的典型工作电流为350uA(1MHz,3V)工作电压为1.8V;-;3.6V,由于它的程序代码熔丝保护,多次可擦写功能的FLASH 程序存储器,96字段的电阻电容可以直接驱动通常应用在测量频率上的字段型LCD,从而广泛应用于要求功耗低、时钟准确度高、进行实时时钟显示以及定时处理某些操作的仪表(如电子水表、电表、煤气表等)中。

本文介绍用MSP430F413实现实时时钟及其显示。

在驱动电路中,液晶可以等效为设备。

两个电极分别为公共极与段极。

公共极由CMOn信号驱动,段极由SEGn信号驱动。

由此可以得到4种驱动方法。

(1)静态驱动:使用一个引脚作为液晶公共端COM0,而每一段段极需要另一个引脚驱动。

(2)2MUX驱动:使用两个引脚作为液晶公共端COM0、COM1每两段段极需要另一引脚驱动。

(3)LCDUX驱动:使用三个引脚作为液晶公共端COM0、COM1、COM2,每3段段极需要另一引脚驱动。

(4)4MUX驱动:使用4个引脚作为液晶公共端COM0、COM1、COM2,每4段段极需要另一引脚驱动。

MSP430对液晶的驱动主要是通过液晶模块的寄存器LCD3ML和LCDMx来实现。

而驱动能力的不同也就是LCDMx寄存器的数量不同。

显示缓存器LCDMx越多,缓存越大,显示的内容就越多。

MSP430F413集成了96段液晶驱动器,具有较强的显示功能。

在本文中MSP430F413采用了4MUX方式,其显示缓存器中位与液晶段的对应关系如图1所示。

MSP430F149的时钟操作详解

MSP430F149的时钟操作详解

MSP430F149的时钟操作1)时钟图解图1 内部时钟图解2)内部时钟MSP430F149系统开启时,默认的时钟来源是内部的DCO,然后可以通过用户的软件设置切换到外部的晶体振荡器。

而MSP430F149可以选择的时钟来源可以有三个:1.来自外部高速晶振振动器。

2.来自外部的低速晶振振荡器,其实低速晶体振荡器也可以外接高速晶体振荡器跟第一个一样。

3.来自单片机内部的DCO时钟。

内部的DCO还可以通过DCOX和RSELX来选择其振荡频率。

而初始时,DCOX=3,RESLX=4。

其频率选择如下图:图2 DCO频率选择其中DCO一个为增加10%,RSEL一格增加25%。

MSP430F149内部有三种时钟:1.主系统时钟(MCLK);主系统时钟可以有三个来源。

2.子系统时钟(SMCLK);子系统时钟可以有两个来源:外部高速和DCO。

3.辅助系统时钟(ACLK);只有一个来源:外部低速。

他们都可以进行各自分频。

3)时钟的寄存器。

1.DCOCTLDCOx:选择DCO振荡频率(和RSELx共同决定)。

MODx:调制器的选择。

2.BCSCTL1XT2OFF:是否关闭高频震荡器。

0开;1关。

XTS:选择低速晶体振荡器的工作方式(其实低速晶体振荡器也可以接成高速晶体的)。

0为低;1为高。

DIVAx:选择对辅助系统时钟分频。

XT5V:无用。

RSELx:选择DCO的频率(和DCOx共同决定)。

3.BCSCTL2SELMx:选择主系统时钟的来源。

DIVMx:主系统时钟的分频。

SELS:选择子系统时钟来源。

DIVSx:选择子系统时钟的分频。

DCOR:DCO选择用片内电阻还是用外接电阻。

默认内接。

4.IE1OFIE:检测晶体振荡器是否正常工作使能控制。

0关;1开。

(产生的是非可屏蔽中断。

)5.IFG1:OFIFG:晶体振荡是否正常工作中断标志位。

(就算不打开使能端也只能置位,打开使能端只是能够进行打断CPU,使CPU进入中断程序。

基于MSP430单片机的实时时钟设计(数码管显示)

基于MSP430单片机的实时时钟设计(数码管显示)

苏州市职业大学毕业设计说明书毕业设计题目基于MSP430单片机的实时时钟设计系部电子信息工程系专业班级08电气1班姓名学号指导教师2011年5月29 日摘要本文研究了基于数码管显示的数字时钟系统设计与实现。

该系统具有时间设置及显示、闹钟、计时等功能,系统以MSP430单片机为核心,主要进行基于MSP430单片机的低功耗型数字时钟及其系统的研究。

系统带有数码管显示器,配合按键提供友好的用户界面,操作简单,该数字时钟能长期、连续、可靠、稳定的工作;同时还具有体积小、功耗低等特点,便于携带,使用方便。

系统软件设计包括单片机编程。

单片机软件编程主要实现按键、数码管显示、时钟、计时、闹钟等模块功能。

在本设计中充分利用了单片机内部资源,涉及到了键盘控制、数码管显示、中断系统、定时/计数器、串口通信等。

关键字:数字时钟;MSP430单片机;数码管AbstractThis paper studies the digital pipe display based on digital clock system design and realization. This system has the time set and display, alarm clock, timing, and other functions, system to MSP430 microcontroller as the core, mainly for the low power consumption MCU based on MSP430 type of digital clock and its system. System, cooperate with digital tube display buttons provide friendly user interface, easy operation, this digital clock can long-term continuous, reliable and stable working; It also has the features such as small volume, power consumption, easy to carry, easy to use. System software design including microcontroller programming. Single-chip microcomputer software programming mainly realizes buttons, digital pipe display, clock, timing, alarm clock function module.In this design make full use of the internal resources, involving the microcontroller keyboard control, digital tube display, interrupt system, timing/counters, serial communication.Keyword: Digital clock, MSP430 microcontroller,Digital tube目录第一章绪论 (1)1.1课题研究的意义 (1)1.2课程设计内容 (1)1.3课程设计目的 (2)第二章数字时钟的构成及方案选择 (3)2.1数字时钟的构成 (3)2.2模块方案选择 (3)2.2.1单片机模块方案 (3)2.2.2 时钟方案选择 (3)2.2.3 键盘模块选择 (4)2.2.4 显示模块方案选择 (4)第三章系统硬件设计与实现 (5)3.1电路设计图 (5)3.2系统硬件设计 (5)3.2.1 MSP430单片机简介 (5)3.2.2 复位电路的设计 (6)3.2.3 晶振电路设计 (7)3.2.4 时钟模块设计 (8)3.2.5 键盘模块设计 (8)3.2.6 显示模块设计 (9)第四章系统的软件设计 (11)4.1系统设计总流程图 (11)4.2 DS1302时钟流程图 (11)4.3 LED数码管显示流程图 (12)第五章系统的调试与仿真 (14)5.1 IAR FOR 430简介 (14)5.2程序调试过程 (14)第六章结论 (16)参考文献 (17)附录一:系统原理图 (18)致谢 (35)第一章绪论1.1课题研究的意义20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

MSP430F449单片机时钟配置详细举例(自己总结的)

MSP430F449单片机时钟配置详细举例(自己总结的)

//***************************************************************************** *// MSP430-TEST44X Demo - FLL+ clock, Runs internal DCO at 2.45Mhz//////// MSP430F449// -----------------// /|\| XIN|-// | | | 32khz xtal// --|RST XOUT|-// | |// | P1.1|--> MCLK = 2.4576Mhz// | |// | P1.5|--> ACLK = 32khz// | |////// 程序功能:该程序是通过设置不同的时钟源输出模式,具体是P1.5=ACLK=32.768Khz;P1.1=MCLK=4.9Mhz,// 通过本实验了解MSP430内部的时钟来源和不同频率的设置。

// 硬件连接:在必须连接P1.1、P1.5短接器,// MSP430F449复位后,MCLK和SMCLK的驱动源为DCO,SMCLK=MCLK=32*ACLK=32*32768=1048576Hz。

//////fDCOCLK = D x (N + 1) x fACLK。

//////N的设置为SCFQCTL = N(N取值1~127);/////D的设置为SCFI0 = D(D取值FLLD_1,FLLD_2,FLLD_4,FLLD_8,即D=1,2,4,8),默认值D 取2;/////还要设置FLL_CTL0 |= DCOPLUS,D才会生效//***************************************************************************** *#include "msp430x44x.h"void main(void){WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timerSCFI0 |= 2; // 可取1.2.4.8FLL_CTL0 = XCAP18PF+DCOPLUS; // set load capacitance for xtalSCFQCTL = 74; // (可取1~127) (74+1) x 32768*2 = 4.9MhzP1DIR = 0x22; // P1.1 & P1.5 to output directionP1SEL = 0x22; // P1.1 & P1.5 to output MCLK & ACLKwhile(1); // loop in place}//***************************************************************************** *////// MSP430F449// -----------------// /|\| XIN|-// | | | 32khz xtal// --|RST XOUT|-// | |// | P1.1|--> MCLK = 8Mhz// | |// | P1.5|--> ACLK = 32khz// | |////// 程序功能:该程序是通过设置不同的时钟源输出模式,具体是P1.5=ACLK=32.768Khz;P1.1=MCLK=8Mhz,// 通过本实验了解MSP430内部的时钟来源和不同频率的设置。

MSP430单片机系统时钟选择实验-改变LED灯闪烁频

MSP430单片机系统时钟选择实验-改变LED灯闪烁频
选择外部8m高频晶振作为mclk此时闪烁频率较快unsignedint循环do3按照iarmsp430项目编译与jtag仿真调试所讲述方法进行项目编译与jtag调试运行即可看到程序运行效果
MSP430单片机实践篇---MSP430单片机系统时钟选择实验-改变LED灯闪烁频率
一、学习要点:在上一节基础上改变MSP430单片机系统时钟,观察LED灯的闪烁频率。
#include<msp430x13x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;//停止看门狗
P1DIR |= 0x20;//设P1.5为输出口
/ห้องสมุดไป่ตู้ BCSCTL1= 0x80;//分频电阻选择为0(此时闪烁频率较慢)
// BCSCTL1= 0x87;//分频电阻选择为7(此时闪烁频率较快)
//
//
//硬件电路:MSP430F135核心实验板-I型
//硬件连接:
//
//调试器:MSP430FET全系列JTAG仿真器
//调试软件:IAR Embedded Workbench Version:3.41A编译
//******************************************************************************
(2)将如下程序拷贝粘贴到main.c文件中。
//*******************************************************************************
// D13x Demo -在上一节基础上改变系统时钟,观察LED灯的闪烁频率

基于MSP430单片机的电子时钟设计说明

基于MSP430单片机的电子时钟设计说明

基于MSP430单片机的电子时钟设计说明
一、需求分析
本设计的目标是基于MSP430单片机来设计一款电子时钟。

电子时钟
可以用来显示当前的时间,比如时、分、秒;同时还具有闹钟功能,即可
以设置每天一些时刻提醒用户,提醒用户做件事情。

设计时,要注意以下
几个方面:
1、时间流逝的准确性:电子时钟的核心功能是准确显示当前的时间,即时针、分针、秒针在正确地流逝;同时也要考虑时间的准确性,用户可
以设置任意时间,时钟计时要按照设置的时间进行计时。

2、系统稳定性:电子时钟的系统稳定性极其重要,不能因为短暂的
停电等扰动,导致系统失去稳定,时间乱跳。

3、外观设计:在外观设计方面,电子时钟要求具有精美、简约的外观,而且要求清晰显示时间内容,用户可以视觉上感受时间的运行,同时
操作简单,操作界面友好;同时,为了满足用户的要求,要能够设置闹钟,并且有红色指示灯和蜂鸣器来提醒。

二、设计要求
1、MSP430单片机:采用MSP430F169作为主控制器,芯片的16位CPU具有较强的数据处理能力,可以有效调整时间性能,满足电子时钟计
时要求。

2、时间及闹钟设置:采用4×4键盘模块作为时间及闹钟设置。

MSP430时钟设置程序

MSP430时钟设置程序

MSP430寸钟设置程序1/void main (void){unsigned int i;WDTCL = WDTPW+WDTHOLD停止看门狗P5DIR = 0x10; // 设置P5.4 输出P5SEL = 0x10; //设置P5.4 口为外围模块用作MCLK言号输出BCSCTL1 &=〜XT2OFF; //使TX2有效,TX2上电时默认为关闭的.do{IFG1 &= 〜OFIFG; // 清振荡器失效标志for(i= 0xff; i>;0; i--); // 延时, 待稳定.}while ((IFG1 & OFIFG)!=0); // 若振荡器失效标志有效BCSCTL2 |= SELM1; // 使MCLK = XT2for(;;);}2/#include ;void main(void){ unsigned int i;WDTCTL = WDTPW + WDTHOLD;停止看门狗BCSCTL1 |= XTS;1,使ACLK = LFXT1 = HF XTAL,也就是// 设置时基寄存器高频模式.P2DIR|= 0x01; // 设置P2.0 方向寄存器为输出设置P2.0 口为外围模块用作ACLK信P2SEL |= 0x01; //号输出设置P1.1 方向寄存器为输P1DIR |= 0x02; //do{IFG1 &= ~OFIFG; // 清振荡器失效标志延时, 待稳定for (i = 0xFF; i >; 0; i--); //}while ((IFG1 & OFIFG)); // 若振荡器失效标志有效? BCSCTL2|= SELM_3;// 设置时基寄存器2,使主时钟信号MCLK = LFXT1(可靠的) for (;;) // 无穷循环P10UT |= 0x02; // P1.1 = 1 P1OUT &= ~0x02; // P1.1 = 01- LFXT1CLK:低频/高频时钟源.由外接晶体振荡器,而无 需外接两个振荡电容器.较常使用的晶体振荡器是 32768H 乙2- XT2CLK:高频时钟源.由外接晶体振荡器。

MSP430编写的时钟程序

MSP430编写的时钟程序

void delay(uint x)//延时
{
uchar i;
while(x--)
for(i=100;i>0;i++);
}
void key_cor(void)//P2.6控制停止计数
{
if(!(P2IN&BIT6))//P2.6按键计数
{
delay(10);
delay(10);
LED[7]=~duma[sec%10];//秒为显示
LED[6]=~duma[sec/10];
for(i=0;i<8;i++)
{
P5OUT=0x10;
P4OUT=wema[i];
delay(1);
P4OUT=0xff;
}
}
else if((time%3)==2)
{
LED_h();
delay(10);
LED[1]=0xff;
LED[0]=0xff;
else if((time%3)==2)
{
LED_h();
delay(10);
LED[1]=0xff;
LED[0]=0xff;
for(i=0;i<8;i++)
{
P5OUT=0x10;
LED[3]=~duma[mit/10];
for(i=0;i<8;i++)
{
P5OUT=0x10;
P4OUT=wema[i];
delay(1);
P5OUT=0x08;
P4OUT=LED[i];
delay(1);

MSP430单片机秒表程序(完整)

MSP430单片机秒表程序(完整)

MSP430单片机"秒表" 程序(完整)/*******************************************************基于MSP430F449单片机的秒表*功能:秒计时,8位数码管显示,包括小时、分钟、秒和毫秒*此程序同样适用于其他系列单片机*by:duyunfu1987******************************************************/#include "msp430x44x.h"#define DPYOUT P3OUT //数码管的段选输出口#define DPYCOM P2OUT //38译码器的ABC输入#define OPENOUT P2OUT |= BIT3 //74HC573使能锁存段选#define CLOSEOUT P2OUT &= ~BIT3//74HC573无效int hour,min,sec,ms; //缓冲区定义,小时、分钟、秒、毫秒int count = 0; //2ms计数,计到5时ms增1//共“阴”极数码管的码表unsigned char LED7CC[] ={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};//延时n(us)void delay_us(int n){ while(n-- >0)_NOP();}//延时n(ms)void delay_ms(int dms){ int i;while(dms-- >0){ for(i=0;i<250;i++);}}//初始化缓冲区与IO口void Init(){hour = 0;min = 0;sec = 0;ms = 0;P2SEL = 0;P3SEL = 0;P2DIR |= BIT0+BIT1+BIT2+ BIT3;//A B C 使能位P2DIR &= ~(BIT4+BIT5+BIT6); //按键P3DIR = 0xff;P3OUT = 0x00;}//8位数码管动态显示函数void display(){DPYOUT = 0;_NOP();DPYOUT = LED7CC[ms%10]; DPYCOM = 7;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[ms/10]; DPYCOM = 6;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[sec%10]|0x80; DPYCOM = 5;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[sec/10]; DPYCOM = 4;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[min%10]|0x80; DPYCOM = 3;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[min/10]; DPYCOM = 2;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[hour%10]|0x80; DPYCOM = 1;OPENOUT;CLOSEOUT;DPYOUT = LED7CC[hour/10]; DPYCOM = 0;OPENOUT;CLOSEOUT;}//按键处理函数void key_deal(int key){switch(key){case 0x60: //START--开始计时{ BTCTL = BT_ADL Y_2;IE2 |= BTIE;_EINT();}break;case 0x50: //STOP -- 停止BTCTL |= BTHOLD; break;case 0x30: //CLEAR--缓冲区清零{ hour = 0;min = 0;sec = 0;ms = 0;}break;default : break;}display();}//主函数void main( void ){int key;// Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;FLL_CTL0 |= XCAP18PF;Init();while(1){if((key = P2IN & 0x70)!=0x70){delay_ms(10);if((key = P2IN & 0x70)!=0x70){ key_deal(key);}}display();}}//BT中断服务程序,2ms计时#pragma vector = BASICTIMER_VECTOR__interrupt void BT_ISR(){count ++;if(count == 5){ count = 0;ms ++;}if(ms == 100){ms = 0;sec ++;if(sec == 60){sec = 0;min ++;if(min == 60){min = 0;hour ++;if(hour == 24)hour = 0;}}}}。

MSP430G2553时钟,MSP430G2553时钟配置

MSP430G2553时钟,MSP430G2553时钟配置

MSP430G2553 时钟,MSP430G2553 时钟配置MSP430G2553 系统时钟和振荡器时钟系统由基本时钟模块提供支持,此时钟模块支持一个32768Hz 手表晶体振荡器、一个内部超低功耗低频振荡器和一个内部数字控制振荡器(DCO)。

基本时钟模块专为同时满足低系统成本及低功耗要求而设计。

内部DCO 提供了一个快速接通时钟源并可在不到1&micro;s 的时间里实现稳定。

基本时钟模块提供了以下时钟信号:&bull;辅助时钟(ACLK),此时钟由一个32768Hz 手表晶振或内部LF 振荡器提供信号源。

&bull;主时钟(MCLK),CPU 所采用的系统时钟。

&bull;系统子时钟(SMCLK),外设模块所采用的子系统时钟。

用于校准DCO 输出频率的DCO 设定值存储于信息内存的A 段中。

主DCO 特性MSP430G2553 时钟1,MSP430G2553 能做到超低功耗,合理的时钟模块是功不可没的。

但是功能强大的时钟模块设置起来也相对复杂一些。

2,MSP430G2553 的时钟源有:(1),外接低频晶振LFXT1CLK:低频模式接手表晶体32768Hz,高频模式450KHz~8MHz;(2),外接高速晶振XT2CLK:8MHz;(3),内部数字控制振荡器DCO:是一个可控的RC 振荡器,频率在0~16MHz;(4),超低功耗低频振荡器VLO:不可控,4~20KHz 典型值为12KHz;3,时钟模块:430 的时钟模块有MCLK SMCLK ACLK :(1),主系统时钟MCLK:提供给MSP430 的CPU 时钟。

可以来自LFXT1CLK XT2CLK DCO VLO 可选,默认为DCO。

(2),子系统时钟SMCLK:提供给高速外设。

可以来自LFXT1CLK XT2CLK DCO VLO 可选,默认为DCO。

(3),辅助系统时钟ACLK:提供给低速外设。

基于MSP430单片机的实时时钟设计

基于MSP430单片机的实时时钟设计

基于MSP430单片机的实时时钟设计基于MSP430单片机的实时时钟设计是一个简单而有趣的项目,可以将当前的时间以数码管的形式显示出来。

本文将介绍如何使用MSP430单片机和数码管来实现实时时钟,包括时钟芯片、显示部分的接线和编程等方面。

首先,我们需要准备的材料和工具有:1. MSP430单片机开发板(例如MSP-EXP430G2 LaunchPad)2.DS1302实时时钟芯片3.4位共阳数码管(例如TM1640)4.杜邦线若干5.面包板6.12MHz晶振7.调试器和编程软件(例如MSP-FET430UIF和MSP430-GCC)接下来,我们开始进行实时时钟的设计。

1.硬件连接:a.将MSP430单片机开发板连接到计算机,并打开编程软件。

b.将DS1302实时时钟芯片插入面包板,并根据其引脚定义连接到MSP430单片机的端口。

c.将4位共阳数码管插入面包板,并根据其引脚定义连接到MSP430单片机的端口。

2.编程设计:a.在编程软件中创建一个新的项目,选择MSP430单片机的适当型号,并设置时钟频率为12MHz。

b.导入DS1302和TM1640的相关库文件,并进行必要的初始化设置。

c.配置MSP430单片机的端口,使其与DS1302和TM1640的引脚连接匹配。

d.编写程序代码,实现实时时钟的功能,包括获取当前时间、将时间转换为数码管的显示格式以及控制数码管进行显示。

3.调试和测试:a.将MSP430单片机从计算机中断开,并将其与电源连接,确保其正常运行。

b.观察数码管是否正确显示当前时间,包括小时、分钟和秒数。

c.如果有错误或不完善的地方,重新调试和修改程序代码,直到实时时钟正常工作。

通过上述步骤,我们可以成功地设计一个基于MSP430单片机的实时时钟(数码管显示)。

这个项目可以作为学习和实践嵌入式系统和单片机编程的绝佳机会,同时也可以作为一个有用和有趣的作品展示给别人。

这个设计还可以进一步扩展和改进,例如添加日期显示功能、设置闹钟功能等。

事无巨细——MSP430学习之时钟

事无巨细——MSP430学习之时钟

概述:本实验的目的是了解用于执行对MSP430 Value Line设备的初始化过程的步骤。

在这个练习中,您将编写初始化代码,并运行该设备使用各种时钟资源。

1、写初始化代码2、运行CPU的MCLK的来源方式:VLO 、32768晶体、DCO3、主体程序部分4、观察LED闪光灯速度MSP430时钟:1、在MSP430单片机中一共有三个时钟源:一个LFXT1CLK,为低速/高速晶振源,通常接32.768khz,也可以接(400khz~8Mhz);一个为XT2CLK,外接标准高速晶振,通常是接8Mhz,也可以接(400khz~8Mhz);还有一个叫DCOCLK,为内部晶振,有RC震荡回路构成。

2、在MSP430单片机内部一共有三个时钟系统:一个为ACLK,通常由LFXT1CLK作为时钟源,可以通过软件控制改时钟的分频系数树;一个为MCLK(Main CLK)一听就知道是主时钟单元,为系统内核提供时钟,它可以通过软件从三个时钟源选择;还有一个为SMCLK,称作辅助主时钟,也是可以由软件选择时钟源。

Basic Clock Module Registers(基础时钟寄存器)DCO control register DCOCTLBasic clock system control 1 BCSCTL1Basic clock system control 2 BCSCTL2Basic clock system control 3 BCSCTL3SFR interrupt enable register 1 IE1SFR interrupt flag register 1 IFG13、MSP430的时钟设置包括3个寄存器,DCOCTL、BCSCTL1、BCSCTL2、BCSCTL3DCOCTL,DCO控制寄存器,地址为56H,初始值为60HDCO0~DCO2: DCO Select Bit,定义了8种频率之一,而频率由注入直流发生器的电流定义。

MSP430定时器的使用

MSP430定时器的使用

TACTL = TASSEL1 + TACLR;
// SMCLK, clear TAR
CCTL0 = CCIE;
// CCR0 interrupt enabled
CCR0 = 20000;
TACTL |= MC1;
// Start Timer_A in continuous mode
最后,打开中断,写中断服务程序,详细的程序清单如下:
TBCTL = TBSSEL1 + TBCLR;
// SMCLK, clear TAR
ቤተ መጻሕፍቲ ባይዱ
TBCCTL0 = CCIE;
// CCR0 interrupt enabled
TBCCR0 = 50000;
TBCTL |= MC1;
// Start Timer_A in continuous mode
_EINT();
图 3 定时器 A 的结构原理 定时器 A 的寄存器在 IAR 的调试环境中见图 4 所示。操作这些寄存器就可以实现 TA 的所有功能。
图 4 TA 的寄存器 其中 TACTL 为最主要的控制寄存器,它决定 TA 的输入时钟信号、TA 的工作模式、TA 的开启与停止、中断的申请等工作。TACTL 寄存器为 16 位寄存器,必须使用字指令对其访 问。该寄存器在 POR 信号后全部复位,但在 PUC 信号后不受影响。下面是该寄存器中各位 的含义。
// SMCLK, clear TAR
CCTL0 = CCIE;
// CCR0 interrupt enabled
CCR0 = 50000;
TACTL |= MC1;
// Start Timer_A in continuous mode

基于MSP430单片机的电子时钟设计

基于MSP430单片机的电子时钟设计

基于MSP430单片机的电子时钟设计电子时钟是一种使用数字显示时钟时间的设备,它通常基于单片机这样的微控制器。

本文将介绍基于MSP430单片机的电子时钟设计。

首先,我们需要确定设计的目标和功能。

电子时钟主要有如下的功能:1.显示时间:时、分、秒2.显示日期:年、月、日3.设置时间和日期4.声控灯光:根据环境光线亮度调节屏幕亮度5.闹钟功能:设定闹钟时间并响铃提醒6.温度显示:显示当前室内温度接下来,我们将逐步设计和实现这些功能。

1.选择硬件平台MSP430是一款基于16位RISC架构的低功耗单片机,它被广泛应用于嵌入式系统的开发。

我们选择MSP430单片机作为我们的硬件平台。

具体型号可以根据自己的需求进行选择。

2.硬件设计电子时钟设计中的硬件包括MSP430单片机、显示模块、温度传感器、声音传感器、时钟电路等。

通过合适的接口将这些模块连接起来。

3.软件设计电子时钟的软件设计包括两个部分:主控程序和外围设备的驱动程序。

我们将使用C语言进行编程。

主控程序主要包括以下几个功能模块:-时钟模块:通过MSP430单片机的定时器模块实现时钟的计时和显示。

-温度模块:通过温度传感器获取当前室内温度,并将其显示在屏幕上。

-日期和时间模块:通过设置模块实现对日期和时间的设置和显示功能。

-声控灯光模块:通过声音传感器检测环境光线亮度,并自动调节屏幕亮度。

-闹钟模块:设置闹钟时间并在指定的时间响铃提醒。

外围设备的驱动程序主要是对显示模块、温度传感器和声音传感器的驱动和接口设计。

4.软硬件调试和测试5.系统封装和优化完成软硬件调试测试后,我们可以将所有的电子设备安装在一起,并进行系统封装。

在封装过程中,我们需要确保电子设备的连接稳定和正确,并保持良好的通风和散热。

在封装完成后,我们还可以对系统进行一些优化,例如增加使用者友好的界面、优化显示效果等。

综上所述,基于MSP430单片机的电子时钟设计涉及硬件和软件两个方面。

通过合理的硬件连接和编写高效的控制程序,我们可以实现时钟的显示、日期和时间的设置、闹钟功能、温度显示等功能。

MSP430教程9:MSP430单片机时钟模块

MSP430教程9:MSP430单片机时钟模块

MSP430的时钟模块由低速晶体振荡器LFXT1、高速晶体振荡器XT2(MSP430 X11X,MSP430X12X没有)、数字控制振荡器DCO、琐相环FLL(MSP430X16X以上包括)和增强型琐相环FLL+等部件组成。

MSP430X1XX基本时钟模块有三个时钟输入源LFXT1CLK(低速32768Hz,高速4 50Hz到8MHz)、XT2CLK(450Hz到8MHz)、DCOCLK,提供以下三种时钟信号1.ACLK辅助时钟:由LFXT1CLK信号经1、2、4、8分频后得到,可以由软件选作各个外围模块的时钟信号,一般用于低速外设。

2.MCLK系统主时钟:MCLK可由软件选择来自LFXT1CLK、XT2CLK、DCOCLK三者之一,然后经1、2、4、8分频得到,MCLK主要用于CPU和系统。

3.SMCLK子系统时钟:可由软件选自LFXT1CLK和DCOCLK(MSP430X11X、MSP 430X12X系列,因其不含XT2),或XT2CLK和DCOCLK,然后经1、2、4、8分频得到。

SMCLK主要用于高速外围模块。

系统频率与系统的工作电压密切相关(MSP430工作电压1.8V~3.6V,编程电压2.7V~3.6V),所以不同的工作电压,需要选择不同的系统时钟。

当两个外部振荡器失效时,DCO振荡器会自动被选作MCLK的时钟源。

PUC信号之后,DCOCL K被自动选作MCLK和SMCLK的时钟信号,LFXT1CLK被选作ACLK的时钟信号,根据需要MCLK和SMCLK的时钟源可以另外设置。

控制时钟模块的三个寄存器为DCO控制寄存器DCOCTL、基本时钟系统控制寄存器1BCSCTL1、基本时钟控制寄存器2BCSCTL21.DCOCTL7 6 5 4 3 2 1 0 DCO2 DCO1 DCO0 MOD4 MOD3 MOD2 MOD1 MOD0DCO.0~DCO.2 定义8种频率之一(DCO=0~DCO=8),可分段调节DCOCLK 频率,相领两种频率相差10%。

基于MSP430单片机的电子时钟设计

基于MSP430单片机的电子时钟设计

基于MSP430单片机的电子时钟设计设计报告第四组:郭晓林、张慧、王爽摘要 (3)一、实验目的 (3)二、总体电路设计与时钟实现 (4)1、MCU(F149)模块 (4)2、液晶显示模块 (5)3、温度采集模块 (6)4、独立按键模块 (7)5、蜂鸣器模块 (8)6、DS1302定时模块 (8)三、系统软件设计 (10)四、实物图 (11)五、小结 (12)六、器件清单 (12)七、参考文献 (12)基于MSP430单片机的电子时钟设计摘要多功能数字钟的应用非常普遍,由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。

通过键盘可以进行校时,定时等功能。

本系统利用单片机实现其具有计时、校时等功能的数字时钟. 是以单片机MSP430F149为核心元件同时采用LCD12864同时显示“时、分、秒、星期、年、月、日、温度”的现代计时装置。

显示极具人性化,另外具有校时功能,闹钟功能和节电保护功能。

利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点,如在电路板上预留有电源输出,温度传感插座等插座,便于功能扩展。

关键词:MSP430F149 单片机DS12887AbstractMulti-function digital clock is very common, by single chip microcomputer as the core of the digital clock controller, through its function of timing clock signal, the time data by the MCU output, using the monitor display. Through the keyboard to school, timing, and other functions. This system using single-chip microcomputer to realize its timing, the functions such as digital clock. When the school is based on single chip MSP430F149 as the core element at the same time adopt LCD12864 display at the same time "the hours, minutes, seconds, year, month, day, week, temperature" modern timing devices. Shows highly humanized, the other has a school function, when my alarm clock and saving electricity protecting functions. Using singlechip microcomputer digital clock has a flexible programming, function expansion conveviently, such as reserved on the circuit board output power, temperature sensing socket outlet, such as convenient for function extension.Key words: MSP430F149 Single chip microcomputer DS12887一、实验目的1、基础部分:电子钟能够直观、人性化显示:时间、日期、星期,能够按键校时(用独立的LED灯做流水灯装饰)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MSP430单片机实现时钟显示
MSP430系列振荡器是一种超低功耗存储器,它的每一系列根据不同的需要由不同的模块组成,其FLASH系列使高效电子系统变得轻巧。

FLASH驱动器同时也具有很强的灵活性。

同时为了在低控制器strong的驱动下得到较高的稳定频率,某些MSP430器件上使用了锁频技术FLL或增强型锁频环技术FLL+。

如MSP430F412的时钟模块中使用了FLL+技术,这样可以得到稳定的频率。

MSP430F413的典型工作电流为350uA(1MHz,3V)工作电压为1.8V;-;3.6V,由于它的程序代码熔丝保护,多次可擦写功能的FLASH程序存储器,96字段的电阻电容可以直接驱动通常应用在测量频率上的字段型LCD,从而广泛应用于要求功耗低、时钟准确度高、进行实时时钟显示以及定时处理某些操作的仪表(如电子水表、电表、煤气表等)中。

本文介绍用MSP430F413实现实时时钟及其显示。

在驱动电路中,液晶可以等效为设备。

两个电极分别为公共极与段极。

公共极由CMOn信号驱动,段极由SEGn信号驱动。

由此可以得到4种驱动方法。

(1)静态驱动:使用一个引脚作为液晶公共端COM0,而每一段段极需要另一个引脚驱动。

(2)2MUX驱动:使用两个引脚作为液晶公共端COM0、COM1每两段段极需
要另一引脚驱动。

(3)LCDUX驱动:使用三个引脚作为液晶公共端COM0、COM1、COM2,每3段段极需要另一引脚驱动。

(4)4MUX驱动:使用4个引脚作为液晶公共端COM0、COM1、COM2,每4段段极需要另一引脚驱动。

MSP430对液晶的驱动主要是通过液晶模块的寄存器LCD3ML和LCDMx来实现。

而驱动能力的不同也就是LCDMx寄存器的数量不同。

显示缓存器LCDMx越多,缓存越大,显示的内容就越多。

MSP430F413集成了96段液晶驱动器,具有较强的显示功能。

在本文中MSP430F413采用了4MUX方式,其显示缓存器中位与液晶段的对应关系如图1所示。

硬件设计硬件电路框图如图2所示,因为采用4MUX方式,所以在R33、R23、R13、R03引脚上外接等值CT来产生液晶的偏置电压。

根据需要把引脚Sx 连接到液晶模块(通过LCDCTL寄存器LCDM7、6、5位选择所需要的输出段),本文选用引脚S0;-;S23。

因为低频晶振产生的时钟信号稳定,所以要选择低频晶振作为时钟源。

Xin和Xout引脚接32kHz晶振作为时钟源。

同时可接按键用于时钟的调整。

软件设计为了节省功耗,系统应工作在低功耗模式。

低功耗模式有5种,而每种低功耗模式都可通过中断唤醒进入活动模式。

但不是每一种低功耗模式都适合实时时钟显示。

本文中选用低功耗模式1。

同时通过定时器的控制寄存器选取合适的分频系数,使进入计数器的频率降低,同样也可以降低功耗。

系统通过定时中断唤醒,进入活动模式处理数据,通过查表进行时钟的显示。

表1为LCD从0-9的显示玛,此段码通过真值表(见表2)得到。

表中欧COM0、COM1、COM2、COM3为液晶显示模块的公共端(其对应的管脚与MSP430F413的COM0、COM1、COM2、COM3相对应的管脚连接)Pin1-Pin18为液晶显示模块的管脚。

为了直观,表中在字母A、B、C&hellip;&hellip;前加上数字0、1、2等比如0A、0B、0C&hellip;&hellip;对应显示的第一位书,1、1B、1C&hellip;&hellip;对应第二位数,依此类推。

表中A为01H,B为02H,C为10H,D为04H,E为80H,F 为20H,G为08H,H为40H。

例如某位显示2,其对应的段是A、B、G、E、D,则显示段码为A+B+G+E+D=8FH。

图3为程序流程图。

用MSP430F413实现的实时时钟显示,经实际运行验证精度非常高。

同时在此基础上可以进行更完善的日历设计。

而且此文的设计思想除了用于显示外,还可以应用在一些某种操作的仪表中。

相关文档
最新文档