• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: 其他
  • 标签: msp430  

资源简介

基于msp430单片机的数字流量计,有瞬时流量,累积流量,万年历,按键控制

资源截图

代码片段和文件信息

附录A 所有程序
(1)main.c
#include “msp430x14x.h“
#include “subfuncs.h“
#define uchar unsigned char
#define uint unsigned int
/***端口定义***/
const unsigned char table[]={0x010x020x03};//1-3
uchar key;
int jishupinlv1liuliangleiji;
uchar jian;
uchar keyscan1(void);
void bianma();
typedef unsigned char  U8;
typedef unsigned int   U16;
int secminhour;
int day=1weekmonth=1year;
uchar aflagflag2;
uchar s1num;
const unsigned char dis1[]={“2000年01月01日  “};
const unsigned char dis2[]={“00时00分00秒周日“};
const unsigned char dis3[]={“瞬时::00   L/MIN“};
const unsigned char dis4[]={“累计::00   L    “};
const unsigned char dis5[]={“.“};
U8 str[3]str1[4];
uchar disx[]={0xc80xd50xd20xbb0xb60xfe0xc80xfd0xcb0xc40xce0xe50xc10xf9};//“日““一““二““三““四““五““六“(两个字节为一个汉字)
/***1.写年月日子函数***/
void write_ymd(uchar adduchar dat)
{
uchar shige;
shi=dat/10;
ge=dat%10;
Write_Cmd(0x80+add);
Write_Data(0x30+shi);
Write_Data(0x30+ge);
}
/***2.写时分秒子函数***/
void write_hms(uchar adduchar dat)
{
uchar shige;
shi=dat/10;
ge=dat%10;
Write_Cmd(0x90+add);
Write_Data(0x30+shi);
Write_Data(0x30+ge);
}
/***3.瞬时流量显示子函数***/
void write_tem(uchar add)
{
Write_Cmd(0x88+add);
Write_Data(str[0]);
Write_Data(str[1]); 
        Write_Data(dis5[0]);
        Write_Data(str[2]); 
}
/***4.累计流量显示子函数***/
void write_hum(uchar add)
{
Write_Cmd(0x98+add);
Write_Data(str1[0]);
Write_Data(str1[1]);
       Write_Data(str1[2]); 
       Write_Data(dis5[0]);
       Write_Data(str1[3]);
}
/***5.键盘扫描子函数***/  
void keyscan()
{  keyscan1();
if(jian==1)
{
TACTL = TASSEL_1 + MC_0;
           s1num++;
if(s1num==1)
{
Write_Cmd(0x80+1);
Write_Cmd(0x0f);
}
if(s1num==2)
{
Write_Cmd(0x80+3);
}
if(s1num==3)
{
Write_Cmd(0x80+5);
}
if(s1num==4)
{
Write_Cmd(0x90+0);
}
if(s1num==5)
{
Write_Cmd(0x90+2);
}
if(s1num==6)
{
Write_Cmd(0x90+4);
}
if(s1num==7)
{
Write_Cmd(0x90+7);
}
if(s1num==8)
{
s1num=0;
Write_Cmd(0x0c);
              TACTL = TASSEL_1 + MC_1;
}
}
if(s1num!=0)
{
/***按键计数加***/
if(jian==2)
{
/***调节修改显示的位置***/
if(s1num==1)
{
year++;
if(year==99)
year=0;
//刷新年!
write_ymd(1year);
                 Write_Cmd(0x80+1);                                        
}
if(s1num==2)
{
month++;
if(month==13)
month=1;
//刷新月!
write_ymd(3month);
              Write_Cmd(0x80+3);
}
if(s1num==3)
{
day++;
if(day==32)
day=1;
//刷新日!
write_ymd(5day);
                 Write_Cmd(0x80+5);
}
if(s1num==4)
{
hour++;
if(hour==24)
hour=0;
//刷新时!
write_hms(0hour);
                 Write_Cmd(0x90+0);
}
if(s1num==5)
{
min++;
if(min==60)
min=0;
//刷

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      12837  2014-07-16 14:53  Text1.c

----------- ---------  ---------- -----  ----

                12837                    1


评论

共有 条评论