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

📄 1621c.lst

📁 C51-HT1621-C语言读写驱动模块
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V3.20,  SN-0  1621C                                                           05/09/07  15:51:37  PAGE 1   


DOS C51 COMPILER V3.20, COMPILATION OF MODULE 1621C
OBJECT MODULE PLACED IN 1621C.OBJ
COMPILER INVOKED BY: C:\OMF51\BIN\C51.EXE 1621C.C SMALL CODE OE DB OJ(1621C.OBJ) OT(5) 

stmt level    source

   1          #include <reg52.h>
   2          /*设定1621 command低8位数据*/
   3          /**************************/
   4          #define RC256			0x18		/*系统时钟选择为:片内RC振荡器*/ 
   5          #define X32K			0x14 		/*系统时钟选择为:晶振*/
   6          #define E256			0x1C 		/*系统时钟选择为:外部时钟源*/
   7          /**************************/
   8          #define BIAS			0x29 		/*1/3 偏压4背极*/
   9          #define SYSEN			0x01		/*打开系统时钟*/ 
  10          #define SYSDIS			0x00 		/*关闭系统时钟和*/
  11          #define LCDON			0x03		/*打开偏压发生器*/ 
  12          #define LCDOFF			0x02		/*关闭偏压发生器*/
  13          /**************************/
  14          #define ToneOn			0x09 		/*打开音频输出*/   
  15          #define ToneOff 		0x08		/*关闭音频输出*/
  16          #define Tone4k			0x40 		/*音频输出频率为4K*/
  17          #define Tone2k			0x60		/*音频输出频率为2K*/
  18          /**************************/        
  19          #define TIMEREN 		0x06 		/*时基输出使能*/ 
  20          #define TIMERDIS		0x04 		/*时基输出禁能*/
  21          #define CLRTIME			0x0C 		/*清零进基发生器*/
  22          /**************************/
  23          #define WDTEN			0x07 		/*使能WDT溢出标志输出*/
  24          #define WDTDIS			0x05 		/*禁止WDT溢出标志输出*/
  25          #define CLRWDT			0x0E		/*清零WDT*/
  26          /**************************/
  27          #define IRQEN			0x88 		/*使能IRQ输出*/
  28          #define IRQDIS			0x80 		/*禁止IRQ输出*/
  29          /**************************/
  30          /* cpu 晶振11.0596        */
  31          /**************************/
  32          sbit WRITE = P1^0;
  33          sbit SDATA = P1^1;
  34          sbit CS = P1^4;
  35          unsigned char buff[16];
  36          /**************************/
  37          unsigned int wait_time;
  38          unsigned char num;
  39          unsigned char move_data;
  40          /**************************/
  41          sbit WDI = P1^6;
  42          sbit SYBJ = P1^7;
  43          void install_cpu()
  44          {
  45   1      	PSW=0;
  46   1      	TMOD=0x21;   
  47   1      	TH0=0xfc;    /*1ms*/
  48   1      	TL0=0x66;    
  49   1      	TH1=0x0fd;   /* 9600 */ 
  50   1      	TL1=0x0fd;
  51   1      	SCON=0xf0;   /* 9bit */ 
  52   1      	TCON=0x50;   
  53   1      	T2CON=0x0;
  54   1      	T2MOD=0x0;
  55   1      	ET0=1;
C51 COMPILER V3.20,  SN-0  1621C                                                           05/09/07  15:51:37  PAGE 2   

  56   1      /*	ES=1;*/
  57   1      	PT0=1;
  58   1      	EA=1;
  59   1      }
  60          void install_bit()
  61          {
  62   1      	void install_1621();
  63   1      	unsigned char i; 
  64   1      	SYBJ=0;
  65   1      	install_1621();
  66   1      	for(i=0;i<16;i++)
  67   1      	{
  68   2      		buff[i]=0;
  69   2      	}
  70   1      	num=0;
  71   1      	move_data=1;
  72   1      }
  73          void test()
  74          {
  75   1      	unsigned char i;
  76   1      	if(num<16)
  77   1      	{
  78   2      		if(buff[num]==255)
  79   2      		{
  80   3      			num++;
  81   3      			move_data=1;
  82   3      		}
  83   2      		else
  84   2      		{
  85   3      			buff[num]=buff[num]|move_data;
  86   3      			move_data=move_data<<1;
  87   3      		}
  88   2      	}
  89   1      	else
  90   1      	{
  91   2      		for(i=0;i<16;i++)
  92   2      		{
  93   3      			buff[i]=0;
  94   3      		}
  95   2      		num=0;
  96   2      		move_data=1;
  97   2      	}
  98   1      }
  99          void main()
 100          {
 101   1      	void install_cpu();
 102   1      	void install_bit();
 103   1      	void SendData_to_1621(unsigned char adrr_1621,unsigned char *addr_showbuff,unsigned char data_count);
 104   1      	void Delay(unsigned int i);
 105   1      	void test();
 106   1      	install_cpu();
 107   1      	install_bit();
 108   1      
 109   1      	for(;;)
 110   1      	{
 111   2      		SendData_to_1621(0,buff,16);
 112   2      		Delay(500);
 113   2      		test();
 114   2      			
 115   2      	}
 116   1      }
 117          void t0_time()	interrupt 1
