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

📄 epphal.lst

📁 AVR单片机控制的PDIUSBD12原程序
💻 LST
字号:
   1               		.file	"epphal.c"
   2               		.arch atmega16
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
  85               	.global	outportb
  87               	outportb:
   1:epphal.c      **** //*************************************
   2:epphal.c      **** //		硬件提取层epphal.c
   3:epphal.c      **** //		开发环境WINAVRGCC
   4:epphal.c      **** //			2007-01-9
   5:epphal.c      **** //			 Hjxiang
   6:epphal.c      **** //*************************************
   7:epphal.c      **** //标准C头文件
   8:epphal.c      **** #include <stdint.h>
   9:epphal.c      **** #include <stdlib.h>
  10:epphal.c      **** //AVR头文件
  11:epphal.c      **** #include <avr/io.h>
  12:epphal.c      **** #include <avr/signal.h>
  13:epphal.c      **** #include <avr/delay.h>
  14:epphal.c      **** //自定义头文件
  15:epphal.c      **** #include "epphal.h"
  16:epphal.c      **** #define RD_N		4
  17:epphal.c      **** #define WR_N		5
  18:epphal.c      **** #define ALE			6
  19:epphal.c      **** #define CS_N		7
  20:epphal.c      **** #define RESET_N		3
  21:epphal.c      **** #define TXD232		1
  22:epphal.c      **** #define INT_N		2
  23:epphal.c      **** #define wait		asm("nop")
  24:epphal.c      **** void outportb(unsigned int Addr,unsigned char Data)
  25:epphal.c      **** {
  89               	.LM1:
  90               	/* prologue: frame size=0 */
  91               	/* prologue end (size=0) */
  92 0000 9C01      		movw r18,r24
  26:epphal.c      **** 	DDRA=0xff;			//IOA OUT
  94               	.LM2:
  95 0002 8FEF      		ldi r24,lo8(-1)
  96 0004 8ABB      		out 58-0x20,r24
  27:epphal.c      **** 	PORTB=(0<<CS_N)|(0<<ALE)|(1<<WR_N)|(1<<RD_N)|(1<<RESET_N);	//IOB7=CS_N=0,IOB6=ALE=0,IOB5=WR_N=1,IO
  98               	.LM3:
  99 0006 88E3      		ldi r24,lo8(56)
 100 0008 88BB      		out 56-0x20,r24
  28:epphal.c      **** 	PORTA=Addr;
 102               	.LM4:
 103 000a 2BBB      		out 59-0x20,r18
  29:epphal.c      **** 	PORTB=(0<<CS_N)|(1<<ALE)|(1<<WR_N)|(1<<RD_N)|(1<<RESET_N);// CS_N=0,ALE=1,WR_N=1,RD_N=1,RESET_N=1,
 105               	.LM5:
 106 000c 98E7      		ldi r25,lo8(120)
 107 000e 98BB      		out 56-0x20,r25
  30:epphal.c      **** 	// 在ALE 下降沿的时候,D12锁定地址;
  31:epphal.c      **** 	PORTB=(0<<CS_N)|(0<<ALE)|(1<<WR_N)|(1<<RD_N)|(1<<RESET_N);// CS_N=0,ALE=0,WR_N=1,RD_N=1,RESET_N=1,
 109               	.LM6:
 110 0010 88BB      		out 56-0x20,r24
  32:epphal.c      **** 	// 准备数据写入D12
  33:epphal.c      **** 	PORTB=(0<<CS_N)|(0<<ALE)|(0<<WR_N)|(1<<RD_N)|(1<<RESET_N);// CS_N=0,ALE=0,WR_N=0,RD_N=1,RESET_N=1,
 112               	.LM7:
 113 0012 88E1      		ldi r24,lo8(24)
 114 0014 88BB      		out 56-0x20,r24
  34:epphal.c      **** 	PORTA=Data;
 116               	.LM8:
 117 0016 6BBB      		out 59-0x20,r22
  35:epphal.c      **** 	asm("NOP");
 119               	.LM9:
 120               	/* #APP */
 121 0018 0000      		NOP
  36:epphal.c      **** 	asm("NOP");
 123               	.LM10:
 124 001a 0000      		NOP
  37:epphal.c      **** 	PORTB=(0<<CS_N)|(1<<ALE)|(1<<WR_N)|(1<<RD_N)|(1<<RESET_N);// CS_N=0,ALE=0,WR_N=1,RD_N=1,RESET_N=1,
 126               	.LM11:
 127               	/* #NOAPP */
 128 001c 98BB      		out 56-0x20,r25
 129               	/* epilogue: frame size=0 */
 130 001e 0895      		ret
 131               	/* epilogue end (size=1) */
 132               	/* function outportb size 18 (17) */
 134               	.Lscope0:
 137               	.global	inportb
 139               	inportb:
  38:epphal.c      **** }
  39:epphal.c      **** unsigned char inportb(unsigned Addr)
  40:epphal.c      **** {
 141               	.LM12:
 142               	/* prologue: frame size=0 */
 143               	/* prologue end (size=0) */
 144 0020 9C01      		movw r18,r24
  41:epphal.c      **** 	unsigned char temp;
  42:epphal.c      **** 	DDRA=0xff;			//IOA IN
 146               	.LM13:
 147 0022 8FEF      		ldi r24,lo8(-1)
 148 0024 8ABB      		out 58-0x20,r24
  43:epphal.c      **** 	PORTB=0b00111010;	//IOB7=CS_N=0,IOB6=ALE=0,IOB5=WR_N=1,IOB4=RD_N=1,IOB3=RESET_N=1,IOB1=1;	
 150               	.LM14:
 151 0026 8AE3      		ldi r24,lo8(58)
 152 0028 88BB      		out 56-0x20,r24
  44:epphal.c      **** 	PORTA=Addr;
 154               	.LM15:
 155 002a 2BBB      		out 59-0x20,r18
  45:epphal.c      **** 	PORTB=(0<<CS_N)|(1<<ALE)|(1<<WR_N)|(1<<RD_N)|(1<<RESET_N);// CS_N=0, ALE=1,WR_N=1,RD_N=1;RESET_N=1
 157               	.LM16:
 158 002c 88E7      		ldi r24,lo8(120)
 159 002e 88BB      		out 56-0x20,r24
  46:epphal.c      **** 	PORTB=(0<<CS_N)|(0<<ALE)|(1<<WR_N)|(1<<RD_N)|(1<<RESET_N);// CS_N=0, ALE=0,WR_N=1,RD_N=1;RESET_N=1
 161               	.LM17:
 162 0030 98E3      		ldi r25,lo8(56)
 163 0032 98BB      		out 56-0x20,r25
  47:epphal.c      **** 	DDRA=0x00;
 165               	.LM18:
 166 0034 1ABA      		out 58-0x20,__zero_reg__
  48:epphal.c      **** 	PORTB=(0<<CS_N)|(0<<ALE)|(1<<WR_N)|(0<<RD_N)|(1<<RESET_N);// CS_N=0, ALE=0,WR_N=1,RD_N=0;RESET_N=1
 168               	.LM19:
 169 0036 88E2      		ldi r24,lo8(40)
 170 0038 88BB      		out 56-0x20,r24
  49:epphal.c      **** 	temp=PORTA;
 172               	.LM20:
 173 003a 8BB3      		in r24,59-0x20
  50:epphal.c      **** 	asm("NOP");
 175               	.LM21:
 176               	/* #APP */
 177 003c 0000      		NOP
  51:epphal.c      **** 	asm("NOP");
 179               	.LM22:
 180 003e 0000      		NOP
  52:epphal.c      **** 	PORTB=(0<<CS_N)|(0<<ALE)|(1<<WR_N)|(1<<RD_N)|(1<<RESET_N);// CS_N=0, ALE=0,WR_N=1,RD_N=1;RESET_N=1
 182               	.LM23:
 183               	/* #NOAPP */
 184 0040 98BB      		out 56-0x20,r25
  53:epphal.c      **** 	return temp;
  54:epphal.c      **** }
 186               	.LM24:
 187 0042 9927      		clr r25
 188               	/* epilogue: frame size=0 */
 189 0044 0895      		ret
 190               	/* epilogue end (size=1) */
 191               	/* function inportb size 21 (20) */
 196               	.Lscope1:
 197               		.text
 199               	Letext:
 200               	/* File "epphal.c": code   39 = 0x0027 (  37), prologues   0, epilogues   2 */
DEFINED SYMBOLS
                            *ABS*:00000000 epphal.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cci8aaaa.s:3      *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cci8aaaa.s:4      *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cci8aaaa.s:5      *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cci8aaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cci8aaaa.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cci8aaaa.s:87     .text:00000000 outportb
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cci8aaaa.s:139    .text:00000020 inportb
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cci8aaaa.s:199    .text:00000046 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss

⌨️ 快捷键说明

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