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

📄 led.i

📁 使用keil开发的用于单片机AT89S52的4汉字16*16点阵显示电路
💻 I
字号:
#line 1 "led.c" /0   #line 1 "C:\KEIL\C51\INC\REG52.H" /0       sfr P0    = 0x80; sfr P1    = 0x90; sfr P2    = 0xA0; sfr P3    = 0xB0; sfr PSW   = 0xD0; sfr ACC   = 0xE0; sfr B     = 0xF0; sfr SP    = 0x81; sfr DPL   = 0x82; sfr DPH   = 0x83; sfr PCON  = 0x87; sfr TCON  = 0x88; sfr TMOD  = 0x89; sfr TL0   = 0x8A; sfr TL1   = 0x8B; sfr TH0   = 0x8C; sfr TH1   = 0x8D; sfr IE    = 0xA8; sfr IP    = 0xB8; sfr SCON  = 0x98; sfr SBUF  = 0x99;   sfr T2CON  = 0xC8; sfr RCAP2L = 0xCA; sfr RCAP2H = 0xCB; sfr TL2    = 0xCC; sfr TH2    = 0xCD;     sbit CY    = PSW^7; sbit AC    = PSW^6; sbit F0    = PSW^5; sbit RS1   = PSW^4; sbit RS0   = PSW^3; sbit OV    = PSW^2; sbit P     = PSW^0;     sbit TF1   = TCON^7; sbit TR1   = TCON^6; sbit TF0   = TCON^5; sbit TR0   = TCON^4; sbit IE1   = TCON^3; sbit IT1   = TCON^2; sbit IE0   = TCON^1; sbit IT0   = TCON^0;   sbit EA    = IE^7; sbit ET2   = IE^5;   sbit ES    = IE^4; sbit ET1   = IE^3; sbit EX1   = IE^2; sbit ET0   = IE^1; sbit EX0   = IE^0;   sbit PT2   = IP^5; sbit PS    = IP^4; sbit PT1   = IP^3; sbit PX1   = IP^2; sbit PT0   = IP^1; sbit PX0   = IP^0;   sbit RD    = P3^7; sbit WR    = P3^6; sbit T1    = P3^5; sbit T0    = P3^4; sbit INT1  = P3^3; sbit INT0  = P3^2; sbit TXD   = P3^1; sbit RXD   = P3^0;   sbit SM0   = SCON^7; sbit SM1   = SCON^6; sbit SM2   = SCON^5; sbit REN   = SCON^4; sbit TB8   = SCON^3; sbit RB8   = SCON^2; sbit TI    = SCON^1; sbit RI    = SCON^0;   sbit T2EX  = P1^1;   sbit T2    = P1^0;     sbit TF2    = T2CON^7; sbit EXF2   = T2CON^6; sbit RCLK   = T2CON^5; sbit TCLK   = T2CON^4; sbit EXEN2  = T2CON^3; sbit TR2    = T2CON^2; sbit C_T2   = T2CON^1; sbit CP_RL2 = T2CON^0;  #line 2 "led.c" /0   #line 1 "C:\KEIL\C51\INC\MATH.H" /0      #pragma SAVE #pragma REGPARMS extern char  cabs  (char  val); extern int    abs  (int   val); extern long  labs  (long  val); extern float fabs  (float val); extern float sqrt  (float val); extern float exp   (float val); extern float log   (float val); extern float log10 (float val); extern float sin   (float val); extern float cos   (float val); extern float tan   (float val); extern float asin  (float val); extern float acos  (float val); extern float atan  (float val); extern float sinh  (float val); extern float cosh  (float val); extern float tanh  (float val); extern float atan2 (float y, float x);  extern float ceil  (float val); extern float floor (float val); extern float modf  (float val, float *n); extern float fmod  (float x, float y); extern float pow   (float x, float y);  #pragma RESTORE  #line 3 "led.c" /0     unsigned char code tmp[]= {   0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xC0,0x07,0xDE,0xF7,0xDE,0xF7,0xC0,0x07,0xDE,0xF7, 0xDE,0xF7,0xDE,0xF7,0xC0,0x07,0xDE,0xF7,0xFE,0xFD,0xFE,0xFD,0xFF,0x01,0xFF,0xFF,    0xFF,0xFF,0xC0,0x0F,0xFF,0xDF,0xFF,0xBF,0xFF,0x7F,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB, 0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFA,0xFF,0xFD,0xFF,    0xF9,0xF7,0x87,0x77,0xF7,0xB7,0xF7,0xB7,0x01,0xF7,0xE7,0x77,0xE3,0xB7,0xD5,0xB7, 0xD7,0xF1,0xB7,0x87,0x74,0x77,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,    0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0x00,0x01,0xFE,0xFF,0xFD,0x7F, 0xFD,0x7F,0xFD,0xBF,0xFB,0xBF,0xFB,0xDF,0xF7,0xEF,0xEF,0xE7,0xDF,0xF1,0xBF,0xFB,   0xFF,0x7F,0xFF,0x7F,0x03,0x7F,0xFA,0x01,0x7A,0xFB,0xB5,0xB7,0xD7,0xBF,0xEF,0xBF, 0xE7,0xBF,0xE7,0x9F,0xDB,0x5F,0xDB,0x6F,0xBE,0xE7,0x79,0xF1,0xC7,0xFB,0xFF,0xFF,    0xBF,0xFF,0xDE,0x7F,0xC9,0x83,0xDB,0xBB,0xFB,0xBB,0xFB,0xBB,0x1B,0xBB,0xDB,0xBB, 0xDA,0xBB,0xD9,0xAB,0xDB,0xB7,0xDF,0xBF,0xDF,0xBF,0xAF,0xFF,0x70,0x01,0xFF,0xFF,    0xF6,0xFF,0xF6,0x7F,0xEE,0xFB,0xEC,0x01,0xDD,0xFB,0xCB,0xB7,0x97,0xBF,0x5D,0xAF, 0xDC,0xB7,0xDD,0xB7,0xDB,0xBB,0xDB,0xB9,0xD7,0xBB,0xDE,0xBF,0xDF,0x7F,0xFF,0xFF	 ,    0xFF,0x7F,0xFE,0xFF,0x08,0x03,0x69,0xB3,0x6A,0xAB,0x68,0x03,0x6B,0x1B,0x6A,0xAB, 0x69,0xAB,0x0B,0xBB,0x60,0x01,0xFF,0x5F,0xFE,0xEF,0xFD,0xF7,0xFB,0xF9,0xF7,0xFB  };    unsigned char bdata buff[8];	 sbit  SHCLK =  P3^7; sbit  STCLK= P3^6; sbit SERIN  = P3^5;	 sbit EN154 = P2^7;  void display(unsigned char line); void trans(void); void delay(void);  void main(void) {	 trans(); }  void trans(void) {	  unsigned char data line2,line; unsigned int data m1,m2,j; unsigned int data size =  sizeof(tmp) - 31; unsigned int data i = 1; unsigned int k = 0; signed char num ;   while ( k++ < sizeof(tmp)) { for(line = 0; line < 16; ++line ) {	num = i/8; line2 = 2 * line; if(num < 8) buff[num] = ((tmp[line2]>> ((num + 1) * 8 - i)) | buff[num]) ; for(--num,j=0; num >= 0 ; --num,++j) { if (num >= 8) {	j = (num - 7); num =7;	}  m1 = (j/2)*30 + j;  m2 = ((j+1) / 2) * 30 +(j+1);	 if(m2 > size )  	m2 -= sizeof(tmp) ;	 if(m1 > size )  	m1 -= sizeof(tmp) ; buff[num] = (tmp[line2+m1] << (i-(num+j)*8-8) | tmp[line2+m2]>>((num+j)*8-i+16));  } display(16-line); for(num = 8; num != 0; --num)   buff[num-1] = 0xff; } if(i > (sizeof(tmp) + 63))  i = 0x40; ++i;	 }  }   void display(unsigned char line) {  unsigned char i = 8;  unsigned char j = 0; 	 EN154 = 1; STCLK = 0;  for(i = 8; i!=0; --i) { ACC = buff[i-1]; #pragma asm MOV R1,#8 PUSHONE: CLR P3.7 RLC A MOV P3.5, C SETB P3.7 DJNZ 	R1,PUSHONE #pragma endasm }  STCLK = 1;  P2 = (16-line) * 8 ;			    }       

⌨️ 快捷键说明

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