开短路测试程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar n; //总共的不良点数
uint i; //已经测到的点
#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};
void delay_ms(int ms); //延时1ms
sbit P_HC595_SER = P3^5; //pin 14 SER data input
sbit P_HC595_SRCLK = P3^6; //pin 11 SRCLK Shift data clock
sbit P_HC595_RCLK = P2^4; //pin 12 RCLk store (latch) clock
sbit P_HC595B_SER = P3^2; //pin 14
sbit P_HC595B_SRCLK = P3^3; //pin 11
sbit P_HC595B_RCLK = P3^4; //pin 12
sbit BEEP = P3^7;
sbit pass = P3^0;
sbit fall = P2^1;
sbit SW2 = P2^2;
sbit SW1 = P2^3;
sbit SW3 = P2^0;
sbit LCD_RS = P2^5; //显示屏4脚指令类型sbit LCD_RW = P2^6; //显示屏5脚读写sbit LCD_EN = P2^7; //显示屏6脚使能
#define cs_data P1
#define LCD_DATA P0
// 定义数据
uchar cdis_11 [ ] = {" PCB:-- "};
uchar cdis_12 [ ] = {" Pin:-- "};
uchar cdis_13 [ ];
uchar cdis_14 [ ];
uchar sd_tata_l[16];
uchar sd_tata_h[16];
uchar sd_tata_1[116];
uchar sd_tata_2[116];
//uchar sd_tata_3[116];
//uchar sd_tata_4[116];
//uchar sd_tata_5[116];
//uchar sd_tata_6[116];
//uchar sd_tata_7[116];
#include "001-1602显示屏.h"
#include "002-EEPROM读、写.h"
#include "003-595.h"
//==============================================
//延时1ms函数
//==============================================
void delay_ms(int ms)
{
unsigned char i;
while(ms--)
{ for(i = 0; i<120; i++);}
}
//==================================================== =========================
// 蜂鸣器响二声OK
//==================================================== =========================
void beep()
{ unsigned char i;
for (i=0;i<4;i++)
{ BEEP=!BEEP; delay_ms(40);} //取反并延时
}
//==================================================== =========================
// 蜂鸣器响一声NG
//==================================================== =========================
void beep_NG()
{ unsigned char i;
for (i=0;i<2;i++)
{ BEEP=!BEEP; delay_ms(400);} //取反并延时
}
//==================================================== =========================
// 计算加显示
//====================================================
=========================
void xianshi()
{ uint a,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); //显示点个位
}
//==================================================== =========================
// 不良结果处理
//==================================================== =========================
void fall_out(uchar l_h,s)
{