#include <msp430x14x.h>
typedef unsigned char uchar;
typedef unsigned int uint;
static uchar flag=0;
/*************************段选信号***************************/
//uchar shu1[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极
uchar shu2[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳极
uchar duan[4]={0xc0,0xc1,0x88,0xc8};//duan:共阳代码
/*************************位选信号***************************/
uchar wei[6]={0xf8,0xf4,0xec,0xdc,0xbc,0x7c};//由第一位到第六位单独显示,选择点亮相应的数码管
void delayMs(uint m)
{
uint i;
while(m--)
{
for(i=0;i<80;i++);
}
}
/*************************************
I/0端口初始化
**************************************/
void Ioport_init(void)
{
P4DIR=0xff; //P4输出(单片机端口电平经8位数据锁存后输出控制显示数码)
P6DIR=0xfc; //P6输出(单片机给2--6端口电平经数据锁存后输出给后级控制显示位)
}
/**************************************
系统初始化
***************************************/
void Sys_init(void)
{
WDTCTL=WDTPW+WDTHOLD; //关看门狗
//BCSCTL2&=0xc0;
// BCSCTL2&=0x90; //XT2CLK+2分频
}
/***************主函数******************/
void main(void)
{
Sys_init();
Ioport_init();
CCTL0=CCIE; //使能CCR0
CCR0=50;
TACTL=TASSEL_1+ID_3+MC_1;
_EINT(); //开全局中断
LPM3; //CPU工作模式(低功耗)
/* while(1) //动态扫描
{
if(flag==0)
{
P4OUT=duan[3];//点亮数码管,显示DUAN
P6OUT=BIT2;
delayMs(1);
P4OUT=duan[2];
P6OUT=BIT3;
delayMs(1);
P4OUT=duan[1];
P6OUT=BIT4;
delayMs(1);
P4OUT=duan[0];
P6OUT=BIT5;
delayMs(1);
}
else
{
P4OUT=shu2[4];//点亮数码管,显示987654
P6OUT=BIT2;
delayMs(1);
P4OUT=shu2[5];
P6OUT=BIT3;
delayMs(1);
P4OUT=shu2[6];
P6OUT=BIT4;
delayMs(1);
P4OUT=shu2[7];
P6OUT=BIT5;
delayMs(1);
P4OUT=shu2[8];
P6OUT=BIT6;
delayMs(1);
P4OUT=shu2[9];
P6OUT=BIT7;
delayMs(1);
}
}*/
}
/****************************
TIMER_A中断服务函数
实现显示变换标志
*****************************/
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
// flag=~flag;
flag++;
if(flag<=100)
{
P4OUT=duan[3];//点亮数码管,显示DUAN
P6OUT=BIT2;
delayMs(6);
P4OUT=duan[2];
P6OUT=BIT3;
delayMs(5);
P4OUT=duan[1];
P6OUT=BIT4;
delayMs(4);
P4OUT=duan[0];
P6OUT=BIT5;
delayMs(3);
}
else
{
P4OUT=shu2[7];//点亮数码管,显示200917
P6OUT=BIT2;
delayMs(6);
P4OUT=shu2[1];
P6OUT=BIT3;
delayMs(5);
P4OUT=shu2[9];
P6OUT=BIT4;
delayMs(4);
P4OUT=shu2[0];
P6OUT=BIT5;
delayMs(4);
P4OUT=shu2[0];
P6OUT=BIT6;
delayMs(4);
P4OUT=shu2[2];
P6OUT=BIT7;
delayMs(2);
if(flag>=200)
flag=0;
}
}
Shuma.rar_msp430f149数码管_数码管 闪烁
版权申诉
51 浏览量
2022-09-21
05:45:00
上传
评论
收藏 6KB RAR 举报
APei
- 粉丝: 64
- 资源: 1万+
最新资源
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
- 基于Vue和微信小程序的监理日志系统设计源码 - supervisionLog
- 基于Java和LCN分布式事务框架的设计源码 - tx-lcn
- 基于Java和JavaScript的茶叶评级管理系统设计源码 - tea
- IMG_5680.JPG
- IMG_0437.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0