44binit.s ----- 初始化中断、存储器、堆栈等

源代码在线查看: main.c.bak

软件大小: 899 K
上传用户: invill
关键词: binit 44 初始化 中断
下载地址: 免注册下载 普通下载 VIP

相关代码

				/****************************************************************************
				【文  件  名  称】44Btest.c
				【功  能  描  述】三星S3C44B0X板demo程序代码
				【程  序  版  本】2.0
				【创建人及创建日期】龚俊//2003-07-02 15:27
				【修改人及修改日期】龚俊//2004-2-12 9:18
				****************************************************************************/
				
				//***************************************************************************
				#include 
				#include 
				
				#include "..\inc\def.h"
				#include "..\inc\option.h"
				#include "..\inc\44b.h"
				#include "..\inc\44blib.h"
				#include "..\inc\timer.h"
				
				
				//*****************************************************************************
				void Time_Pwm_Beep(void)
				{
					rPCONE = 0x55ab;		
					//PE8-P0的引脚功能依次为:ENDIAN TOUT4、3、2、1、0 RXD0 TXD0 FOUT
					rPUPE |= 0xf0;		//TOUT4、3、2、1、0设置成不上拉,其他引脚上拉
				
					rTCFG0 = rTCFG0 & (~0xff) | 0x3f;	//死区长度为2;    Prescaler0=3f
					//定时器输入时钟频率计算公式 = MCLK/{prescaler+1}/{divider value}
					rTCFG1 = rTCFG1 & (~0xf) | 0x2;
					//定时器时钟 = (MCLK/prescaler+1)/8
				
					rTCNTB0 = 60;		//决定TOUT 0引脚PWM输出信号的频率
					rTCMPB0 = 30;		//决定TOUT 0引脚PWM输出高电平的信号宽度(rTCMPB0				
					rTCON = rTCON & (~0xf) | 0x0a;
					//自动重装,输出取反关闭,更新TCNTBn、TCMPBn,死区控制器关闭
					rTCON = rTCON & (~0xf) | 0x09;		//开启蜂鸣器的叫声
				}
				
				/****************************************************************************
				【功能说明】系统主函数
				****************************************************************************/
				void Main(void)
				{
					U16 BeepFreq = 800;	
					
					rNCACHBE0 = ((Non_Cache_End>>12)12);
				    //在上面的数据区域不使用高速缓存
				
				    rSYSCFG = CACHECFG;    //8K字节cache,写缓冲使能,data abort使能
				
				    Port_Init();		//IO口初始化
						
					Uart_Select( 0 ) ;		//选择串口0
					Uart_Init( 32000000, 57600 ) ;		
						//串口初始化,波特率为115200(系统主频为32MHz)
						
				   	Uart_Printf( "\n\n\t优龙科技\n" ) ;
				   	Uart_Printf( "Http://www.ucdragon.com\n\n" ) ;
				
				   	Uart_Printf( "S3C44B0X定时器(PWM)测试!\n" ) ;
				
				   	rPCONE = (rPCONE & 0x3ff3f) | ((0x2)				   		//GPE3引脚功能设置为TOUT(PWM输出)
				   	rPUPE = rPUPE | (1				   		//禁止GPE3引脚的上拉电阻
				
				   	Uart_Printf( "请按"+"增加PWM的输出频率,按"-"减小PWM的输出频率 :\n\n" ) ;
					SetBeepPwm( BeepFreq, 50 ) ;
				
				    while( 1 )
				    {
						U8 key;		
						
						key = Uart_Getch();
						Uart_SendByte( key );
				
						if( key == '+' )
							if( BeepFreq < 20000 )
								BeepFreq += 100 ;
						if( key == '-' )
							if( BeepFreq > 100 )
								BeepFreq -= 100 ;									
						
						SetBeepPwm( BeepFreq, 50 ) ;
						Uart_Printf( "\tNow beep frequence is %d\n", BeepFreq ) ;
					}			
				}
				//***************************************************************************
							

相关资源