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

📄 led.lst

📁 LED点阵中英文模块.能显示2个汉字以及滚动.在PROTEUS上实现.
💻 LST
📖 第 1 页 / 共 3 页
字号:
__start:
__text_start:
    0227 E5CF      LDI	R28,0x5F
    0228 E0D4      LDI	R29,4
    0229 BFCD      OUT	0x3D,R28
    022A BFDE      OUT	0x3E,R29
    022B 51C0      SUBI	R28,0x10
    022C 40D0      SBCI	R29,0
    022D EA0A      LDI	R16,0xAA
    022E 8308      STD	Y+0,R16
    022F 2400      CLR	R0
    0230 E5EA      LDI	R30,0x5A
    0231 E0F4      LDI	R31,4
    0232 E014      LDI	R17,4
    0233 35EA      CPI	R30,0x5A
    0234 07F1      CPC	R31,R17
    0235 F011      BEQ	0x0238
    0236 9201      ST	R0,Z+
    0237 CFFB      RJMP	0x0233
    0238 8300      STD	Z+0,R16
    0239 E5E4      LDI	R30,0x54
    023A E0F0      LDI	R31,0
    023B E6A0      LDI	R26,0x60
    023C E0B0      LDI	R27,0
    023D E014      LDI	R17,4
    023E 34EE      CPI	R30,0x4E
    023F 07F1      CPC	R31,R17
    0240 F021      BEQ	0x0245
    0241 95C8      LPM
    0242 9631      ADIW	R30,1
    0243 920D      ST	R0,X+
    0244 CFF9      RJMP	0x023E
    0245 940E025E  CALL	_main
_exit:
    0247 CFFF      RJMP	_exit
_delay:
  i                    --> R20
  j                    --> R22
  c                    --> R16
    0248 940E0485  CALL	push_gset2
