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

📄 tc_clock.s

📁 在ICCAVR环境下做的ATMEGA128单片机实现模拟时钟
💻 S
📖 第 1 页 / 共 3 页
字号:
	.byte 192,222
	.byte 196,204
	.byte 210,225
	.byte 241,204
	.byte 218,210
	.byte 192,192
	.byte 220,196
	.byte 222,192
	.byte 222,194
	.byte 206,220
	.byte 206,208
	.byte 206,206
	.byte 216,227
	.byte 42,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,62
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 61,58
	.byte 56,56
	.byte 60,56
	.byte 52,56
	.byte 48,32
	.byte 48,40
	.byte 40,52
	.byte 56,63
	.byte 62,63
	.byte 62,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 60,63
	.byte 32,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 1,1
	.byte 1,1
	.byte 3,3
	.byte 15,47
	.byte 63,63
	.byte 63,31
	.byte 31,47
	.byte 31,31
	.byte 3,15
	.byte 11,31
	.byte 63,15
	.byte 63,47
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.byte 63,63
	.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 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 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 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
	.dbsym e Tab_pic2 _Tab_pic2 A[1024:64:16]kc
	.area text(rom, con, rel)
	.dbfile D:\MYDOCU~1\AVR单片机程序\TC_Clock\TC_Clock.c
	.dbfunc e delayUS _delayUS fV
;              i -> R20,R21
;             us -> R22,R23
	.even
_delayUS::
	xcall push_gset2
	movw R22,R16
	.dbline -1
	.dbline 164
