当前位置:首页 > 基于单片机和语音模块的 便携式心率计设计
三江学院2016届本科生毕业设计(论文)
附录A
#include
#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255 #define uint unsigned int #include
sbit dq = P1^5;
bit flag_300ms ; uchar flag_en;
/***********************语音模块控制IO口的定义************************/ sbit VRST = P2^4; sbit VBUSY= P2^0; sbit VSDA = P2^1; sbit VCS = P2^2; sbit VSCL = P2^3; uchar yujing[3];
uchar code table_num[]=\
sbit rs=P1^0; sbit rw=P1^1; sbit e =P1^2;
unsigned char i=0,timecount=0,displayOK=0,aa=0; float time[6]={0}; uint rate;
/***********************1ms延时函数*****************************/ void delay_1ms(uint q)
18
//无符号整型 宏定义 变量范围0~65535
//18b20 IO口的定义
sbit beep = P1^4; //蜂鸣器IO口定义
//寄存器选择信号 H:数据寄存器 L:指令寄存器 //寄存器选择信号 H:数据寄存器 L:指令寄存器 //片选信号 下降沿触发
三江学院2016届本科生毕业设计(论文)
{ }
/******************************************************************** * 名称 : delay_uint() * 功能 : 小延时。 * 输入 : 无 * 输出 : 无
***********************************************************************/
void delay_uint(uint q) { }
/******************************************************************** * 名称 : write_com(uchar com) * 功能 : 1602命令函数 * 输入 : 输入的命令值 * 输出 : 无
***********************************************************************/
void write_com(uchar com) {
e=0; rs=0; rw=0; P0=com; delay_uint(25); e=1;
delay_uint(100); e=0;
19
uint i,j; for(i=0;i for(j=0;j<110;j++); while(q--); 三江学院2016届本科生毕业设计(论文) } /******************************************************************** * 名称 : write_data(uchar dat) * 功能 : 1602写数据函数 * 输入 : 需要写入1602的数据 * 输出 : 无 ***********************************************************************/ void write_data(uchar dat) { } /******************************************************************** * 名称 : write_string(uchar hang,uchar add,uchar *p) * 功能 : 改变液晶中某位的值,如果要让第一行,第五个字符开始显示\,调用该函数如下 write_string(1,5,\ * 输入 : 行,列,需要输入1602的数据 * 输出 : 无 ***********************************************************************/ void write_string(uchar hang,uchar add,uchar *p) { if(hang==1) write_com(0x80+add); write_com(0x80+0x40+add); 20 e=0; rs=1; rw=0; P0=dat; delay_uint(25); e=1; delay_uint(100); e=0; else 三江学院2016届本科生毕业设计(论文) } while(1) { } if(*p == '\\0') break; write_data(*p); p++; /***********************lcd1602上显示两位十进制数************************/ void write_sfm3(uchar hang,uchar add,uint date) { } /***********************lcd1602初始化设置************************/ void init_1602() { } /*************定时器0初始化程序***************/ void time_init() { EA = 1; //开总中断 21 if(hang==1) write_com(0x80+add); write_com(0x80+0x40+add); else write_data(0x30+date/100); write_data(0x30+date/10); write_data(0x30+date); write_com(0x38); write_com(0x0c); write_com(0x06); delay_uint(1000); // write_string(1,0,\ Heart Rate \ write_string(2,0,\ 000/min \
共分享92篇相关文档