无线餐厅点菜机 - 图文(6)

2019-05-24 17:12

nTX0_Len=send_len; nTX0_Len_temp=0;

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

UART0_TX_BUF[i] = UART_sendstring[i]; IFG2 |=UTXIFG1; }

Key.c 程序清单 void key_up(void) {

if(number==0) //当前记录是首记录 {

uint i; for(i=0;i<3;i++) { disp_ascii(0,0,error); delayms(20); cls_ascii(0,0,3); //清除错误标志 delayms(10); } disp_ascii(0,0,error); } else { if(number%7==0) //当前记录是当前页的首记录 { line=1; loop_control=0; cls_chn(0,1,105);

for(line=1,number-=7;loop_control<7;loop_control++,number++,line++) //翻页 disp_record(line,record[number].Num,record[number].Name,record[number].Price);

line=7; number-=1; OVERTURN; //反色显示最下面一条记录 disp_record(line,record[number].Num,record[number].Name,record[number].Price);

OVERTURN; } else //其他情况 { cls_chn(2,line,13); disp_record(line,record[number].Num,record[number].Name,record[number].Price);

line-=1; OVERTURN;

number-=1; disp_record(line,record[number].Num,record[number].Name,record[number].Price);

OVERTURN; } } }

void key_down(void) { number+=1; if(number%7==0) //当前记录是当前页的最后一条记录 {

line=1;

loop_control=0; cls_chn(0,1,105); for(line=1;loop_control<7;loop_control++,number++,line++) /翻页 disp_record(line,record[number].Num,record[number].Name,record[number].Price);

line=1; number-=7;

OVERTURN; //反色显示最上面一条记录 disp_record(line,record[number].Num,record[number].Name,record[number].Price);

OVERTURN; }

else //其他情况 {

cls_ascii(0,0,3); //清除错误标志 cls_chn(2,line,13); //清除上一条记录 disp_record(line,record[number-1].Num,record[number-1].Name,record[number-1].Price);

line+=1;

OVERTURN; disp_record(line,record[number].Num,record[number].Name,record[number].Price);

OVERTURN; } }

void key_sel(void) { uint i; uchar flag=1;

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

if(number+1==BUFFER[i]) flag=0; if(flag==1) {

BUFFER[BUFFER_j]=number+1;

BUFFER_j++;

disp_img(0,line*16,24,16,sel); r_counter+=1;

cls_ascii(0,1,3); //清除计数器显示 if(r_counter>9) { disp_char(0,8,r_counter/10+48); disp_char(1,8,r_counter+48); } else disp_char(0,8,r_counter+48); } }

void key_cancel(void) {

for(BUFFER_i=0;BUFFER_i<32;BUFFER_i++) {

if(number+1==BUFFER[BUFFER_i]) { BUFFER[BUFFER_i]=0; cls_chn(0,line,2); r_counter-=1; cls_ascii(0,1,3); if(r_counter>9) { disp_char(0,8,r_counter/10+48); disp_char(1,8,r_counter+48); } else disp_char(0,8,r_counter+48); } }

void key_send(void) { uint m; uint n=0; uint line=1; uint counter=0; CLEAR; delayms(1); disp_chn(4,0,cm); for(m=0;m<32;m++) { if(BUFFER[m]==0); else { if(counter%2==1) line+=1; { if(n%2==0) disp_chn(1,line,record[BUFFER[m]-1].Name);

}

}

else disp_chn(8,line-1,record[BUFFER[m]-1].Name); counter+=1; }

n+=1;

附录二 电路图


无线餐厅点菜机 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:模拟量输入输出模块

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: