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

📄 key.lst

📁 倒车雷达源代码
💻 LST
📖 第 1 页 / 共 3 页
字号:
 182      =1   sbit Msel=optiona^2;   
 183      =1   sbit MIICF1=optiona^1;   
 184      =1   sbit MIICF0=optiona^0;   
 185      =1  
 186      =1  */
   3          /*********************************/
C51 COMPILER V7.01  KEY                                                                    06/10/2003 09:42:38 PAGE 6   

   4          
   5          
   6           char menu_cr1;//菜单位置1
   7           char menu_cr2;//菜单位置
   8          
   9          //I2c地址
  10          #define bojin_a 0x12//近距离报警区
  11          #define bojin_b 0x15//中距离
  12          #define bojin_c 0x1a//远距离
  13          #define video_1  0x1e//视频切换
  14          #define english_china 0x20//中英切换
  15          #define bright_04 0x22//亮度
  16          #define contrast_04 0x24//对比度
  17          #define color_04 0x26//彩色
  18          #define blue_04 0x28//兰屏ON-OFF
  19          #define power_04 0x2a//电源自动开关
  20          #define color_p_n 0x2c//P/N
  21          #define x_04 0x2e//X旋转
  22          #define y_04 0x30//Y旋转
  23          /***********************************/
  24          extern unsigned int xdata bojina;//近距离报警区
  25          extern unsigned int xdata bojinb;//中距离报警
  26          extern unsigned int xdata bojinc;//远距离
  27          extern  char xdata video;//视频切换ON-OFF
  28          extern unsigned char xdata englishchina;//中英切换
  29          extern unsigned char xdata bright;//亮度
  30          extern unsigned char xdata contrast;//对比度
  31          extern unsigned char xdata color;//彩色
  32          extern unsigned char xdata blue;//兰屏
  33          extern unsigned char xdata power;//电源自动光机
  34          extern  char xdata p_n;//P/N
  35          extern unsigned char xdata x;//x
  36          extern unsigned char xdata y;//y
  37          
  38          
  39          void key_menu();
  40          bit key1();//+
  41          bit key2();//-
  42          bit key3();//菜单
  43          bit key4();//开关机
  44          bit key5();//上
  45          bit key6();//下
  46          bit key7();//AV1/AV2/AV3/TV
  47           void wirte_24c02a();
  48           void wirte_24c02b();
  49           void wirte_24c02c();
  50          void wirte_24c02d();
  51          void wirte_24c02e();
  52          void wirte_24c02f();
  53          void wirte_24c02g();
  54          void wirte_24c02h();
  55          void wirte_24c02q();
  56          void wirte_24c02w();
  57          void wirte_24c02r();
  58          void wirte_24c02t();
  59          void wirte_24c02u();
  60          
  61          extern bit i2c_write(unsigned char address,unsigned char fb);
  62          extern void datey(unsigned int p);
  63          extern void osd_pz();
  64          extern void osd_start();//osd初始化
  65          extern void osd_start1();//OSD初始化
