教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

自动称量参考程序(4)

来源:网络收集 时间:2026-08-29
导读: 自动称量参考程序.c else { CR = 0; step_f = FOSC / 4 / f +0.5 ; CH = 0; CL = 0; CCAP0L = step_f; CCAP0H = step_f >> 8; } if(k==1) { } else { } CR = 1; CR = 0; } void updata_zhong_liang(unsigned long k

自动称量参考程序.c

else {

CR = 0;

step_f = FOSC / 4 / f +0.5 ; CH = 0; CL = 0;

CCAP0L = step_f;

CCAP0H = step_f >> 8;

}

if(k==1) { } else { }

CR = 1; CR = 0;

}

void updata_zhong_liang(unsigned long ke) {

unsigned long i=0;

unsigned char a,b,c,d,e; i = ke;

a = i / 10000;

b = i / 1000 % 10; c = i / 100 % 10; d = i / 10 % 10; e = i % 10;

/ /send_str1(shua_xin_off); set_txt(1,1,a,1); set_txt(1,2,b,1); set_txt(1,3,c,1); set_txt(1,4,d,1); set_txt(1,5,e,1);

/ /send_str1(shua_xin_on);

}

//更新某画面,某号控件,某个字节长度的数字

void set_txt(unsigned char screen_id,unsigned char control_id,unsigned long dat,unsigned char counter) {

unsigned char p[8] = 0; unsigned char i =0; if(counter == 1) {

send_zhen_tou;

第 11 页

自动称量参考程序.c

send_data1(0XB1);send_data1(0X10);send_data1(0X00);send_data1(scr een_id);send_data1(0X00);send_data1(control_id);

send_data1(dat+0x30); send_zhen_wen;

} else {

p[7] = dat % 10 + 0x30;//

p[6] = dat % 100 / 10 + 0x30;// p[5] = dat % 1000 / 100 + 0x30;// p[4] = dat % 10000 / 1000 + 0x30;// p[3] = dat % 100000 / 10000 + 0x30;// p[2] = dat % 1000000 / 100000 + 0x30;// p[1] = dat % 10000000 / 1000000 + 0x30;// p[0] = dat / 10000000 + 0x30;//

}

if(counter == 8) {

send_zhen_tou; send_data1(0XB1);send_data1(0X10);send_data1(0X00);send_data1(scr een_id);send_data1(0X00);send_data1(control_id);

for(i=0;i<8;i++)

send_data1(p[i]);

send_zhen_wen;

}

if(counter == 6) {

send_zhen_tou; send_data1(0XB1);send_data1(0X10);send_data1(0X00);send_data1(scr een_id);send_data1(0X00);send_data1(control_id);

send_data1(p[3]); send_data1(p[4]); send_data1(p[5]); send_data1('.'); send_data1(p[6]); send_data1(p[7]); send_zhen_wen;

}

}

/ /将一个6位数字显示到某个控件上

void tft_show_6bit(unsigned char hua_mian,unsigned char txt,unsigned long num)

第 12 页

自动称量参考程序.c

{

xdata unsigned char tong_xin[18] =

{ 0xEE,0xB1,0x10,0x00,0x02,0x00,0x03,0x36,

0 x36,0x36,0x36,0x36,0x36,0xFF,0xFC,0xFF,0xFF,0xcc};

unsigned long num1 = 0; num1 = num;

tong_xin[4] = hua_mian; tong_xin[6] = txt;

tong_xin[7]

= num1 / 100000 + 0x30;

tong_xin[8] = num1 / 10000 % 10 + 0x30; tong_xin[9] = num1 / 1000 % 10 + 0x30; tong_xin[10] = num1 / 100 % 10 + 0x30; tong_xin[11] = num1 / 10 % 10 + 0x30; tong_xin[12] = num1 % 10 + 0x30; send_str1(tong_xin);

}

/ /将一个四位数显示到屏上

void tft_show_4bit(unsigned char hua_mian,unsigned char txt,unsigned int num) {

unsigned char tong_xin[18] =

{ 0xEE,0xB1,0x10,0x00,0x02,0x00,0x03,0x36, 0 x36,0x36,0x36,0xFF,0xFC,0xFF,0xFF,0xcc};

unsigned int num1 = 0; num1 = num;

tong_xin[4] = hua_mian; tong_xin[6] = txt;

tong_xin[7]

= num1 / 1000 + 0x30;

tong_xin[8] = num1 / 100 % 10 + 0x30; tong_xin[9] = num1 / 10 % 10 + 0x30; tong_xin[10] = num1 % 10 + 0x30; send_str1(tong_xin);

第 13 页

自动称量参考程序.c

}

/ /将数组的四位ASIIC码转化为数字

unsigned int ass_to_num_4bit(unsigned char *p) {

unsigned int a = 0;

a = p[0]*1000+p[1]*100+p[2]*10+p[3]; return a;

}

//将小数数组组合为数字

unsigned long ass_num_dot(unsigned char *p) {

unsigned long a = 0; unsigned long p1[6] = 0; unsigned long dat[6] = 0; unsigned char i=0,m=0; for(i=0;i<6;i++) {

if(p[i] == 0x2e)

m = i;

else

p1[i] = p[i];

}

/ /必须输入两位小数 dat[0]=p1[0]*10000; dat[1]=p1[1]*1000; dat[2]=p1[2]*100; dat[3] = 0;

dat[4]=p1[4]*10; dat[5]=p1[5]; a = 0;

for(i=0;i<6;i++) {

a += dat[i] ;

}

return a;

}

//读取某画面,某文本

unsigned int tft_read_txt(unsigned char hua_mian,unsigned char txt) {

unsigned char tong_xin[12] =

{ 0xEE,0xB1,0x11,0x00,0x02,0x00,0x03,0xFF,0xFC,0xFF,0xFF,0xcc};

unsigned char a[8] = 0;//用于处理接收到的4位数字

第 14 页

}

void close_iap(void) {

IAP_CONTR = 0; IAP_CMD = 0; IAP_TRIG = 0; IAP_ADDRH = 0; IAP_ADDRL = 0;

}

void write_byte(unsigned int addr,unsigned char dat) {

IAP_CONTR = 0x82;

IAP_CMD = 0x02; IAP_ADDRL = addr;

IAP_ADDRH = addr >> 8; IAP_DATA = dat; IAP_TRIG = 0x5a; IAP_TRIG = 0xa5; _nop_(); close_iap(); }

unsigned char read_byte(unsigned int addr) {

unsigned char dat=0;

IAP_CONTR = 0x82; IAP_CMD = 0x01; IAP_ADDRL = addr;

IAP_ADDRH = addr >> 8; IAP_TRIG = 0x5a; IAP_TRIG = 0xa5; _ nop_();_nop_();_nop_();_nop_(); dat = IAP_DATA;

close_iap();

第 15 页

自动称量参考程序.c

unsigned int num = 0;//组合好的数字 unsigned char i = 0;//循环使用 tong_xin[4] = hua_mian; tong_xin[6] = txt; send_str1(tong_xin);

if(read_message[4] == hua_mian) {

for(i=0;i<4;i++)

a[i] = read_message[8+i] - 0x30 ;

num = a[0]*1000 + a[1]*100+ a[2]*10 + a[3];

}

return num ;

…… 此处隐藏:2239字,全部文档内容请下载后查看。喜欢就下载吧 ……
自动称量参考程序(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/605977.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)