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

📄 em78p458_adc_demo.lst

📁 义隆电子EM78P458 AD 转换程序.
💻 LST
📖 第 1 页 / 共 2 页
字号:
     1                    ;================================================================================================================
     2                    ;		EM78P458 内部PWM1、PWM2 资源应用程序                                           
     3                    ;		说明:本例设置PWM1输出周期为500uS,占空比为10uS 的方波信号        
     4                    ;		   		设置PWM2输出周期为100uS,占空比为50uS的方波信号,EM          
     5                    ;           		78P458外接3.587MHz晶振作为工作时钟,TMR2、TMR1预分         
     6                    ;           		频系数均设定为2,仿真器采用Elan的E8-ICE for 458 ver 1.0, 头       
     7                    ;           		文件EM78P458.h定义了单片机内部寄存器单元标号。                         
     8                    ;================================================================================================================	
     9                    
    10                    	include	"EM78P458.h"									;寄存器定义文件
     1           C        ;================================================================================================================
     2           C        ;                               EM78P458寄存器定义			      							      
     3           C        ;================================================================================================================
     4           C        	
     5           C        ;----------------------------------------------------------------------------------------------------
     6           C        ;操作寄存器定义			         																      
     7           C        ;----------------------------------------------------------------------------------------------------
     8           C        ;以 “ register_功能缩写”   形式定义0x00-0x0f的操作寄存器
     9      0000 C        	register_IAR					   equ	0x00				;间接寻址指针
    10      0001 C        	register_TCC					  equ	0x01				;定时器/计数器控制寄存器
    11      0002 C        	register_PC						 equ	0x02				;程序指针和堆栈
    12      0003 C        	register_SR						 equ	0x03				;状态寄存器
    13      0004 C        	register_RSR					  equ	0x04				;RAM选择寄存器
    14      0005 C        	register_PORT5				 equ	0x05				;PORT5端口I/O寄存器
    15      0006 C        	register_PORT6				 equ	0x06				;PORT6端口I/O寄存器
    16      0009 C        	register_AD_CON			  equ	0x09				;AD控制寄存器
    17      000A C        	register_AD_DATA		   equ	0x0a		        ;ADC转换结果寄存器
    18      000B C        	register_TMR1L		  	   equ	0x0b		        ;8位通用寄存器
    19      000C C        	register_TMR1H			     equ	0x0c		        ;两位寄存器,bit0 与 bit1 可用
    20      000D C        	register_TMR2L 				equ	0x0d				;8位通用寄存器
    21      000E C        	register_TMR2H 				equ	0x0e				;两位寄存器,bit0 与 bit1 可用
    22      000F C        	register_INT_ISR		  	 equ	0x0f				;中断状态寄存器
    23           C        
    24           C        ;以  “register_Rx”   形式定义0x00-0x0f的操作寄存器
    25      0000 C        	register_R0				 		 equ	0x00
    26      0001 C        	register_R1						  equ	0x01
    27      0002 C        	register_R2					 	 equ	0x02
    28      0003 C        	register_R3				 		 equ	0x03
    29      0004 C        	register_R4			 			 equ	0x04
    30      0005 C        	register_R5		 				 equ	0x05
    31      0006 C        	register_R6					 	 equ	0x06
    32      0007 C        	register_R7				 		 equ	0x07
    33      0008 C        	register_R8			 			 equ	0x08
    34      0009 C        	register_R9			 			 equ	0x09
    35      000A C        	register_RA						 equ	0x0a
    36      000B C        	register_RB        		  	   equ	0x0b
    37      000C C        	register_RC			             equ	0x0c
    38      000D C        	register_RD 			       	 equ	0x0d
    39      000E C        	register_RE 				         equ	0x0e
    40      000F C        	register_RF 				         equ	0x0f
    41           C        
    42           C        ;----------------------------------------------------------------------------------------------------
    43           C        ;操作寄存器位定义			         																      
    44           C        ;----------------------------------------------------------------------------------------------------
    45           C        ;register_SR  状态寄存器的各位
    46      0000 C        	bit_C								 equ	0				;进位标志位
    47      0001 C        	bit_DC				 			 equ	1				;辅助进位标志
    48      0002 C        	bit_Z								 equ	2				;零标志位
    49      0003 C        	bit_P								 equ	3				;低功耗标志位
    50      0004 C        	bit_T								 equ	4				;溢出标志位
    51      0005 C        	bit_PS0				    		 equ	5				;程序页面选择位0
    52      0006 C        	bit_PS1						     equ	6				;程序页面选择位1
    53      0007 C        	bit_CMPOUT			  	 equ	7				;比较器结果标志位
    54           C        ;register_AD_CON  AD控制寄存器	
    55      0000 C        	bit_ADIS0						 equ	0				;模拟信号输入选择0
    56      0001 C        	bit_ADIS1   		 			 equ	1				;模拟信号输入选择1
    57      0002 C        	bit_ADIS2						 equ	2				;模拟信号输入选择2
    58      0003 C        	bit_ADPD						 equ	3				;AD低功耗模式位:1正常模式  0进入低功耗模式
    59      0004 C        	bit_ADRUN 					 equ	4				;AD开始运行位:置1开始  转换结束硬件自动清0
    60      0005 C        	bit_IOCS  			    		 equ	5				;输出寄存器段选择位:为0选择段0(IOC50-IOCF0),为1选择段1(IOC51-IOCF1)
    61           C        ;register_INT_ISR   中断状态寄存器
    62      0000 C        	bit_TCIF						   equ	0				;TCC溢出中断标志位
    63      0001 C        	bit_ICIF				 		   equ	1				;PORT6 输入变化中断标志位
    64      0002 C        	bit_EXIF					  	 equ	2				;外部中断标志位,/INT下降沿有效
    65      0003 C        	bit_ADIF				 		 equ	3				;AD转换结束标志位
    66      0004 C        	bit_PWM1IF					 equ	4				;PWM1中断标志位
    67      0005 C        	bit_PWM2IF		    		 equ	5				;PWM2中断标志位
    68      0006 C        	bit_CMPIF   				     equ	6				;比较器中断标志位
    69           C        
    70           C        ;----------------------------------------------------------------------------------------------------
    71           C        ;特殊功能寄存器定义	         																      
    72           C        ;----------------------------------------------------------------------------------------------------
    73           C        ;以 “ sfr_功能缩写”   形式定义特殊功能寄存器	
    74      0005 C        	sfr_PORT5_CON		 equ	0x05				;PORT5 I/O 控制寄存器
    75      0006 C        	sfr_PORT6_CON		 equ	0x06			    ;PORT6 I/O 控制寄存器
    76      0009 C        	sfr_G_CON	 			  equ	0x09			   ;增益控制寄存器	
    77      000A C        	sfr_AD_CMP_CON	   equ	0x0a			  ;AD与比较器控制寄存器	
    78      000B C        	sfr_PULLDOWN_CON equ	0x0b			   ;下拉输出控制寄存器
    79      000C C        	sfr_OPENDRAIN_CON equ	0x0c			  ;开漏输出控制寄存器	
    80      000D C        	sfr_PULLHIGH_CON	equ	0x0d			  ;上拉输出控制寄存器
    81      000E C        	sfr_WDT_CON			  equ	0x0e			  ;看门狗控制寄存器
    82      000F C        	sfr_INT_IER				 equ	 0x0f			   ;中断使能控制寄存器			
    83           C        
    84      0005 C        	sfr_PWM_CON      	  equ	0x05				;PWM控制寄存器
    85      0006 C        	sfr_DT1L 	                 equ	0x06			    ;PWM1占空比低8位
    86      0007 C        	sfr_DT1H	  		 	  equ	0x07				;PWM1占空比高8位
    87      0008 C        	sfr_PRD1	                 equ	0x08			    ;PWM1周期
    88      0009 C        	sfr_DT2L	                 equ	0x09			    ;PWM2占空比低8位
    89      000A C        	sfr_DT2H	                 equ	0x0a			    ;PWM2占空比高8位
    90      000B C        	sfr_PRD2	  		 	  equ	0x0b				;PWM2周期
    91      000C C        	sfr_DL1L	                 equ	0x0c			    ;PWM1占空比锁存器低8位,read only
    92      000D C        	sfr_DL1H	  		 	  equ	0x0d				;PWM1占空比锁存器高2位,read only
    93      000E C        	sfr_DL2L	  		 	  equ	0x0e				;PWM2占空比锁存器低8位,read only
    94      000F C        	sfr_DL2H	  		 	  equ	0x0f				;PWM2占空比锁存器高2位,read only
    95           C        
    96           C        ;以 “ sfr_IOCx0/1”   形式定义特殊功能寄存器	
    97      0005 C        	sfr_IOC50	  		 	 		  equ	0x05			;PORT5 I/O 控制寄存器
    98      0006 C        	sfr_IOC60	        	 	         equ	0x06    	    ;PORT6 I/O 控制寄存器
    99      0009 C        	sfr_IOC90	           		       equ	0x09		    ;增益控制寄存器
   100      000A C        	sfr_IOCA0	            		     equ	0x0a   		 ;AD与比较器控制寄存器	
   101      000B C        	sfr_IOCB0	  		 	 		 equ	0x0b 			;下拉输出控制寄存器
   102      000C C        	sfr_IOCC0	        		         equ	0x0c	 	    ;开漏输出控制寄存器	
   103      000D C        	sfr_IOCD0	  		 			  equ	0x0d			;上拉输出控制寄存器
   104      000E C        	sfr_IOCE0	  		 			  equ	0x0e		 	;看门狗控制寄存器
   105      000F C        	sfr_IOCF0	  		 	      	 equ	0x0f 			;中断使能控制寄存器			
   106           C        	
   107      0005 C        	sfr_IOC51	           		 	  equ	0x05			;PWM控制寄存器
   108      0006 C        	sfr_IOC61	                         equ	0x06	  	    ;PWM1占空比低8位
   109      0007 C        	sfr_IOC71	  		 	          equ	0x07	  		;PWM1占空比高8位
   110      0008 C        	sfr_IOC81	               	      equ	0x08 		    ;PWM1周期
   111      0009 C        	sfr_IOC91	                 	    equ	0x09 		    ;PWM2占空比低8位
   112      000A C        	sfr_IOCA1	                  	   equ	0x0a		    ;PWM2占空比高8位
   113      000B C        	sfr_IOCB1	  		 	 	    equ	 0x0b		    ;PWM2周期
   114      000C C        	sfr_IOCC1	               	      equ	0x0c		    ;PWM1占空比锁存器低8位,read only
   115      000D C        	sfr_IOCD1	  		 	         equ	0x0d 			;PWM1占空比锁存器高2位,read only
   116      000E C        	sfr_IOCE1	  		 	         equ	0x0e	  		;PWM2占空比锁存器低8位,read only
   117      000F C        	sfr_IOCF1	  		 	          equ	0x0f		 	;PWM2占空比锁存器高2位,read only
   118           C        
   119           C        ;特殊功能寄存器A、CONT的地址不知道,所以未列出
   120           C        ;	sfr_A						              equ	A			       ;累加器
   121           C        ;	sfr_CONT				              equ	CONT	        ;控制寄存器
   122           C        

⌨️ 快捷键说明

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