📄 mix_exp.lst
字号:
__text_start:
__start:
046F EFCF LDI R28,0xFF
0470 E1D0 LDI R29,0x10
0471 BFCD OUT 0x3D,R28
0472 BFDE OUT 0x3E,R29
0473 51C0 SUBI R28,0x10
0474 40D0 SBCI R29,0
0475 EA0A LDI R16,0xAA
0476 8308 STD Y+0,R16
0477 2400 CLR R0
0478 EBE9 LDI R30,0xB9
0479 E0F1 LDI R31,1
047A E012 LDI R17,2
047B 31E9 CPI R30,0x19
047C 07F1 CPC R31,R17
047D F011 BEQ 0x0480
047E 9201 ST R0,Z+
047F CFFB RJMP 0x047B
0480 8300 STD Z+0,R16
0481 E2E5 LDI R30,0x25
0482 E0F8 LDI R31,0x8
0483 E0A0 LDI R26,0
0484 E0B1 LDI R27,1
0485 E018 LDI R17,0x8
0486 3DEE CPI R30,0xDE
0487 07F1 CPC R31,R17
0488 F021 BEQ 0x048D
0489 95C8 LPM
048A 9631 ADIW R30,1
048B 920D ST R0,X+
048C CFF9 RJMP 0x0486
048D 940E0759 CALL _main
_exit:
048F CFFF RJMP _exit
_adc_isr:
temp --> R16
0490 922A ST R2,-Y
0491 930A ST R16,-Y
0492 931A ST R17,-Y
0493 932A ST R18,-Y
0494 933A ST R19,-Y
0495 938A ST R24,-Y
0496 93EA ST R30,-Y
0497 B62F IN R2,0x3F
0498 922A ST R2,-Y
FILE: E:\Backup\单片机相关\avr双龙\双龙开发工具\SL-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;
0499 2700 CLR R16
049A 2711 CLR R17
(0182) //while(temp<6)
(0183) // temp++;
(0184) temp=ADC;
049B B104 IN R16,0x04
049C B115 IN R17,0x05
(0185) switch (ADMUX)
049D B127 IN R18,0x07
049E 2733 CLR R19
049F 3020 CPI R18,0
04A0 0723 CPC R18,R19
04A1 F029 BEQ 0x04A7
04A2 3021 CPI R18,1
04A3 E0E0 LDI R30,0
04A4 073E CPC R19,R30
04A5 F041 BEQ 0x04AE
04A6 C00E RJMP 0x04B5
(0186) {
(0187) case 0:
(0188) {
(0189) adc1=temp;
04A7 931001C5 STS _adc1+1,R17
04A9 930001C4 STS _adc1,R16
(0190) ADMUX=1;
04AB E081 LDI R24,1
04AC B987 OUT 0x07,R24
(0191) break;
04AD C009 RJMP 0x04B7
(0192) }
(0193) case 1:
(0194) {
(0195) adc2=temp;
04AE 931001C3 STS _adc2+1,R17
04B0 930001C2 STS _adc2,R16
(0196) ADMUX=0;
04B2 2422 CLR R2
04B3 B827 OUT 0x07,R2
(0197) break;
04B4 C002 RJMP 0x04B7
(0198) }
(0199) default :
(0200) {
(0201) ADMUX=0;
04B5 2422 CLR R2
04B6 B827 OUT 0x07,R2
(0202) }
(0203) }
(0204) ADCSRA|=(1<<ADSC);//0x40
04B7 9A36 SBI 0x06,6
04B8 9029 LD R2,Y+
04B9 BE2F OUT 0x3F,R2
04BA 91E9 LD R30,Y+
04BB 9189 LD R24,Y+
04BC 9139 LD R19,Y+
04BD 9129 LD R18,Y+
04BE 9119 LD R17,Y+
04BF 9109 LD R16,Y+
04C0 9029 LD R2,Y+
04C1 9518 RETI
_adctoasc:
char_p --> R10
i --> R12
temp --> R14
adc --> R10
04C2 940E0D9A CALL push_gset5
04C4 0158 MOVW R10,R16
(0205) }
(0206) /* AD结果转换成电压 */
(0207) #define vref 473
(0208) unsigned char * adctoasc(unsigned int adc)
(0209) {
(0210) unsigned int temp;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -