📄 1.s
字号:
.module _1.c
.area data(ram, con, rel)
_bn::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\32x80大点阵\1.c
.dbsym e bn _bn c
.area text(rom, con, rel)
.dbfile E:\单片机\AVR程序\32x80大点阵\1.c
.dbfunc e delay_1us _delay_1us fV
.even
_delay_1us::
.dbline -1
.dbline 48
; //头文件
; #include<ioM16v.h>
; #include<macros.h>
;
;
; /*------宏定义------*/
; #define uchar unsigned char
; #define uint unsigned int
;
; #define set_STB( ) PORTB|=(1<<4) //锁存位(上升沿有效)
; #define clr_STB( ) PORTB&=~(1<<4)
;
; #define set_CLK( ) PORTB|=(1<<5) //时钟端(上升沿有效)
; #define clr_CLK( ) PORTB&=~(1<<5)
;
; #define set_DG( ) PORTB|=(1<<6) //绿色数据口
; #define clr_DG( ) PORTB&=~(1<<6)
;
; #define set_DR( ) PORTB|=(1<<7) //红色数据口
; #define clr_DR( ) PORTB&=~(1<<7)
;
; #define set_G( ) PORTD|=(1<<0) //G行控制有效位(低电平有效)
; #define clr_G( ) PORTD&=~(1<<0)
;
; #define hanzishu 18 //输入汉字数
; #define howmany0 10 //在开始显示汉字前填入多少个相同的汉字 (一般填空字)
; #define position 6 //填什么样的相同汉字(一般填空字)
; #define shopshow 9 //在移动过程中静态显示时间 单位us
; #define displayTime 200 //单程显示时间 单位us
; #define red 0
; #define greed 1
; #define oringe 2
; /***************************************************************************************************
; 全局变量
; ****************************************************************************************************/
; uchar Ledplay[17][(howmany0+hanzishu)*2+2];//第一个参数为规格固定的,第二个参数为载入字符数*2+2
; // (本程序中的字符 有10个空字和存储在data[][]中要显示的10个字符)
; //显示寄存器//最后一行为空行000000000000000000000//
; //最后两列都为0x00是为了填空!00000000000000000000//
; uchar bn=0;
; /***************************************************************************************************
; 全局变量
; ****************************************************************************************************/
; /***************************************************************************************************
; 迟时函数
; ****************************************************************************************************/
; void delay_1us(void) //1us延时函数
; {
.dbline 49
; asm("nop");
nop
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbend
.dbfunc e delay_nus _delay_nus fV
; i -> R20,R21
; n -> R22,R23
.even
_delay_nus::
xcall push_gset2
movw R22,R16
.dbline -1
.dbline 52
; }
; void delay_nus(unsigned int n) //N us延时函数
; {
.dbline 53
; unsigned int i=0;
clr R20
clr R21
.dbline 54
; for (i=0;i<n;i++)
xjmp L6
L3:
.dbline 55
xcall _delay_1us
L4:
.dbline 54
subi R20,255 ; offset = 1
sbci R21,255
L6:
.dbline 54
cp R20,R22
cpc R21,R23
brlo L3
.dbline -2
L2:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r n 22 i
.dbend
.dbfunc e delay_1ms _delay_1ms fV
; i -> R16,R17
.even
_delay_1ms::
.dbline -1
.dbline 58
; delay_1us();
; }
; void delay_1ms(void) //1ms延时函数
; {
.dbline 60
clr R16
clr R17
xjmp L11
L8:
.dbline 60
L9:
.dbline 60
subi R16,255 ; offset = 1
sbci R17,255
L11:
.dbline 60
; unsigned int i;
; for (i=0;i<1140;i++);
cpi R16,116
ldi R30,4
cpc R17,R30
brlo L8
.dbline -2
L7:
.dbline 0 ; func end
ret
.dbsym r i 16 i
.dbend
.dbfunc e delay_nms _delay_nms fV
; i -> R20,R21
; n -> R22,R23
.even
_delay_nms::
xcall push_gset2
movw R22,R16
.dbline -1
.dbline 63
; }
; void delay_nms(unsigned int n) //N ms延时函数
; {
.dbline 64
; unsigned int i=0;
clr R20
clr R21
.dbline 65
; for (i=0;i<n;i++)
xjmp L16
L13:
.dbline 66
xcall _delay_1ms
L14:
.dbline 65
subi R20,255 ; offset = 1
sbci R21,255
L16:
.dbline 65
cp R20,R22
cpc R21,R23
brlo L13
.dbline -2
L12:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r n 22 i
.dbend
.area code(ram, con, rel)
.dbfile E:\单片机\AVR程序\32x80大点阵\1.c
.area lit(rom, con, rel)
_data::
.byte 64,16
.byte 32,16
.byte 48,16
.byte 32,16
.byte 7,254
.byte 0,16
.byte 2,16
.byte 225,16
.byte 33,144
.byte 33,16
.byte 32,16
.byte 32,'P
.byte 32,32
.byte 'X,0
.byte 135,254
.byte 0,0
.byte 1,0
.byte 1,0
.byte 1,0
.byte 63,252
.byte 1,0
.byte 1,0
.byte 1,0
.byte 1,0
.byte 127,254
.byte 2,0
.byte 6,0
.byte 8,32
.byte 16,16
.byte 63,248
.byte 16,16
.byte 0,0
.byte 63,252
.byte 32,4
.byte 63,252
.byte 32,0
.byte 47,248
.byte 32,128
.byte 39,248
.byte 36,136
.byte 39,248
.byte 32,128
.byte 47,252
.byte 40,164
.byte 'H,244
.byte 'K,20
.byte 136,4
.byte 8,12
.byte 0,0
.byte 63,252
.byte 1,0
.byte 1,0
.byte 1,0
.byte 1,0
.byte 255,254
.byte 1,0
.byte 1,0
.byte 1,0
.byte 1,0
.byte 1,0
.byte 1,0
.byte 9,0
.byte 5,0
.byte 2,0
.byte 0,0
.byte 127,254
.byte 8,64
.byte 8,64
.byte 31,64
.byte 17,'F
.byte 33,'X
.byte 50,96
.byte 'J,64
.byte 138,64
.byte 4,64
.byte 4,'B
.byte 8,'B
.byte 48,'B
.byte 192,62
.byte 0,0
.byte 32,32
.byte 16,32
.byte 16,32
.byte 253,252
.byte 5,36
.byte 9,36
.byte 17,252
.byte 57,36
.byte 'U,36
.byte 149,252
.byte 17,36
.byte 16,32
.byte 16,32
.byte 16,32
.byte 16,32
.byte 16,32
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 255,248
.byte 18,8
.byte 18,'H
.byte 18,'H
.byte 18,'H
.byte 126,'H
.byte 18,'H
.byte 18,'H
.byte 18,168
.byte 28,160
.byte 225,34
.byte 1,34
.byte 2,34
.byte 4,30
.byte 8,0
.byte 2,0
.byte 2,0
.byte 127,254
.byte 4,0
.byte 4,0
.byte 8,64
.byte 24,64
.byte 23,252
.byte 48,64
.byte 'P,64
.byte 144,64
.byte 16,64
.byte 16,64
.byte 23,254
.byte 16,0
.byte 0,0
.byte 0,0
.byte 8,0
.byte 8,4
.byte 15,254
.byte 8,0
.byte 8,0
.byte 15,252
.byte 0,4
.byte 0,4
.byte 0,36
.byte 127,244
.byte 0,4
.byte 0,4
.byte 0,'H
.byte 0,48
.byte 0,0
.byte 1,0
.byte 1,0
.byte 1,0
.byte 63,248
.byte 1,0
.byte 1,0
.byte 255,254
.byte 3,0
.byte 3,128
.byte 5,64
.byte 5,32
.byte 9,24
.byte 49,14
.byte 193,4
.byte 1,0
.byte 1,0
.byte 1,0
.byte 1,0
.byte 63,252
.byte 1,0
.byte 9,48
.byte 5,32
.byte 3,64
.byte 127,254
.byte 1,128
.byte 3,64
.byte 5,32
.byte 9,24
.byte 49,14
.byte 193,4
.byte 1,0
.byte 1,0
.byte 8,0
.byte 8,124
.byte 8,'D
.byte 127,'D
.byte 8,'D
.byte 8,'D
.byte 8,'D
.byte 255,'D
.byte 16,'D
.byte 18,'D
.byte 33,'D
.byte 39,212
.byte 'y,'H
.byte 32,64
.byte 0,64
.byte 0,64
.byte 1,0
.byte 1,0
.byte 1,0
.byte 1,0
.byte 63,248
.byte 33,8
.byte 33,8
.byte 33,8
.byte 63,248
.byte 33,8
.byte 33,8
.byte 33,8
.byte 33,8
.byte 63,248
.byte 32,8
.byte 0,0
.byte 6,64
.byte 56,'P
.byte 8,'H
.byte 8,'H
.byte 8,64
.byte 255,254
.byte 8,64
.byte 8,'H
.byte 14,40
.byte 56,48
.byte 200,32
.byte 8,'P
.byte 9,146
.byte 8,10
.byte 40,6
.byte 16,2
.byte 10,0
.byte 9,0
.byte 17,188
.byte 17,4
.byte 52,4
.byte 36,4
.byte 'd,4
.byte 164,4
.byte 36,4
.byte 36,4
.byte 36,4
.byte 36,4
.byte 36,4
.byte 36,20
.byte 36,8
.byte 0,0
.byte 17,16
.byte 9,32
.byte 127,254
.byte 64,4
.byte 15,224
.byte 8,32
.byte 15,224
.byte 0,0
.byte 63,240
.byte 1,0
.byte 63,248
.byte 1,0
.byte 127,252
.byte 1,0
.byte 5,0
.byte 2,0
.byte 32,0
.byte 35,252
.byte 34,4
.byte 251,252
.byte 34,0
.byte 35,254
.byte 42,64
.byte 50,136
.byte 'c,252
.byte 162,36
.byte 34,32
.byte 35,252
.byte 36,32
.byte 36,32
.byte 171,254
.byte 64,0
.word 0,0,0,0,0
.word 0,0,0,0,0
.word 0,0,0,0,0
.byte 0,0
.dbsym e data _data A[608:19:32]kc
_data1::
.word 0
.word 0
.word 0
.word 24
.word 36
.word 66
.word 66
.word 66
.word 66
.word 66
.word 66
.word 66
.word 36
.word 24
.word 0
.word 0
.word 0
.word 0
.word 0
.word 16
.word 112
.word 16
.word 16
.word 16
.word 16
.word 16
.word 16
.word 16
.word 16
.word 124
.word 0
.word 0
.word 0
.word 0
.word 0
.word 60
.word 66
.word 66
.word 66
.word 4
.word 4
.word 8
.word 16
.word 32
.word 66
.word 126
.word 0
.word 0
.word 0
.word 0
.word 0
.word 60
.word 66
.word 66
.word 4
.word 24
.word 4
.word 2
.word 2
.word 66
.word 68
.word 56
.word 0
.word 0
.word 0
.word 0
.word 0
.word 4
.word 12
.word 20
.word 36
.word 36
.word 68
.word 68
.word 126
.word 4
.word 4
.word 30
.word 0
.word 0
.word 0
.word 0
.word 0
.word 126
.word 64
.word 64
.word 64
.word 88
.word 100
.word 2
.word 2
.word 66
.word 68
.word 56
.word 0
.word 0
.word 0
.word 0
.word 0
.word 28
.word 36
.word 64
.word 64
.word 88
.word 100
.word 66
.word 66
.word 66
.word 36
.word 24
.word 0
.word 0
.word 0
.word 0
.word 0
.word 126
.word 68
.word 68
.word 8
.word 8
.word 16
.word 16
.word 16
.word 16
.word 16
.word 16
.word 0
.word 0
.word 0
.word 0
.word 0
.word 60
.word 66
.word 66
.word 66
.word 36
.word 24
.word 36
.word 66
.word 66
.word 66
.word 60
.word 0
.word 0
.word 0
.word 0
.word 0
.word 24
.word 36
.word 66
.word 66
.word 66
.word 38
.word 26
.word 2
.word 2
.word 36
.word 56
.word 0
.word 0
.dbsym e data1 _data1 A[320:10:16]kI
_ROW::
.byte 0,1
.byte 2,3
.byte 4,5
.byte 6,7
.byte 8,9
.byte 10,11
.byte 12,13
.byte 14,15
.dbsym e ROW _ROW A[16:16]kc
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\32x80大点阵\1.c
.area text(rom, con, rel)
.dbfile E:\单片机\AVR程序\32x80大点阵\1.c
.dbfunc e Send_Byte_DG _Send_Byte_DG fV
; i -> R20
; data -> R16
.even
_Send_Byte_DG::
xcall push_gset1
.dbline -1
.dbline 230
; delay_1ms();
; }
; /***************************************************************************************************
; 迟时函数
; ****************************************************************************************************/
;
; /***************************************************************************************************
; 把上述代码放在code区
; ****************************************************************************************************/
; #pragma data:code
; //下面是汉字储存数组
; // 上述两参数为 存储字数,规定格式
; //下列代码按顺序,每两个为这个汉字的对应行要亮的点 1为亮0为灭
; const uchar data[19][32]={
; /*-- 文字: 过 --*/
; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
; 0x40,0x10,0x20,0x10,0x30,0x10,0x20,0x10,0x07,0xFE,0x00,0x10,0x02,0x10,0xE1,0x10,
; 0x21,0x90,0x21,0x10,0x20,0x10,0x20,0x50,0x20,0x20,0x58,0x00,0x87,0xFE,0x00,0x00,
;
; //下面是数字10: 构造分法,用1与0的数码,把0的数码交替地放在1代码后面
; //0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x18,0x70,0x24,0x10,0x42,0x10,0x42,0x10,0x42,
; //0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x7c,0x18,0x00,0x00,0x00,0x00,
;
; /*-- 文字: 去 --*/
; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
; 0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
; 0x7F,0xFE,0x02,0x00,0x06,0x00,0x08,0x20,0x10,0x10,0x3F,0xF8,0x10,0x10,0x00,0x00,
;
; /*-- 文字: 属 --*/
; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
; 0x3F,0xFC,0x20,0x04,0x3F,0xFC,0x20,0x00,0x2F,0xF8,0x20,0x80,0x27,0xF8,0x24,0x88,
; 0x27,0xF8,0x20,0x80,0x2F,0xFC,0x28,0xA4,0x48,0xF4,0x4B,0x14,0x88,0x04,0x08,0x0C,
;
; /*-- 文字: 于 --*/
; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
; 0x00,0x00,0x3F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,
; 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x09,0x00,0x05,0x00,0x02,0x00,
;
; /*-- 文字: 死 --*/
; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
; 0x00,0x00,0x7F,0xFE,0x08,0x40,0x08,0x40,0x1F,0x40,0x11,0x46,0x21,0x58,0x32,0x60,
; 0x4A,0x40,0x8A,0x40,0x04,0x40,0x04,0x42,0x08,0x42,0x30,0x42,0xC0,0x3E,0x00,0x00,
;
; /*-- 文字: 神 --*/
; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
; 0x20,0x20,0x10,0x20,0x10,0x20,0xFD,0xFC,0x05,0x24,0x09,0x24,0x11,0xFC,0x39,0x24,
; 0x55,0x24,0x95,0xFC,0x11,0x24,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,
;
; /*-- 11文字: 空字 --*/
; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//11
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; /*-- 文字: 现 --*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -