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

📄 testpromain.lst

📁 单片机学习例子(全面测试程序) 适合初学者使用
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.20   TESTPROMAIN                                                           08/23/2006 23:05:42 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE TESTPROMAIN
OBJECT MODULE PLACED IN testpromain.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE testpromain.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "reg52.h"
   2          #include <intrins.h>
   3          
   4          //typedef bit BOOL  ;
   5          #define uchar unsigned char
   6          
   7          
   8          sbit D1=P2^0;
   9          sbit D2=P2^1;
  10          sbit D3=P2^2;
  11          sbit D4=P2^3;
  12          sbit CE573=P2^5;
  13          sbit BEEP=P2^4;
  14          sbit KEY1=P3^3;
  15          sbit KEY2=P3^2;
  16          sbit KEY3=P3^4;
  17          sbit KEY4=P3^5;
  18          sbit KEY5=P3^7;
  19          
  20          
  21          #define SEL_D1 D1=0;
  22          #define SEL_D2 D2=0;
  23          #define SEL_D3 D3=0;
  24          #define SEL_D4 D4=0;
  25          
  26          #define REL_D1 D1=1;
  27          #define REL_D2 D2=1;
  28          #define REL_D3 D3=1;
  29          #define REL_D4 D4=1;
  30          
  31          
  32          sbit rs         = P2^6 ; 
  33          sbit rw         = P3^6 ;
  34          sbit ep         = P2^7 ;
  35          
  36          
  37          
  38          void _delay(uchar) ;
  39          void lcd_wcmd(uchar) ;
  40          //BOOL lcd_bz() ;
  41          void lcd_pos(uchar) ;
  42          void lcd_wdat(uchar) ;
  43          void display(uchar,uchar *) ;
  44          
  45          
  46          
  47          //串口、中断、初始化设置子函数
  48          //11.0592MH晶振下,波特率9600,无奇偶校验
  49          
  50          void initmpu(void) 
  51                             
  52          {
  53   1                      //定时器1的工作方式2
  54   1              TMOD=0x20;
  55   1                      //装载计数初值
C51 COMPILER V7.20   TESTPROMAIN                                                           08/23/2006 23:05:42 PAGE 2   

  56   1              TL1=0xfd;
  57   1              TH1=0xfd;
  58   1                      //采用串口工作方式1,无奇偶校验
  59   1              SCON=0x50;      
  60   1                      //串口波特率不加倍
  61   1              PCON=0x00; 
  62   1                      //开总中断,开串口中断
  63   1              TR1=1;
  64   1              IE=0x95; 
  65   1      
  66   1      }
  67          
  68          void Delay(int m)
  69          {
  70   1              while(--m);
  71   1      }
  72          
  73          
  74          void test_led(void)
  75          {
  76   1              int i;
  77   1      
  78   1              P1=0x7F;
  79   1              Delay(40000);
  80   1              for(i=0;i<7;i++)
  81   1              {
  82   2                      P1=P1>>1;
  83   2                      Delay(40000);
  84   2              }
  85   1              P1=0xFF;
  86   1              return;
  87   1      
  88   1      }
  89          code unsigned char      digseg[]={              
  90                          0xC0,  // 0
  91                  0xF9,  // 1
  92                  0xA4,  // 2
  93                  0xB0,  // 3
  94                  0x99,  // 4
  95                  0x92,  // 5
  96                  0x82,  // 6
  97                  0xF8,  // 7
  98                  0x80,  // 8
  99                  0x90,  // 9
 100                          0x88,  // A
 101                  0x83,  // b
 102                  0xC6,  // C 
 103                  0xA1,  // d
 104                  0x86,  // E
 105                  0x8E,  // F
 106                          };
 107          void test_digseg(void)
 108          {
 109   1              char i;
 110   1      
 111   1              CE573=1;        //0
 112   1              SEL_D1;
 113   1              SEL_D2;
 114   1              SEL_D3;
 115   1              SEL_D4;
 116   1              for(i=0;i<16;i++)
 117   1              {
C51 COMPILER V7.20   TESTPROMAIN                                                           08/23/2006 23:05:42 PAGE 3   

 118   2                      P0=digseg[i];
 119   2                      Delay(40000);
 120   2              }
 121   1              P0=0xFF;
 122   1              Delay(50000);
 123   1              P0=0x00;
 124   1              Delay(50000);
 125   1              P0=0xFF;
 126   1              Delay(50000);
 127   1              P0=0x00;
 128   1              Delay(50000);
 129   1              P0=0xFF;
 130   1              
 131   1              /*
 132   1              P0=0x00;
 133   1              SEL_D1;
 134   1              Delay(60000);
 135   1              REL_D1;
 136   1              SEL_D2;
 137   1              Delay(60000);
 138   1              REL_D2;
 139   1              SEL_D3;
 140   1              Delay(60000);
 141   1              REL_D3;
 142   1              SEL_D4;
 143   1              Delay(60000);
 144   1              REL_D4;
 145   1              */
 146   1      
 147   1      }
 148          void test_beep(void)
 149          {
 150   1              BEEP=0;
 151   1              Delay(60000);
 152   1              BEEP=1;
 153   1              Delay(50000);
 154   1              BEEP=0;
 155   1              Delay(60000);
 156   1              BEEP=1;
 157   1      
 158   1      }
 159          
 160          char check_K3(void)
 161          {
 162   1              if(KEY3==0)
 163   1              {
 164   2                      Delay(2000);
 165   2                      {
 166   3                              if(KEY3==0)
 167   3                              {
 168   4                                      return 1;       
 169   4                              }
 170   3                      }
 171   2              }
 172   1              return 0;       
 173   1      }
 174          char  check_K4(void)
 175          {
 176   1              if(KEY4==0)
 177   1              {
 178   2                      Delay(2000);
 179   2                      {
C51 COMPILER V7.20   TESTPROMAIN                                                           08/23/2006 23:05:42 PAGE 4   

 180   3                              if(KEY4==0)
 181   3                              {
 182   4                                      return 1;       
 183   4                              }
 184   3                      }
 185   2              }
 186   1              return 0;       
 187   1      }
 188          char  check_K5(void)
 189          {
 190   1              if(KEY5==0)
 191   1              {
 192   2                      Delay(2000);
 193   2                      {
 194   3                              if(KEY5==0)
 195   3                              {
 196   4                                      return 1;       
 197   4                              }
 198   3                      }
 199   2              }
 200   1              return 0;       
 201   1      }
 202          
 203          code uchar  dis1[] = {"  www.52eda.com  "} ;
 204          code uchar  dis2[] = {"WELCOME TO 52EDA\n"} ;
 205          
 206          code uchar send_txt[]={"测试程序到此结束,OK!\n需要帮助请登陆:\nwww.52eda.com\n"};
 207          void test_serial()
 208          {
 209   1              int i;
 210   1              EA=0;
 211   1              for(i=0;i<sizeof(send_txt);i++)
 212   1              {
 213   2                      SBUF=send_txt[i];
 214   2                      while(TI==0);
 215   2                      TI=0;
 216   2              }
 217   1              EA=1;
 218   1      
 219   1      }
 220          
 221          char key1_flag=0;
 222          char key2_flag=0;

⌨️ 快捷键说明

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