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

📄 comm.lst

📁 320*240点阵液晶(sed1335)驱动程序,keil c调试通过,io连接方式
💻 LST
字号:
C51 COMPILER V7.50   COMM                                                                  11/17/2005 00:01:59 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE COMM
OBJECT MODULE PLACED IN Comm.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Comm.c COMPACT BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //*************************************************************************
   2          //#include <REG51.H>  
   3          #include "comm.h"  
   4          //#include <Reg1210.H>
   5          #include "MSC1210.H"
   6          
   7          #define XTAL          6000000      // 18432000 XTAL frequency
   8          
   9          // defines for UART BAUDRATE
  10          #define BAUDRATE      4800          // 19200bps communication baudrate
  11          #define T2RELOAD   (65536-(XTAL/32/BAUDRATE))
  12          
  13          // defines for A/D Converter setup
  14          #define A_CLK      ((XTAL/1000000)-1)       // about 1MHz Analog Clock
  15          #define ANA_CLK    (XTAL/(A_CLK+1))         // precise Analog Clock
  16          #define DECIMATION (ANA_CLK/64/10)          // 10 Hz Decimation
  17          #define CONV_FREQ  (ANA_CLK/64/DECIMATION)  // Conversion Frequency
  18          
  19          #include <string.h>
  20          
  21          #define INBUF_LEN 32   //数据长度
  22          
  23          unsigned char inbuf1[INBUF_LEN];
  24          unsigned char count3=0;
  25          
  26          /********************************************************************* 
  27          *
  28          * 函 数 名: Com_serial_init
  29          * 功能描述: 串口初始化 
  30          * 函数说明:
  31          * 调用函数: 在源程序开头定义是否用w77e58或22。1184M晶振
  32          * 全局变量:
  33          * 输    入: 无
  34          * 返    回: 无
  35          * 设 计 者:    yang    日期:  2002-12-09
  36          * 修 改 者:            日期:  
  37          * 版    本:
  38          ***********************************************************************/
  39          void comm_init (void)
  40          {
  41   1              EA = 0;                         //CPU中断 disable
  42   1      /*
  43   1              TR1 = 0;                         //stop timer 1 
  44   1              TMOD  |= 0x20;          // 定时器1模式: 2(8位自动装载)
  45   1              CKCON |= 0x10;                  // Set timer 1 to clk/4         波特率*3
  46   1              PCON  |= 0x80;                  // 0x80=SMOD: 设置串口波特率倍频 波特率*2
  47   1              TH1    = 0xec;                  //确定波特率的定时器1自动重装数据  6.0M 0xf9=4800
  48   1      
  49   1              ET1  =  0;                      // disable timer 1 interrupt
  50   1              TR1  =  1;                       //* 定时器1运行
  51   1      
  52   1              SM0 = 0; SM1 = 1;               // serial port MODE 1
  53   1              SM2 = 0;                        // SM2=1时收到的第9位为1才置位RI_0标志
  54   1      */
  55   1      //      CKCON = 0;                        // 0 MOVX cycle stretch  CKCON        时钟控制
C51 COMPILER V7.50   COMM                                                                  11/17/2005 00:01:59 PAGE 2   

  56   1      //      PDCON = 0x14;                     // turn on ADC-Vref, SPI and Systimers        PDCON MSC1210 外围模块控制寄存
             -器
  57   1              REN = 1;                                //允许接收
  58   1              TI  = 0;                                //清除发送中断标志
  59   1              RI  = 0;                                //清除接收中断标志
  60   1              ES    = 1;                              //串口中断允许
  61   1              PS    = 0;                              //设量串口中断优先级低
  62   1              EA    = 1;              //CPU中断允许   
  63   1      }
  64          
  65          
  66          void Serial_init(void)
  67          {
  68   1              // Setup Serial Interface
  69   1              T2CON   = 0x34;                   // Use Timer 2 as baudrate generator  
  70   1              RCAP2H  = (T2RELOAD >> 8);        // baudrate reload factor
  71   1              RCAP2L  = T2RELOAD;
  72   1              SCON   = 0x52;                   // enable serial uart & receiver
  73   1              P3DDRL &= 0xF0;                   // set port pins of UART to input/strong drive output
  74   1              P3DDRL |= 0x07;                   // set port pins of UART to input/strong drive output
  75   1      }
  76          
  77          
  78          
  79          //向串口发送一个字符 
  80          void put_char_com(unsigned char ch)  
  81          {
  82   1          SBUF=ch;
  83   1          while(TI==0);
  84   1          TI=0;
  85   1      }
  86          
  87          //向串口发送一个字符串,strlen为该字符串长度 
  88          void put_string_com(unsigned char *str,unsigned int strlen)
  89          {
  90   1          unsigned int k=0;
  91   1          do 
  92   1          {
  93   2              put_char_com(*(str + k));
  94   2              k++;
  95   2          } while(k < strlen);
  96   1      }
  97          
  98          void get_string_com(unsigned char *c ,unsigned char n)
  99          {
 100   1              unsigned char i;
 101   1      
 102   1              while (count3 < n);
 103   1                      
 104   1              for (i=0;i<n;i++)
 105   1                      c[i]=inbuf1[i];
 106   1      
 107   1              count3=0;
 108   1      }
 109          
 110          //串口接收中断函数 
 111          void serial () interrupt 4 using 3 
 112          {
 113   1          if(RI)
 114   1          {
 115   2              RI = 0;
 116   2              inbuf1[count3]=SBUF;
C51 COMPILER V7.50   COMM                                                                  11/17/2005 00:01:59 PAGE 3   

 117   2      
 118   2                      if( (count3==(INBUF_LEN-1)))
 119   2                              count3=0;//如果串口接收的数据达到INBUF_LEN个
 120   2                      else
 121   2                              count3++;
 122   2          }
 123   1      
 124   1      //      send_char_com(read_flag);
 125   1      }
 126          
 127          
 128          
 129          
 130          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    176    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =     33       8
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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