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

📄 main.lst

📁 用89c54单片机开发的32键扫描键盘程序。
💻 LST
字号:
C51 COMPILER V7.20   MAIN                                                                  09/21/2001 13:13:04 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MAIN.C LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #pragma large
   2          #include  "public.h"
   3          
   4          
   5          
   6          
   7          sfr T2MOD    = 0xC9;
   8          
   9          
  10          void initTimer1()
  11          {
  12   1              
  13   1      
  14   1              
  15   1              TH1=0x2C;                //25ms 中断
  16   1              TL1=0x0c;
  17   1              TMOD&=0x0F;
  18   1              TMOD|=0x10;       //模式1 16位定时器
  19   1              PT1=0;
  20   1              PT1H=0;
  21   1              ET1=1;//运行中断 
  22   1              TR1=1;
  23   1      }
  24          main()
  25          {
  26   1              
  27   1      
  28   1              
  29   1              UCHAR xdata flag;
  30   1              UCHAR xdata tmp;
  31   1              
  32   1              //CKCON=0xc1;//12分频
  33   1              //PMR=0x40;
  34   1                                                              /*
  35   1                                                              表1  TMOD寄存器结构     定时/计数器的方式控制字TMOD,字节地址为89H
  36   1                                                              D7    D6  D5 D4 D3    D2  D1 D0 
  37   1                                                              GATA  C/T M1 M0 GATA  C/T M1 M0 
  38   1                                                              ←T1方式字段→ ←T0方式字段→ 
  39   1                                                              定时器 模式 M1 M0  
  40   1                                                                                         0  0    13位定时计数器
  41   1                                                                                         0  1    16位定时/计数器
  42   1                                                                                         1  0    8位自动重装载定时器 可用作波特率发生器
  43   1                                                                                         1  1    定时器0 可以分为两个8位定时器,定时器1只能工作在模式0,1,2
  44   1                                                              TCON 结构         定时器控制积存器TCON,字节地址为88H,位地址为88H—8FH
  45   1                                                              D7  D6  D5  D4  D3  D2   D1 D0 
  46   1                                                              TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0         一次为 T1中断标志 T1允许 T0中断标志 T0允许  外部中断1请求标志 外部
             -中断1类型
  47   1                                                              
  48   1      
  49   1      
  50   1                                                              表3  IE寄存器结构    中断允许寄存器
  51   1                                                              IE D7 D6 D5 D4 D3  D2  D1  D0 
  52   1                                                                 EA -  ET2 ES ET1 EX1 ET0 EX0                          Et2 为89c54 的定时器2
  53   1                                                              位地址 AFH     ACH ABH AAH A9H A8H 
  54   1                                                              · EA:中断总控制位,EA=1,CPU开放中断。EA=0,CPU禁止所有中断。
C51 COMPILER V7.20   MAIN                                                                  09/21/2001 13:13:04 PAGE 2   

  55   1      
  56   1          · ES:串行口中断控制位,ES=1允许串行口中断,ES=0,屏蔽串行口中断。
  57   1      
  58   1          · ET1:定时/计数器T1中断控制位。ET1=1,允许T1中断,ET1=0,禁止T1中断。
  59   1      
  60   1          · EX1:外中断1中断控制位,EX1=1,允许外中断1中断,EX1=0,禁止外中断1中断。
  61   1      
  62   1          · ET0:定时/计数器T0中断控制位。ET1=1,允许T0中断,ET1=0,禁止T0中断。
  63   1      
  64   1          · EX0:外中断0中断控制位,EX1=1,允许外中断0中断,EX1=0,禁止外中断0中断。
  65   1              
  66   1              
  67   1              SCON D7  D6   D5 D4  D3  D2   D1 D0               串口控制
  68   1                   SM0 SM1 SM2 REN TB8 RB8  TI RI 
  69   1              
  70   1                                       
  71   1              1).SM0、SM1:串行口工作方式控制位。
  72   1              SM0,SM1    工作方式
  73   1                  00      方式0
  74   1                  01      方式1
  75   1                  10      方式2
  76   1                  11      方式3
  77   1      
  78   1          (2).SM2:多机通信控制位。
  79   1          多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及SM2=1时
             -,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。当SM
             -2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。
  80   1          工作于方式0时,SM2必须为0。
  81   1      
  82   1          (3).REN:允许接收位。
  83   1          REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。
  84   1      
  85   1          (4).TB8:发送接收数据位8。
  86   1          在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址
             -还是数据,TB8=0为数据,TB8=1时为地址。
  87   1      
  88   1          (5).RB8:接收数据位8。
  89   1          在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。
  90   1      
  91   1          (6).TI:发送中断标志位。
  92   1          可寻址标志位。方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,
             -TI=1表示帧发送结束,TI可由软件清“0”。
  93   1      
  94   1          (7).RI:接收中断标志位。
  95   1          可寻址标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成

⌨️ 快捷键说明

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