⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display.c

📁 MSP430系列单片机资料-7册-46.3M-pdf.zip
💻 C
字号:
#include <MSP430X14X.h>
#include "I2C.h"
#include "Display.h"

void Init_TimerB(void)
{
    TBCTL = TBSSEL0 + TBCLR;    // 选择ACLK,清除TAR
    TBCCTL0 = CCIE;             // TBCCR0 中断允许
    TBCCR0 = 32768;	        // 时间间隔为 1 s
    
    TBCTL |= MC0;               // 增记数模式
}
void Init_DispPort(void)
{
    //将所有的管脚在初始化的时候设置为输入方式
    P2DIR = 0;
    P4DIR = 0;
    //将所有的管脚设置为一般I/O口
    P2SEL = 0;
    P4SEL = 0;
    // 将P2.0~P2.6设置为输出方向
    P2DIR |= BIT0;
    P2DIR |= BIT1;
    P2DIR |= BIT2;
    P2DIR |= BIT3;
    P2DIR |= BIT4;
    P2DIR |= BIT5;
    P2DIR |= BIT6;
    // 将P4.0~P4.6设置为输出方向
    P4DIR |= BIT0;
    P4DIR |= BIT1;
    P4DIR |= BIT2;
    P4DIR |= BIT3;
    P4DIR |= BIT4;
    P4DIR |= BIT5;
    P4DIR |= BIT6;
    
    return;
}
void Display(char *pBuf)
{
    // 数据表
    static char nLed[10]={0x7b,0x42,0x37,0x67,0x4e,0x6d,0x7d,0x43,0x7f,0x6f}; 
    // 选通数码管
    
    // 显示"星期"
    // 选通数码管
    P2OUT |= BIT0;
    P4OUT = nLed[pBuf[0]];
    // 显示"小时"
    // 选通数码管
    P2OUT |= BIT3;
    P4OUT = nLed[pBuf[1]];
    // 显示"小时"
    // 选通数码管
    P2OUT |= BIT1;
    P4OUT = nLed[pBuf[2]];
    // 显示"分"
    // 选通数码管
    P2OUT |= BIT4;
    P4OUT = nLed[pBuf[3]];
  
    // 显示"分"
    // 选通数码管
    P2OUT |= BIT0;
    P4OUT = nLed[pBuf[4]];
    // 显示"秒"
    // 选通数码管
    P2OUT |= BIT3;
    P4OUT = nLed[pBuf[5]];
    // 显示"秒"
    // 选通数码管
    P2OUT |= BIT1;
    P4OUT = nLed[pBuf[6]];
    
    return;
}
void Init_CLK(void)
{
    unsigned int i;
    BCSCTL1 = 0X00;			//将寄存器的内容清零
					//XT2震荡器开启
					//LFTX1工作在低频模式
					//ACLK的分频因子为1
					
    do 
    {
	IFG1 &= ~OFIFG;                       // 清除OSCFault标志
	for (i = 0x20; i > 0; i--);                
    }
    while ((IFG1 & OFIFG) == OFIFG);      // 如果OSCFault =1   
					
    BCSCTL1 &= ~(XT2OFF + XTS);//open XT2, LFTX2 select low frequency 
    BCSCTL1 |= RSEL0 + RSEL1 + RSEL2; //DCO Rsel=7(Freq=3200k/25摄氏度)  
    BCSCTL1 |= 0x07;
    BCSCTL2 += SELM1;		//MCLK的时钟源为TX2CLK,分频因子为1
    BCSCTL2 += SELS;		//SMCLK的时钟源为TX2CLK,分频因子为1
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -