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

📄 timre.c

📁 Freescale 08系列单片机的定时器模块C语言源代码。可直接应用在工程项目中做为参考。
💻 C
字号:
#include <hidef.h>		//C编译器提供的头文件

Byte	PORTA	@0x0000;	//部分寄存器标号定义
Byte	DDRA	@0x0004;
Byte	Portb	@0x0001;
Byte	Ddrb	@0x0005;

Byte	CONFIG1	@0x001E;
Byte	CONFIG2	@0x001F;


Byte	T1SC    @0x0020;
Byte	T1CNTH  @0x0021;
Byte	T1CNTL  @0x0022;
Byte	T1MDH   @0x0023;
Byte	T1MDL   @0x0024;

Byte	SCCR1	@0x0013;
Byte	SCCR2   @0x0014;
Byte	SCSR	@0x0016;
Byte	SCDR	@0x0018;
Byte	BAUD	@0x0019;

Byte	PCTL		@0x0036;
Byte	PBWC		@0x0037;
Byte	PMSH		@0x0038;
Byte	PMSL		@0x0039;
Byte	PMRS		@0x003A;
#define b_PLLON		5
#define b_AUTO		7
#define b_BCS 		4

#pragma CODE_SEG DEFAULT		//标志代码段的开始

void init_gp32(void)			//初始化08GP32
{
asm {
sei
lDA  	#0x01		//CONFIG设置
STA  	CONFIG1
LDA  	#0x3D
STA  	CONFIG2
CLR    	PCTL		//PLL锁相环的设置
MOV    	#0x01,PCTL
MOV	#0x01,PMSH
MOV	#0x2C,PMSL
MOV	#0x80,PMRS
BSET	b_PLLON,PCTL
BSET	3,PCTL
BSET	2,PCTL       		
BSET	b_AUTO,PBWC
BSET	b_BCS,PCTL
lda	#0x05		//允许IRQ中断
sta	0x1d
lda     #0x45
sta     T1SC 
lda	#0x02
STA     BAUD
BSET    6,SCCR1     //enable SCI
BSET    3,SCCR2		//enable receive and sendout
BSET    2,SCCR2        
}
}


void main(void) { 

init_gp32();
asm {
cli			//允许中断
}
PORTA=0xFE;			//初始化PORTA
DDRA=255;
Portb=0x00;
Ddrb=255;
while (TRUE) 
{
}
}



/* interrupt here */

void	T1OVER(void)
{
	
asm{
ldhx	0x271
sthx	T1MDH
bclr    7,T1SC
}     
Portb--;

asm{
rti
}

}	


void dummy(void)			//其他无用中断的服务程序
{
asm {
rti
}
}

⌨️ 快捷键说明

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