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

📄 mcu51_set.lst

📁 这是一个对OSD芯片upd6464A操作的接口测试程序,使用KC51编译一个高速球键盘程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.01   MCU51_SET                                                             12/13/2008 17:52:30 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE MCU51_SET
OBJECT MODULE PLACED IN mcu51_set.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE mcu51_set.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS

line level    source

   1          /*----------------------------------------------------------
   2          系统时钟取11.059M
   3          串口在初始时取9600发送,延时操作和下一级协调,然后按相机的的要求
   4          设置
   5          ----------------------------------------------------------*/
   6          
   7          #include <general.h>
   8          void  GlobalSet()
   9          {
  10   1       AUXR   = 1;               //全增益和外部存储器输出关闭
  11   1       P1=P2=P3=P4=0xff;
  12   1      }
  13          void IntSet()
  14            {
  15   1              EX0=0,EX1=0,EX2=0,EX3=0;    //中断四个外部全关闭
  16   1      
  17   1              ET0=1,ET1=0;ET2=0;ES=1;                         //定时器0暂时先关闭,以后有日历后开启
  18   1              IPH=0;IP=0x10;              //串口为1定时器0为0级
  19   1          XICON=0;                    //不允许外部23中断
  20   1        }
  21          
  22          void  IntEnable(void)
  23          {
  24   1              EA=1;                                           //全局开
  25   1      }
  26          void IntDisable(void)
  27          {
  28   1              EA=0;                                           //全局关
  29   1      }
  30          void TimerSet(void)
  31          {
  32   1      
  33   1              TCON=0;
  34   1          TMOD=0x21;                                  //定时器0工作于16位定时器定时器1工作于8位重装
  35   1              T2CON=0x20;                                     //定时器于波特率方式TCLK=0,RCLK=1
  36   1                                       //定时器工作于接收用2发送用1的溢出率来表示
  37   1                                          //全都工作于内部计数C/T_=0
  38   1      }
  39          void SciSet(void)
  40          {
  41   1              SCON=0x50;                                      //定义串口工作方式
  42   1            
  43   1          PCON=0x80;                    //定时器1溢出/2,=0x80则直接采用溢出率
  44   1      }
  45          
  46          
  47          /*------------------------------------------------------
  48          
  49          串行口计算公式如下;
  50          RCLK=1接收采用定时器2   Baud=Frequence/2/(65536-T2)/16
  51          TCLK=0发送采用定时器1   Baud=Frequence/12/(256-TH1)/16
  52          定时器1溢出=Frequence/12/(256-TH1)
  53          
  54          
  55          --------------------------------------------------------*/
C51 COMPILER V8.01   MCU51_SET                                                             12/13/2008 17:52:30 PAGE 2   

  56          void TxdBaud19200()
  57          {
  58   1         TH1=-3;               //重装值
  59   1         TL1=TH1;
  60   1      }
  61          void TxdBaud9600()
  62          {
  63   1         TH1=-6;               //重装值
  64   1         TL1=TH1;
  65   1      }
  66          void TxdBaud4800()
  67          {
  68   1         TH1=-12;               //重装值
  69   1         TL1=TH1;
  70   1      }
  71          void TxdBaud2400()
  72          {
  73   1           TH1=-24;               //重装值
  74   1         TL1=TH1;
  75   1      }
  76          
  77          void RxdBaud19200(void)
  78          {
  79   1              int x;
  80   1      
  81   1              x=-18;
  82   1              RCAP2L=(unsigned char)x;
  83   1              RCAP2H=(unsigned char)(x>>8);
  84   1      
  85   1      }
  86          void RxdBaud9600(void)
  87          {
  88   1              int x;
  89   1      
  90   1                                                              //为默认的最初方式,baudrate=f/32/T2溢出率
  91   1              x=-36;                                          //晶振取11.059M
  92   1              RCAP2L=(unsigned char)x;
  93   1              RCAP2H=(unsigned char)(x>>8);
  94   1              
  95   1      }
  96          
  97          
  98          void RxdBaud4800(void)
  99          {
 100   1              int x;
 101   1      
 102   1              x=-72;
 103   1              RCAP2L=(unsigned char)x;
 104   1              RCAP2H=(unsigned char)(x>>8);
 105   1      
 106   1      }
 107          void RxdBaud2400(void)
 108          {
 109   1              int x;
 110   1      
 111   1              x=-144;
 112   1              RCAP2L=(unsigned char)x;
 113   1              RCAP2H=(unsigned char)(x>>8);
 114   1      
 115   1      }
 116          void T0Start(void)
 117          {
C51 COMPILER V8.01   MCU51_SET                                                             12/13/2008 17:52:30 PAGE 3   

 118   1              TR0=1;                                  
 119   1              
 120   1      }
 121          void T0Stop(void)
 122          {
 123   1              TR0=0;
 124   1                               //计数关   
 125   1      }
 126          void T1Start(void)
 127          {
 128   1              TR1=1;                                  
 129   1              
 130   1      }
 131          void T1Stop(void)
 132          {
 133   1              TR1=0;
 134   1                               //计数关   
 135   1      }
 136          void T2Start(void)
 137          {
 138   1              TR2=1;
 139   1      }
 140          void T2Stop(void)
 141          {
 142   1              TR2=0;
 143   1      }
