;************************************************************************************************************
;* 吉林省浩然正大科技有限责任公司 ;* 研 发 部 ;* ;*
;*--------------------------------------------- 文件信息
---------------------------------------------------- ;*
;* 文件名称 : 生物医学传感器开发小组 ;* 文件功能 : 该文件为握力模块程序。 ;* 补充说明 :
;*-----------------------------------------------------------------------------------------------------------
;************************************************************************************************************ ;*/
#include \"mokuai.h\" #include \"config.h\"
extern int set_number(int); extern int time_number_bai,time_number_shi,time_number_ge,time_number_dian,time_number_qian;
extern unsigned char number_table[];
void lcd_firsr_titlew(void); void lcd_second_statew(void); void lcd_three_highw(void); void lcd_four_timew(void);
unsigned char ch_titlew[]={\" 握力模块 \第一行字体显示
unsigned char ch_soundw[]={\" 浩然 \显示 数字温度 字样 unsigned char ch_rangw[]={\" \显示
unsigned char ch_timew[]={\" 握力值\显示 铂电阻 字样及阻值
/**********************************************************************************
函数功能:显示标题1,呼吸模块
***********************************************************************************/
void lcd_firsr_titlew(void) { char i;
lcd_write_ir (0x80); //第一行显示 delay_lcd(50); for (i=0;i<16;i++) {
lcd_write_dr( ch_titlew[i] ); } }
/**********************************************************************************
函数功能:显示标题2,呼吸模块
***********************************************************************************/
void lcd_second_statew(void) { char i;
lcd_write_ir (0x90); //第二行显示 delay_lcd(50); for (i=0;i<16;i++) {
lcd_write_dr( ch_soundw[i] ); } }
/***********************************************************************************
函数功能:
***********************************************************************************/
void lcd_three_highw(void) { char i;
lcd_write_ir (0x88); //第二行显示 delay_lcd(50); for (i=0;i<16;i++) {
lcd_write_dr( ch_rangw[i] ); } }
/***********************************************************************************
函数功能:显示握力
***********************************************************************************/
void lcd_four_timew(void) {
uchar i=0;
lcd_write_ir (0x98); //第四行显示 delay_lcd(50);
for (i=0;i<8;i++) {
lcd_write_dr( ch_timew[i] ); }
delay_lcd(50);
lcd_write_dr(0x3a); //显示冒号 lcd_write_dr(time_number_qian); lcd_write_dr(time_number_bai); lcd_write_dr(time_number_shi);
lcd_write_dr(0x2e); //小数点 lcd_write_dr(time_number_ge);
lcd_write_dr(0x6b); //kg lcd_write_dr(0x67); }
/***********************************************************************************
函数功能:握力模块子程序
***********************************************************************************/
void woli(void) {
unsigned short swoli=0; //握力数字量 unsigned short woli; //握力
int i1;
int r1=0x00,r2=0x00; int i;
lcd_firsr_titlew();
lcd_second_statew();
rADCCON = rADCCON&0xffc7|0x0028; //选择通道5,即心电 for(i=0;i<10;i++) {swoli=swoli+Get_AD(5); swoli=swoli/10;}
woli= 1000*swoli/11; //在此处加 实际握力量转换公式 set_number(woli); //显示 lcd_four_timew();
i1=(woli/10)/1000; //握力值的压缩BCD码转换 r1=i1<<4;
i1=((woli/10)/100)%10; r1=r1|i1;
i1=((woli/10)%100)/10; r2=i1<<4;
i1=(woli/10)%10; r2=r2|i1;
Uart_SendByte(0xd0); //向上位机发送握力信息 Uart_SendByte(0xa5); Uart_SendByte(0xb0); Uart_SendByte(r1); Uart_SendByte(r2); Uart_SendByte(0xc0); }
因篇幅问题不能全部显示,请点此查看更多更全内容