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

📄 init_systerm.lst

📁 单片机C语言最小系统
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.08   INIT_SYSTERM                                                          04/17/2008 09:50:30 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE INIT_SYSTERM
OBJECT MODULE PLACED IN Init_systerm.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Init_systerm.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /******************************************************************************/
   2          /*                          单片机软件最小系统                                */
   3          /*                                 V1.0                                       */
   4          /******************************************************************************/
   5          
   6          #include <AT89X52.H>                /* special function register declarations   */
   7                                            /* for the intended 8051 derivative         */
   8          #include <stdio.h>                /* prototype declarations for I/O functions */
   9          #include <ctype.h>                /* character functions                      */
  10          #include <string.h>               /* string and memory functions              */
  11          #include <string.h>               /* string and memory functions              */
  12          #include <small_systerm.h>        /* 系统初始化声明文件                       */
  13          /******************************************************************************/
  14          /*                          外部中断0                                         */
  15          /*     编号: 0                                                                */
  16          /* 入口地址: 0003H                                                            */                          
             -                                              
  17          /******************************************************************************/
  18          void Extern_Int0(void) interrupt 0 using 0
  19          {
  20   1        IE0 = 0;
  21   1      } 
  22          /******************************************************************************/
  23          /*                          T0溢出中断                                        */
  24          /*     编号: 1                                                                */
  25          /* 入口地址: 000BH                                                            */                          
             -                                              
  26          /******************************************************************************/
  27          void T0_Isr(void) interrupt 1 using 0
  28          {
  29   1        TF0 = 0;
  30   1      } 
  31          /******************************************************************************/
  32          /*                          外部中断1                                         */
  33          /*     编号: 2                                                                */
  34          /* 入口地址: 0013H                                                            */                          
             -                                              
  35          /******************************************************************************/
  36          void Extern_Int1(void) interrupt 2 using 0
  37          {
  38   1        IE1 = 0;
  39   1      } 
  40          /******************************************************************************/
  41          /*                          T1溢出中断                                        */
  42          /*     编号: 3                                                                */
  43          /* 入口地址: 001BH                                                            */                          
             -                                              
  44          /******************************************************************************/
  45          void T1_Isr(void) interrupt 3 using 0
  46          {
  47   1        TF1 = 0;
  48   1      } 
  49          /******************************************************************************/
  50          /*                          串口收发中断                                      */
  51          /*     编号: 4                                                                */
