资源简介
基于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
相关资源
- 利用msp430g2553进行串口通信
- MSP430F149 TB输出频率可调PWM波
- MSP430G2553串口程序
- MSP430F169最小系统板原理图pcb图
- 一个MSP430F149单片机与无线芯片NRF240
- 基于MSP430的mpu6050,lcdcd显示三轴加速
- msp430控制GSM模块发送短信测试通过
- MSP430读写SD卡FAT文件系统
- MSP430 SPI接口程序
- MSP430F5438A 与仿真器的SBW接法
- msp430 JLX12864G-086 带字库
- MSP430f6638数字钟
- msp430f149 12864显示温度
- DHT11温湿度传感器MSP430F149)
- MSP430简单计算器的实现
- JTAG的封装库及演示
- TI官方开发板MSP430F5529LP硬件原理图
- MSP430 和VS1003 完成的音乐播放
- 基于MSP430的模拟SPI串口通信的实现
- msp430g2553串行控制12864显示正弦波。
- TI msp430 官方SD卡读写程序
- MSP430G2553的DAC7811程序
- 基于MSP430单片机的SD卡读写.pdf
- msp430 timerA,包括捕获比较功能,已用
- 基于MSP430超声波测距系统的设计与开
- MSP430F5529LP下的0.96寸7针OLED显示驱动程
- IAR for ARM 6.1 - 6.3 万能破解包KEYGEN
- 基于MSP430F5529的直流电机的程序
- 北京市电子设计大赛模块驱动msp430g
- MSP430时钟程序
评论
共有 条评论