; /*******************************************
; *文件名:TC_Clock.c
; *功    能:用定时器/计数器实现模拟时钟
; *               在12864液晶上显示
; *晶振频率:18.432MHz
; *******************************************/
; #include<iom128.h>
; #include<macros.h>
; //#include<stdio.h>
; //#include "LCD12864.c"
; #define  uchar  unsigned char
; #define  uint    unsigned int 
; 
; 
; #define  LCD_DAT      PORTC                            
; #define  LCDENH       PORTD=PORTD|(1<<6)               
; #define  LCDENL        PORTD=PORTD&(~(1<<6))
; #define  LCDDIH         PORTD=PORTD|(1<<7)
; #define  LCDDIL         PORTD=PORTD&(~(1<<7))   
; #define  LCDCS1H     PORTD=PORTD|(1<<5)
; #define  LCDCS1L      PORTD=PORTD&(~(1<<5))
; #define  LCDCS2H     PORTD=PORTD|(1<<4)
; #define  LCDCS2L      PORTD=PORTD&(~(1<<4))
; 
; 
; #pragma  interrupt_handler  Timer1_int:15       
; uchar   sec=20,min=59,hour=23,year=9,mon=3,date=31,day=7;
; #pragma  data:code
; const uchar  table[17][16]=
; {
; 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0       0
; 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1       1
; 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2       2
; 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3       3
; 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4       4
; 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5       5
; 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6       6
; 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7       7
; 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8       8
; 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9       9
; 0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//:      10
; 0x00,0x40,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c      11
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//空     12
; 0x00,0x04,0xFF,0x94,0x94,0xFF,0x04,0x00,0x22,0x12,0x0B,0x06,0x02,0x07,0x2A,0x10,//其13
; 0xFE,0x12,0x12,0x12,0xFF,0x02,0x00,0x00,0x0F,0x01,0x11,0x21,0x1F,0x00,0x00,0x00,//月  14
; 
; };
; 
;  const uchar Tab_Chinesepoem[][16]=
;                                     {
; {0x40,0x20,0x10,0x0C,0xE3,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0x02,0x00,0x00},
; {0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00},/*"年",0*/
; 
; {0x00,0x00,0x00,0x00,0x00,0xFF,0x11,0x11,0x11,0x11,0x11,0xFF,0x00,0x00,0x00,0x00},
; {0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x01,0x01,0x21,0x41,0x3F,0x00,0x00,0x00,0x00},/*"月",1*/
; 
; 
; 
; {0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00},
; {0x00,0x48,0x46,0x41,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00},/*"星",3*/
; 
; {0x00,0x04,0xFF,0x54,0x54,0x54,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00},
; {0x42,0x22,0x1B,0x02,0x02,0x0A,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3F,0x00,0x00},/*"期",4*/
; 
; {0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x80,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"一",5*/
; 
; {0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,0x00},
; {0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x10,0x00},/*"二",6*/
; 
; {0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00},
; {0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00},/*"三",7*/
; 
; {0x00,0xFE,0x02,0x02,0x02,0xFE,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0xFE,0x00,0x00},
; {0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x22,0x7F,0x00,0x00},/*"四",8*/
; 
; {0x00,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC2,0x82,0x02,0x00,0x00,0x00},
; {0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x30,0x20,0x00},/*"五",9*/
; 
; {0x10,0x10,0x10,0x10,0x10,0x91,0x12,0x1E,0x94,0x10,0x10,0x10,0x10,0x10,0x10,0x00},
; {0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x00,0x00,0x01,0x02,0x0C,0x78,0x30,0x00,0x00},/*"六",10*/
; 
; {0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00},/*"日",2*/
; 										  };
; 										  
; 										  
; const uchar   Tab_pic2[][16] = {
; 
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE},
; {0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFC,0xFE,0xFC},
; {0xFE,0xFC,0xFC,0xFE,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC},
; {0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC},
; {0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xF8,0xF4,0xF8,0xF4,0xF8,0xFC,0xFC,0xFC},
; {0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC},
; {0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC},
; {0x54,0x88,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0xBE,0xFF,0x7F,0x3F,0x9F,0x4F,0x27,0x27,0x13,0xCB,0x09,0x01,0x65,0x64,0x65,0x64},
; {0x65,0x64,0x25,0x09,0x89,0x03,0x13,0x27,0x2F,0xCF,0x1F,0x3F,0xFF,0xFF,0xFF,0xFF},
; {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x0F,0xF7},
; {0xEF,0x0F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
; {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x9F,0xC7,0xF7,0x67,0x4F,0xA7,0x97,0x37,0x87},
; {0xF9,0xFF,0xFB,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F},
; {0x3F,0xFF,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
; {0xFF,0xFE,0x7D,0x9A,0xBC,0x16,0x20,0x80,0xC0,0x60,0x38,0x90,0x80,0x80,0x90,0x60},
; {0x02,0xC1,0x1C,0x82,0x91,0x1C,0x0E,0xC4,0xF0,0xF8,0x7C,0x3E,0x9E,0x4F,0x0F,0x1E},
; {0x0F,0x4F,0x9E,0x3E,0xFC,0xF8,0xF2,0x87,0x1E,0x18,0x81,0x86,0x58,0x81,0x0F,0xFF},
; {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,0x07,0x89,0xCD,0xCC,0xFE,0xBF},
; {0xD3,0x12,0x09,0xE9,0x19,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
; {0xFF,0x7F,0x7F,0x3F,0x97,0xCB,0x59,0x2C,0x0E,0xF7,0xFF,0x9E,0x83,0x49,0xED,0xE4},
; {0xFA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0x2F,0x27,0xA0},
; {0xF0,0x3F,0x19,0xCC,0xE5,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
; {0xFF,0xFF,0xC0,0x0C,0x5D,0x5F,0x6D,0x6F,0xEF,0xFF,0x7F,0x3D,0x07,0xC3,0xF9,0xFE},
; {0x80,0x0E,0x30,0xC0,0x08,0x09,0x00,0x07,0x1F,0x3F,0x60,0x80,0x01,0x08,0xFF,0xFF},
; {0xFF,0x00,0x81,0xC0,0x60,0x3F,0x1F,0x03,0x40,0x01,0x01,0xC0,0x38,0x02,0x00,0x0B},
; {0x3F,0x7F,0x7F,0x7F,0x7F,0x7F,0x3F,0x05,0x00,0x3F,0x1F,0x40,0x40,0xDA,0x3F,0x97},
; {0x40,0x18,0x38,0x9F,0x60,0x7A,0x7F,0x7F,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,0x7F},
; {0xFF,0xFC,0x7B,0xFB,0x79,0x78,0xF2,0x46,0x93,0x3F,0x7F,0x01,0x80,0xFE,0xFF,0xFF},
; {0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xF5,0x76,0xF6,0xF1},
; {0xF9,0xF2,0x6E,0xEC,0x71,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
; {0xF7,0xE9,0x4D,0x0C,0x66,0x46,0x42,0xFF,0x77,0x03,0xF3,0xFB,0xFC,0xFF,0xFF,0xFF},
; {0xAA,0xFF,0xFC,0xF8,0xF3,0xE4,0xC8,0xC8,0x90,0x90,0x20,0x20,0x20,0x40,0x08,0x41},
; {0x40,0x20,0x20,0x20,0x00,0x90,0x90,0xC8,0xE4,0xE2,0xC1,0xA8,0xF0,0x00,0x00,0x00},
; {0x00,0x0B,0x06,0x2A,0x34,0x00,0x00,0x00,0x00,0x1E,0x10,0x1E,0x00,0x1E,0x8C,0x1E},
; {0x80,0x9E,0x80,0xCE,0x9C,0xC2,0xCA,0x9E,0xD6,0x80,0x9E,0x4E,0xCE,0x90,0x02,0x96},
; {0x1E,0x80,0x1E,0x00,0x02,0x1E,0xE0,0xC2,0xDC,0xE6,0xE1,0xFE,0xE1,0xCE,0xD2,0xD2},
; {0xCC,0xC0,0xDE,0xE4,0xE0,0xFB,0xE1,0xC2,0xD6,0xDE,0xC0,0xCC,0xD2,0xD2,0xCC,0xC0},
; {0xDE,0xD0,0xCE,0xC0,0xDA,0xD6,0xC0,0xDE,0xC4,0xCC,0xD2,0xE1,0xF1,0xCC,0xDA,0xD2},
; {0xC0,0xC0,0xDC,0xC4,0xDE,0xC0,0xDE,0xC2,0xCE,0xDC,0xCE,0xD0,0xCE,0xCE,0xD8,0xE3},
; {0x2A,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3E},
; {0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3D,0x3A},
; {0x38,0x38,0x3C,0x38,0x34,0x38,0x30,0x20,0x30,0x28,0x28,0x34,0x38,0x3F,0x3E,0x3F},
; {0x3E,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3C,0x3F},
; {0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x03,0x03,0x0F,0x2F},
; {0x3F,0x3F,0x3F,0x1F,0x1F,0x2F,0x1F,0x1F,0x03,0x0F,0x0B,0x1F,0x3F,0x0F,0x3F,0x2F},
; {0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F},
; {0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
; {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
;                                      
; 									                 
; 													 };
; /*****************************************
; *函数名称:   delayUS(us)
; *函数功能    实现1us的延时
; *入口参数 :us
; *出口参数:无
; ****************************************/
; void delayUS(uint us)      
; {
	.dbline 166
;   uint  i;
;   us=us*3;
	ldi R16,3
	ldi R17,0
	movw R18,R22
	xcall empy16s
	movw R22,R16
	.dbline 167
	clr R20
	clr R21
	xjmp L5
L2:
	.dbline 167
L3:
	.dbline 167
	subi R20,255  ; offset = 1
	sbci R21,255
L5:
	.dbline 167
;    for(i=0;i<us;i++);
	cp R20,R22
	cpc R21,R23
	brlo L2
	.dbline -2
L1:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbsym r us 22 i
	.dbend
	.dbfunc e delayMS _delayMS fV
;              i -> R20,R21
;              j -> R22,R23
;             ms -> R16,R17
	.even
_delayMS::
	xcall push_gset2
	.dbline -1
	.dbline 177
; }
; /****************************************
; *函数名称:   delayMS(ms)
; *函数功能    实现1ms的延时
; *入口参数 :ms
; *出口参数:无
; 
; ***************************************/
; void  delayMS(uint ms)
; {
	.dbline 179
;    uint i,j;
;    for(i=0;i<1541;i++)
	clr R20
	clr R21
	xjmp L10
L7:
	.dbline 180
	clr R22
	clr R23
	xjmp L14
L11:
	.dbline 180
L12:
	.dbline 180
	subi R22,255  ; offset = 1
	sbci R23,255
L14:
	.dbline 180
	cp R22,R16
	cpc R23,R17
	brlo L11
L8:
	.dbline 179
	subi R20,255  ; offset = 1
	sbci R21,255
L10:
	.dbline 179
	cpi R20,5
	ldi R30,6
	cpc R21,R30
	brlo L7
	.dbline -2
L6:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbsym r j 22 i
	.dbsym r ms 16 i
	.dbend
	.dbfunc e LCD_WRITE_DAT _LCD_WRITE_DAT fV
;            dat -> R20
	.even
_LCD_WRITE_DAT::
	xcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 192
;     for(j=0;j<ms;j++);
; }
; /****************************************
; 
; 
; /**************************************
; *函数名称:LCD——WRITEDAT(dat)
; *函数功能:向LCD写入数据
; *入口参数:dat
; *出口参数:无
; *************************************/
; void LCD_WRITE_DAT(uchar dat)
; {
	.dbline 193
;     LCDENL;
	cbi 0x12,6
	.dbline 194
; 	delayUS(2);
	ldi R16,2
	ldi R17,0
	xcall _delayUS
	.dbline 195
; 	LCDDIH;                        //选择为输入数据
	sbi 0x12,7
	.dbline 196
; 	delayUS(2);
	ldi R16,2
	ldi R17,0
	xcall _delayUS
	.dbline 197
; 	LCDENH;
	sbi 0x12,6
	.dbline 198
; 	delayUS(2);
	ldi R16,2
	ldi R17,0
	xcall _delayUS
	.dbline 199
; 	PORTC=dat;
	out 0x15,R20
	.dbline 200
; 	delayUS(2);
	ldi R16,2
	ldi R17,0
	xcall _delayUS
	.dbline 201
; 	LCDENL;
	cbi 0x12,6
	.dbline -2
L15:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r dat 20 c
	.dbend
	.dbfunc e LCD_WRITE_COM _LCD_WRITE_COM fV
;            com -> R20
	.even
_LCD_WRITE_COM::
	xcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 210
; }
; /******************************************
; *函数名称:LCD_WRITE_COM(com)
; *函数功能:向LCD写入命令
; *入口参数:com
; *出口参数:无
; ***********************************************/
; void LCD_WRITE_COM(uchar com)
; {
	.dbline 211
;   LCDENL;
	cbi 0x12,6
	.dbline 212
;   delayUS(2);
	ldi R16,2
	ldi R17,0
	xcall _delayUS
	.dbline 213
;   LCDDIL;
	cbi 0x12,7
	.dbline 214
;   delayUS(2);
	ldi R16,2
	ldi R17,0
	xcall _delayUS
	.dbline 215
;   LCDENH;
	sbi 0x12,6
	.dbline 216
;   delayUS(2);
	ldi R16,2
	ldi R17,0
	xcall _delayUS
	.dbline 217
;   PORTC=com;
	out 0x15,R20
	.dbline 218
;   delayUS(2);
	ldi R16,2
	ldi R17,0
	xcall _delayUS
	.dbline 219
;   LCDENL;
	cbi 0x12,6
	.dbline -2
L16:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r com 20 c
	.dbend
	.dbfunc e LCD_WRITE_ADD_CHAR _LCD_WRITE_ADD_CHAR fV
;              i -> R20
;              p -> R22
;              y -> R10
;              x -> R12
	.even
_LCD_WRITE_ADD_CHAR::
	xcall push_gset4
	mov R10,R18
	mov R12,R16
	ldd R22,y+8
	.dbline -1
	.dbline 228
; }
; /*******************************************
; *函数名称:LCD_WRITE_ADD_CHAR(uchar x,y ,uchar *p)
; *函数功能:在坐标xy处写入西文字符
; *入口参数:x,y 写入字符的坐标,  *p字符编码表的首地址
; *出口参数:无
; **********************************************/
; void    LCD_WRITE_ADD_CHAR(uchar x, uchar y, uchar  p)
; {
	.dbline 230
;   uchar i;
;   x=0xb8+x*2;
	ldi R24,2
	mul R24,R12
	mov R24,R0
	subi R24,72    ; addi 184
	mov R12,R24
	.dbline 231
;   y=0x40+y*8;
	ldi R24,8
	mul R24,R10
	mov R24,R0
	subi R24,192    ; addi 64
	mov R10,R24
	.dbline 232
;   LCD_WRITE_COM(x);    //x为行
	mov R16,R12
	xcall _LCD_WRITE_COM
	.dbline 233
;   LCD_WRITE_COM(y);    // y为列
	mov R16,R10
	xcall _LCD_WRITE_COM
	.dbline 234
;   for(i=0;i<8;i++)
	clr R20
	xjmp L21
L18:
	.dbline 235
	.dbline 236
	ldi R24,16
	mul R24,R22
	movw R2,R0
	ldi R24,<_table
	ldi R25,>_table
	add R2,R24
	adc R3,R25
	mov R30,R20
	clr R31
	add R30,R2
	adc R31,R3
	lpm R16,Z
	xcall _LCD_WRITE_DAT
	.dbline 237
L19:
	.dbline 234
	inc R20
L21:
	.dbline 234
	cpi R20,8
	brlo L18
	.dbline 238
;   {
;       LCD_WRITE_DAT(table[p][i]);     //西文字母的上半部分,由8行点构成(每行有8个点)
;   }
;    LCD_WRITE_COM(x+1);
	mov R16,R12
	subi R16,255    ; addi 1
	xcall _LCD_WRITE_COM
	.dbline 239
;   LCD_WRITE_COM(y);
	mov R16,R10
	xcall _LCD_WRITE_COM
	.dbline 240
;     for(i=0;i<8;i++)                                 //写入西文字母的下半部分
	clr R20
	xjmp L25
L22:
	.dbline 241
	.dbline 242
	ldi R24,16
	mul R24,R22
	movw R2,R0
	ldi R24,<_table
	ldi R25,>_table
	add R2,R24
	adc R3,R25
	mov R30,R20
	clr R31
	adiw R30,8
	add R30,R2
	adc R31,R3
	lpm R16,Z
	xcall _LCD_WRITE_DAT
	.dbline 243
L23:
	.dbline 240
	inc R20
L25:
	.dbline 240
	cpi R20,8
	brlo L22
	.dbline -2
L17:
	xcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbsym r p 22 c
	.dbsym r y 10 c
	.dbsym r x 12 c
	.dbend
	.dbfunc e LCD_WRITE_ADD_CHINESE _LCD_WRITE_ADD_CHINESE fV
;              i -> R20
;              p -> R22
;              y -> R10
;              x -> R12
	.even
_LCD_WRITE_ADD_CHINESE::
	xcall push_gset4
	mov R10,R18
	mov R12,R16
	ldd R22,y+8
	.dbline -1
	.dbline 246
;   {
;       LCD_WRITE_DAT(table[p][8+i]);
;   }
; }
; void LCD_WRITE_ADD_CHINESE(uchar x,uchar y,uchar p)
; {
	.dbline 248
;    uchar i;
;   x=0xb8+x*2;
	ldi R24,2
	mul R24,R12
	mov R24,R0
	subi R24,72    ; addi 184
	mov R12,R24
	.dbline 249
;   y=0x40+y*8;
	ldi R24,8
	mul R24,R10
	mov R24,R0
	subi R24,192    ; addi 64
	mov R10,R24
	.dbline 250
;   LCD_WRITE_COM(x);
	mov R16,R12
	xcall _LCD_WRITE_COM
	.dbline 251
;   LCD_WRITE_COM(y);
	mov R16,R10
	xcall _LCD_WRITE_COM
	.dbline 252
;   for(i=0;i<16;i++)
	clr R20
	xjmp L30
L27:
	.dbline 253
	.dbline 254
	ldi R24,2
	mul R24,R22
	mov R17,R0
	ldi R16,16
	muls R16,R17
	ldi R24,<_Tab_Chinesepoem
	ldi R25,>_Tab_Chinesepoem
	movw R2,R0
	add R2,R24
	adc R3,R25
	mov R30,R20
	clr R31
	add R30,R2
	adc R31,R3
	lpm R16,Z
	xcall _LCD_WRITE_DAT
	.dbline 255
L28:
	.dbline 252
	inc R20
L30:
	.dbline 252
	cpi R20,16
	brlo L27
	.dbline 256
;   {
;       LCD_WRITE_DAT(Tab_Chinesepoem[2*p][i]);  
;   }
;    LCD_WRITE_COM(x+1);

⌨️ 快捷键说明

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