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

📄 mix_exp.lst

📁 ATmegal128的混合中断编程
💻 LST
📖 第 1 页 / 共 2 页
字号:
__start:
__text_start:
    0470 EFCF      LDI	R28,0xFF
    0471 E1D0      LDI	R29,0x10
    0472 BFCD      OUT	P3D,R28
    0473 BFDE      OUT	P3E,R29
    0474 51C0      SUBI	R28,0x10
    0475 40D0      SBCI	R29,0
    0476 EA0A      LDI	R16,0xAA
    0477 8308      STD	R16,0+Y
    0478 2400      CLR	R0
    0479 EBE9      LDI	R30,0xB9
    047A E0F1      LDI	R31,1
    047B E012      LDI	R17,2
    047C 31E9      CPI	R30,0x19
    047D 07F1      CPC	R31,R17
    047E F011      BEQ	0x0481
    047F 9201      ST	R0,Z+
    0480 CFFB      RJMP	0x047C
    0481 8300      STD	R16,0+Z
    0482 E2E5      LDI	R30,0x25
    0483 E0F8      LDI	R31,0x8
    0484 E0A0      LDI	R26,0
    0485 E0B1      LDI	R27,1
    0486 E018      LDI	R17,0x8
    0487 3DEE      CPI	R30,0xDE
    0488 07F1      CPC	R31,R17
    0489 F021      BEQ	0x048E
    048A 95C8      LPM
    048B 9631      ADIW	R30,1
    048C 920D      ST	R0,X+
    048D CFF9      RJMP	0x0487
    048F 940E075D  CALL	_main
_exit:
    0490 CFFF      RJMP	_adc_isr
    0491 922A      ST	R2,-Y
    0492 930A      ST	R16,-Y
    0493 931A      ST	R17,-Y
    0494 932A      ST	R18,-Y
    0495 933A      ST	R19,-Y
    0496 938A      ST	R24,-Y
    0497 93EA      ST	R30,-Y
    0498 B62F      IN	R2,P3F
    0499 922A      ST	R2,-Y
