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

📄 ht1621.lst

📁 单片机接口技术实用子程序配套源代码:里面有许多基本实用的例子
💻 LST
字号:
C51 COMPILER V7.06   HT1621                                                                04/15/2005 20:32:16 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE HT1621
OBJECT MODULE PLACED IN ht1621.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil20\C51\BIN\C51.EXE ht1621.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //-----------------------函数声明--------------------------------------------------------
   2          #include <reg52.h>
   3          #include <intrins.h>
   4          #include <stdio.h>
   5          #include <absacc.h>
   6          #define uchar unsigned char
   7          #define uint unsigned int
   8          //-----------------------定义HT1261 LCD控制寄存器命令參數-----------------------------------------------
   9          #define BIAS 0X52
  10          #define RC256 0X30
  11          #define SYSTEN 0X02
  12          #define SYSDIS 0X00
  13          #define LCDON 0X06
  14          //-----------------------HT1261 LCD接口管脚声明--------------------------------------------------------
  15          //sbit lc=PSW^0;
  16          sbit lcd_data=P1^0;
  17          sbit lcd_cs=P1^1;
  18          sbit lcd_wr=P1^3;
  19          //-----------------------定义变量--------------------------------------------------------
  20          #define data_num 16
  21          uchar X1[data_num];          //X1用于存储需要写入显示寄存器的数据
  22          //--------------------------------------------------------------------------------------------------
  23          // 函数名称: lcdint
  24          // 函数功能: 初始化HT1621
  25          //--------------------------------------------------------------------------------------------------
  26          void lcdint(void)  //初始化HT1621.
  27          {
  28   1      lcd_cs=0;
  29   1      lcd_wr=1;
  30   1      _nop_();
  31   1      lcd_wr=0;
  32   1      _nop_();
  33   1      }
  34          //--------------------------------------------------------------------------------------------------
  35          // 函数名称: sendb0
  36          // 入口参数: id,n id为要送到SPI总线上的数据,n表示把id高位开始的n位送出
  37          // 函数功能: 基本操作,单片机写数据到总线上,连续送n位数据
  38          //            id的最高位为第一位,连续n位数据
  39          //--------------------------------------------------------------------------------------------------
  40          void sendb0(uchar id,uchar n)
  41          {
  42   1      uchar i; 
  43   1      for(i=0;i<n;i++)
  44   1      {
  45   2      if(id>=0x80)    
  46   2        lcd_data=1; 
  47   2      else
  48   2        lcd_data=0;
  49   2        lcd_wr=1;
  50   2        _nop_();
  51   2        _nop_();
  52   2        lcd_wr=0;
  53   2        _nop_();
  54   2        _nop_();
  55   2        id<<=1;
C51 COMPILER V7.06   HT1621                                                                04/15/2005 20:32:16 PAGE 2   

  56   2      }
  57   1      }
  58          //--------------------------------------------------------------------------------------------------
  59          // 函数名称: sendcom
  60          // 入口参数: command
  61          // 函数功能:送命令字
  62          //--------------------------------------------------------------------------------------------------
  63          void sendcom(uchar command)
  64          {
  65   1      uchar a=0x80,i=4,d=8;
  66   1      lcdint();
  67   1      sendb0(a,i);
  68   1      sendb0(command,d);
  69   1      lcd_wr=1;
  70   1      lcd_cs=1;
  71   1      lcd_data=1;
  72   1      }
  73          //--------------------------------------------------------------------------------------------------
  74          // 函数名称: INT1621
  75          // 函数功能: 初始化设置各控制寄存器
  76          //--------------------------------------------------------------------------------------------------
  77          void INT1621(void)               
  78          {
  79   1      uchar command;
  80   1      command=BIAS;             // 1/3 bais . 4 duty
  81   1      sendcom(command);
  82   1      command=RC256;         //启动內部256KRC 振荡器
  83   1      sendcom(command);
  84   1      command=SYSTEN;       
  85   1      sendcom(command);
  86   1      command=LCDON;         //启动LCD
  87   1      sendcom(command);
  88   1      }
  89          //--------------------------------------------------------------------------------------------------
  90          // 函数名称: send1621data
  91          // 函数功能: 写数据到ht1621内部的显示缓冲区RAM,往HT1621 display buffer RAM送要显示的数据
  92          //--------------------------------------------------------------------------------------------------
  93          void send1621data()                     
  94          {
  95   1      uchar a=0x01,b=0x80,c=0x40,d=0x08;
  96   1      uchar j,k;
  97   1      lcdint(); 
  98   1      sendb0(b,a);
  99   1      sendb0(c,d);              //从display buffer RAM 0x0000 开始
 100   1      for(j=0;j<16;j++)         //将X1[]数组的数据逐个送到RAM
 101   1      { 
 102   2      k=X1[j];     
 103   2      sendb0(k,d);  
 104   2      }
 105   1      }
 106          //--------------------------------------------------------------------------------------------------
 107          // 函数名称: 主函数
 108          //--------------------------------------------------------------------------------------------------
 109          main()
 110          {
 111   1      for(;;)
 112   1      {  
 113   2      INT1621();  
 114   2      send1621data();
 115   2      //                  ...............
 116   2      //                  ...............
 117   2                      }
C51 COMPILER V7.06   HT1621                                                                04/15/2005 20:32:16 PAGE 3   

 118   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    145    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     16    ----
   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 + -