C51 COMPILER V7.01  KEY                                                                    06/10/2003 09:42:38 PAGE 7   

  66          extern void osd_clr();
  67          extern void tuxa_menu(char r);//图像菜单
  68          extern void jintu(char r);//进度条
  69          extern void gonen_menu(char r);//功能菜单
  70          extern void tuxa_su(char r);//图象值
  71          extern void gonen_su(char r);//功能值
  72          
  73          void key_menu()
  74          {
  75   1      menu_cr1=0;//菜单位置1
  76   1      menu_cr2=0;//菜单位置2
  77   1      if(key3())//进入1级设置菜单--图象
  78   1           {
  79   2               osd_start();//osd初始化
  80   2               tuxa_menu(0);//打开图象菜单
  81   2               tuxa_su(0);
  82   2               jintu(0);
  83   2              while(1)
  84   2                  {
  85   3                     if(key5())//进入上移动键
  86   3                          {
  87   4                            menu_cr1++;                     
  88   4                            if(menu_cr1>2)
  89   4                                 menu_cr1=0;
  90   4                             tuxa_menu(menu_cr1);//打开图象菜单
  91   4                             tuxa_su(menu_cr1);
  92   4                             jintu(menu_cr1);
  93   4                           }
  94   3                     if(key6())//进入下移动键
  95   3                          {
  96   4                           menu_cr1--;                    
  97   4                           if(menu_cr1<0)
  98   4                                menu_cr1=2;
  99   4                            tuxa_menu(menu_cr1);//打开图象菜单
 100   4                             tuxa_su(menu_cr1);
 101   4                             jintu(menu_cr1);
 102   4                           }
 103   3                       if(key1())//+
 104   3                      {
 105   4                        if(menu_cr1==0)
 106   4                          {
 107   5                          bright++;
 108   5                          if(bright>=253)
 109   5                              bright=253;
 110   5                          DA0=bright;
 111   5                          wirte_24c02f();                   
 112   5                          }
 113   4                        else if(menu_cr1==1)
 114   4                          {
 115   5                                contrast++;
 116   5                                if(contrast>=253)
 117   5                                  contrast=253;
 118   5                                DA1=contrast;
 119   5                                wirte_24c02g();                        
 120   5                          }
 121   4                        else if(menu_cr1==2)
 122   4                          {
 123   5                               color++;
 124   5                               if(color>=253)
 125   5                                  color=253;
 126   5                               DA2=color;
 127   5                               wirte_24c02h();
C51 COMPILER V7.01  KEY                                                                    06/10/2003 09:42:38 PAGE 8   

 128   5                          }
 129   4                        else ;
 130   4                        tuxa_menu(menu_cr1);//打开图象菜单
 131   4                         tuxa_su(menu_cr1);
 132   4                         jintu(menu_cr1);
 133   4                      }
 134   3                     if(key2())//-
 135   3                      {
 136   4                      if(menu_cr1==0)
 137   4                          {
 138   5                          bright--;
 139   5                          if(bright<=1)
 140   5                              bright=1;
 141   5                            DA0=bright;
 142   5                          wirte_24c02f();
 143   5                          }
 144   4                        else if(menu_cr1==1)
 145   4                          {
 146   5                                contrast--;
 147   5                                if(contrast<=1)
 148   5                                  contrast=1;  
 149   5                                 DA1=contrast;
 150   5                                wirte_24c02g();
 151   5                          }
 152   4                        else if(menu_cr1==2)
 153   4                          {
 154   5                               color--;
 155   5                               if(color<=1)
 156   5                                  color=1;
 157   5                               DA2=color;
 158   5                               wirte_24c02h();
 159   5                          }
 160   4                        else ;
 161   4                        tuxa_menu(menu_cr1);//打开图象菜单
 162   4                        tuxa_su(menu_cr1);
 163   4                         jintu(menu_cr1);
 164   4                      
 165   4                      }
 166   3                     if(key3())//进入2级设置菜单--功能
 167   3                      {
 168   4                       osd_start();//osd初始化
 169   4                       gonen_menu(0);
 170   4                       gonen_su(0);
 171   4                       while(1)
 172   4                          {
 173   5                           if(key5())//进入上移动键
 174   5                          {
 175   6                            menu_cr2++;                     
 176   6                            if(menu_cr2>9)
 177   6                                 menu_cr2=0;
 178   6                            gonen_menu(menu_cr2);//图象菜单
 179   6                            gonen_su(menu_cr2);
 180   6                           }
 181   5                     if(key6())//进入下移动键
 182   5                          {
 183   6                           menu_cr2--;                    
 184   6                           if(menu_cr2<0)
 185   6                                menu_cr2=9;
 186   6                            gonen_menu(menu_cr2);//图象菜单
 187   6                            gonen_su(menu_cr2);
 188   6                           }
 189   5                      if(key1())//+
C51 COMPILER V7.01  KEY                                                                    06/10/2003 09:42:38 PAGE 9   

 190   5                          {
 191   6                           switch(menu_cr2)
 192   6                              {
 193   7                               case 0: if(blue==0)
 194   7                                               blue=1;
 195   7                                           else blue=0;wirte_24c02q();break;
 196   7                               case 1: if(power==0)
 197   7                                              power=1;
 198   7                                              else power=0;wirte_24c02w();break;
 199   7                               case 2: p_n++;
 200   7                                           if(p_n>2)p_n=0;wirte_24c02r();break;
 201   7                               case 3: video++;
 202   7                                            if(video>3)video=0;wirte_24c02e();break;
 203   7                               case 4: if(x==0)
 204   7                                              x=1;
 205   7                                              else x=0;wirte_24c02t();break;
 206   7                                case 5: if(y==0)
 207   7                                              y=1;
 208   7                                              else y=0;wirte_24c02u();break;
 209   7                                case 6:  if(englishchina==0)
 210   7                                              englishchina=1;
 211   7                                              else englishchina=0;wirte_24c02d();break;
 212   7                                case 7: bojina=bojina+10;if(bojina>60)bojina=60;wirte_24c02a();break; 
 213   7                                case 8: bojinb=bojinb+10;if(bojinb>100)bojinb=100;wirte_24c02b();break;
 214   7                                case 9: bojinc=bojinc+10;if(bojinc>200)bojinc=200;wirte_24c02c();break;
 215   7                                default:;
 216   7                              }
 217   6                               gonen_su(menu_cr2);
 218   6                          }   
 219   5                       if(key2())//-
 220   5                          {
 221   6                            switch(menu_cr2)
 222   6                              {
 223   7                               case 0: if(blue==0)
 224   7                                               blue=1;
 225   7                                           else blue=0;wirte_24c02q();break;
 226   7                               case 1: if(power==0)
 227   7                                              power=1;
 228   7                                              else power=0;wirte_24c02w();break;
 229   7                               case 2: p_n--;
 230   7                                           if(p_n<0)p_n=2;wirte_24c02r();break;
 231   7                               case 3: video--;
 232   7                                            if(video<0)video=3;wirte_24c02e();break;
 233   7                               case 4: if(x==0)
 234   7                                              x=1;
 235   7                                              else x=0;wirte_24c02t();break;
 236   7                                case 5: if(y==0)
 237   7                                              y=1;
 238   7                                              else y=0;wirte_24c02u();break;
 239   7                                case 6:  if(englishchina==0)
 240   7                                              englishchina=1;
 241   7                                              else englishchina=0;wirte_24c02d();break;
 242   7                                case 7: bojina=bojina-10;if(bojina<20)bojina=20;wirte_24c02a();break; 
 243   7                                case 8: bojinb=bojinb-10;if(bojinb>100)bojinb=100;wirte_24c02b();break;
 244   7                                case 9: bojinc=bojinc-10;if(bojinc<150)bojinc=150;wirte_24c02c();break;
 245   7                                default:;
 246   7                              }
 247   6                               gonen_su(menu_cr2);
 248   6                          }     
 249   5                      if(key3()|key7())//退出菜单
 250   5                          {
 251   6                             osd_clr();
C51 COMPILER V7.01  KEY                                                                    06/10/2003 09:42:38 PAGE 10  

 252   6                             osd_start();//osd初始化
 253   6                             return;
 254   6                          }
 255   5                          }
 256   4      
 257   4                      }
 258   3                   
 259   3               
 260   3                   if(key3()|key7())//退出菜单
 261   3                       {
 262   4                       osd_clr();
 263   4                       osd_start1();//osd初始化                  
 264   4                        return;
 265   4                        }
 266   3                            
 267   3                  }
 268   2             }
 269   1      
 270   1      }
 271          
 272          bit key1()
 273          {  unsigned int i;
 274   1           i=0;
 275   1            ADC_write=0x82;
 276   1            datey(300);
 277   1            if(ADC_read<=3)
 278   1              {
 279   2              do{
 280   3              datey(300);
 281   3              i++;
 282   3              if(i>8000)
 283   3                  return(1);
 284   3                  }
 285   2               while(ADC_read<=3);                     
 286   2                  return(1);  
 287   2              }
 288   1             else  return(0); 
 289   1      }
 290          
 291          
 292          bit key2()
 293          {   unsigned int i;
 294   1           i=0; 
 295   1           ADC_write=0x82;
 296   1            datey(300);
 297   1            if((ADC_read<=14)&(ADC_read>=9))
 298   1              {         
 299   2                 do{
 300   3              datey(300);
 301   3              i++;

⌨️ 快捷键说明

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