FILE: C:\work\mega128\mix_exp\megalcd.c
(0001) /*****************************************************             
(0002)       	 SL-MEGA128综合演示程序(ICCAVR)
(0003) 	        http://www.sl.com.cn
(0004) 	             作者:詹卫前 
(0005)           1、实验设备:SL-MEGA				 
(0006) 		  2、LCD连接:
(0007) 		     数据线D0~D7接PORTA
(0008) 		     ASK=PORTE.6
(0009) 			 ANSWER=PORTE.7
(0010) 			 RESET=PORTC.3
(0011) 		  3、实时时钟晶振32.768KHZ
(0012) 		  4、ADC通道:ADC0、ADC1,参考电压:AVCC
(0013) 		  5、PS2键盘:DATA --PE5
(0014) 		              CLOCK--PE4 						   	 
(0015) 		  6、工作频率:内部RC 8MHZ	 
(0016) 		  7、实验内容:16进制扫描键盘
(0017) 		               LCD驱动
(0018) 					   点阵图形处理
(0019) 					   汉字内码方式处理
(0020) 					   汉字点阵方式处理
(0021) 					   画点、线、圆函数
(0022) 					   实时时钟RTC
(0023) 					   AD转换实验
(0024) 					   PS2键盘驱动
(0025) 					   看门狗(WATCHDOG)使用
(0026) 					   定时溢出中断、AD转换完成中断					   
(0027) *****************************************************/
(0028) //extern unsigned char kb_buffer[64];
(0029) #include <iom128v.h>
(0030) #include <macros.h>
(0031) /*   定义OCMJ4X8端口   */
(0032) //DATA_PORT=PORTA
(0033) #define data_port PORTA
(0034) //ASK=PORTE.6
(0035) #define ask (PINE&0x40)
(0036) //ANSWER=PORTE.7
(0037) #define set_answer asm("sbi 0x03,7")
(0038) #define clr_answer asm("cbi 0x03,7")
(0039) //RESTE=PORTC.3
(0040) #define set_reset asm("sbi 0x15,3")
(0041) #define clr_reset asm("cbi 0x15,3") 
(0042) #define wait  asm("nop\n nop")
(0043) /*--  双龙公司图标数据   --*/
(0044) /*--  宽度x高度=32x32  --*/
(0045) const unsigned char sl_ico[128]={
(0046) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xE0,0x1F,
(0047) 0xFF,0xFF,0x80,0x1F,0xFF,0xFF,0x00,0x3F,0xFF,0xFE,0x01,0xFF,0xFF,0xFC,0x07,0xFF,
(0048) 0xFF,0xF0,0x1F,0xFF,0xFF,0xF0,0x3F,0xFF,0xFF,0xF0,0x3F,0xFF,0xFF,0xF0,0x7F,0xFF,
(0049) 0xFF,0xE0,0x7F,0xFF,0xFF,0xF0,0x3F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x0F,0xFF,
(0050) 0xFF,0xFC,0x0F,0xFF,0xFF,0xFC,0x07,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0x03,0xFF,
(0051) 0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0x81,0xFF,0xFF,0xFF,0x01,0xFF,
(0052) 0xFF,0xFF,0x03,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xF8,0x03,0xFF,0xFF,0xE0,0x07,0xFF,
(0053) 0xFE,0x00,0x2F,0xFF,0xFF,0xC0,0x3F,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
(0054) /*--  ATMEL位图文件数据 --*/
(0055) /*--  宽度x高度=104x49  --*/
(0056) const unsigned char atmel_bmp[637]={
(0057) 0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x0F,
(0058) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x1F,0xFF,0xFF,0xFF,
(0059) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
(0060) 0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
(0061) 0xF8,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,
(0062) 0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0xFF,0xFF,0xFF,
(0063) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x7F,0x80,0x00,0x00,0x00,
(0064) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
(0065) 0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0066) 0x03,0xFC,0x7F,0x9F,0xFF,0xFF,0xF8,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x03,0xFC,0x7F,
(0067) 0x9F,0xFF,0xFF,0xFC,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x07,0xFC,0x7F,0x9F,0xFF,0xFF,
(0068) 0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x07,0xFC,0x7F,0x9F,0xC7,0xF9,0xFE,0x3F,0xFF,
(0069) 0xE7,0xF8,0x00,0x00,0x0F,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,
(0070) 0x00,0x0F,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x1F,0xFC,
(0071) 0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x1F,0xFC,0x7F,0x9F,0xC7,
(0072) 0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x3F,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,
(0073) 0x00,0x07,0xF8,0x00,0x00,0x3F,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0x00,0x07,0xF8,
(0074) 0x00,0x00,0x7F,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x7F,
(0075) 0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0xFF,0xFC,0x7F,0x9F,
(0076) 0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0xFF,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,
(0077) 0x3F,0xFF,0xE7,0xF8,0x00,0x01,0xFF,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,
(0078) 0xF8,0x00,0x01,0xFF,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x03,
(0079) 0xFF,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x03,0xFF,0xFC,0x7F,
(0080) 0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x07,0xFB,0xFC,0x7F,0x9F,0xC7,0xF8,
(0081) 0xFE,0x3F,0x00,0x07,0xF8,0x00,0x07,0xF3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0x00,
(0082) 0x07,0xF8,0x00,0x0F,0xF3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,
(0083) 0x1F,0xE3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xF8,0x1F,0xE3,0xFC,
(0084) 0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xF0,0x3F,0xC3,0xFC,0x7F,0x9F,0xC7,
(0085) 0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xF0,0x3F,0xC3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,
(0086) 0xFF,0xE7,0xFF,0xE0,0x7F,0xF3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,
(0087) 0xE0,0x7F,0xF3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xC0,0xFF,0xF3,
(0088) 0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,
(0089) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0090) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0091) 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0xFF,
(0092) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,
(0093) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
(0094) 0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
(0095) 0xFF,0xF8,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,
(0096) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
(0097) /*--  文字:  和  --*/
(0098) /*--  楷体_GB231248;  此字体下对应的点阵为:宽x高=64x64   --*/
(0099) const unsigned char hz1[480]={
(0100) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0101) 0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x00,
(0102) 0x00,0x00,0x00,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x00,0x00,0x00,
(0103) 0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFC,0x00,0x00,0x00,0x00,
(0104) 0x00,0x00,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
(0105) 0x00,0x03,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x87,0xC0,0x00,0x00,0x00,0x00,
(0106) 0x00,0x18,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,
(0107) 0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,
(0108) 0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,
(0109) 0x00,0x00,0x03,0x87,0xC0,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xE0,0x00,0x06,0x00,
(0110) 0x00,0x00,0x0F,0xFF,0xC0,0x00,0x1F,0x80,0x00,0x00,0xFF,0xF8,0x00,0x01,0xFF,0xE0,
(0111) 0x00,0x0F,0xFF,0x80,0x7F,0xFF,0xFF,0xF0,0x07,0xFF,0xE7,0x80,0x7F,0xFF,0xFF,0xF0,
(0112) 0x1F,0xFE,0x0F,0x80,0x7F,0x80,0x07,0xE0,0x0F,0xF0,0x1F,0x80,0x3E,0x00,0x07,0xC0,
(0113) 0x07,0x80,0x3F,0x80,0x1E,0x00,0x07,0xC0,0x00,0x00,0x3F,0x80,0x1E,0x00,0x07,0x80,
(0114) 0x00,0x00,0x7F,0x80,0x1E,0x00,0x07,0x80,0x00,0x00,0xFB,0x80,0x0E,0x00,0x07,0x80,
(0115) 0x00,0x00,0xF3,0xF8,0x0E,0x00,0x0F,0x00,0x00,0x01,0xE3,0xFE,0x0E,0x00,0x0F,0x00,
(0116) 0x00,0x03,0xE3,0xBF,0x0E,0x00,0x0F,0x00,0x00,0x07,0xC3,0x9F,0x07,0x00,0x0E,0x00,
(0117) 0x00,0x07,0x83,0x8F,0x07,0x00,0x0E,0x00,0x00,0x0F,0x03,0x83,0x07,0x00,0x1F,0x00,
(0118) 0x00,0x1E,0x03,0x80,0x07,0x1F,0xFF,0x80,0x00,0x3C,0x03,0x80,0x07,0xFF,0xFF,0x80,
(0119) 0x00,0x78,0x03,0x80,0x07,0xFF,0x00,0x00,0x00,0x70,0x03,0x80,0x03,0x00,0x00,0x00,
(0120) 0x00,0xE0,0x03,0x80,0x03,0x00,0x00,0x00,0x01,0xC0,0x03,0x80,0x03,0x00,0x00,0x00,
(0121) 0x03,0x80,0x07,0x80,0x03,0x00,0x00,0x00,0x06,0x00,0x07,0x80,0x01,0x00,0x00,0x00,
(0122) 0x0C,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x10,0x00,0x07,0x80,0x00,0x00,0x00,0x00,
(0123) 0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
(0124) 0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
(0125) 0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
(0126) 0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
(0127) 0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,
(0128) 0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0129) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
(0130) const unsigned char hz2[132]={
(0131) /*--  文字:  欢  --*/
(0132) /*--  楷体_GB231224;  此字体下对应的点阵为:宽x高=32x33   --*/
(0133) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x70,0x00,
(0134) 0x00,0x00,0x70,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xC0,0x00,
(0135) 0x00,0x00,0xC0,0x00,0x00,0x60,0x81,0x00,0x03,0xF1,0x8F,0xC0,0x3E,0x71,0xF9,0xE0,
(0136) 0x10,0x63,0x01,0x80,0x00,0x62,0x03,0x00,0x08,0x64,0xC2,0x00,0x04,0x60,0x60,0x00,
(0137) 0x06,0xC0,0x60,0x00,0x03,0xC0,0x60,0x00,0x01,0xC0,0x60,0x00,0x01,0xC0,0xD0,0x00,
(0138) 0x01,0x60,0xD8,0x00,0x03,0x70,0xCC,0x00,0x06,0x31,0x8C,0x00,0x04,0x11,0x86,0x00,
(0139) 0x08,0x03,0x03,0x80,0x10,0x06,0x03,0xC0,0x20,0x0C,0x01,0xF0,0x00,0x18,0x00,0xFC,
(0140) 0x00,0x20,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0141) 0x00,0x00,0x00,0x00};
(0142) const unsigned char hz3[132]={
(0143) /*--  文字:  迎  --*/
(0144) /*--  楷体_GB231224;  此字体下对应的点阵为:宽x高=32x33   --*/
(0145) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0146) 0x00,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x06,0x00,0xC0,0x00,0x07,0x01,0x80,0x00,
(0147) 0x03,0x82,0x01,0xE0,0x01,0x1C,0x3E,0xE0,0x00,0x08,0x10,0x60,0x00,0x0C,0x10,0x60,
(0148) 0x00,0x0C,0x10,0xC0,0x07,0x0C,0x10,0xC0,0x3F,0x8C,0x50,0xC0,0x23,0x0D,0x93,0xC0,
(0149) 0x03,0x0F,0x11,0xC0,0x02,0x0E,0x11,0x80,0x02,0x0C,0x10,0x00,0x02,0x08,0x10,0x00,
(0150) 0x03,0x00,0x10,0x00,0x01,0x00,0x10,0x00,0x01,0x00,0x10,0x00,0x1F,0xC0,0x10,0x00,
(0151) 0x3C,0x3E,0x10,0x00,0x00,0x07,0xE0,0x00,0x00,0x01,0xFF,0xFE,0x00,0x00,0x3F,0xF8,
(0152) 0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0153) 0x00,0x00,0x00,0x00};
(0154) const unsigned char hz4[132]={
(0155) /*--  文字:  您  --*/
(0156) /*--  楷体_GB231224;  此字体下对应的点阵为:宽x高=32x33   --*/
(0157) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x30,0x60,0x00,
(0158) 0x00,0x30,0x60,0x00,0x00,0x70,0xE0,0x00,0x00,0x60,0xC1,0x80,0x00,0xC1,0xBF,0xE0,
(0159) 0x00,0xC3,0xE0,0xE0,0x01,0x82,0x31,0x00,0x03,0xC4,0x30,0x00,0x06,0xC8,0x10,0x00,
(0160) 0x0C,0xC0,0x10,0x00,0x08,0xC2,0x13,0x00,0x10,0x82,0x11,0xC0,0x00,0x86,0x10,0xC0,
(0161) 0x00,0x86,0x30,0x40,0x00,0x84,0xB0,0x00,0x00,0x80,0x70,0x00,0x00,0x80,0x30,0x00,
(0162) 0x00,0x00,0x20,0xE0,0x00,0x07,0x00,0x78,0x02,0x03,0xC0,0x18,0x02,0x20,0xC0,0x00,
(0163) 0x06,0x30,0x04,0x00,0x06,0x18,0x02,0x00,0x0C,0x0C,0x03,0x80,0x0C,0x07,0x03,0xC0,
(0164) 0x00,0x03,0xFF,0xC0,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0165) 0x00,0x00,0x00,0x00};
(0166) unsigned int adc1;
(0167) unsigned int adc2;
(0168) unsigned char adcval[6];
(0169) unsigned char keytime;
(0170) extern void timecal(void);
(0171) extern void timer0_init(void);
(0172) extern void timer2_init(void);
(0173) extern void delay_ms(unsigned int n);
(0174) extern void init_kb(void);
(0175) extern void timetoasc(void);
(0176) extern unsigned char getchar(void);
(0177) /*      AD转换程序     */
(0178) #pragma interrupt_handler adc_isr:iv_ADC
(0179) void adc_isr(void)
(0180)    {
(0181)     unsigned int temp=0;
    049A 2700      CLR	R16
    049B 2711      CLR	R17
(0182) 	//while(temp<6)
(0183) 	//    temp++;
(0184) 	temp=ADC;
    049C B104      IN	R16,P04
    049D B115      IN	R17,P05
(0185)     switch (ADMUX)
    049E B127      IN	R18,P07
    049F 2733      CLR	R19
    04A0 3020      CPI	R18,0
    04A1 0723      CPC	R18,R19
    04A2 F029      BEQ	0x04A8
    04A3 3021      CPI	R18,1
    04A4 E0E0      LDI	R30,0
    04A5 073E      CPC	R19,R30
    04A6 F041      BEQ	0x04AF
    04A7 C00E      RJMP	0x04B6
(0186) 	    {
(0187) 	     case 0:
(0188) 		     {
(0189)               adc1=temp;
    04A9 931001C5  STS	R17,_adc1+1
    04AB 930001C4  STS	R16,_adc1
(0190) 			  ADMUX=1;
    04AC E081      LDI	R24,1
    04AD B987      OUT	P07,R24
(0191) 			  break;
    04AE C009      RJMP	0x04B8
(0192) 			 }
(0193) 	     case 1:
(0194) 		     {
(0195)               adc2=temp;
    04B0 931001C3  STS	R17,_adc2+1
    04B2 930001C2  STS	R16,_adc2
(0196) 			  ADMUX=0;
    04B3 2422      CLR	R2
    04B4 B827      OUT	P07,R2
(0197) 			  break;
    04B5 C002      RJMP	0x04B8
(0198) 			 }
(0199) 	     default :
(0200) 		     {
(0201) 			  ADMUX=0;
    04B6 2422      CLR	R2
    04B7 B827      OUT	P07,R2
(0202) 			 }			 
(0203) 		 }
(0204)    	ADCSRA|=(1<<ADSC);//0x40	 			 	 		 
    04B8 9A36      SBI	P06,6
(0205)    } 
    04B9 9029      LD	R2,Y+
    04BA BE2F      OUT	P3F,R2
    04BB 91E9      LD	R30,Y+
    04BC 9189      LD	R24,Y+
    04BD 9139      LD	R19,Y+
    04BE 9129      LD	R18,Y+
    04BF 9119      LD	R17,Y+
    04C0 9109      LD	R16,Y+
    04C1 9029      LD	R2,Y+
    04C2 9518      RETI
_adctoasc:
  char_p               --> R10
  i                    --> R12
  temp                 --> R14
  adc                  --> R10
    04C4 940E0DD2  CALL	push_gset5
    04C5 0158      MOVW	R10,R16
(0206) /*     AD结果转换成电压     */
(0207) #define vref   473
(0208) unsigned char * adctoasc(unsigned int adc)
(0209)     {
(0210) 	 unsigned int temp;
(0211) 	 unsigned char i;

⌨️ 快捷键说明

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