版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
开短路测试程序开短路测试程序开短路测试程序资料仅供参考文件编号:2022年4月开短路测试程序版本号:A修改号:1页次:1.0审核:批准:发布日期:#include<> "#include"002-EEPROM读、写.h"#include""//==============================================//延时1ms函数//==============================================voiddelay_ms(intms){unsignedchari;while(ms--){for(i=0;i<120;i++);}}//=============================================================================//蜂鸣器响二声OK //=============================================================================voidbeep(){unsignedchari;for(i=0;i<4;i++){BEEP=!BEEP;delay_ms(40);}//取反并延时}//=============================================================================//蜂鸣器响一声NG //=============================================================================voidbeep_NG(){unsignedchari;for(i=0;i<2;i++){BEEP=!BEEP;delay_ms(400);}//取反并延时}//=============================================================================//计算加显示//=============================================================================voidxianshi(){ uinta,b,c,d;d=((i/16)+1)/10; //求板十位c=((i/16)+1)%10; //求板个位b=((i%16)+1)/10;//求点十位a=((i%16)+1)%10; //求点个位 LCD_disp_char(6,1,d+0x30);//显示板十位 LCD_disp_char(7,1,c+0x30);//显示板个位 LCD_disp_char(6,2,b+0x30);//显示点十位 LCD_disp_char(7,2,a+0x30);//显示点个位 }//=============================================================================//不良结果处理 //=============================================================================voidfall_out(ucharl_h,s){ uchary; // ucharspot; //开路与短路点的位置 ucharKL_DL; //开路与短路显示的量 uchardat; //开路与短路数据差BEEP=0; fall=0; n=n+1; //不良数加一 if(cs_data>sd_tata_l[i])//区分开路与短路 { dat=cs_data-sd_tata_l[i];//找出开路点的位置 KL_DL=0x4b; } else//短路 { dat=sd_tata_l[i]-cs_data;//找出短路点的位置 KL_DL=0x44; } for(y=1;y<9;y++) { if(dat&0x01) //最低位是否为1 {spot=y; break; } dat=dat>>1; } spot=spot+l_h; xianshi(); LCD_disp_char(10,1,0X4e);//第一位数显示"N"(0X4e) LCD_disp_char(11,1,0X47);//第二位数显示"G"(0X47) LCD_disp_char(12,1,0x28);//第三位数显示"("(0X28) LCD_disp_char(13,1,(n/10)+0x30);//显示这个板已测NG的点 LCD_disp_char(14,1,(n%10)+0x30);//显示这个板已测NG的点 LCD_disp_char(15,1,0x29); //显示")"(0X29) LCD_disp_char(8,2,0x2d);//显示 LCD_disp_char(9,2,(spot/10)+0x30);//显示这个板NG的点 LCD_disp_char(10,2,(spot%10)+0x30);//显示这个板NG的点 LCD_disp_char(11,2,0x20);// LCD_disp_char(12,2,KL_DL);//显示KD LCD_disp_char(13,2,0x4c);//显示LI1:if(SW1==0) //按绿色键接着测试{delay_ms(15); while(!SW1); BEEP=1; fall=1; display(); //待机显示 }elseif(SW2==0) //按红色键不良数加50{while(!SW2); delay_ms(15); BEEP=1; n=n+50; }else{gotoI1;} //重复检测按键 }//===================================================// 学习程序//===================================================voidxie_xi() { uinti; while(SW3); //合上治具没有 delay_ms(16); BEEP=1;Send_595_wei(1,480); //输入点全部置1 Send_595_wei(0,1); //输入点送一个0第一点开始 Send_595B_wei(1,30); //输出点全部置1 Send_595B_wei(0,1); //输出点送一个0 IAP_erase(0x00,0x00);//扇区擦除-(高8位地址,低8位地址) IAP_write(0x00,0x00,cs_data);//写数据-(高8位地址,低8位地址,数据值) Send_595B_wei(1,1); //输出点送一个1 IAP_erase(0x10,0x00);//扇区擦除-(高8位地址,低8位地址) IAP_write(0x10,0x00,cs_data);//写数据-(高8位地址,低8位地址,数据值)//---------------------------------------------------------- for(i=1;i<16;i++) // { Send_595_wei(1,1); //输入点送一个1第二点开始 Send_595B_wei(1,30); //全部置1 Send_595B_wei(0,1); //输出点送一个0 高8位 IAP_write(0x80,i,cs_data);//写数据-(高8位地址,低8位地址,数据值) Send_595B_wei(1,1); //输出点送一个1 IAP_write(0x90,i,cs_data);//写数据-(高8位地址,低8位地址,数据值) } pass=0;beep(); LCD_disp_char(10,1,0X50);//第一位数显示"p"(0X50) LCD_disp_char(11,1,0X41);//第二位数显示"a"(0X41) LCD_disp_char(12,1,0x53);//第三位数显示"s"(0X53) LCD_disp_char(13,1,0x53);//第三位数显示"s"(0X53) } //===================================================// 测试程序//===================================================voidcscy(){ uintw_data; beep(); for(w_data=0;w_data<16;w_data++) sd_tata_l[w_data]=IAP_read(0x00,w_data);//读数据-(高8位地址,低8位地址) for(w_data=0;w_data<16;w_data++) sd_tata_h[w_data]=IAP_read(0x10,w_data);//------------------------------------------------------------------while(1) { i=0; T1:while(!SW3); //打开治具没有 delay_ms(16); while(SW3); //合上治具没有 cs_data=0xff; i=0;n=0;BEEP=1;fall=1;pass=1; delay_ms(16); display(); //待机显示 while(SW1); //开始测试 delay_ms(16); while(!SW1);Send_595_wei(1,480); //输入点全部置1 Send_595_wei(0,1); //输入点送一个0 Send_595B_wei(1,30); //输出点全部置1 Send_595B_wei(0,1); //输出点送一个0 if(cs_data!=sd_tata_l[i]) //第一点前8位测试 { fall_out(0); if(n>=50) gotoT1; } else xianshi();// delay_ms(150); Send_595B_wei(1,1); //输出点送一个1 if(cs_data!=sd_tata_h[i]) //第一点后8位测试 { fall_out(8); if(n>=50) gotoT1; } else xianshi();// delay_ms(150); //---------------------------------------------------------- for(i=1;i<480;i++) //16*30=480 { Send_595_wei(1,1); //送一个1 第二点开始 Send_595B_wei(1,30); //全部置1 Send_595B_wei(0,1); //输出点送一个0 Send_595B_wei(1,(i/16)*2);//跳过已测试的板 if(cs_data!=sd_tata_l[i%16])//前8位测试 { fall_out(0); //单步NG处理 if(n>=50) gotoT1; } else //单步OK处理 xianshi();// delay_ms(150); Send_595B_wei(1,1); //输出点送一个1 if(cs_data!=sd_tata_h[i%16])//后8位测试 { fall_out(8); if(n>=50) gotoT1; } else xianshi();// delay_ms(150); } if(n==0) //全部测完后OK处理 { pass=0;beep(); LCD_disp_char(10,1,0X50);//第一位数显示"p"(0X50) LCD_disp_char(11,1,0X41);//第二位数显示"a"(0X41) LCD_disp_char(12,1,0x53);//第三位数显示"s"(0X53) LCD_disp_char(13,1,0x53);//第三位数显示"s"(0X53) } else//全部测完后NG处理 { LCD_disp_char(10,1,0X4e);//第一位数显示"N"(0X4e) LCD_disp_char(11,1,0X47);//第二位数显示"G"(0X47) LCD_disp_char(12,1,0x28);//第三位数显示"("(0X28) LCD_disp_char(13,1,(n/10)+0x30);//显示这个板已测NG的点 LCD_disp_char(14,1,(n%
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理安全事件预防体系
- 护理信息系统的项目管理和实施
- 护理基本护理经济学
- 北京病人护理老年护理
- 旅游公司策划部经理面试手册
- 零售业面俱到:如何准备熟食部招聘面试
- 旅游行业酒店管理岗位求职全解析
- 快速消费品公司高层管理面试解析
- 联想集团财务岗位面试要点解析
- 旅游公司客户服务经理面试要点
- 一例肺炎患者的个案护理
- 文明实践健康义诊活动策划
- 2025年内蒙古自治区中考物理试题(原卷版)
- 2024司法考试试题及答案
- 2025年山西省中考英语试卷真题(含答案详解)
- 《肾功能及尿液检查》课件
- 中国石油企业文化课件
- 电力工程建设资源投入计划
- 生物批签发管理办法
- 《酒店法律与法规实务》全套教学课件
- 高分子化学教材第七章逐步聚合反应
评论
0/150
提交评论