C51 COMPILER V8.01   MCU51_SET                                                             12/13/2008 17:52:30 PAGE 4   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION GlobalSet (BEGIN)
                                           ; SOURCE LINE # 8
                                           ; SOURCE LINE # 9
                                           ; SOURCE LINE # 10
0000 758E01            MOV     AUXR,#01H
                                           ; SOURCE LINE # 11
0003 75E8FF            MOV     P4,#0FFH
0006 75B0FF            MOV     P3,#0FFH
0009 75A0FF            MOV     P2,#0FFH
000C 7590FF            MOV     P1,#0FFH
                                           ; SOURCE LINE # 12
000F         ?C0001:
000F 22                RET     
             ; FUNCTION GlobalSet (END)

             ; FUNCTION IntSet (BEGIN)
                                           ; SOURCE LINE # 13
                                           ; SOURCE LINE # 14
                                           ; SOURCE LINE # 15
0000 C2A8              CLR     EX0
0002 C2AA              CLR     EX1
0004 C2C2              CLR     EX2
0006 C2C6              CLR     EX3
                                           ; SOURCE LINE # 17
0008 D2A9              SETB    ET0
000A C2AB              CLR     ET1
000C C2AD              CLR     ET2
000E D2AC              SETB    ES
                                           ; SOURCE LINE # 18
0010 75B700            MOV     IPH,#00H
0013 75B810            MOV     IP,#010H
                                           ; SOURCE LINE # 19
0016 75C000            MOV     XICON,#00H
                                           ; SOURCE LINE # 20
0019         ?C0002:
0019 22                RET     
             ; FUNCTION IntSet (END)

             ; FUNCTION IntEnable (BEGIN)
                                           ; SOURCE LINE # 22
                                           ; SOURCE LINE # 23
                                           ; SOURCE LINE # 24
0000 D2AF              SETB    EA
                                           ; SOURCE LINE # 25
0002         ?C0003:
0002 22                RET     
             ; FUNCTION IntEnable (END)

             ; FUNCTION IntDisable (BEGIN)
                                           ; SOURCE LINE # 26
                                           ; SOURCE LINE # 27
                                           ; SOURCE LINE # 28
0000 C2AF              CLR     EA
                                           ; SOURCE LINE # 29
0002         ?C0004:
0002 22                RET     
             ; FUNCTION IntDisable (END)

             ; FUNCTION TimerSet (BEGIN)
C51 COMPILER V8.01   MCU51_SET                                                             12/13/2008 17:52:30 PAGE 5   

                                           ; SOURCE LINE # 30
                                           ; SOURCE LINE # 31
                                           ; SOURCE LINE # 33
0000 758800            MOV     TCON,#00H
                                           ; SOURCE LINE # 34
0003 758921            MOV     TMOD,#021H
                                           ; SOURCE LINE # 35
0006 75C820            MOV     T2CON,#020H
                                           ; SOURCE LINE # 38
0009         ?C0005:
0009 22                RET     
             ; FUNCTION TimerSet (END)

             ; FUNCTION SciSet (BEGIN)
                                           ; SOURCE LINE # 39
                                           ; SOURCE LINE # 40
                                           ; SOURCE LINE # 41
0000 759850            MOV     SCON,#050H
                                           ; SOURCE LINE # 43
0003 758780            MOV     PCON,#080H
                                           ; SOURCE LINE # 44
0006         ?C0006:
0006 22                RET     
             ; FUNCTION SciSet (END)

             ; FUNCTION TxdBaud19200 (BEGIN)
                                           ; SOURCE LINE # 56
                                           ; SOURCE LINE # 57
                                           ; SOURCE LINE # 58
0000 758DFD            MOV     TH1,#0FDH
                                           ; SOURCE LINE # 59
0003 858D8B            MOV     TL1,TH1
                                           ; SOURCE LINE # 60
0006         ?C0007:
0006 22                RET     
             ; FUNCTION TxdBaud19200 (END)

⌨️ 快捷键说明

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