C51 COMPILER V3.20,  SN-0  1621C                                                           05/09/07  15:51:37  PAGE 3   

 118          {
 119   1      	ET0=0;
 120   1      	WDI=!WDI;
 121   1      	wait_time++;
 122   1      	TH0=0xfc;    /*1ms*/
 123   1      	TL0=0x66;
 124   1      	ET0=1;
 125   1      }
 126          void Delay(unsigned int i)
 127          {
 128   1      	wait_time=0;
 129   1      	while(wait_time<i);
 130   1      }
 131          /**************************/
 132          /*install 1621*/
 133          void install_1621()
 134          {
 135   1      	void Bit_wr_install();
 136   1      	void Bit_wr(unsigned char buff,unsigned char num);
 137   1      	void Bit_wr_end();
 138   1      	Bit_wr_install();
 139   1      	Bit_wr(0x80,0x03);
 140   1      	
 141   1      	Bit_wr(SYSEN,0x08);
 142   1      	Bit_wr(0x00,0x01);
 143   1      
 144   1      	Bit_wr(LCDON,0x08);
 145   1      	Bit_wr(0x00,0x01);
 146   1      
 147   1      	Bit_wr(0x0d,0x08);
 148   1      	Bit_wr(0x00,0x01);
 149   1      
 150   1      	Bit_wr(RC256,0x08);
 151   1      	Bit_wr(0x00,0x01);
 152   1      
 153   1      	Bit_wr(BIAS,0x08);
 154   1      	Bit_wr(0x00,0x01);
 155   1      
 156   1      	Bit_wr_end();
 157   1      }
 158          /*发送1个命令子程序*/
 159          void SendCommand_to_1621(unsigned char command_H,unsigned char command_L)
 160          {
 161   1      	void Bit_wr_install();
 162   1      	void Bit_wr(unsigned char buff,unsigned char num);
 163   1      	void Bit_wr_end();
 164   1      	Bit_wr_install();
 165   1      	Bit_wr(command_H,0x03);
 166   1      	Bit_wr(command_L,0x08);
 167   1      	Bit_wr(0x00,0x01);
 168   1      	Bit_wr_end();
 169   1      }
 170          /*发送N个数据子程序*/
 171          void SendData_to_1621(unsigned char addr_1621,unsigned char *addr_showbuff,unsigned char data_count)
 172          {
 173   1      	void Bit_wr_install();
 174   1      	void Bit_wr(unsigned char buff,unsigned char num);
 175   1      	unsigned char i;
 176   1      	Bit_wr_install();
 177   1      	Bit_wr(0x80,0x01);
 178   1      	Bit_wr((addr_1621|0x40),0x08);
 179   1      	for(i=0;i<16;i++)
C51 COMPILER V3.20,  SN-0  1621C                                                           05/09/07  15:51:37  PAGE 4   

 180   1      	{
 181   2      		Bit_wr(*(addr_showbuff+i),0x08);
 182   2      	}
 183   1      }
 184          /*即起动1621初始化子程序*/
 185          void Bit_wr_install()
 186          {
 187   1      	CS=1;
 188   1      	WRITE=1;
 189   1      	CS=0;
 190   1      }
 191          void Bit_wr_end()
 192          {
 193   1      	CS=1;
 194   1      }
 195          /*发送字节数据子程序*/
 196          void Bit_wr(unsigned char buff,unsigned char num)
 197          {
 198   1      	unsigned char n;
 199   1      	for(n=0;n<num;n++)
 200   1      	{
 201   2      		if((buff&0x80)==0x80)
 202   2      		{
 203   3      			SDATA=1;
 204   3      		}
 205   2      		else
 206   2      		{
 207   3      			SDATA=0;
 208   3      		}
 209   2      		WRITE=0;
 210   2      		buff=buff<<1;
 211   2      		WRITE=1;
 212   2      	}
 213   1      }
