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

📄 mcu.lst

📁 display port接受芯片ANX9813的驱动代码。MCU使用LPC936FDH,内部包含AN9813寄存器设置
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   MCU                                                                   10/03/2008 17:53:16 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MCU
OBJECT MODULE PLACED IN ..\hex\mcu.obj
COMPILER INVOKED BY: D:\Program Files\KEIL_UV3\C51\BIN\C51.EXE mcu.c LARGE OPTIMIZE(SIZE) BROWSE DEBUG OBJECTEXTEND CODE
                    - OBJECT(..\hex\mcu.obj)

line level    source

   1          //  *******************************************
   2          
   3          //  *******************************************
   4          
   5          #include <stdio.h>
   6          #include <stdarg.h>
   7          #include "i2c_intf.h"
   8          #include "uart_int.h"
   9          #include "timer.h"
  10          #include "mcu.h"
  11          #include "DP_RX_DRV.h"
  12          
  13          bit EX_EN;
  14          bit sendRQ;
  15          
  16          bit enable_debug_output;
  17          char test;
  18          
  19          PUTCHAR_TYPE putchar(char c)
  20          {
  21   1          if (!enable_debug_output)
  22   1              return c;
  23   1          EA = 0;
  24   1          if (c == '\n') {
  25   2              SBUF = 0x0d;
  26   2              while (!TI);
  27   2              TI = 0;
  28   2          }
  29   1          SBUF = c;
  30   1          while (!TI);
  31   1          TI = 0;
  32   1          EA = 1;
  33   1          return c;
  34   1      //      stdout_port = c;
  35   1      }
  36          
  37          void debug_puts(char *s)
  38          {
  39   1          if (enable_debug_output)
  40   1              {
  41   2                      BP_DIR =1; 
  42   2                      puts(s);
  43   2                      BP_DIR =0;
  44   2              }
  45   1      }
  46          
  47          
  48          void SendToPCOneByte(uchar dat)
  49          {
  50   1              EA = 0;
  51   1              BP_DIR =1;
  52   1              SBUF=dat;
  53   1              while(!TI);
  54   1              TI=0;
C51 COMPILER V7.50   MCU                                                                   10/03/2008 17:53:16 PAGE 2   

  55   1              BP_DIR =0;
  56   1              EA = 1;
  57   1      }
  58          //n=1,发送回车符号
  59          void SendToPCSomeByte(uchar *dat,uchar j,uchar n)
  60          {
  61   1              uchar i=0;
  62   1              EA = 0;
  63   1              BP_DIR =1;
  64   1              for(i=0;i<j;i++)
  65   1              {
  66   2                      TI=0;
  67   2                      SBUF=(*dat);                            // start sending one byte
  68   2                      while (!TI);                            // wait until sent
  69   2                      TI=0;
  70   2                      dat++;
  71   2              }
  72   1              if(n==1)
  73   1              {
  74   2                      TI=0;
  75   2                      SBUF=0x0a;                              // start sending one byte
  76   2                      while (!TI);                            // wait until sent
  77   2                      TI=0;
  78   2                      dat++;
  79   2              }
  80   1              BP_DIR =0;
  81   1              EA = 1;
  82   1      }
  83          
  84          
  85          /*
  86          void debug_printf(char *s, ...)
  87          {
  88              if (enable_debug_output) {
  89                  va_list v;
  90                  va_start(v, s);
  91                  vprintf(s, v);
  92              }
  93          }
  94          */
  95          void delay_half_ms(void)
  96          {
  97   1          unsigned char i;
  98   1          for(i = 0; i < 240; i ++)//delay about 0.5 ~ 1 ms
  99   1              ;
 100   1      }
 101          void InitMCU () 
 102                  {
 103   1      
 104   1              P0M1 = 0x00;        // (00001110)push pull except RX
 105   1             P0M2 = 0x00;        // (11000000)
 106   1      
 107   1              P1M1 = 0x00;        //(00101100)push pull except RX
 108   1              P1M2 = 0x00;
 109   1      
 110   1              P2M1 = 0x00;            // (01011000)push pull   0x58  0x20
 111   1              P2M2 = 0x00;        // (00100000)  0xff  05.10.17//00            /pull_p23
 112   1      
 113   1              P3M1 = 0x03;              // (00000011)push pull  06.06.17
 114   1              P3M2 = 0x00;        // (00000000)06.06.17
 115   1          
 116   1             DP_RX_HPD_DET = 0;
C51 COMPILER V7.50   MCU                                                                   10/03/2008 17:53:16 PAGE 3   

 117   1              init_serial(BAUD38400);
 118   1              init_timer(TINTVAL_8MS);
 119   1              start_timer();
 120   1              i2c_init();
 121   1             EX_EN = 0;
 122   1             EX1 = 0;
 123   1              ES=1;
 124   1              EA = 1;         // enable all interrupt
 125   1              DP_RX_HPD(0);
 126   1              sendRQ=0;
 127   1      
 128   1      }
 129          
 130          void DP_RX_HW_Reset(void)
 131          {
 132   1          DP_Rx_HW_RESET = 0;
 133   1          delay_ms(10);
 134   1          DP_Rx_HW_RESET = 1;
 135   1          delay_ms(10);
 136   1      }
 137          
 138          void DP_RX_HPD(unsigned char high_low)
 139          {
 140   1          if(high_low)
 141   1          {
 142   2              DP_RX_HPD_DET = 1;
 143   2              //debug_puts("Set HPD high");
 144   2          }
 145   1          else
 146   1          {
 147   2              DP_RX_HPD_DET = 0;
 148   2              //debug_puts("Set HPD low");
 149   2          }
 150   1      }
 151          
