Microcontrol CODE |
#include "MSP430x11x.h" void main (void) { unsigned char k ; WDTCTL = WDTPW + WDTHOLD ; P1DIR = 0xFE; P1OUT &= ~BIT2 ; // 断开Vpp P1OUT &= ~BIT3 ; // 保险丝准备指示灯(黄色) 亮 P2OUT |= BIT5 ; // 保险丝熔断成功指示(绿色) 灭 P2DIR = 0xEF ; while (1) { if ((P1IN&0x01)==0) { ResetTAP1(); //? delay(50000); IR_SHIFT(0x14); DR_SHIFT16 (0xAAAA); if(tdovalue != 0x5555) { // 保险丝未熔断 P1OUT |= BIT3; // 保险丝准备指示灯(黄色) 灭 IR_SHIFT(0x13); DR_SHIFT16(0x7201) ; delay(10000); tdopin="1"; P2DIR |= BIT4; IR_SHIFT(0x22); P1OUT |= BIT2; // 接通Vpp,断开TDI delay(50000); IR_SHIFT(0x24); delay(10000); P1OUT &= ~BIT2; // 断开Vpp tdopin = 0; P2DIR &= ~BIT4; ResetTAP(); delay(50000); IR_SHIFT(0x14); DR_SHIFT16 (0xAAAA); if (tdovalue == 0x5555) { // 保险丝熔断成功 P2OUT &= ~BIT5 ; // 保险丝熔断成功指示(绿色) for (k=1; k<=3; k++) delay(50000) ; // 绿灯常亮 } else { // 保险丝未熔断黄灯闪烁3 次 for(k=1;k<=3;k++) { P1OUT &= ~BIT3 ; // 保险丝准备指示灯(黄色)亮 delay(50000) ; P1OUT |= BIT3 ; // 保险丝准备指示灯(黄色)灭 delay(50000) ; } } } else { // 保险丝已熔断 for(k=1;k<=3;k++) { P1OUT &=~BIT3 ; // 保险丝准备指示灯(黄色) 亮 P2OUT &=~BIT5 ; // 保险丝熔断成功指示(绿色)亮 delay(50000) ; P1OUT |= BIT3 ; // 保险丝准备指示灯(黄色) 灭 P2OUT |= BIT5 ; // 保险丝熔断成功指示(绿色)灭 delay(50000) ; } } P1OUT &= ~BIT3 ; // 保险丝准备指示灯(黄色)亮 } } } |
欢迎光临 DIY编程器网 (http://diybcq.com/) | Powered by Discuz! X3.2 |