//****************************************************************************************** // PIC12F683 Sample Program // Project : // Program Name : // Programer : // Create date : Version 1.0 H24.06.05 // Replace date : // History : // Laungage : HI_TECH PICC C Laungage Version 9.83 //****************************************************************************************** // Description // OSC : Internal OSC 8MHz //****************************************************************************************** #include __CONFIG( FOSC_INTOSCIO & BOREN_OFF & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & CP_OFF & CPD_OFF & IESO_OFF & FCMEN_OFF); void timer(unsigned int); void M0puls(void); void M1puls(void); void M_hyp(unsigned int); void M_dot(unsigned int); void M_spe(unsigned int); void M_end(unsigned int); void M_out(char); void M_outs(char *); void Mintim(void); void Strcpy(char *,char *); int main(void) { // // (1)Initialized Segment // TRISIO=0x00; GPIO=0x00; OSCCON=OSCCON | 0x70; //OSC-Internal-8MHz ANSEL=0x00; //ALL Degital PORT // // (2)Program Main // while(1){ M_outs("ABCDEFGHIJKLMNOPQRSTUVWXYZ "); M_outs("1234567890 "); // M_outs("START PIC16F88 OK "); } } //**************************************************************************** // Function Name : M_outs // Title : // Input : // Output : // Description : //**************************************************************************** void M_outs(char in_char[] ) { unsigned int lp=0; while(in_char[lp]!=0x00){ M_out(in_char[lp]); lp++; } } //**************************************************************************** // Function Name : M_out // Title : // Input : // Output : // Description : //**************************************************************************** void M_out(char in_char ) { char m_data[15]; unsigned int lp; unsigned int Speed=40; // ******************** // 1.Set data // ******************** if(in_char==' ') Strcpy(m_data," "); if(in_char=='A') Strcpy(m_data,"0-"); if(in_char=='B') Strcpy(m_data,"-000"); if(in_char=='C') Strcpy(m_data,"-0-0"); if(in_char=='D') Strcpy(m_data,"-00"); if(in_char=='E') Strcpy(m_data,"0"); if(in_char=='F') Strcpy(m_data,"00-0"); if(in_char=='G') Strcpy(m_data,"--0"); if(in_char=='H') Strcpy(m_data,"0000"); if(in_char=='I') Strcpy(m_data,"00"); if(in_char=='J') Strcpy(m_data,"0---"); if(in_char=='K') Strcpy(m_data,"-0-"); if(in_char=='L') Strcpy(m_data,"0-00"); if(in_char=='M') Strcpy(m_data,"--"); if(in_char=='N') Strcpy(m_data,"-0"); if(in_char=='O') Strcpy(m_data,"---"); if(in_char=='P') Strcpy(m_data,"0--0"); if(in_char=='Q') Strcpy(m_data,"--0-"); if(in_char=='R') Strcpy(m_data,"0-0"); if(in_char=='S') Strcpy(m_data,"000"); if(in_char=='T') Strcpy(m_data,"-"); if(in_char=='U') Strcpy(m_data,"00-"); if(in_char=='V') Strcpy(m_data,"000-"); if(in_char=='W') Strcpy(m_data,"0--"); if(in_char=='X') Strcpy(m_data,"-00-"); if(in_char=='Y') Strcpy(m_data,"-0--"); if(in_char=='Z') Strcpy(m_data,"--00"); if(in_char=='0') Strcpy(m_data,"-----"); if(in_char=='1') Strcpy(m_data,"0----"); if(in_char=='2') Strcpy(m_data,"00---"); if(in_char=='3') Strcpy(m_data,"000--"); if(in_char=='4') Strcpy(m_data,"0000-"); if(in_char=='5') Strcpy(m_data,"00000"); if(in_char=='6') Strcpy(m_data,"-0000"); if(in_char=='7') Strcpy(m_data,"--000"); if(in_char=='8') Strcpy(m_data,"---00"); if(in_char=='9') Strcpy(m_data,"----0"); // ******************** // 2.Output // ******************** for(lp=0;lp<15;lp++){ switch(m_data[lp]){ case '0': M_dot(Speed); M_spe(Speed); break; case '-': M_hyp(Speed); M_spe(Speed); break; case ' ': M_end(Speed); break; default: M_end(Speed); return; } } } //**************************************************************************** // Function Name : M_hyp // Title : // Input : // Output : // Description : //**************************************************************************** void M_hyp(unsigned int len ) { unsigned int lp; len=len*3; for(lp=0;lp