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

📄 untitled3.c

📁 msp430f449功能模块的程序
💻 C
字号:
#include<msp430x44x.h>
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void);
unsigned data1;
//主函数
void main(void)
{
unsigned x1,y1;
unsigned char seg[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0x80,0x90};//数码管段译码

WDTCTL=WDTPW+WDTHOLD;
TACTL=TASSEL0+TACLR;
TACTL|=MC0;
CCTL0=CCIE;
CCR0=16384;//设置捕获比较寄存器,初始值为16384,对于32768的频率,相当于0.5秒 16384*(1/32768)
_EINT();//使能总中断 这是一个C编译器支持的内部过程
P3DIR=0XFF;//P3初始化输出
P4DIR=0XFF;//P4初始化输出
P5DIR=0XFF;//P5初始化输出
//无限次while循环
while(1)
{x1=data1%10;//个位,获取data1变量的个位
y1=data1/10;//十位,获取data1变量的十位
P4OUT=seg[x1];//显示个位,数码管显示
P5OUT=seg[y1];//显示十位,数码管显示
//如下是彩灯变化部分,可以增加data1的值得范围,设定多种P3口的输出模式
if(data1==0)//时标变量dtta1为0时,使P3OUT=0XFF
P3OUT=0XFF;
if(data1==1)//时标变量dtta1为0时,使P3OUT=0X00
P3OUT=0X00;
if(data1==2)//时标变量dtta1为0时,使P3OUT=0X55
P3OUT=0X55;
}
}
//定时中断
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
data1++;//时标变量dtta1加计数
if(data1>=3)
data1=0;}//当时标变量dtta1大于3时,清除时标

⌨️ 快捷键说明

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