⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 es_360ps_c00.c

📁 自己动手自做美丽炫目的万花筒
💻 C
字号:
//******* THE CPU IS HT48R062 **************;
//              _____ _____                 ;
//             |。   V     |                ;
//   LED3_PA3--| 1      16 |----PA4_KEY     ;
//   LED2_PA2--| 2      15 |----PA5         ;
//   LED1_PA1--| 3      14 |----PA6_MOTO    ;
//        PA0--| 4      13 |----PA7         ;
//    JP1_PB0--| 5      12 |----OSC2        ;
//        VSS--| 6      11 |----OSC1        ;
//        PB1--| 7      10 |----VDD         ;
//        PB2--| 8       9 |----Reset       ;
//             |___________|                ;
//                                          ;
//******************************************;
  #include <HT48R062_es_360ps.h>            ;
int               keyscan_pc      @0x21     ;
int               select_pc       @0x22     ;
int               timer_sec                 ;
unsigned  long    timer_tmr                 ;
unsigned  long    timer_sta                 ;
bit               keyscan_qq                ;     
bit               timerco_qq                ;
bit               keyscan_on                ;
//******************************************;

 void format_ram ()                        
  {int  fa                                  ;
   mp=0x20                                  ;
   for (fa=0;fa<32;fa++)                                                                                                
       {iar=0                               ;
        mp=mp+1                             ;
       }
   mp=0x20;
   iar=0  ;
  }       
 
 void format_sys ( )
  {pac=0x80                                 ;
   pa=0x07                                  ;
   pbc=0                                    ;
   pb=0                                     ;
  }                                  

 void config_ram ( )
  {keyscan_qq=0                             ;
   keyscan_on=0                             ;
  }
 
 void delay_ms (unsigned int timers )
  {unsigned  long         delay_rr;
   while (timers--)
   for (delay_rr=0; delay_rr<=33; delay_rr++);  
}                   

 void  main ( ) 
  { 
    start:
    _clrwdt ();                         
    format_ram ();
    format_sys ();
    config_ram ();
    keyscan_on=0;
//****************************************************************
//    while (1)
//      { pb0=1;
//        delay_ms (10);
//        pb0=0;
//        delay_ms (10);
//      }
//****************************************************************
    keyscan_loop:  
    if (pa7==0)                              
       { {if ( keyscan_on==1) keyscan_on=1;
          else goto keyscan_loop;
         }
         {if (pa7==0) { keyscan_qq=1;keyscan_pc=0;goto keyscan_ok;}
         }
       }
     else
       {  keyscan_on=1 ;goto keyscan_loop;}                              
  keyscan_ok: 
   while (1) 
     { if (pa7==0)                                                
           {if  (keyscan_on==1) {delay_ms (20);}
                 else            goto keyscan_ok1;
            if  (pa7==0)        {keyscan_qq=1; keyscan_pc++; goto keyscan_ok1;}
           }
        else     keyscan_on=1;
       keyscan_ok1:
//.........................................;;
       if  (keyscan_on==1)
           { if (keyscan_qq==1)
                   {if (keyscan_pc==1)
                       { pa0=0; pa1=1; pa2=1; pa3=1; pb0=1; timer_tmr=0; timer_sta=9000;  timerco_qq=1;}
              else if (keyscan_pc==2)
                       { pa0=1; pa1=0; pa2=1; pa3=1; pb0=1; timer_tmr=0; timer_sta=18000; timerco_qq=1;}
              else if (keyscan_pc==3)
                       { pa0=1; pa1=1; pa2=0; pa3=1; pb0=1; timer_tmr=0; timer_sta=36000; timerco_qq=1;}
              else if (keyscan_pc==4)
                       { pa0=1; pa1=1; pa2=1; pa3=0; pb0=0; timerco_qq=0;goto start;}
                   keyscan_qq=0;
                   keyscan_on=0;
                     }
           }
       if (timerco_qq==1)
          { delay_ms (10);
            timer_sec++ ;
            if (timer_sec>=10)
               {timer_sec=0;
                timer_tmr++;
                if (timer_tmr>=timer_sta)       
                   {timer_tmr=0; timer_sta=0; goto start ;}}}
     } /*while_end*/
  } /* main_end */
//****************************************;;
//                 程序结束               ;;
//****************************************;;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -