📄 test.c
字号:
#include <msp430x13x.h>
//#define max_pin 32
unsigned char pin_power_wrong[32];
unsigned char SHADOW_573A,SHADOW_573B,SHADOW_573C,SHADOW_573D; //IO缓冲
void low_select(unsigned char tdao);
extern unsigned char check(unsigned char n);
extern unsigned char ad_count;
unsigned char auto_maunal,going;
extern unsigned char read_key();
unsigned char check_result;
extern void check_ad_val(void);
extern unsigned char fast_slow;
extern int PageWrite(int nAddr);
extern unsigned char checkb(unsigned char n);
extern void cmod_595_single_lower_inv(char n);
void send_result(unsigned char n,unsigned char check);
extern void Maunal_Control_page(unsigned a,unsigned b,unsigned c,unsigned int i,unsigned int val);
extern void studying_page(unsigned char a,unsigned char b,unsigned char c,unsigned char d,unsigned char n);
void start_test(void);
extern void cmod_595_single_lower(char n);
extern void ad_select_send(unsigned char n);
extern unsigned char check_128(unsigned char n);
extern unsigned int study[128];
extern void init_adc_b(void);
extern void init_adc(void);
extern void open_page1(void);
extern void open_page2(void);
extern void open_page3(void);
extern void open_page4(void);
extern void short_page1(void);
void delay_n(unsigned char i);
void delay(unsigned char n);
unsigned char max_pin ;
unsigned char open[40] ;
unsigned char Short[40] ;
extern unsigned char write_buff[32];
extern unsigned int return_ad_val(void);
unsigned char Short_grup1[10] ;
unsigned char Short_grup2[10] ;
unsigned char Short_grup3[10] ;
unsigned char Short_grup4[10] ;
unsigned char Short_grup5[10] ;
unsigned char Short_grup6[10] ;
unsigned char Short_grup7[10] ;
unsigned char Short_grup8[10] ;
unsigned char Short_grup9[10] ;
unsigned char Short_grup10[10] ;
unsigned char short_count;
unsigned char open_count;
unsigned char power_pin[10];
unsigned char power_pin_f[10];
unsigned char del_power_pin[10];
unsigned char total_b,total_s,total_g;
unsigned char v_b,v_s,v_g;
void ALE_A() //p43
{
P4OUT|=0x08;
P4OUT&=~0x08;
}
void ALE_B() //p44
{
P4OUT|=0x10;
P4OUT&=~0x10;
}
void ALE_C() //p45
{
P4OUT|=0x20;
P4OUT&=~0x20;
}
void ALE_D() //p46
{
P4OUT|=0x40;
P4OUT&=~0x40;
}
void out_data(unsigned char data) //p2
{
P2OUT=~data;
}
void shadow_memory_573A() //影子存储 573A
{
out_data(SHADOW_573A); //数据准备到数据口
ALE_A();
}
void shadow_memory_573B() //影子存储 573A
{
out_data(SHADOW_573B); //数据准备到数据口
ALE_B();
}
void shadow_memory_573C() //影子存储 573A
{
out_data(SHADOW_573C); //数据准备到数据口
ALE_C();
}
void shadow_memory_573D() //影子存储 573A
{
out_data(SHADOW_573D); //数据准备到数据口
ALE_D();
}
void shadow_memory_updata() //影子存储更新
{
shadow_memory_573A();
shadow_memory_573B();
shadow_memory_573C();
shadow_memory_573D();
}
void yima_4_16(unsigned char ym) //p50 p47 p51 p52
{
switch(ym)
{
case 0x1 :
P5OUT&=~0x01; //0000->01111111
P4OUT&=~0x80;
P5OUT&=~0x02;
P5OUT&=~0x04;
break;
case 0x2 :
P5OUT|=0x01; //0001->01111111
P4OUT&=~0x80;
P5OUT&=~0x02;
P5OUT&=~0x04;
break;
case 0x3 :
P5OUT&=~0x01; //0010->01111111
P4OUT|=0x80;
P5OUT&=~0x02;
P5OUT&=~0x04;
break;
case 0x4 :
P5OUT|=0x01; //0011->01111111
P4OUT|=0x80;
P5OUT&=~0x02;
P5OUT&=~0x04;
break;
case 0x5 :
P5OUT&=~0x01; //0100->01111111
P4OUT&=~0x80;
P5OUT|=0x02;
P5OUT&=~0x04;
break;
case 0x6 :
P5OUT|=0x01; //0101->01111111
P4OUT&=~0x80;
P5OUT|=0x02;
P5OUT&=~0x04;
break;
case 0x7 :
P5OUT&=~0x01; //0110->01111111
P4OUT|=0x80;
P5OUT|=0x02;
P5OUT&=~0x04;
break;
case 0x8 :
P5OUT|=0x01; //0111->01111111
P4OUT|=0x80;
P5OUT|=0x02;
P5OUT&=~0x04;
break; //up ok
case 0x9 :
P5OUT&=~0x01; //1000->01111111
P4OUT&=~0x80;
P5OUT&=~0x02;
P5OUT|=0x04;
break;
case 0xa :
P5OUT|=0x01; //1001->01111111
P4OUT&=~0x80;
P5OUT&=~0x02;
P5OUT|=0x04;
break;
case 0xb :
P5OUT&=~0x01; //1010->01111111
P4OUT|=0x80;
P5OUT&=~0x02;
P5OUT|=0x04;
break;
case 0xc :
P5OUT|=0x01; //1011->01111111
P4OUT|=0x80;
P5OUT&=~0x02;
P5OUT|=0x04;
break;
case 0xd :
P5OUT&=~0x01; //1100->01111111
P4OUT&=~0x80;
P5OUT|=0x02;
P5OUT|=0x04;
break;
case 0xe :
P5OUT|=0x01; //1101->01111111
P4OUT&=~0x80;
P5OUT|=0x02;
P5OUT|=0x04;
break;
case 0xf :
P5OUT&=~0x01; //1110->01111111
P4OUT|=0x80;
P5OUT|=0x02;
P5OUT|=0x04;
break;
case 0x10 :
P5OUT|=0x01; //1111->01111111
P4OUT|=0x80;
P5OUT|=0x02;
P5OUT|=0x04;
break;
default: break;
}
}
void yima_4_16b(unsigned char ym) //p50 p47 p51 p52
{
switch(ym)
{
case 0x8 :
P5OUT&=~0x01; //0000->01111111
P4OUT&=~0x80;
P5OUT&=~0x02;
P5OUT&=~0x04;
break;
case 0x7 :
P5OUT|=0x01; //0001->01111111
P4OUT&=~0x80;
P5OUT&=~0x02;
P5OUT&=~0x04;
break;
case 0x6 :
P5OUT&=~0x01; //0010->01111111
P4OUT|=0x80;
P5OUT&=~0x02;
P5OUT&=~0x04;
break;
case 0x5 :
P5OUT|=0x01; //0011->01111111
P4OUT|=0x80;
P5OUT&=~0x02;
P5OUT&=~0x04;
break;
case 0x4 :
P5OUT&=~0x01; //0100->01111111
P4OUT&=~0x80;
P5OUT|=0x02;
P5OUT&=~0x04;
break;
case 0x3 :
P5OUT|=0x01; //0101->01111111
P4OUT&=~0x80;
P5OUT|=0x02;
P5OUT&=~0x04;
break;
case 0x2 :
P5OUT&=~0x01; //0110->01111111
P4OUT|=0x80;
P5OUT|=0x02;
P5OUT&=~0x04;
break;
case 0x1 :
P5OUT|=0x01; //0111->01111111
P4OUT|=0x80;
P5OUT|=0x02;
P5OUT&=~0x04;
break; //up ok
case 0x9 :
P5OUT&=~0x01; //1000->01111111
P4OUT&=~0x80;
P5OUT&=~0x02;
P5OUT|=0x04;
break;
case 0xa :
P5OUT|=0x01; //1001->01111111
P4OUT&=~0x80;
P5OUT&=~0x02;
P5OUT|=0x04;
break;
case 0xb :
P5OUT&=~0x01; //1010->01111111
P4OUT|=0x80;
P5OUT&=~0x02;
P5OUT|=0x04;
break;
case 0xc :
P5OUT|=0x01; //1011->01111111
P4OUT|=0x80;
P5OUT&=~0x02;
P5OUT|=0x04;
break;
case 0xd :
P5OUT&=~0x01; //1100->01111111
P4OUT&=~0x80;
P5OUT|=0x02;
P5OUT|=0x04;
break;
case 0xe :
P5OUT|=0x01; //1101->01111111
P4OUT&=~0x80;
P5OUT|=0x02;
P5OUT|=0x04;
break;
case 0xf :
P5OUT&=~0x01; //1110->01111111
P4OUT|=0x80;
P5OUT|=0x02;
P5OUT|=0x04;
break;
case 0x10 :
P5OUT|=0x01; //1111->01111111
P4OUT|=0x80;
P5OUT|=0x02;
P5OUT|=0x04;
break;
default: break;
}
}
void start_ad(void)
{
ad_count=0;
ADC12CTL0|=ADC12SC; //起动AD采集
}
void high_select(unsigned char tdao)
{
switch(tdao)
{
case 0x1 :
SHADOW_573A=0x02;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x2 :
SHADOW_573A=0x01;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x3 :
SHADOW_573A=0x80;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x4 :
SHADOW_573A=0x40;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x5 :
SHADOW_573A=0x20;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x6 :
SHADOW_573A=0x10;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x7 :
SHADOW_573A=0x08;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x8 :
SHADOW_573A=0x04;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break; ///up ok!
case 0x9 :
SHADOW_573A=0;
SHADOW_573B=0x02;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 10 :
SHADOW_573A=0;
SHADOW_573B=0x01;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 11 :
SHADOW_573A=0;
SHADOW_573B=0x80;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 12 :
SHADOW_573A=0;
SHADOW_573B=0x40;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 13 :
SHADOW_573A=0;
SHADOW_573B=0x20;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 14 :
SHADOW_573A=0;
SHADOW_573B=0x10;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 15 :
SHADOW_573A=0;
SHADOW_573B=0x08;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 16 :
SHADOW_573A=0;
SHADOW_573B=0x04;
SHADOW_573C=0;
SHADOW_573D=0;
break;//up ok!
case 17 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x02;
SHADOW_573D=0;
break;
case 18 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x01;
SHADOW_573D=0;
break;
case 19 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x80;
SHADOW_573D=0;
break;
case 20 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x40;
SHADOW_573D=0;
break;
case 21 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x20;
SHADOW_573D=0;
break;
case 22 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x10;
SHADOW_573D=0;
break;
case 23 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x08;
SHADOW_573D=0;
break;
case 24 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x04;
SHADOW_573D=0;
break;//up debug
case 32 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x02;
break;
case 31 :
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -