ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28 5312... 30 1 33
54SY0606... 31 55Atmel_ISP 32 56Altera_ISP...33 ****************** 2 33
ALETRA CPLD 11SY_03091 5. 2 16 LED LED 6. JP1 MCU/CPLD 7. JP2 3 33
MCU/CPLD 9. PA 9 CPLD 10. 12SY_03091 CPLD CPLD Test7128 POWER PWM LED PWM 4 33
21 5 33
6 33
7 33
22 1. MAX+plusII10.0BAS 2. Option\ License Setup 8 33
3. BrowseLicense 4. OKUnlicensed Features Licensed Features 5. MaxplusII 9 33
23 WIN98 WIN2000 WIN2000 1. WIN2000 2. 10 33
3. 4. C:\maxplus2\Drivers\win2000 5. Altera ByteBlaster 11 33
6. Windows2000 MaxplusII Altera ByteBlaster 24 JP1 1_2 2_3 CPLD JP2 1_2 2_3 CPLD JP3 CPLD 1_2 2_3 ISP 10pin ISP_ JTAG 25pin PC Lpt1 SY_03091 +5V AC8V~12VPower 12 33
ISP Power 25 DEMO PC file\open 13 33
file\project\set Project to Current File MAX+plusII\Compiler 14 33
Start MAX+plusII\rogrammer Options\Hardwaer Setup.. 15 33
2_3 16 33
31EPM7128SLC (MAX) CMOS EPROM JTAG JTAG BST 5.0ns 178.6Mhz 17 33
2500 128 8 / 100 Altera MAX+PLUSII 32EPM7032SLC 600 32 2 / 36 33HT46R47 18 33
RISC CMOS 4MHZ 2.2V~~5.5V; 8MHZ 3.3V~~5.5V 2K*14 68K*8 SRAM 6 63 13 9 4 A/D PWM PA Prescaler WDT PED 19 33
1 () /******************************************************************/ //: Sy03091.c //: // HT46R47, ALTERAEPM7128/64/32, // AN0( 8 ), PB1( 7 ) CPLD. // AN0( 8 ), PD0( 10 ) PWM,. // PA AN0 CPLD EPM7128. //Body: HT46R47 //Mask option //SysFreq: 4000KHz //Product: 18SKDIP-A //WDT clock Source: WDTOSC(12Khz) //CLR WDT: One clear instruction //Input type PA:CMOS //BZ/BZB : All Enable //OSC:lnt.RC+PC3/PC4 non pull high //FOSC:3.2Mhz //the others use the default value //========================================= #include <ht46r47.h> #define clk1_out _pb1 #define clk2_out _pb2 #define C _c #define pwm_out _pd0 #define ADRL _adrl #define ADRH _adrh #pragma vector isr_ext @ 0x4 //ISR for safequard #pragma vector isr_timer @ 0x8 //ISR for safequard const unsigned char led_code[16]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 20 33
0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e}; // Pa.7_Pa.6_Pa.5_Pa.4_Pa.3_Pa.2_Pa.1_Pa.0 // h+1 g f e d c b a //0xc01 1 0 0 0 0 0 0 0 0 //0xf91 1 1 1 1 0 0 1 0 1 //0xa41 0 1 0 0 1 0 0 0 2 //0xb0 1 0 1 1 0 0 0 0 0 3 //0x99 1 0 0 1 1 0 0 1 0 4 //0x92 1 0 0 1 0 0 1 0 0 5 //0x82 1 0 0 0 0 0 1 0 0 6 //0xf81 1 1 1 1 0 0 0 0 7 //0x80 1 0 0 0 0 0 0 0 0 8 //0x90 1 0 0 1 0 0 0 0 0 9 //0x88 1 0 0 0 1 0 0 0 0 A //0x83 1 0 0 0 0 0 1 1 0 B //0xc61 1 0 0 0 1 1 0 0 C //0xa11 0 1 0 0 0 0 1 0 D //0x86 1 0 0 0 0 1 1 0 0 E //0x8e 1 0 0 0 1 1 1 0 0 F const unsigned char words[4] = {0xfe, 0xfd, 0xfb, 0xf7}; // Pb.7 Pb.6 Pb.5 Pb.4 Pb.3 Pb.2 Pb.1 Pb.0 // word7_word6_word5_word4_word3_word2_word1_word0 //0xc0 1 1 1 1 1 1 1 0 1 //0xc0 1 1 1 1 1 1 0 1 2 //0xc0 1 1 1 1 1 0 1 1 3 //0xc0 1 1 1 1 0 1 1 1 4 const unsigned char tab_disp[4] = {0x00, 0x01, 0x02, 0x03}; //a long time delay void mydelay(unsigned int times){ while(times--) _delay(10); // while(times--) _delay(500); } void safeguard_init(); // void initial(); void check_led1(); 21 33
void output_clock(); void clrwdt(); void min_adjust(); void hour_adjust(); void arrange_hour(); void ad_chege(); //AD */ void BCD(); // void PWM_SET(); // PWM PD unsigned char min_adj_pressed(); unsigned char hour_adj_pressed(); unsigned char alley; // unsigned char Time_disp; // unsigned char Time_clock; // unsigned char ttt; unsigned char ss; unsigned char pb_bit; const char tt=4; const char mas_id=0x01; //id=1; unsigned int vv; unsigned char FLAG0; unsigned char disp_ad0[8]; unsigned char disp_ad1[8]; unsigned char disp_ad2[8]; unsigned char disp_ad3[8]; unsigned char adbuf_l; unsigned char adbuf_h; //========================================= //initialize registers for safeguard void safeguard_init() // { _intc = 0x05; //(ETI=1) //: - ADF TF EIF EADI ETI EEI EMI _tmrc = 0x90; //: TM1 TM0 - TON TE PSC2 PSC1 PSC0 _tmr = 0; // _adcr = 0x08; //, 1 AN0 //ADCR=b7.b6,b5.b4.b3.b2.b1.b0 22 33
//b2.b1.b0=an7~an0; //b5.b4.b3=an7~an0 (is AD & I/O setup,ad=1,i/o=0) //b6=a/d, 0. //b7=a/d,0-->1 ; } //========================================= void initial() // { _pac = 0; // _pa = 0xff; //port A is high _pbc = 0x08; // PB0,PB1/PB2/PB3 _pb = 0xff; //port B off _pdc = 0; // PWM _pd0 = 0; //port D is low } //========================================= void ad_chege() /*AD */ { _acsr = 0x01; //,/8. //ACSR=b7.b6,b5.b4.b3.b2.b1.b0 //b1.b0=adcs~1adcs0, 10/01/00=32/8/2; //b7=test _start=0; // 0->1->0 _start=1; _start=0; while(_eoc==1); // EOCB=0, adbuf_l=adrl; adbuf_h=adrh; } //========================================= void clrwdt(){ #asm clr wdt #endasm } //========================================= 23 33
void BCD_PWM() // PWM { unsigned char f1; unsigned char f2; f1=adbuf_h; disp_ad0[3]=f1/255; disp_ad0[2]=f1/26; f2=(f1%26); disp_ad0[1]=f2*10/26; if(disp_ad0[3]==1)disp_ad0[2]=disp_ad0[1]=0; disp_ad0[0]=1; // disp_ad0[4]=0; // disp_ad0[5]=1; //A/D 01 disp_ad0[6]=0; //A/D 01 disp_ad0[7]=1; //ID disp_ad0[8]=6; // mydelay(10); } //========================================= void isr_timer() //ISR for safequard { if(ss==5) { if(alley==0) { clk1_out=~clk1_out; Time_clock=adbuf_H; alley=time_clock+1; } alley--; ss=0; } ss++; } //========================================= void check_bzid() //, 000~111 { 24 33
char tps_buf; char sss; if(tps_buf&0x08) { _pb0=1; // } else _pb0=0; // } //========================================= void main() { ttt=0; alley=100; safeguard_init(); // initial(); // while(1) { ad_chege(); //AD, adbuf_h/adbuf_l. _pwm=adbuf_h; // PWM pwm_out=1; // PWM,"1" _pa=adbuf_h; // PA mydelay(1000); mydelay(1000); if(ttt==20) {clk2_out=0; mydelay(100); clk2_out=1; ttt=0; } ttt++; clrwdt(); } } /******************************************************************/ 25 33
2 3 a * 1 b Altera ISP * 1 c PLCC84/44 *1 d PLCC68 *1 e * 1 f * 1 a) test7128.gdf b) test7032.gdf c) SY_03091 d) PowerLogic e) UltraEdit f) MAX+plusII10.0BAS g) 26 33
51 5151DEMO I/O 51XXDEMO 51XXDEMO P0P1P2P3 LEO 51 P0P1P2P3 DC+5V AC/8-12V SY-51DEMO 27 33
52A/D-8X51 A/D-8X51 51 AD0804 05 8X51 LED AD590 HI/LOW 28 33
a 8X51 b 4 LED 3 c 4 MODESETUPDOWN d DC+5V AC9V-12V e LED f 8X51 SY-1032 29 33
5312 89C2051 DC-+5V DC-+12V 12 / SY-0729 30 33
54SY_0606 1. 8X5X /// 2. 3. 16*2 () 4. RS232 5. EPROM 6. 4*4 7., 8. 6 DTLED-6 9. SY-0606 31 33
55Atmel_ISP ISP 25pin PC 10pin Atmel-ISP +5 ATMEL AT89S52 32 33
56ALTERA_ISP ALTERA_7XXX MAX+plusII ISP 25pin PC 10pin ISP-JATG +5 ALTERA EPMXX ISP 95.00 ***************** 33 33