開短路測試程序?qū)I(yè)研究_第1頁
開短路測試程序?qū)I(yè)研究_第2頁
開短路測試程序?qū)I(yè)研究_第3頁
開短路測試程序?qū)I(yè)研究_第4頁
開短路測試程序?qū)I(yè)研究_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、#include /51單片機定義寄存器的頭文件#include /51單片機的申明庫函數(shù),軟件自帶#include /包含循環(huán)左移,右移,一個機器周期延時的頭文件,軟件自帶#define uchar unsigned char #define uint unsigned intuchar n; /總共的不良點數(shù)uint i; /已經(jīng)測到的點#define delaynop(); _nop_();_nop_();_nop_();_nop_();void delay_ms(int ms); /延時1mssbitp_hc595_ser = p35;/pin 14serdata inputsbitp

2、_hc595_srclk = p36;/pin 11srclkshift data clocksbitp_hc595_rclk = p24;/pin 12rclkstore (latch) clocksbitp_hc595b_ser = p32;/pin 14sbitp_hc595b_srclk = p33;/pin 11sbitp_hc595b_rclk = p34;/pin 12sbit beep = p37;sbit pass = p30;sbit fall = p21;sbit sw2 = p22;sbit sw1 = p23;sbit sw3 = p20;sbit lcd_rs =

3、p25; /顯示屏4腳指令類型 sbit lcd_rw = p26; /顯示屏5腳讀寫sbit lcd_en = p27; /顯示屏6腳使能#define cs_data p1#define lcd_data p0/ 定義數(shù)據(jù)uchar cdis_11 = pcb:- ;uchar cdis_12 = pin:- ;uchar cdis_13 ;uchar cdis_14 ;uchar sd_tata_l16;uchar sd_tata_h16;uchar sd_tata_1116;uchar sd_tata_2116;/uchar sd_tata_3116;/uchar sd_tata_41

4、16;/uchar sd_tata_5116;/uchar sd_tata_6116;/uchar sd_tata_7116;#include 001-1602顯示屏.h#include 002-eeprom讀、寫.h#include 003-595.h/=/延時1ms函數(shù)/=void delay_ms(int ms) unsigned char i; while(ms-) for(i = 0; i120; i+); /=/ 蜂鳴器響二聲 ok /=void beep() unsigned char i; for (i=0;i4;i+) beep=!beep; delay_ms(40); /取

5、反并延時 /=/ 蜂鳴器響一聲 ng /=void beep_ng() unsigned char i; for (i=0;isd_tata_li) / 區(qū)分開路與短路 dat=cs_data- sd_tata_li ; /找出開路點的位置 kl_dl=0x4b; else / 短路 dat=sd_tata_li - cs_data; /找出短路點的位置kl_dl=0x44;for(y=1; y 1; spot=spot+l_h; xianshi();lcd_disp_char(10 ,1 ,0x4e) ; /第一位數(shù)顯示 n (0x4e)lcd_disp_char(11 ,1 ,0x47)

6、; /第二位數(shù)顯示 g (0x47)lcd_disp_char(12 ,1 ,0x28); /第三位數(shù)顯示 ( (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%1

7、0)+0x30); /顯示這個板ng的點lcd_disp_char(11,2 , 0x20); /lcd_disp_char(12,2 , kl_dl); /顯示k dlcd_disp_char(13,2 , 0x4c); /顯示 l i1: if (sw1=0) /按綠色鍵接著測試 delay_ms(15); while(!sw1); beep=1; fall=1 ; display(); /待機顯示 else if (sw2=0) /按紅色鍵不良數(shù)加50 while(!sw2); delay_ms(15); beep=1; n=n+50 ; else goto i1; /重復(fù)檢測按鍵 /=

8、/ 學(xué)習(xí)程序/= void xie_xi() uint i;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); /扇區(qū)擦除-(高8位地址,低8位地址) iap_write (0x00, 0x00,cs_data); /寫數(shù)據(jù)-(高8位地址,低8位地址,數(shù)據(jù)

9、值)send_595b_wei(1, 1); /輸出點送一個1iap_erase (0x10, 0x00); /扇區(qū)擦除-(高8位地址,低8位地址)iap_write (0x10, 0x00,cs_data); /寫數(shù)據(jù)-(高8位地址,低8位地址,數(shù)據(jù)值) /- for(i=1;i16;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); /寫數(shù)據(jù)-(高8位地址,低8位地址,數(shù)據(jù)值)

10、send_595b_wei(1, 1); /輸出點送一個1 iap_write (0x90, i ,cs_data); /寫數(shù)據(jù)-(高8位地址,低8位地址,數(shù)據(jù)值) pass=0; beep(); lcd_disp_char(10 ,1 ,0x50) ; /第一位數(shù)顯示 p (0x50) lcd_disp_char(11 ,1 ,0x41) ; /第二位數(shù)顯示 a (0x41) lcd_disp_char(12 ,1 ,0x53); /第三位數(shù)顯示 s (0x53) lcd_disp_char(13 ,1 ,0x53); /第三位數(shù)顯示 s (0x53) /=/ 測試程序/= void csc

11、y () uint w_data; beep(); for(w_data=0;w_data16;w_data+) sd_tata_lw_data=iap_read (0x00, w_data) ; /讀數(shù)據(jù)-(高8位地址,低8位地址) for(w_data=0;w_data=50) goto t1; else xianshi();/ delay_ms(150);send_595b_wei(1, 1); /輸出點送一個1 if(cs_data != sd_tata_hi) /第一點后8位測試 fall_out(8);if(n=50) goto t1; else xianshi();/ delay

12、_ms(150); /- for(i=1;i=50) goto t1; else /單步ok處理 xianshi();/ delay_ms(150); send_595b_wei(1, 1); /輸出點送一個1 if(cs_data != sd_tata_hi%16) /后8位測試 fall_out(8); if(n=50) goto t1; else xianshi();/ delay_ms(150); if(n=0 )/全部測完后 ok處理 pass=0; beep(); lcd_disp_char(10 ,1 ,0x50) ; /第一位數(shù)顯示 p (0x50) lcd_disp_char

13、(11 ,1 ,0x41) ; /第二位數(shù)顯示 a (0x41) lcd_disp_char(12 ,1 ,0x53); /第三位數(shù)顯示 s (0x53) lcd_disp_char(13 ,1 ,0x53); /第三位數(shù)顯示 s (0x53) else /全部測完后 ng處理 lcd_disp_char(10 ,1 ,0x4e) ; /第一位數(shù)顯示 n (0x4e) lcd_disp_char(11 ,1 ,0x47) ; /第二位數(shù)顯示 g (0x47) lcd_disp_char(12 ,1 ,0x28); /第三位數(shù)顯示 ( (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)while(!sw3) /打開治具沒有?beep_ng(); /=/主程序/=void main(void) delay_ms(80); /延時 lcd_init(); /初始化lc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論