资源简介
基于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
相关资源
- IAR for MSP430 v7.10.1 注册机
- 基于MSP430G2553的蓝牙控制小车
- 利用DS1302和msp430进行闹钟和万年历的
- msp430F149操作红外接收模块源码
- [免费]msp430f149控制PS2键盘并用1602显示
- MSP430f149读sd FAT txt
- 用8位spi实现16位spi
- 基于MSP430单片机的实时多任务操作系
- MSP430系列单片机例程(msp430f235)
- MSP430控制AD9850产生频率可调的方波及
- msp430f449程序
- 基于MSP430的数控直流电压源
- MSP430F5438A Timer_B 操作实验
- MSP430F5438 UCS 时钟操作实验
- MSP430F5438A Timer_A 操作实验
- MSP430F5438 看门狗实验
- IAR EW430连接仿真器在线仿真
- 初识畅学系列MSP430F149单片机开发板
- 畅学多功能实验箱 MSP430F5438 RTC 操作实
- MSP430F5438A RAM操作实验
- msp430f5438a技术资料
- MSP430 JTAGUSB的和并口的与目标板连接的
- MSP430教程:MSP430单片机ADC12模块
- WIA-PA网络技术在井下人员定位系统中
- 16位MSP430单片机的开关稳压电源设计
- 基于mps430f149的12864液晶显示模块编程
- MSP430F5529移植modbus
- MSP430详细教程
- MSP430信号发生器.rar
- MSP430F5529 例程源码
评论
共有 条评论