久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3436|回復: 1
打印 上一主題 下一主題
收起左側

求大神幫忙看下這個程序,寫下程序框圖,幫忙理解

[復制鏈接]
跳轉到指定樓層
樓主
ID:47600 發表于 2013-1-2 15:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include #include #include #include #include #include #include #include #include #include void main() { sys_init();//系統初始化 while(mode_cnt==0)//如果還沒確定是做發送和接收,就在這等待 { key();//按鍵掃描,先按下移位或乘位的做主機,另外的做從機 } if(mode_cnt==1) { ES=0; uart_send_char(0xFA); ES=1; } while(1) { while(mode_cnt==1)//發送機 { while(flag_yiwei_ok==0||flag_chengwei_ok==0) //等待乘位和移位輸入完成 { key(); } val_yiwei_r=val_yiwei; val_chengwei_r=val_chengwei; while(flag_fangshi==0) { key(); } flag_show_point=1;//數碼管顯示小數點 while(input_cnt<4)//等待輸入數據 { key(); } while(!flag_zhuanhuan_ok) { key(); } led_zhuanhuan_on(); while(!flag_fasong)//等待發送 { key(); } led_fasong_on(); while(1); } while(mode_cnt==2)//接收機 { //key(); while(!flag_jieshou); led_jieshou_on(); while(flag_jieshou);//等待接收 flag_jieshou=0; while(!flag_jieshou) { key(); } while((!flag_yiwei_ok)||(!flag_chengwei_ok)) { key(); } while(!flag_zhuanhuan_ok) { key(); } led_zhuanhuan_on(); while(1); } } } ........................................................ datpro.h void dat_pro(uchar n) { uchar i,j; for(i=0;i==val_dat[j]) { val_yiwei++; val_chengwei++; break; } } val_dat_r=(val_dat+val_yiwei)*val_chengwei; val_dat_r=val_dat_r%100; } } void dat_compare(uchar n,uchar dat) { uchar i; for(i=0;i==dat) { val_yiwei++; val_chengwei++; } } } .............................................. delay.h void delayms(uint t) { uint="uint" i,j; for(i=0;i0)//7 { key_n[0]=0; yiwei_chengwei_input(7); input_dat(7); } else if(key_n[1]>0)//8 { key_n[1]=0; yiwei_chengwei_input(8); input_dat(8); } else if(key_n[2]>0)//9 { key_n[2]=0; yiwei_chengwei_input(9); input_dat(9); } else if(key_n[3]>0)//移位 { key_n[3]=0; if(!flag_yiwei) { if(mode_cnt==0) { mode_cnt=1;//做發送 flag_yiwei=1; } else if(mode_cnt==1) { flag_yiwei=1; } else if(mode_cnt==2) { if(flag_jieshou)flag_yiwei=1; } } } else if(key_n[4]>0)//4 { key_n[4]=0; yiwei_chengwei_input(4); input_dat(4); } else if(key_n[5]>0)//5 { key_n[5]=0; yiwei_chengwei_input(5); input_dat(5); } else if(key_n[6]>0)//6 { key_n[6]=0; yiwei_chengwei_input(6); input_dat(6); } else if(key_n[7]>0)//乘位 { key_n[7]=0; if(!flag_chengwei) { if(mode_cnt==0) { mode_cnt=1;//做發送 flag_chengwei=1; } else if(mode_cnt==1) { flag_chengwei=1; } else if(mode_cnt==2) { if(flag_jieshou)flag_chengwei=1; } } } else if(key_n[8]>0)//1 { key_n[8]=0; yiwei_chengwei_input(1); input_dat(1); } else if(key_n[9]>0)//2 { key_n[9]=0; yiwei_chengwei_input(2); input_dat(2); } else if(key_n[10]>0)//3 { key_n[10]=0; yiwei_chengwei_input(3); input_dat(3); } else if(key_n[11]>0)//方式數字轉換 { key_n[11]=0; if(mode_cnt==1&&!flag_fangshi&&flag_yiwei_ok&&flag_chengwei_ok) { flag_fangshi=1; } } else if(key_n[12]>0)//明暗轉換 { key_n[12]=0; if(mode_cnt==1&&input_cnt==4&&!flag_zhuanhuan_ok) { flag_zhuanhuan_ok=1; val_dat_rr[0]=val_dat[0]; val_dat_rr[1]=val_dat[1]; val_dat_rr[2]=val_dat[2]; val_dat_rr[3]=val_dat[3]; dat_pro(4); //val_dat_r[0]=(val_dat[0]+val_yiwei)*val_chengwei; //val_dat_r[1]=(val_dat[1]+val_yiwei)*val_chengwei; //val_dat_r[2]=(val_dat[2]+val_yiwei)*val_chengwei; //val_dat_r[3]=(val_dat[3]+val_yiwei)*val_chengwei; } if(mode_cnt==2&&!flag_zhuanhuan_ok&&flag_yiwei_ok&&flag_chengwei_ok) { flag_zhuanhuan_ok=1; if(val_chengwei==val_chengwei_r&&val_yiwei==val_yiwei_r) { val_dat_r[0]=val_dat_rr[0]; val_dat_r[1]=val_dat_rr[1]; val_dat_r[2]=val_dat_rr[2]; val_dat_r[3]=val_dat_rr[3]; } else { val_dat_r[0]=val_dat[0]/val_chengwei-val_yiwei; val_dat_r[1]=val_dat[1]/val_chengwei-val_yiwei; val_dat_r[2]=val_dat[2]/val_chengwei-val_yiwei; val_dat_r[3]=val_dat[3]/val_chengwei-val_yiwei; } seg_val[0]=val_dat_r[0]/10; seg_val[1]=val_dat_r[0]%10; seg_val[2]=val_dat_r[1]/10; seg_val[3]=val_dat_r[1]%10; seg_val[4]=val_dat_r[2]/10; seg_val[5]=val_dat_r[2]%10; seg_val[6]=val_dat_r[3]/10; seg_val[7]=val_dat_r[3]%10; } } else if(key_n[13]>0)//0 { key_n[13]=0; yiwei_chengwei_input(0); input_dat(0); } else if(key_n[14]>0)//接收 { key_n[14]=0; if(mode_cnt==2&&!flag_jieshou) { flag_jieshou=1; flag_show_point=1; seg_val[0]=val_dat[0]/10; seg_val[1]=val_dat[0]%10; seg_val[2]=val_dat[1]/10; seg_val[3]=val_dat[1]%10; seg_val[4]=val_dat[2]/10; seg_val[5]=val_dat[2]%10; seg_val[6]=val_dat[3]/10; seg_val[7]=val_dat[3]%10; } } else if(key_n[15]>0)//發送 { key_n[15]=0; if(mode_cnt==1&&!flag_fasong) { flag_fasong=1; ES=0; uart_send_char(0XAF); uart_send_char(val_dat_r[0]); uart_send_char(val_dat_r[1]); uart_send_char(val_dat_r[2]); uart_send_char(val_dat_r[3]); uart_send_char(val_yiwei_r); uart_send_char(val_chengwei_r); uart_send_char(val_dat_rr[0]); uart_send_char(val_dat_rr[1]); uart_send_char(val_dat_rr[2]); uart_send_char(val_dat_rr[3]); ES=1; } } } } void key() { key_scan(); key_pro(); } ....................................... seg.h void seg_display() { static uchar i=0; switch(i) { case 0:seg_duan=seg_tab[seg_val];seg_wei=seg_bit;i++;break; case 1: if(!flag_show_point)seg_duan=seg_tab[seg_val]; else seg_duan=seg_tab[seg_val]+0x80; seg_wei=seg_bit;i++;break; case 2:seg_duan=seg_tab[seg_val];seg_wei=seg_bit;i++;break; case 3: if(!flag_show_point)seg_duan=seg_tab[seg_val]; else seg_duan=seg_tab[seg_val]+0x80; seg_wei=seg_bit;i++;break; case 4:seg_duan=seg_tab[seg_val];seg_wei=seg_bit;i++;break; case 5: if(!flag_show_point)seg_duan=seg_tab[seg_val]; else seg_duan=seg_tab[seg_val]+0x80; seg_wei=seg_bit;i++;break; case 6:seg_duan=seg_tab[seg_val];seg_wei=seg_bit;i++;break; case 7:seg_duan=seg_tab[seg_val];seg_wei=seg_bit;i=0;break; default:i=0; } } ............................................................... sys_init.h void sys_init() { delayms(100); led_yiwei_off(); led_chengwei_off(); led_zhuanhuan_off(); led_fasong_off(); led_jieshou_off(); TMOD = 0X21; SCON=0X50; TH0=0XFC; TL0=0X18; TR0=1; ET0=1; TH1=0XFD; TL1=0XFD; TR1=1; ES=1; PS=1; EA=1; } ................................................................ uart.h } } */ void uart_rev_irt() interrupt 4 { uchar dat; while(RI==0); RI=0; dat=SBUF; if(mode_cnt==0&&dat==0xFA)mode_cnt=2; if(mode_cnt==2&&dat==0xAF) { flag_jieshou=1; input_cnt=0; return; } if(mode_cnt==2&&flag_jieshou&&input_cnt<10) { if(input_cnt<4)val_dat[input_cnt]=dat; else if(input_cnt==4)val_yiwei_r=dat; else if(input_cnt==5)val_chengwei_r=dat; else if(input_cnt<10)val_dat_rr[input_cnt-6]=dat; input_cnt++; if(input_cnt==10) { flag_jieshou=0; input_cnt=4; } } }
[此貼子已經被作者于2013-1-2 16:01:16編輯過]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:7485 發表于 2013-1-6 09:30 | 只看該作者
這個怎么看啊!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 极品国产视频 | 欧一区二区| 91久久精品一区二区二区 | 欧美videosex性极品hd | 国产一区二区三区免费视频 | 999国产视频| 久久久tv | 亚州综合在线 | 国产高清精品一区二区三区 | 毛片黄片免费看 | av一区二区在线观看 | 亚洲欧美国产毛片在线 | 欧美性极品xxxx做受 | 一级黄色淫片 | 一区二区久久精品 | 在线日韩精品视频 | 久久精品国产99国产 | 91在线观看视频 | 日韩av啪啪网站大全免费观看 | 黄色一级片在线播放 | 91精品国产91久久久久久最新 | 91精品国产91久久久久福利 | 久久亚洲综合 | 久久久999免费视频 999久久久久久久久6666 | 国产免费视频在线 | 国产精品美女久久久久aⅴ国产馆 | 国产精品91久久久久久 | 日本午夜一区 | 免费国产一区二区 | 欧美中文一区 | 国产欧美在线一区二区 | 亚洲精品一区二区三区 | 国产精品伦一区二区三级视频 | 亚洲免费高清 | 精品久久精品 | av电影一区 | 亚洲男人天堂2024 | 亚洲视频一区二区三区 | 欧美a在线观看 | 三级成人在线 | 亚洲欧美一区二区三区情侣bbw |