C51 COMPILER V8.08   INIT_SYSTERM                                                          04/17/2008 09:50:30 PAGE 2   

  52          /* 入口地址: 0023H                                                            */                          
             -                                              
  53          /******************************************************************************/
  54          void Com_Isr(void) interrupt 4 using 0
  55          {
  56   1        RI = 0;
  57   1      } 
  58          /******************************************************************************/
  59          /*                          T2溢出中断                                        */
  60          /*     编号: 5                                                                */
  61          /* 入口地址: 002BH                                                            */                          
             -                                              
  62          /******************************************************************************/
  63          void T2_Isr(void) interrupt 5 using 0
  64          {
  65   1      } 
  66          /******************************************************************************/
  67          /*                          初始化定时器0                                     */
  68          /******************************************************************************/
  69          void Init_T0(void)
  70          {
  71   1        TMOD |= 0x01;//缺省模式:定时器0工作在16位定时模式,不受外部信号控制
  72   1                    //|-----|-----|-----|-----|-----|-----|-----|-----|
  73   1                                //|GATE | C/T |  M1 |  M0 |GATE | C/T |  M1 |  M0 |
  74   1                                //|-----|-----|-----|-----|-----|-----|-----|-----|
  75   1                    //|           T1          |           T2          |
  76   1                                //GATE = 0定时器只受TR0或TR1控制,当且仅当TR0或TR1=1时运行,TR0=0
  77   1                                //时停止
  78   1                                //C/T:    C/T=0为定时方式,C/T=1为计数方式
  79   1                                //M1M0
  80   1                                //-----|---------|--------------------------------------------|
  81   1                                // M1M0| 操作模式|                   功能                     |
  82   1                                //-----|---------|--------------------------------------------|
  83   1                                // 00  |  方式0  |13位计数器                                  |
  84   1                                //-----|---------|--------------------------------------------|
  85   1                                // 01  |  方式1  |16位计数器                                  |
  86   1                                //-----|---------|--------------------------------------------|
  87   1                                // 10  |  方式2  |可自动再装载的8位计数器                     |
  88   1                                //-----|---------|--------------------------------------------|
  89   1                                // 11  |  方式3  |T0分为两个独立计数器,T1作为串口波特率发生器|
  90   1                                //-----|---------|--------------------------------------------|
  91   1        TH0 = (65536-1000)/256;//计算公式=(65536-定时时间长度)/256等于初值高字节
  92   1                               //相对于12M晶体,1000*1uS=1mS
  93   1        TL0 = (65536-1000)%256;//计算公式=(65536-定时时间长度)%256等于初值低字节
  94   1        TR0 = 0;               //缺省为0,停止计数
  95   1        ET0 = 0;               //ET0 = 0禁止T0溢出中断,ET0 = 1允许T0溢出中断
  96   1      }
  97          /******************************************************************************/
  98          /*                          初始化定时器1                                     */
  99          /******************************************************************************/
 100          void Init_T1(void)
 101          {
 102   1        TMOD |= 0x10;//缺省模式:定时器1工作在16位定时模式,不受外部信号控制
 103   1                    //|-----|-----|-----|-----|-----|-----|-----|-----|
 104   1                                //|GATE | C/T |  M1 |  M0 |GATE | C/T |  M1 |  M0 |
 105   1                                //|-----|-----|-----|-----|-----|-----|-----|-----|
 106   1                    //|           T1          |           T2          |
 107   1                                //GATE = 0定时器只受TR0或TR1控制,当且仅当TR0或TR1=1时运行,=0时停止
 108   1                                //C/T:C/T=0为定时方式,C/T=1为计数方式
 109   1                                //M1M0
 110   1                                //-----|---------|--------------------------------------------|
 111   1                                // M1M0| 操作模式|                   功能                     |
C51 COMPILER V8.08   INIT_SYSTERM                                                          04/17/2008 09:50:30 PAGE 3   

 112   1                                //-----|---------|--------------------------------------------|
 113   1                                // 00  |  方式0  |13位计数器                                  |
 114   1                                //-----|---------|--------------------------------------------|
 115   1                                // 01  |  方式1  |16位计数器                                  |
 116   1                                //-----|---------|--------------------------------------------|
 117   1                                // 10  |  方式2  |可自动再装载的8位计数器                     |
 118   1                                //-----|---------|--------------------------------------------|
 119   1                                // 11  |  方式3  |T0分为两个独立计数器,T1作为串口波特率发生器|
 120   1                                //-----|---------|--------------------------------------------|
 121   1        TH1 = (65536-1000)/256;//计算公式=(65536-定时时间长度)/256等于初值高字节
 122   1                               //相对于12M晶体,1000*1uS=1mS
 123   1        TL1 = (65536-1000)%256;//计算公式=(65536-定时时间长度)%256等于初值低字节
 124   1        TR1 = 0;               //缺省为0,停止计数
 125   1        ET1 = 0;               //ET1 = 0禁止T1溢出中断,ET1 = 1允许T1溢出中断
 126   1      }  
 127          /******************************************************************************/
 128          /*                          初始化定时器2                                     */
 129          /******************************************************************************/
 130          void Init_T2(void)
 131          {
 132   1        //缺省模式T2作为波特率发生器
 133   1        T2CON = 0x34;//-----|-----|-----|-----|-----|-----|-----|------|

⌨️ 快捷键说明

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