C51 COMPILER V3.20,  SN-0  1621C                                                           05/09/07  15:51:37  PAGE 5   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION install_cpu (BEGIN)
                                           ; SOURCE LINE # 43
                                           ; SOURCE LINE # 44
                                           ; SOURCE LINE # 45
0000 E4            CLR     A
0001 F5D0          MOV     PSW,A
                                           ; SOURCE LINE # 46
0003 758921        MOV     TMOD,#021H
                                           ; SOURCE LINE # 47
0006 758CFC        MOV     TH0,#0FCH
                                           ; SOURCE LINE # 48
0009 758A66        MOV     TL0,#066H
                                           ; SOURCE LINE # 49
000C 758DFD        MOV     TH1,#0FDH
                                           ; SOURCE LINE # 50
000F 758BFD        MOV     TL1,#0FDH
                                           ; SOURCE LINE # 51
0012 7598F0        MOV     SCON,#0F0H
                                           ; SOURCE LINE # 52
0015 758850        MOV     TCON,#050H
                                           ; SOURCE LINE # 53
0018 F5C8          MOV     T2CON,A
                                           ; SOURCE LINE # 54
001A F5C9          MOV     T2MOD,A
                                           ; SOURCE LINE # 55
001C D2A9          SETB    ET0
                                           ; SOURCE LINE # 57
001E D2B9          SETB    PT0
                                           ; SOURCE LINE # 58
0020 D2AF          SETB    EA
                                           ; SOURCE LINE # 59
0022 22            RET     
             ; FUNCTION install_cpu (END)

             ; FUNCTION install_bit (BEGIN)
                                           ; SOURCE LINE # 60
                                           ; SOURCE LINE # 61
                                           ; SOURCE LINE # 64
0000 C297          CLR     SYBJ
                                           ; SOURCE LINE # 65
0002 120000  R     LCALL   install_1621
                                           ; SOURCE LINE # 66
;---- Variable 'i' assigned to Register 'R7' ----
0005 E4            CLR     A
0006 FF            MOV     R7,A
0007         ?C0002:
                                           ; SOURCE LINE # 67
                                           ; SOURCE LINE # 68
0007 7F10          MOV     R7,#010H
0009 7800    R     MOV     R0,#buff
000B E4            CLR     A
000C         ?C0035:
000C F6            MOV     @R0,A
000D 08            INC     R0
000E DFFC          DJNZ    R7,?C0035
                                           ; SOURCE LINE # 69
0010 7F10          MOV     R7,#010H
0012         ?C0003:
                                           ; SOURCE LINE # 70
C51 COMPILER V3.20,  SN-0  1621C                                                           05/09/07  15:51:37  PAGE 6   

0012 E4            CLR     A
0013 F500    R     MOV     num,A
                                           ; SOURCE LINE # 71
0015 750001  R     MOV     move_data,#01H
                                           ; SOURCE LINE # 72
0018 22            RET     
             ; FUNCTION install_bit (END)

             ; FUNCTION test (BEGIN)
                                           ; SOURCE LINE # 73
                                           ; SOURCE LINE # 74
                                           ; SOURCE LINE # 76
0000 E500    R     MOV     A,num
0002 C3            CLR     C
0003 9410          SUBB    A,#010H
0005 501B          JNC     ?C0006
                                           ; SOURCE LINE # 77
                                           ; SOURCE LINE # 78
0007 7400    R     MOV     A,#buff
0009 2500    R     ADD     A,num
000B F8            MOV     R0,A
000C E6            MOV     A,@R0
000D FF            MOV     R7,A
000E B4FF06        CJNE    A,#0FFH,?C0007
                                           ; SOURCE LINE # 79
                                           ; SOURCE LINE # 80
0011 0500    R     INC     num
                                           ; SOURCE LINE # 81
0013 750001  R     MOV     move_data,#01H
                                           ; SOURCE LINE # 82
0016 22            RET     
0017         ?C0007:
                                           ; SOURCE LINE # 84
                                           ; SOURCE LINE # 85
0017 E500    R     MOV     A,move_data
0019 4F            ORL     A,R7
001A F6            MOV     @R0,A
                                           ; SOURCE LINE # 86
001B E500    R     MOV     A,move_data
001D 25E0          ADD     A,ACC

⌨️ 快捷键说明

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