C51 COMPILER V7.50   MCU                                                                   10/03/2008 17:53:16 PAGE 4   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _putchar (BEGIN)
                                           ; SOURCE LINE # 19
;---- Variable 'c' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 20
                                           ; SOURCE LINE # 21
0000 200001      R     JB      enable_debug_output,?C0001
                                           ; SOURCE LINE # 22
0003 22                RET     
0004         ?C0001:
                                           ; SOURCE LINE # 23
0004 C2AF              CLR     EA
                                           ; SOURCE LINE # 24
0006 EF                MOV     A,R7
0007 B40A08            CJNE    A,#0AH,?C0003
                                           ; SOURCE LINE # 25
000A 75990D            MOV     SBUF,#0DH
000D         ?C0004:
                                           ; SOURCE LINE # 26
000D 3099FD            JNB     TI,?C0004
0010         ?C0005:
                                           ; SOURCE LINE # 27
0010 C299              CLR     TI
                                           ; SOURCE LINE # 28
0012         ?C0003:
                                           ; SOURCE LINE # 29
0012 8F99              MOV     SBUF,R7
0014         ?C0006:
                                           ; SOURCE LINE # 30
0014 3099FD            JNB     TI,?C0006
0017         ?C0007:
                                           ; SOURCE LINE # 31
0017 C299              CLR     TI
                                           ; SOURCE LINE # 32
0019 D2AF              SETB    EA
                                           ; SOURCE LINE # 33
                                           ; SOURCE LINE # 35
001B         ?C0002:
001B 22                RET     
             ; FUNCTION _putchar (END)

             ; FUNCTION _debug_puts (BEGIN)
                                           ; SOURCE LINE # 37
;---- Variable 's' assigned to Register 'R1/R2/R3' ----
                                           ; SOURCE LINE # 38
                                           ; SOURCE LINE # 39
0000 300007      R     JNB     enable_debug_output,?C0009
                                           ; SOURCE LINE # 40
                                           ; SOURCE LINE # 41
0003 D287              SETB    P0_7
                                           ; SOURCE LINE # 42
0005 120000      E     LCALL   _puts
                                           ; SOURCE LINE # 43
0008 C287              CLR     P0_7
                                           ; SOURCE LINE # 44
                                           ; SOURCE LINE # 45

⌨️ 快捷键说明

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