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

📄 键盘.lst

📁 基于AVR实验平台下ATMega128芯片实习作业
💻 LST
📖 第 1 页 / 共 3 页
字号:
    058C 2022      TST	R2
    058D F6E9      BNE	0x056B
(0129) }
(0130) for(i=0;i<118;i++)
    058E 2744      CLR	R20
    058F 2755      CLR	R21
(0131) {lcd_w(0xf8);
    0590 EF08      LDI	R16,0xF8
    0591 DF76      RCALL	_lcd_w
(0132) delay_nms(2);
    0592 E002      LDI	R16,2
    0593 E010      LDI	R17,0
    0594 DF32      RCALL	_delay_nms
    0595 5F4F      SUBI	R20,0xFF
    0596 4F5F      SBCI	R21,0xFF
    0597 3746      CPI	R20,0x76
    0598 E0E0      LDI	R30,0
    0599 075E      CPC	R21,R30
    059A F3AC      BLT	0x0590
    059B 940E073A  CALL	pop_gset4
    059D 9508      RET
_lcd_putse:
  ch                   --> R20
  y                    --> R22
  x                    --> R10
    059E 940E0741  CALL	push_gset3
    05A0 2F62      MOV	R22,R18
    05A1 2EA0      MOV	R10,R16
    05A2 814E      LDD	R20,Y+6
    05A3 815F      LDD	R21,Y+7
(0133) }
(0134) }
(0135) 
(0136) void lcd_putse(unsigned char x,unsigned char y,unsigned char *ch)
(0137) {
(0138) x+=4;
    05A4 2D8A      MOV	R24,R10
    05A5 5F8C      SUBI	R24,0xFC
    05A6 2EA8      MOV	R10,R24
    05A7 C013      RJMP	0x05BB
(0139) while (y<=64)
(0140) {
(0141) lcd_w(0xf3);
    05A8 EF03      LDI	R16,0xF3
    05A9 DF5E      RCALL	_lcd_w
(0142) lcd_w(x);
    05AA 2D0A      MOV	R16,R10
    05AB DF5C      RCALL	_lcd_w
(0143) lcd_w(y);
    05AC 2F06      MOV	R16,R22
    05AD DF5A      RCALL	_lcd_w
(0144) lcd_w(*ch);
    05AE 01FA      MOVW	R30,R20
    05AF 8100      LDD	R16,Z+0
    05B0 DF57      RCALL	_lcd_w
(0145) ch++;
    05B1 5F4F      SUBI	R20,0xFF
    05B2 4F5F      SBCI	R21,0xFF
(0146) if (x>=19)
    05B3 2D8A      MOV	R24,R10
    05B4 3183      CPI	R24,0x13
    05B5 F020      BCS	0x05BA
(0147) {
(0148) x=4;
    05B6 E084      LDI	R24,4
    05B7 2EA8      MOV	R10,R24
(0149) y+=1;
    05B8 9563      INC	R22
(0150) }
    05B9 C001      RJMP	0x05BB
(0151) else 
(0152) x++;
    05BA 94A3      INC	R10
    05BB E480      LDI	R24,0x40
    05BC 1786      CP	R24,R22
    05BD F750      BCC	0x05A8
    05BE 940E0737  CALL	pop_gset3
    05C0 9508      RET
_key_check:
    05C1 940E075C  CALL	push_lset
(0153) }
(0154) }
(0155) 
(0156) unsigned char a[]={
(0157) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0158) 0x80,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0159) 0x80,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0160) 0x80,0x03,0x80,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0161) 0x80,0x03,0xC0,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0162) 0x80,0x03,0x74,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0163) 0x80,0x03,0x5E,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0164) 0x80,0x03,0x4E,0x04,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0165) 0x80,0x02,0x4F,0x0E,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0166) 0x80,0x26,0x4F,0x8E,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0167) 0x80,0x3E,0x40,0xCF,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0168) 0x80,0x3E,0x45,0xCB,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0169) 0x86,0x26,0x47,0xF9,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0170) 0x87,0x27,0x22,0x7D,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0171) 0x83,0xA3,0xB1,0x7D,0xE4,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0172) 0x82,0xE5,0xFE,0xDE,0xE4,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0173) 0x81,0xF3,0x8D,0x5E,0xF6,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0174) 0x87,0x79,0x85,0xDE,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0175) 0x87,0x74,0x87,0xF4,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0176) 0x87,0x52,0xCF,0xFE,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0177) 0x82,0x4E,0xF8,0x03,0xEF,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0178) 0xA5,0x61,0x80,0x00,0xFF,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0179) 0xBD,0x3F,0x00,0x00,0x79,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0180) 0xBD,0x18,0x00,0x00,0x6F,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0181) 0xB5,0x30,0x00,0xE0,0x35,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0182) 0xB6,0xE0,0x01,0xF0,0x3B,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0183) 0xA9,0xE0,0x1F,0xF0,0x35,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0184) 0xB4,0xC0,0xFF,0xE0,0x3B,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0185) 0xBB,0xC3,0xFC,0x07,0x3E,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0186) 0xB4,0xCC,0x02,0x0F,0xBC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0187) 0xB9,0x58,0x03,0x0F,0xBC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0188) 0x9D,0x70,0x01,0x07,0x38,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0189) 0x9C,0x63,0xC0,0x00,0x20,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0190) 0x91,0x6F,0xC1,0x80,0x40,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0191) 0x88,0x73,0xC1,0x80,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0192) 0x8F,0xE3,0xC0,0x01,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0193) 0x87,0xB0,0x00,0x07,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0194) 0x87,0xAC,0x00,0x1C,0x38,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0195) 0x8D,0xB7,0x01,0xFF,0xEC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0196) 0x8C,0xBF,0xFF,0xF3,0xCA,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0197) 0x88,0x64,0x7F,0xF8,0x62,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0198) 0x84,0x40,0x3C,0x78,0x26,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0199) 0x83,0x80,0x3D,0x78,0x46,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0200) 0x80,0xC0,0x3D,0x7E,0x7F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0201) 0x80,0x38,0x7D,0x7E,0x07,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0202) 0x80,0x07,0xFC,0x7C,0x0F,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0203) 0x80,0x00,0x7F,0xFC,0x07,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0204) 0x80,0x00,0x7F,0xFC,0x01,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0205) 0x80,0x00,0x7F,0xFC,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0206) 0x80,0x00,0xFF,0xFC,0x0F,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0207) 0x80,0x01,0xBF,0xFC,0x07,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0208) 0x80,0x03,0x3F,0xF2,0x03,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0209) 0x80,0x02,0x1F,0xE2,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0210) 0x80,0x04,0x0F,0xC3,0x0B,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0211) 0x80,0x04,0x18,0xC1,0x0E,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0212) 0x80,0x08,0x10,0x41,0x8E,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0213) 0x80,0x1C,0x10,0x40,0x87,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0214) 0x80,0x37,0x30,0x67,0xC2,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0215) 0x80,0x40,0xA0,0x6C,0x67,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0216) 0x80,0x40,0x60,0x78,0x37,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0217) 0x80,0xC0,0x60,0x70,0x37,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0218) 0x80,0xC0,0x60,0x60,0x30,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0219) 0x80,0x7F,0xC0,0x7F,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0220) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0221) 
(0222) };
(0223) 
(0224) unsigned char b[]={
(0225) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF3,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0226) 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0227) 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0228) 0x00,0x00,0x00,0x00,0x00,0x00,0xF7,0xFD,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0229) 0x00,0x00,0x00,0x00,0x00,0x03,0xFB,0xFB,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0230) 0x00,0x00,0x00,0x00,0x00,0x03,0x0D,0xF4,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0231) 0x00,0x00,0x00,0x00,0x00,0x03,0x06,0xEC,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0232) 0x00,0x00,0x00,0x00,0x00,0x02,0x07,0x18,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
(0233) 0x00,0x00,0x00,0x00,0x00,0x03,0x07,0xB8,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
(0234) 0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
(0235) 0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x3E,0x01,0x80,0x00,0x01,0xC0,0x07,0x00,0x00,
(0236) 0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x77,0x01,0x80,0x00,0x01,0xC0,0x07,0x00,0x00,
(0237) 0x00,0x00,0x00,0x00,0x00,0x03,0x81,0xE3,0x83,0x80,0x00,0x01,0xC0,0x07,0x00,0x00,
(0238) 0x00,0x00,0x00,0x00,0x00,0x07,0x03,0x9D,0xC7,0x00,0x00,0x0F,0xFC,0x07,0x00,0x00,
(0239) 0x00,0x00,0x00,0x00,0x00,0x06,0x07,0x7C,0xDE,0x00,0x00,0x0F,0xFC,0x07,0x00,0x00,
(0240) 0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0xFF,0x00,0x00,0x0E,0x1F,0xFF,0xE0,0x00,
(0241) 0x00,0x00,0x00,0x00,0x00,0x1C,0x0F,0xFC,0xFF,0x00,0x00,0x0F,0xFF,0xFF,0xE0,0x00,
(0242) 0x00,0x00,0x00,0x00,0x00,0x18,0x1F,0xFF,0xFF,0xC0,0x00,0x0F,0xFC,0x07,0x00,0x00,
(0243) 0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xE0,0x00,0x0E,0x1C,0x07,0x00,0x00,
(0244) 0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x0F,0xE1,0xE0,0x00,0x0F,0xFF,0x87,0x00,0x00,
(0245) 0x00,0x0C,0x00,0x00,0x00,0x38,0x06,0x00,0xE1,0xC0,0x00,0x0F,0xFD,0xC7,0x00,0x00,
(0246) 0x00,0x7F,0xF8,0x1F,0xE0,0x38,0x3E,0x00,0xFF,0x80,0x00,0x0E,0x1D,0xE7,0x00,0x00,
(0247) 0x00,0x7F,0xFF,0xFF,0x90,0x38,0xFC,0x00,0xFF,0x80,0x00,0x0E,0x1C,0xE7,0x00,0x00,
(0248) 0x00,0x60,0x1F,0xFF,0xF0,0x79,0xF0,0x00,0xE3,0x80,0x00,0x1F,0xFC,0x77,0x00,0x00,
(0249) 0x00,0x61,0xFF,0xFF,0xFF,0xED,0xC0,0x00,0xF3,0xC0,0x00,0x1F,0xFC,0x07,0x00,0x00,
(0250) 0x00,0x7F,0xFF,0xF3,0xFF,0xEC,0x00,0x01,0xFB,0xC0,0x00,0x00,0xFC,0x07,0x00,0x00,
(0251) 0x00,0x7F,0xFF,0xF3,0x80,0xEC,0x00,0x01,0xFF,0x80,0x00,0x03,0xFC,0x07,0x00,0x00,
(0252) 0x00,0x06,0x00,0x7E,0x00,0x0F,0xE0,0x01,0xC7,0x00,0x00,0x0F,0x9C,0x07,0x00,0x00,
(0253) 0x00,0x07,0xFF,0xFF,0xC0,0x07,0x80,0x01,0xE7,0x80,0x00,0x3F,0x1C,0x0F,0x00,0x00,
(0254) 0x00,0x00,0x3F,0xFF,0xE0,0x07,0x00,0x00,0xF7,0x80,0x00,0x1C,0xFC,0xFF,0x00,0x00,
(0255) 0x00,0x00,0x0F,0xFC,0x70,0x03,0xC0,0x00,0xFF,0x80,0x00,0x00,0xF8,0xFE,0x00,0x00,
(0256) 0x00,0x00,0x01,0xFE,0x30,0x01,0xF0,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0257) 0x00,0x00,0x00,0x7F,0x30,0x00,0x7E,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0258) 0x00,0x00,0x00,0x3F,0x3F,0xF0,0x1F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0259) 0x00,0x00,0x00,0x1F,0xFF,0xFF,0x3F,0xF8,0xF0,0x00,0x00,0x00,0x07,0x00,0x00,0x00,
(0260) 0x00,0x00,0x00,0x0F,0xFC,0x0F,0xF3,0xF0,0x38,0x00,0x00,0x00,0x07,0x00,0x00,0x00,
(0261) 0x00,0x00,0x00,0x0F,0xFC,0x01,0xFC,0x38,0x1C,0x00,0x00,0x00,0x07,0x00,0x00,0x00,
(0262) 0x00,0x00,0x00,0x07,0xFC,0x00,0xE8,0x18,0x0C,0x00,0x00,0x0F,0xFF,0xFF,0x80,0x00,
(0263) 0x00,0x00,0x00,0x00,0x00,0x00,0xE8,0x38,0x0E,0x00,0x00,0x0F,0xFF,0xFF,0x80,0x00,
(0264) 0x00,0x00,0x00,0x00,0x00,0x00,0xE8,0x70,0x06,0x00,0x00,0x00,0x07,0x00,0x00,0x00,
(0265) 0x00,0x00,0x00,0x00,0x00,0x00,0xE8,0x60,0x06,0x00,0x00,0x00,0x07,0x00,0x00,0x00,
(0266) 0x00,0x00,0x00,0x00,0x00,0x00,0xEC,0xF0,0x06,0x00,0x00,0x00,0x07,0x00,0x00,0x00,
(0267) 0x00,0x00,0x00,0x00,0x00,0x00,0xF7,0x60,0x0C,0x00,0x00,0x00,0x07,0x00,0x00,0x00,
(0268) 0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x70,0x1C,0x00,0x00,0x1F,0xFF,0xFF,0xC0,0x00,
(0269) 0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x38,0x38,0x00,0x00,0x1F,0xFF,0xFF,0xC0,0x00,
(0270) 0x00,0x00,0x00,0x00,0x00,0x07,0x87,0xF9,0xF0,0x00,0x00,0x00,0x07,0x00,0x00,0x00,
(0271) 0x00,0x00,0x00,0x00,0x00,0x07,0x01,0xE9,0xC0,0x00,0x00,0x00,0x07,0x00,0x00,0x00,
(0272) 0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0xE0,0x00,0x00,0x07,0x07,0x07,0x00,0x00,
(0273) 0x00,0x00,0x00,0x00,0x00,0x0C,0x01,0xC0,0x70,0x00,0x00,0x07,0x07,0x07,0x00,0x00,
(0274) 0x00,0x00,0x00,0x00,0x00,0x1C,0x01,0xE0,0x30,0x00,0x00,0x07,0x07,0x07,0x00,0x00,
(0275) 0x00,0x00,0x00,0x00,0x00,0x18,0x03,0x60,0x18,0x00,0x00,0x07,0x07,0x07,0x00,0x00,
(0276) 0x00,0x00,0x00,0x00,0x00,0x18,0x03,0x60,0x18,0x00,0x00,0x07,0x07,0x07,0x00,0x00,
(0277) 0x00,0x00,0x00,0x00,0x00,0x38,0x07,0x60,0x18,0x00,0x00,0x07,0x07,0x07,0x00,0x00,
(0278) 0x00,0x00,0x00,0x00,0x00,0xF0,0x06,0x60,0x0C,0x00,0x00,0x07,0xFF,0xFF,0x00,0x00,
(0279) 0x00,0x00,0x00,0x00,0x00,0xC0,0x06,0x60,0x0E,0x00,0x00,0x07,0xFF,0xFF,0x00,0x00,
(0280) 0x00,0x00,0x00,0x00,0x01,0xC0,0x06,0x60,0x06,0x00,0x00,0x00,0x00,0x07,0x00,0x00,
(0281) 0x00,0x00,0x00,0x00,0x01,0x80,0x06,0x60,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0282) 0x00,0x00,0x00,0x00,0x01,0xC0,0x0E,0x60,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0283) 0x00,0x00,0x00,0x00,0x00,0xF0,0xFC,0x70,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0284) 0x00,0x00,0x00,0x00,0x00,0x7F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0285) 0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x1F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0286) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0287) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0288) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0289) 
(0290) };
(0291) #define key (PIND&0x08)==0 
(0292) #define data (PIND&0x04)==0x04
(0293) #define set_cs asm("sbi 0x18,2")
(0294) #define set_clk asm("sbi 0x18,3")
(0295) #define set_data asm("sbi 0x12,2")
(0296) #define cl_cs asm("cbi 0x18,2")
(0297) #define cl_clk asm("cbi 0x18,3")                     
(0298) #define cl_data asm("cbi 0x12,2")
(0299) #pragma interrupt_handler key_check:5
(0300) 
(0301)  unsigned char k = 0x00;  ;n = 0;
(0302) 
(0303) void key_check()
(0304) { 
(0305)     n=1;
    05C3 E081      LDI	R24,1
    05C4 E090      LDI	R25,0
    05C5 93900902  STS	n+1,R25
    05C7 93800901  STS	n,R24
(0306)     send(0x15);                                  /* 读键盘指令  */
    05C9 E105      LDI	R16,0x15
    05CA E010      LDI	R17,0
    05CB D024      RCALL	_send
(0307)     k=receive()+61;
    05CC D040      RCALL	_receive
    05CD 01C8      MOVW	R24,R16
    05CE 96CD      ADIW	R24,0x3D
    05CF 93800900  STS	k,R24
(0308)     set_cs;
    05D1 9AC2      SBI	0x18,2
    05D2 940E0773  CALL	pop_lset
    05D4 9518      RETI
(0309) }
(0310) 
(0311) void led_init (void)
(0312) {
(0313)     DDRB|= 0x0C;                                /* PB0和PB1为输入   */
_led_init:
    05D5 B387      IN	R24,0x17
    05D6 608C      ORI	R24,0xC
    05D7 BB87      OUT	0x17,R24
(0314) 	set_cs;
    05D8 9AC2      SBI	0x18,2
(0315) 	send (0xA4);
    05D9 EA04      LDI	R16,0xA4
    05DA E010      LDI	R17,0
    05DB D014      RCALL	_send
    05DC 9508      RET
(0316) }
(0317) 
(0318) void init_7279()
(0319) {
(0320)     SREG|=0x80;                                   /* 状态寄存器,全局中断允许    */
_init_7279:
    05DD 9478      BSET	7
(0321)     EIMSK|=0x08;                                  /* 外部中断屏蔽寄存器          */
    05DE B789      IN	R24,0x39
    05DF 6088      ORI	R24,0x8
    05E0 BF89      OUT	0x39,R24
(0322)     EICRA&=0x3f;                                 /* 外部中断控制寄存器A,INTn的上
    05E1 9180006A  LDS	R24,0x6A
    05E3 738F      ANDI	R24,0x3F
    05E4 9380006A  STS	0x6A,R24
(0323)                                                  /*   升沿产生一个异步终端请求     */
(0324)     DDRD&=0xf7;                                   /* PD3为输入                   */
    05E6 B381      IN	R24,0x11
    05E7 7F87      ANDI	R24,0xF7
    05E8 BB81      OUT	0x11,R24
(0325)     DDRB|=0x0c;
    05E9 B387      IN	R24,0x17
    05EA 608C      ORI	R24,0xC
    05EB BB87      OUT	0x17,R24
(0326)     PORTD&=0xfb;                                  /* PD2输出为1                  */
    05EC B382      IN	R24,0x12
    05ED 7F8B      ANDI	R24,0xFB
    05EE BB82      OUT	0x12,R24
    05EF 9508      RET
_send:
  i                    --> R20
  out_data             --> R22
    05F0 940E0743  CALL	push_gset2
    05F2 2F60      MOV	R22,R16
(0327) }
(0328) 
(0329) void send (unsigned char out_data)
(0330) {
(0331)     unsigned char i;
(0332) 	
(0333)     DDRD|=0x04;                                   /* PD2为输出   */
    05F3 9A8A      SBI	0x11,2
(0334)     cl_cs;                                           /* PB2输出为0 */
    05F4 98C2      CBI	0x18,2
(0335)     l_delay();
    05F5 DEE0      RCALL	_l_delay
(0336) 	
(0337)     for(i=0;i<8;i++)
    05F6 2744      CLR	R20
    05F7 C00F      RJMP	0x0607
(0338)     {
(0339)         if(out_data&0x80)
    05F8 2F86      MOV	R24,R22
    05F9 7880      ANDI	R24,0x80
    05FA F011      BEQ	0x05FD
(0340)         {
(0341)             set_data;                                /* PD2输出为1   */
    05FB 9A92      SBI	0x12,2
(0342)         }
    05FC C001      RJMP	0x05FE
(0343)         else
(0344)         {
(0345)            cl_data;                                  /* PD2输出为0   */
    05FD 9892      CBI	0x12,2
(0346)         }
(0347)     s_delay();
    05FE DEDD      RCALL	_s_delay
(0348)     set_clk;
    05FF 9AC3      SBI	0x18,3
(0349)     s_delay();
    0600 DEDB      RCALL	_s_delay
(0350)     cl_clk;
    0601 98C3      CBI	0x18,3
(0351)     s_delay();
    0602 DED9      RCALL	_s_delay
(0352)     out_data*=2;                                     /* 数据向左移一位   */
    0603 E082      LDI	R24,2
    0604 9F86      MUL	R24,R22
    0605 2D60      MOV	R22,R0
    0606 9543      INC	R20
    0607 3048      CPI	R20,0x8
    0608 F378      BCS	0x05F8
(0353)     }
(0354)     cl_data;
    0609 9892      CBI	0x12,2
    060A 940E0734  CALL	pop_gset2
    060C 9508      RET
_receive:
  in_data              --> R20
  i                    --> R22
    060D 940E0743  CALL	push_gset2
(0355) }
(0356) unsigned char receive(void)
(0357) {
(0358)     unsigned char i;
(0359)     unsigned char in_data=0x00;
    060F 2744      CLR	R20
(0360) 	
(0361)     DDRD&=0xfb;
    0610 B381      IN	R24,0x11
    0611 7F8B      ANDI	R24,0xFB
    0612 BB81      OUT	0x11,R24
(0362) 	                                                 /* PD2为输入  */
(0363)     for(i=0;i<8;i++)
    0613 2766      CLR	R22
    0614 C00D      RJMP	0x0622
(0364)     {
(0365)     set_clk;
    0615 9AC3      SBI	0x18,3
(0366)     s_delay();
    0616 DEC5      RCALL	_s_delay
(0367)     in_data*=2;                                       /* 数据左移一位  */
    0617 E082      LDI	R24,2
    0618 9F84      MUL	R24,R20
    0619 2D40      MOV	R20,R0
(0368)         if(data)
    061A B380      IN	R24,0x10
    061B 7084      ANDI	R24,4
    061C 3084      CPI	R24,4
    061D F409      BNE	0x061F
(0369)         {
(0370)         in_data|=0x01;
    061E 6041      ORI	R20,1
(0371)         }
(0372)     cl_clk;
    061F 98C3      CBI	0x18,3
(0373)     s_delay();
    0620 DEBB      RCALL	_s_delay
    0621 9563      INC	R22
    0622 3068      CPI	R22,0x8
    0623 F388      BCS	0x0615
(0374)     }
(0375)     cl_data;
    0624 9892      CBI	0x12,2
(0376)     return(in_data);

⌨️ 快捷键说明

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