FILE: C:\DOCUME~1\Administrator\桌面\LED点阵\led.c
(0001) //ICC-AVR application builder : 2000-3-11 20:18:23
(0002) // Target : M16
(0003) // Crystal: 8.0000Mhz
(0004) 
(0005) #include <iom16v.h>
(0006) #include <macros.h>
(0007) #define uchar unsigned char
(0008) #define uint unsigned int
(0009) 
(0010) 
(0011) char tableL[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
(0012) /*--  文字:  电  --*/
(0013) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0014) 0x00,0x00,0xF0,0x10,0x90,0x90,0xFF,0x48,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,
(0015) 
(0016) 
(0017) /*--  文字:  子  --*/
(0018) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0019) 0x00,0x40,0x40,0x40,0x44,0x44,0x44,0x72,0xCA,0x26,0x22,0x20,0x20,0x20,0x00,0x00,
(0020) 
(0021) 
(0022) /*--  文字:  设  --*/
(0023) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0024) 0x40,0x20,0xE2,0x04,0x00,0x40,0x20,0x9C,0x82,0x82,0xBE,0x20,0x20,0x00,0x00,0x00,
(0025) 
(0026) 
(0027) /*--  文字:  计  --*/
(0028) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0029) 0x40,0x40,0x20,0xE2,0x04,0x00,0x40,0x40,0x40,0xFF,0x20,0x20,0x20,0x20,0x00,0x00,
(0030) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
(0031) /*--  文字:  科  --*/
(0032) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0033) 0x00,0x40,0x48,0x48,0xF8,0xA4,0xA2,0x00,0x28,0x50,0x00,0xFF,0x80,0x80,0x80,0x00,
(0034) 
(0035) 
(0036) /*--  文字:  技  --*/
(0037) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0038) 0x00,0x20,0x20,0xFF,0x90,0x10,0x00,0x90,0x90,0x7F,0x48,0xC8,0x00,0x00,0x00,0x00,
(0039) 
(0040) 
(0041) /*--  文字:  作  --*/
(0042) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0043) 0x80,0x40,0x20,0xF0,0x0E,0x80,0x40,0x30,0x1C,0xF3,0x90,0x88,0x88,0x08,0x00,0x00,
(0044) 
(0045) 
(0046) /*--  文字:  品  --*/
(0047) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0048) 0x00,0x00,0x00,0x00,0x0C,0x34,0x24,0x22,0x22,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,
(0049) 
(0050) 
(0051) 
(0052) 
(0053) 
(0054) 
(0055) 
(0056)  
(0057) 
(0058) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,
(0059) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 
(0060)  
(0061) 
(0062) };
(0063) char tableH[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
(0064) 0x00,0x00,0x00,0x03,0x02,0x02,0x1F,0x21,0x21,0x21,0x20,0x20,0x20,0x1C,0x00,0x00,
(0065) 0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x20,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0066) 0x00,0x00,0x1F,0x08,0x24,0x20,0x11,0x0A,0x04,0x0A,0x11,0x30,0x20,0x20,0x20,0x00,
(0067) 0x00,0x00,0x00,0x0F,0x04,0x02,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,
(0068) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
(0069) 0x08,0x04,0x02,0x01,0x3F,0x00,0x00,0x01,0x01,0x01,0x01,0x7F,0x00,0x00,0x00,0x00,
(0070) 0x02,0x02,0x11,0x3F,0x00,0x10,0x10,0x0A,0x04,0x04,0x0B,0x10,0x30,0x20,0x20,0x00,
(0071) 0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x7F,0x04,0x04,0x04,0x00,0x00,0x00,
(0072) 0x00,0x0E,0x12,0x11,0x11,0x0F,0x00,0x00,0x1E,0x09,0x09,0x09,0x0D,0x03,0x00,0x00,
(0073) 
(0074) 
(0075)  
(0076) 
(0077) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,
(0078) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 
(0079) 
(0080) };
(0081) 
(0082) char tablell[]={
(0083) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0084) /*--  文字:  E  --*/
(0085) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0086) 0x00,0x00,0xF8,0x88,0x88,0xD8,0x00,0x00,
(0087) 
(0088) 
(0089) /*--  文字:  l  --*/
(0090) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0091) 0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,
(0092) 
(0093) 
(0094) /*--  文字:  e  --*/
(0095) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0096) 0x00,0x80,0x40,0x40,0x40,0xC0,0x00,0x00,
(0097) 
(0098) /*--  文字:  c  --*/
(0099) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0100) 0x00,0x80,0x80,0x40,0x40,0xC0,0x80,0x00,
(0101) 
(0102) /*--  文字:  t  --*/
(0103) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0104) 0x00,0x00,0x40,0xE0,0x40,0x40,0x00,0x00,
(0105) 
(0106) /*--  文字:  r  --*/
(0107) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0108) 0x00,0x00,0x80,0xC0,0x40,0x40,0x40,0x00,
(0109) 
(0110) /*--  文字:  o  --*/
(0111) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0112) 0x00,0x80,0x40,0x40,0x40,0xC0,0x00,0x00,
(0113) 
(0114) /*--  文字:  n  --*/
(0115) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0116) 0x00,0x80,0xC0,0x40,0x40,0xC0,0x00,0x00,
(0117) 
(0118) /*--  文字:  i  --*/
(0119) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0120) 0x00,0x00,0x00,0x88,0x08,0x00,0x00,0x00,
(0121) 
(0122) /*--  文字:  c  --*/
(0123) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0124) 0x00,0x80,0x80,0x40,0x40,0xC0,0x80,0x00,
(0125) 
(0126) /*--  文字:     --*/
(0127) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0128) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0129) 
(0130) /*--  文字:  d  --*/
(0131) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0132) 0x00,0x80,0x40,0x40,0x48,0xF8,0x00,0x00,
(0133) 
(0134) /*--  文字:  e  --*/
(0135) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0136) 0x00,0x80,0x40,0x40,0x40,0xC0,0x00,0x00,
(0137) 
(0138) /*--  文字:  s  --*/
(0139) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0140) 0x00,0x00,0xC0,0x40,0x40,0xC0,0x00,0x00,
(0141) 
(0142) /*--  文字:  i  --*/
(0143) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0144) 0x00,0x00,0x00,0x88,0x08,0x00,0x00,0x00,
(0145) 
(0146) /*--  文字:  g  --*/
(0147) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0148) 0x00,0x80,0x40,0x40,0x40,0xC0,0x40,0x00,
(0149) 
(0150) /*--  文字:  n  --*/
(0151) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0152) 0x00,0x80,0xC0,0x40,0x40,0xC0,0x00,0x00,
(0153) 
(0154) /*--  文字:     --*/
(0155) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0156) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0157) 
(0158) /*--  文字:  T  --*/
(0159) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0160) 0x00,0x08,0x08,0xF8,0x08,0x08,0x08,0x00,
(0161) 
(0162) /*--  文字:  e  --*/
(0163) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0164) 0x00,0x80,0x40,0x40,0x40,0xC0,0x00,0x00,
(0165) 
(0166) /*--  文字:  c  --*/
(0167) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0168) 0x00,0x80,0x80,0x40,0x40,0xC0,0x80,0x00,
(0169) 
(0170) /*--  文字:  h  --*/
(0171) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0172) 0x00,0xF8,0x80,0x80,0x40,0xC0,0x00,0x00,
(0173) 
(0174) /*--  文字:  n  --*/
(0175) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0176) 0x00,0x80,0xC0,0x40,0x40,0xC0,0x00,0x00,
(0177) 
(0178) /*--  文字:  i  --*/
(0179) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0180) 0x00,0x00,0x00,0x88,0x08,0x00,0x00,0x00,
(0181) 
(0182) /*--  文字:  c  --*/
(0183) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0184) 0x00,0x80,0x80,0x40,0x40,0xC0,0x80,0x00,
(0185) 
(0186) /*--  文字:  a  --*/
(0187) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0188) 0x00,0x80,0x40,0x40,0xC0,0x00,0x00,0x00,
(0189) 
(0190) /*--  文字:  l  --*/
(0191) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0192) 0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,
(0193) 
(0194) /*--  文字:     --*/
(0195) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0196) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0197) 
(0198) /*--  文字:  w  --*/
(0199) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0200) 0x40,0xC0,0x00,0xC0,0x40,0x00,0xC0,0x40,
(0201) 
(0202) /*--  文字:  o  --*/
(0203) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0204) 0x00,0x80,0x40,0x40,0x40,0xC0,0x00,0x00,
(0205) 
(0206) /*--  文字:  r  --*/
(0207) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0208) 0x00,0x00,0x80,0xC0,0x40,0x40,0x40,0x00,
(0209) 
(0210) /*--  文字:  k  --*/
(0211) /*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
(0212) 0x00,0x08,0xF8,0x00,0xC0,0x40,0x40,0x00,
(0213) 
(0214) 
(0215) 
(0216)  //显示空屏,如果只有一个字或将字全部移出必须设置一个空屏幕
(0217) 
(0218) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0219) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0220) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
(0221) };
(0222) 
(0223) char tablehh[]={0x00,0x00,0x00,0x00,0x00,
(0224) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0225) 0x00,0x00,0x1F,0x10,0x10,0x11,0x18,0x00,0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,
(0226) 0x00,0x0F,0x11,0x11,0x21,0x11,0x09,0x00,0x00,0x0F,0x18,0x30,0x20,0x10,0x08,0x00,
(0227) 0x00,0x00,0x00,0x1F,0x20,0x10,0x00,0x00,0x00,0x00,0x10,0x1F,0x00,0x00,0x00,0x00,
(0228) 0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,0x00,0x1F,0x00,0x00,0x00,0x1F,0x00,0x00,
(0229) 
(0230) 0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,0x00,0x0F,0x18,0x30,0x20,0x10,0x08,0x00,
(0231) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x10,0x20,0x20,0x1F,0x10,0x00,
(0232) 0x00,0x0F,0x11,0x11,0x21,0x11,0x09,0x00,0x00,0x00,0x11,0x22,0x26,0x1D,0x00,0x00,
(0233) 0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,0x00,0x69,0x96,0x94,0x94,0x93,0x70,0x00,
(0234) 0x00,0x1F,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0235) 
(0236) 0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,0x00,0x0F,0x11,0x11,0x21,0x11,0x09,0x00,
(0237) 0x00,0x0F,0x18,0x30,0x20,0x10,0x08,0x00,0x00,0x1F,0x00,0x00,0x00,0x1F,0x10,0x00,
(0238) 0x00,0x1F,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,
(0239) 0x00,0x0F,0x18,0x30,0x20,0x10,0x08,0x00,0x00,0x1D,0x24,0x22,0x1F,0x20,0x10,0x00,
(0240) 0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0241) 0x00,0x07,0x38,0x06,0x0F,0x1C,0x03,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
(0242) 0x00,0x00,0x10,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x17,0x1C,0x18,0x00,0x00,
(0243) 
(0244) 
(0245)  //显示空屏,如果只有一个字或将字全部移出必须设置一个空屏幕
(0246) 
(0247) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
(0248) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0249) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
(0250) };
(0251) 
(0252) void delay(uint c)
(0253) {
(0254) uint i,j;
(0255) for(i=0;i<c;i++)
    024A 2744      CLR	R20
    024B 2755      CLR	R21
    024C C00B      RJMP	0x0258
(0256) 	for(j=0;j<10;j++)
    024D 2766      CLR	R22
    024E 2777      CLR	R23
    024F C002      RJMP	0x0252
    0250 5F6F      SUBI	R22,0xFF
    0251 4F7F      SBCI	R23,0xFF
    0252 306A      CPI	R22,0xA
    0253 E0E0      LDI	R30,0
    0254 077E      CPC	R23,R30
    0255 F3D0      BCS	0x0250
    0256 5F4F      SUBI	R20,0xFF
    0257 4F5F      SBCI	R21,0xFF
    0258 1740      CP	R20,R16
    0259 0751      CPC	R21,R17
    025A F390      BCS	0x024D
    025B 940E047C  CALL	pop_gset2
    025D 9508      RET
(0257) 	;
(0258) }
(0259) 
(0260) 
(0261) void main()
(0262) 	 {
(0263) 	 uchar i,j;
(0264) 	 uint b=0;
_main:
  a                    --> R10
  b                    --> R20
  j                    --> R22
  i                    --> R12
    025E 2744      CLR	R20
    025F 2755      CLR	R21
(0265) 	 uchar a;
(0266) 	 DDRA=0xff;
    0260 EF8F      LDI	R24,0xFF
    0261 BB8A      OUT	0x1A,R24
(0267) 	 DDRB=0xff;
    0262 BB87      OUT	0x17,R24
(0268) 	 DDRC=0xff;
    0263 BB84      OUT	0x14,R24
(0269) 	 DDRD=0xff;
    0264 BB81      OUT	0x11,R24
(0270) 	 PORTA=0x00;
    0265 2422      CLR	R2
    0266 BA2B      OUT	0x1B,R2
(0271) 	 PORTB=0x00;
    0267 BA28      OUT	0x18,R2
(0272) 	 PORTC=0x00;
    0268 BA25      OUT	0x15,R2
(0273) 	 PORTD=0x1c;
    0269 E18C      LDI	R24,0x1C
    026A BB82      OUT	0x12,R24
(0274) 	 j=0;
    026B 2766      CLR	R22
    026C C20D      RJMP	0x047A
(0275) while(1)
(0276) 	{
(0277) 	j=0;
    026D 2766      CLR	R22
(0278) 	if(a>1)
    026E E081      LDI	R24,1
    026F 158A      CP	R24,R10
    0270 F448      BCC	0x027A
(0279) 		{
(0280) 		a=0;
    0271 24AA      CLR	R10
(0281) 		b+=1;
    0272 5F4F      SUBI	R20,0xFF
    0273 4F5F      SBCI	R21,0xFF
(0282) 		if(b>=170)
    0274 3A4A      CPI	R20,0xAA
    0275 E0E0      LDI	R30,0
    0276 075E      CPC	R21,R30
    0277 F010      BCS	0x027A
(0283) 			{
(0284) 			b=0;
    0278 2744      CLR	R20
    0279 2755      CLR	R21

⌨️ 快捷键说明

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