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

📄 hd44780.lst

📁 stc89c58的c51测试程序
💻 LST
字号:
C51 COMPILER V7.50   HD44780                                                               09/13/2007 21:34:44 PAGE 1   


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

line level    source

   1          #include <reg51.h>
   2          #include <intrins.h>
   3          
   4          sbit GND_LCD=P1^7;
   5          sbit rs=P1^0;
   6          sbit rw=P1^1;
   7          sbit e=P1^2;
   8          
   9          unsigned char busy(void);
  10          void ctrl(unsigned char);
  11          void wd_h(unsigned char);
  12          void wd_l(unsigned char);
  13          unsigned char rd(void);
  14          void write(unsigned char);
  15          void init(void);
  16          void NOP(void);
  17          
  18          void disp(unsigned char);
  19          
  20          
  21          unsigned int time;
  22          
  23          void int_t0 (void) interrupt 1 {
  24   1       TL0=TL0+30;TH0=0xfb;
  25   1       time++;
  26   1      }
  27          
  28          void wait(unsigned int w){ 
  29   1       time=0;
  30   1       while (time<w) {}
  31   1      }
  32          
  33          
  34          void init(void) {
  35   1       unsigned char i;
  36   1       P1=0;
  37   1       for (i=0;i<2;i++) {
  38   2        wd_l(0x30);
  39   2        wait(5);
  40   2       }
  41   1       wd_h(0x20);
  42   1       ctrl(0x28);
  43   1       ctrl(0x8);
  44   1       ctrl(3);
  45   1       ctrl(6);
  46   1       disp(0);
  47   1       ctrl(1);
  48   1       ctrl(8);
  49   1       ctrl(0xe);
  50   1       ctrl(0x80);
  51   1      }
  52          
  53          
  54          unsigned char busy(void){
  55   1       P1=0;
C51 COMPILER V7.50   HD44780                                                               09/13/2007 21:34:44 PAGE 2   

  56   1       return(rd());
  57   1      }
  58          
  59          unsigned char rd(void) {
  60   1       unsigned char dat0,dat1;
  61   1       rw=1;
  62   1       rs=0;
  63   1       P1=P1|0x78;
  64   1       e=1;
  65   1       dat0=P1;
  66   1       e=0;
  67   1       e=1;
  68   1       dat1=P1;
  69   1       P1=0;
  70   1       return(((dat0<<1)&0xf0) | ((dat1>>3)&0xf) );
  71   1      }
  72          
  73          void ctrl(unsigned char dat){
  74   1       while (busy()>0x7f) {};
  75   1       rw=rs=0;
  76   1       wd_h(dat);
  77   1       wd_l(dat);
  78   1      }
  79          void wd_h(unsigned char dat){
  80   1       e=1;
  81   1       P1=P1|((dat&0xf0)>>1);
  82   1       e=0;
  83   1       P1=P1&0x87;
  84   1      }
  85          void wd_l(unsigned char dat){
  86   1       e=1;
  87   1       P1=P1|((dat&0xf)<<3);
  88   1       e=0;
  89   1       P1=0;
  90   1      }
  91          void write(unsigned char dat) {
  92   1       while (busy()>0x7f) {};
  93   1       rw=0;
  94   1       rs=1;
  95   1       wd_h(dat);
  96   1       wd_l(dat);
  97   1      }
  98          
  99          //===============HD44780读写程序====================================
 100          //===================================================
 101          void disp(unsigned char i) {
 102   1       unsigned char j;
 103   1       ctrl(1);
 104   1       ctrl(0x80);
 105   1       for (j=0;j<6;j++) write(rd[i][j]);
*** ERROR C216 IN LINE 105 OF HD44780.C: subscript on non-array or too many dimensions
 106   1       write(' ');
 107   1       ctrl(0xc0);
 108   1       write('-');
 109   1       write('-');
 110   1       write('-');
 111   1       write('-');
 112   1       write('-');
 113   1       write('-');
 114   1       write('k');
 115   1       write('m');
 116   1      }
C51 COMPILER V7.50   HD44780                                                               09/13/2007 21:34:44 PAGE 3   


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

⌨️ 快捷键说明

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