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

📄 lcm.lst

📁 基于AD9954的扫频仪程序设计
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V8.02   LCM                                                                   04/06/2008 20:10:28 PAGE 1   


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

line level    source

   1          //***********************************************************************
   2          //                                              液晶控制芯片ST7920驱动源文件                                    *
   3          //                                                                                                                                              *
   4          //硬件连接说明:                                                                                                                 *
   5          //                                                                                                                                              *
   6          //                              RS(CS)    -----------------------------  P3^1                   *
   7          //                              R/W(STD)  -----------------------------  P3^4                   *
   8          //                              E(SCLK)   -----------------------------  P3^5                   *
   9          //                              PSB       -----------------------------  P0^1                   *
  10          //                              RST       -----------------------------  P0^0                   *
  11          //                              DB0       -----------------------------  P1^0                   *
  12          //                              DB1       -----------------------------  P1^1                   *
  13          //                              DB2       -----------------------------  P1^2                   *
  14          //                              DB3       -----------------------------  P1^3                   *
  15          //                              DB4       -----------------------------  P1^4                   *
  16          //                              DB5       -----------------------------  P1^5                   *
  17          //                              DB6       -----------------------------  P1^6                   *
  18          //                              DB7(BUSY) -----------------------------  P1^7                   *
  19          //                                                                                                                                              *
  20          //***********************************************************************
  21          
  22          #include <reg52.h>
  23          #include<intrins.h>
  24          #include<string.h>
  25          #define uchar unsigned char
  26          #define uint  unsigned int
  27          
  28          #define  COUNT    0x10
  29          
  30          //每行的首地址,基于RT12864-4M型液晶
  31          #define LINE_ONE_ADDRESS   0x80
  32          #define LINE_TWO_ADDRESS   0x90
  33          #define LINE_THREE_ADDRESS 0x88
  34          #define LINE_FOUR_ADDRESS  0x98
  35          
  36          //基本指令集预定义
  37          #define DATA                    1               //数据位
  38          #define COMMAND                 0                       //命令位
  39          #define CLEAR_SCREEN            0x01            //清屏  
  40          #define ADDRESS_RESET           0x02            //地址归零       
  41          #define BASIC_FUNCTION          0x30            //基本指令集
  42          #define EXTEND_FUNCTION         0x34            //扩充指令集
  43          
  44          
  45          //扩展指令集预定义
  46          #define AWAIT_MODE                      0x01            //待命模式      
  47          #define ROLLADDRESS_ON          0x03            //允许输入垂直卷动地址
  48          #define IRAMADDRESS_ON          0x02            //允许输入IRAM地址      
  49          #define SLEEP_MODE                      0x08            //进入睡眠模式
  50          #define NO_SLEEP_MODE           0x0c            //脱离睡眠模式
  51          #define GRAPH_ON                        0x36            //打开绘图模式
  52          #define GRAPH_OFF                       0x34            //关闭绘图模式
  53          
  54          
  55          //并行位定义
C51 COMPILER V8.02   LCM                                                                   04/06/2008 20:10:28 PAGE 2   

  56          sbit RS=P1^4;
  57          sbit RW=P1^5;
  58          sbit E= P1^6;
  59          
  60          sbit BUSY=P2^7;
  61          
  62          //控制位定义
  63          sbit PSB = P1^7;        //串并选择信号
  64          sbit RST = P3^0;        //复位信号
  65          
  66          
  67          uchar code Tab1[]="扫频仪";  //显示在第一行
  68          uchar code Tab2[]="起始频率:  3KHz";//显示在第二行
  69          uchar code Tab3[]="终止频率:  7KHz";//显示在第三行
  70          uchar code Tab4[]="扫描时间:  4s";//显示在第四行
  71          uchar code Tab5[]={0x54,0xf4};
  72          
  73          //*******************************************
  74          //*函数名称:void Parallel_Check_Busy(void)      *
  75          //*函数功能:并行方式查忙                                        *
  76          //*形式参数:无                                                          *
  77          //*形参说明:无                                                          *
  78          //*返回参数:无                                                          *
  79          //*使用说明:无                                                          *
  80          //*******************************************
  81          void Parallel_Check_Busy(void)
  82          {
  83   1              bit temp;
  84   1              P2 = 0xff;      //输入前置1
  85   1              RS = 0;         //指令
  86   1              RW = 1;         //读模式
  87   1              do
  88   1              {       
  89   2                  E  = 1;      //使能
  90   2                      temp = BUSY;
  91   2                  E  = 0;
  92   2              }
  93   1              while(temp);//等待不忙
  94   1      }
  95          
  96          
  97          //************************************************************************************
  98          //*函数名称:void Parallel_Write_LCD( bit b_Data_Command , unsigned char uc_Content ) *
  99          //*函数功能:并行模式向LCD发送数据或指令                                                                                          *
 100          //*形式参数:bit b_Data_Command , unsigned char uc_Content                                                        *
 101          //*形参说明:数据或指令的标志位,指令或数据的内容                                                                          *
 102          //*返回参数:无                                                                                                                                           *
 103          //*使用说明:无                                                                                                                                           *
 104          //************************************************************************************
 105          void Parallel_Write_LCD( bit b_Data_Command , unsigned char uc_Content )
 106          {
 107   1              Parallel_Check_Busy();
 108   1              if(b_Data_Command)
 109   1               {
 110   2                      RS = 1;   //数据
 111   2              RW = 0;   //写模式
 112   2               }
 113   1              else 
 114   1               {
 115   2              RS = 0;   //指令
 116   2              RW = 0;   //写模式
 117   2               }
C51 COMPILER V8.02   LCM                                                                   04/06/2008 20:10:28 PAGE 3   

 118   1              P2=uc_Content;//数据放到P1口上
 119   1              E = 1;
 120   1              _nop_();//很重要 
 121   1              _nop_();
 122   1              _nop_();
 123   1          E = 0;                                                                                                              
 124   1      }
 125          
 126          
 127          //********************************************
 128          //*函数名称:uc_Parallel_Read_LCD_Data            *
 129          //*函数功能:并行读LCD数据                                        *
 130          //*形式参数:无                                                           *
 131          //*形参说明:无                                                           *
 132          //*返回参数:读回的数据                                           *
 133          //*使用说明:无                                                           *
 134          //********************************************

⌨️ 快捷键说明

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