📄 1.lis
字号:
039C 0000 .word 0
039E 0000 .word 0
03A0 .dbsym e data1 _data1 A[320:10:16]kI
03A0 _ROW::
03A0 0001 .byte 0,1
03A2 0203 .byte 2,3
03A4 0405 .byte 4,5
03A6 0607 .byte 6,7
03A8 0809 .byte 8,9
03AA 0A0B .byte 10,11
03AC 0C0D .byte 12,13
03AE 0E0F .byte 14,15
03B0 .dbsym e ROW _ROW A[16:16]kc
.area data(ram, con, rel)
0001 .dbfile E:\单片机\AVR程序\32x80大点阵\1.c
.area text(rom, con, rel)
0054 .dbfile E:\单片机\AVR程序\32x80大点阵\1.c
0054 .dbfunc e Send_Byte_DG _Send_Byte_DG fV
0054 ; i -> R20
0054 ; data -> R16
.even
0054 _Send_Byte_DG::
0054 0E940000 xcall push_gset1
0058 .dbline -1
0058 .dbline 230
0058 ; delay_1ms();
0058 ; }
0058 ; /***************************************************************************************************
0058 ; 迟时函数
0058 ; ****************************************************************************************************/
0058 ;
0058 ; /***************************************************************************************************
0058 ; 把上述代码放在code区
0058 ; ****************************************************************************************************/
0058 ; #pragma data:code
0058 ; //下面是汉字储存数组
0058 ; // 上述两参数为 存储字数,规定格式
0058 ; //下列代码按顺序,每两个为这个汉字的对应行要亮的点 1为亮0为灭
0058 ; const uchar data[19][32]={
0058 ; /*-- 文字: 过 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x40,0x10,0x20,0x10,0x30,0x10,0x20,0x10,0x07,0xFE,0x00,0x10,0x02,0x10,0xE1,0x10,
0058 ; 0x21,0x90,0x21,0x10,0x20,0x10,0x20,0x50,0x20,0x20,0x58,0x00,0x87,0xFE,0x00,0x00,
0058 ;
0058 ; //下面是数字10: 构造分法,用1与0的数码,把0的数码交替地放在1代码后面
0058 ; //0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x18,0x70,0x24,0x10,0x42,0x10,0x42,0x10,0x42,
0058 ; //0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x7c,0x18,0x00,0x00,0x00,0x00,
0058 ;
0058 ; /*-- 文字: 去 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
0058 ; 0x7F,0xFE,0x02,0x00,0x06,0x00,0x08,0x20,0x10,0x10,0x3F,0xF8,0x10,0x10,0x00,0x00,
0058 ;
0058 ; /*-- 文字: 属 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x3F,0xFC,0x20,0x04,0x3F,0xFC,0x20,0x00,0x2F,0xF8,0x20,0x80,0x27,0xF8,0x24,0x88,
0058 ; 0x27,0xF8,0x20,0x80,0x2F,0xFC,0x28,0xA4,0x48,0xF4,0x4B,0x14,0x88,0x04,0x08,0x0C,
0058 ;
0058 ; /*-- 文字: 于 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x00,0x00,0x3F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,
0058 ; 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x09,0x00,0x05,0x00,0x02,0x00,
0058 ;
0058 ; /*-- 文字: 死 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x00,0x00,0x7F,0xFE,0x08,0x40,0x08,0x40,0x1F,0x40,0x11,0x46,0x21,0x58,0x32,0x60,
0058 ; 0x4A,0x40,0x8A,0x40,0x04,0x40,0x04,0x42,0x08,0x42,0x30,0x42,0xC0,0x3E,0x00,0x00,
0058 ;
0058 ; /*-- 文字: 神 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x20,0x20,0x10,0x20,0x10,0x20,0xFD,0xFC,0x05,0x24,0x09,0x24,0x11,0xFC,0x39,0x24,
0058 ; 0x55,0x24,0x95,0xFC,0x11,0x24,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,
0058 ;
0058 ; /*-- 11文字: 空字 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//11
0058 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0058 ; /*-- 文字: 现 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x00,0x00,0xFF,0xF8,0x12,0x08,0x12,0x48,0x12,0x48,0x12,0x48,0x7E,0x48,0x12,0x48,
0058 ; 0x12,0x48,0x12,0xA8,0x1C,0xA0,0xE1,0x22,0x01,0x22,0x02,0x22,0x04,0x1E,0x08,0x00,
0058 ;
0058 ; /*-- 文字: 在 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x02,0x00,0x02,0x00,0x7F,0xFE,0x04,0x00,0x04,0x00,0x08,0x40,0x18,0x40,0x17,0xFC,
0058 ; 0x30,0x40,0x50,0x40,0x90,0x40,0x10,0x40,0x10,0x40,0x17,0xFE,0x10,0x00,0x00,0x00,
0058 ;
0058 ; /*-- 文字: 与 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x00,0x00,0x08,0x00,0x08,0x04,0x0F,0xFE,0x08,0x00,0x08,0x00,0x0F,0xFC,0x00,0x04,
0058 ; 0x00,0x04,0x00,0x24,0x7F,0xF4,0x00,0x04,0x00,0x04,0x00,0x48,0x00,0x30,0x00,0x00,
0058 ;
0058 ; /*-- 文字: 未 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x01,0x00,0x01,0x00,0xFF,0xFE,0x03,0x00,
0058 ; 0x03,0x80,0x05,0x40,0x05,0x20,0x09,0x18,0x31,0x0E,0xC1,0x04,0x01,0x00,0x01,0x00,
0058 ;
0058 ; /*-- 文字: 来 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x01,0x00,0x01,0x00,0x3F,0xFC,0x01,0x00,0x09,0x30,0x05,0x20,0x03,0x40,0x7F,0xFE,
0058 ; 0x01,0x80,0x03,0x40,0x05,0x20,0x09,0x18,0x31,0x0E,0xC1,0x04,0x01,0x00,0x01,0x00,
0058 ;
0058 ; /*-- 文字: 却 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x08,0x00,0x08,0x7C,0x08,0x44,0x7F,0x44,0x08,0x44,0x08,0x44,0x08,0x44,0xFF,0x44,
0058 ; 0x10,0x44,0x12,0x44,0x21,0x44,0x27,0xD4,0x79,0x48,0x20,0x40,0x00,0x40,0x00,0x40,
0058 ;
0058 ; /*-- 文字: 由 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,
0058 ; 0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x20,0x08,0x00,0x00,
0058 ;
0058 ; /*-- 文字: 我 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x06,0x40,0x38,0x50,0x08,0x48,0x08,0x48,0x08,0x40,0xFF,0xFE,0x08,0x40,0x08,0x48,
0058 ; 0x0E,0x28,0x38,0x30,0xC8,0x20,0x08,0x50,0x09,0x92,0x08,0x0A,0x28,0x06,0x10,0x02,
0058 ;
0058 ;
0058 ; /*-- 文字: 们 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x0A,0x00,0x09,0x00,0x11,0xBC,0x11,0x04,0x34,0x04,0x24,0x04,0x64,0x04,0xA4,0x04,
0058 ; 0x24,0x04,0x24,0x04,0x24,0x04,0x24,0x04,0x24,0x04,0x24,0x14,0x24,0x08,0x00,0x00,
0058 ;
0058 ;
0058 ; /*-- 文字: 掌 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x11,0x10,0x09,0x20,0x7F,0xFE,0x40,0x04,0x0F,0xE0,0x08,0x20,0x0F,0xE0,0x00,0x00,
0058 ; 0x3F,0xF0,0x01,0x00,0x3F,0xF8,0x01,0x00,0x7F,0xFC,0x01,0x00,0x05,0x00,0x02,0x00,
0058 ;
0058 ; /*-- 文字: 握 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0058 ; 0x20,0x00,0x23,0xFC,0x22,0x04,0xFB,0xFC,0x22,0x00,0x23,0xFE,0x2A,0x40,0x32,0x88,
0058 ; 0x63,0xFC,0xA2,0x24,0x22,0x20,0x23,0xFC,0x24,0x20,0x24,0x20,0xAB,0xFE,0x40,0x00,
0058 ; };
0058 ; //下面是数字储存数组
0058 ; const data1[10][16]=
0058 ; {
0058 ; /*-- 文字: 0 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0058 ; {0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00},
0058 ;
0058 ; /*-- 文字: 1 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0058 ; {0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00},
0058 ;
0058 ; /*-- 文字: 2 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0058 ; {0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00},
0058 ;
0058 ; /*-- 文字: 3 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0058 ; {0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00},
0058 ;
0058 ; /*-- 文字: 4 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0058 ; {0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x24,0x44,0x44,0x7E,0x04,0x04,0x1E,0x00,0x00},
0058 ;
0058 ; /*-- 文字: 5 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0058 ; {0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x58,0x64,0x02,0x02,0x42,0x44,0x38,0x00,0x00},
0058 ;
0058 ; /*-- 文字: 6 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0058 ; {0x00,0x00,0x00,0x1C,0x24,0x40,0x40,0x58,0x64,0x42,0x42,0x42,0x24,0x18,0x00,0x00},
0058 ;
0058 ; /*-- 文字: 7 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0058 ; {0x00,0x00,0x00,0x7E,0x44,0x44,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00},
0058 ;
0058 ; /*-- 文字: 8 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0058 ; {0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00},
0058 ;
0058 ; /*-- 文字: 9 --*/
0058 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0058 ; {0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x26,0x1A,0x02,0x02,0x24,0x38,0x00,0x00}
0058 ; };
0058 ; //下面是驱动行 驱动74LS154
0058 ; const uchar ROW[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};//行控制数组
0058 ; #pragma data:data
0058 ; /***************************************************************************************************
0058 ; 把上述代码放在code区
0058 ; ****************************************************************************************************/
0058 ;
0058 ; /***************************************************************************************************
0058 ; 下面32*80大点阵驱动程序
0058 ; ****************************************************************************************************/
0058 ; //送绿色数据
0058 ; void Send_Byte_DG(uchar data)
0058 ; {
0058 .dbline 231
0058 ; uchar i=0;
0058 4427 clr R20
005A .dbline 232
005A ; clr_DR( );
005A C798 cbi 0x18,7
005C .dbline 233
005C ; for(i=0;i<8;i++)
005C 09C0 xjmp L21
005E L18:
005E .dbline 234
005E ; {
005E .dbline 235
005E ; clr_CLK();
005E C598 cbi 0x18,5
0060 .dbline 236
0060 ; if((data&0x80)==0)
0060 07FD sbrc R16,7
0062 02C0 rjmp L22
0064 .dbline 237
0064 ; clr_DG();
0064 C698 cbi 0x18,6
0066 01C0 xjmp L23
0068 L22:
0068 .dbline 239
0068 ; else//列控制
0068 ; set_DG();
0068 C69A sbi 0x18,6
006A L23:
006A .dbline 240
006A C59A sbi 0x18,5
006C .dbline 241
006C 000F lsl R16
006E .dbline 242
006E L19:
006E .dbline 233
006E 4395 inc R20
0070 L21:
0070 .dbline 233
0070 4830 cpi R20,8
0072 A8F3 brlo L18
0074 .dbline 243
0074 ; set_CLK();
0074 ; data<<=1;
0074 ; }
0074 ; clr_DG();
0074 C698 cbi 0x18,6
0076 .dbline -2
0076 L17:
0076 0E940000 xcall pop_gset1
007A .dbline 0 ; func end
007A 0895 ret
007C .dbsym r i 20 c
007C .dbsym r data 16 c
007C .dbend
007C .dbfunc e Send_Byte_DR _Send_Byte_DR fV
007C ; i -> R20
007C ; data -> R16
.even
007C _Send_Byte_DR::
007C 0E940000 xcall push_gset1
0080 .dbline -1
0080 .dbline 247
0080 ; }
0080 ; //送红色数据
0080 ; void Send_Byte_DR(uchar data)
0080 ; {
0080 .dbline 248
0080 ; uchar i=0;
0080 4427 clr R20
0082 .dbline 249
0082 ; clr_DG();
0082 C698 cbi 0x18,6
0084 .dbline 250
0084 ; for(i=0;i<8;i++)
0084 09C0 xjmp L28
0086 L25:
0086 .dbline 251
0086 ; {
0086 .dbline 252
0086 ; clr_CLK();
0086 C598 cbi 0x18,5
0088 .dbline 253
0088 ; if((data&0x80)==0)
0088 07FD sbrc R16,7
008A 02C0 rjmp L29
008C .dbline 254
008C ; clr_DR();
008C C798 cbi 0x18,7
008E 01C0 xjmp L30
0090 L29:
0090 .dbline 256
0090 ; else//列控制 该位所在列的二极管得正电位 在允许接地的情况下发光!!!
0090 ; set_DR();
0090 C79A sbi 0x18,7
0092 L30:
0092 .dbline 257
0092 C59A sbi 0x18,5
0094 .dbline 258
0094 000F lsl R16
0096 .dbline 259
0096 L26:
0096 .dbline 250
0096 4395 inc R20
0098 L28:
0098 .dbline 250
0098 4830 cpi R20,8
009A A8F3 brlo L25
009C .dbline 260
009C ; set_CLK();
009C ; data<<=1;
009C ; }
009C ; clr_DR();
009C C798 cbi 0x18,7
009E .dbline -2
009E L24:
009E 0E940000 xcall pop_gset1
00A2 .dbline 0 ; func end
00A2 0895 ret
00A4 .dbsym r i 20 c
00A4 .dbsym r data 16 c
00A4 .dbend
00A4 .dbfunc e Send_Byte_DR_DG _Send_Byte_DR_DG fV
00A4 ; i -> R20
00A4 ; data -> R16
.even
00A4 _Send_Byte_DR_DG::
00A4 0E940000 xcall push_gset1
00A8 .dbline -1
00A8 .dbline 264
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -