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

📄 bb.lst

📁 自己写的930单片机的1602显示和tlc549串行ad程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.02   BB                                                                    04/17/2008 19:49:59 PAGE 1   


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

line level    source

   1                                                                                                            #include <REG931.H>
   2          #include <INTRINS.H>
   3          
   4          typedef  unsigned char  uchar;
   5          typedef  unsigned int   uint;
   6          
   7          #define ClkDown         OCC = 0         //P1.7
   8          #define ClkUp           OCC = 1 
   9                  
  10          #define DataLow         KB0 = 0         //P0.0
  11          #define DataHigh        KB0 = 1         
  12          
  13          #define LEDown          OCD = 0         //P2.1
  14          #define LEUp            OCD = 1
  15          
  16          
  17          sbit LED1         = P2^2;
  18          sbit LED2         = P2^3;
  19          sbit KB           = P1^6;
  20          sbit adcs               = P2^4;  //out
  21          sbit dout               = P2^3;  //in
  22          
  23          sbit adclk              = P1^4;  //out
  24          
  25          // 间接访问方式地址定义
  26          // 控制引脚定义
  27          sbit    RS      =P1^7;
  28          sbit    RW      =P2^1;
  29          sbit    Elcm=P2^0; 
  30          
  31          
  32          
  33          ////////////////////////////////////////////////////////////////////////////
  34          #define DataPort P0// 数据端口
  35          //instruction
  36          #define Busy            0x80
  37          #define Work_M          0x38//n=1,f=0
  38          #define Cls                     0x01
  39          #define Input_M         0x06//i/d=1  ac++  s=0 screen move=off
  40          #define Screen_Off      0x08
  41          #define Disp_M          0x0c//d=1 disp=on c=0 cursor=off
  42          #define Ddram_Al1       0x80;
  43          #define Ddram_Al2       0xc0;//0x80+0x40
  44                    #define    Wait1us        _nop_();
  45          #define    Wait2us        {_nop_();_nop_();}
  46          #define    Wait4us        {Wait2us;Wait2us;}
  47          #define    Wait8us        {Wait4us;Wait4us;}
  48          #define    Wait10us      {Wait8us;Wait2us;}
  49          
  50          
  51          
  52          /* 设为全局变量 */
  53          unsigned char com,dat;
  54          
  55          
C51 COMPILER V8.02   BB                                                                    04/17/2008 19:49:59 PAGE 2   

  56          
  57          ///////////////////////////////////////////////
  58          uchar dispc[2][16]=
  59                  {
  60                  ' ',' ','O','U','T','P','U','T',' ','P','O','W','E','R',' ',' ',
  61                  ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','B','m',' ',' ',' '
  62                  };
  63          
  64          uchar low[2][16]=
  65                  {
  66                  ' ',' ','O','U','T','P','U','T',' ','P','O','W','E','R',' ',' ',
  67                  ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','B','m',' ',' ',' '
  68                  };
  69          uchar pllfreq[6]={2,0,8,0,0,0};
  70          uchar pllstate=1;
  71          /////////////////////////////////////////
  72          code  unsigned char ctab[16]={'0','1','2','3','4','5','6','7','8','9','a','b','c','<','o','w'};
  73           
  74          /////////////////////////////////////////
  75          
  76                  
  77          
  78          //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  79          //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  80          uchar rflag=0; //定义读标志
  81          uchar sflag=0; //定义发送标志
  82          
  83          ///////////////////
  84          #define SCOUNT 10
  85          #define RCOUNT 10       //note :   cause the invalid ip --> 0000
  86          //idata <256 data <128 bdata bit pdata movx @ri xdata movx @dptr
  87          unsigned char data   countsms;
  88          
  89          unsigned char data   rpoint;//point the next address
  90          unsigned char data   spoint;
  91          //**********************
  92          unsigned char idata  ssbuf[SCOUNT+1];
  93          //**********************
  94          unsigned char  data  rbuf[RCOUNT+1];
  95          uchar rtemp;
  96          
  97          //======================================================================
  98          //串口接收中断
  99          void UART_ISR(void) interrupt 4 using 3//当接收完一个字节RI置1进入Recieve中断
 100          {
 101   1      rtemp=SBUF; //保存所读取的数据
 102   1      RI=0; //RI清0以等待下次发送     // set flag for polling in main loop
 103   1      
 104   1      //rflag--1 已接收到AA,2--命令字节已接收到
 105   1      if (rflag==1)
 106   1      {
 107   2              rbuf[rpoint]=rtemp;
 108   2              if (rpoint<RCOUNT)
 109   2              {
 110   3                      rpoint++;
 111   3              }
 112   2      }
 113   1      if (rtemp==0xaa)
 114   1      {
 115   2              rpoint=0;
 116   2              rflag=1;
 117   2      }
C51 COMPILER V8.02   BB                                                                    04/17/2008 19:49:59 PAGE 3   

 118   1      }
 119          
 120          //=======================================================================
 121          //串口发送
 122          void sendm(unsigned char sl)
 123          {
 124   1      EA=0;//dellete????????????????????????????duplex
 125   1      for(spoint=0;spoint<sl;spoint++)                        // send string
 126   1      {
 127   2          // clear transmit interrupt flag
 128   2              SBUF=ssbuf[spoint];      //start sending one byte
 129   2              while (!TI);
 130   2              TI=0;   
 131   2        // wait until sent
 132   2      }
 133   1      EA=1;
 134   1      }
 135          
 136          //=======================================================================
 137          //串口初始化
 138          void UART_init(void)
 139          {       
 140   1              SCON =0x50;                             //SCON: serail mode 1, 8-bit UART, enable ucvr
 141   1              SSTAT=0x60;                             // separate Rx / Tx interrupts
 142   1      
 143   1              BRGR0=0xF0;                             // setup BRG for 9600 baud @ 7.373MHz internal RC oscillator
 144   1              BRGR1=0x02;
 145   1      
 146   1      
 147   1              BRGCON = 0x03;                  // enable BRG
 148   1      
 149   1      //header of sending string
 150   1              rpoint=0;
 151   1              spoint=0;
 152   1              rbuf[RCOUNT]=0;
 153   1              ssbuf[SCOUNT]=0;
 154   1              ssbuf[0]=0xaa;
 155   1      
 156   1              rflag=0;
 157   1      
 158   1      
 159   1              ESR=1; //ESR=Enable Serial Recieve
 160   1              EST=1; //EST=Enable Serial Transmit
 161   1      //      EA=1; //使能中断
 162   1      
 163   1      }
 164          
 165          //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 166          //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 167          
 168          void initio(void)
 169          {
 170   1      
 171   1              P0M1 = 0x00;
 172   1              P0M2 = 0x00;//P0                        
 173   1      
 174   1              P1M1 = 0x2c;                            
 175   1              P1M2 = 0x0c; //P1.2 P1.3  0C OUTPUT
 176   1      
 177   1              P2M1 = 0x00;                    
 178   1              P2M2 = 0x00;

⌨️ 快捷键说明

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