华维科技 单片机程序 单片机开发板 单片机学习板 单片机编程  

 

 

 

 

 

 

                        51 AVR PIC 三星 义隆 合泰 十速 松翰 现代
                                    三星单片机IAR-C语言简单示例
               日期: 2008-5-16              发表人: 稻田守望者         文章来源:本站原创,如有转载请注明出处

  /*------------------------------------------------------------------------------------------
File name: IAR-C编程示例
MCU: S3F9454
 内部3.2Mhz
Description: 通过定时器使接在P2口上的LED闪亮,
------------------------------------------------------------------------------------------------*/
#include "ioS3C9454.h"
#include "intrinsics.h"

#define uchar unsigned char
#define uint unsigned int

#define nop (__no_operation())
#define di (__disable_interrupt())
#define ei (__enable_interrupt())

uchar num;//全局变量定义
uchar DisFlag=0;

void Delayms(uint z);//延时函数声明
void Init(void);//IO口初始化

__code const volatile uchar SmartOption[4] @0x003c = {0x0,0x0,0xe7,0x03};//允许低电压复位2.3V 选择内部3.2M晶振


void main()
{
Init()
P2=0x00;
while(1)
{
if(!DisFlag)
P2=0x00;
else
P2=0xFF;
P0=0x00;
Delayms(2000);
P0=0xFF;
Delayms(2000);
}
}

void Init(void) //具体设置请参考S3F9454用户手册
{
di();
BTCON=0xA3;
CLKCON=0x18;
P0CONH=0xAA;
P0CONL=0xAA;
P0PND=0;
P0&=~0x01;
P1CON=0xA;
P1=0xF;
P2CONH=0x4A;
P2CONL=0xAA;
P2|=0xFF;

PWMDATA=0;
PWMCON=0xF4;
T0CON=~0x01;
T0DATA=200;
ei();

}

void Delayms(uin z)
{
uchar i;
uint j;
for(j=0;i<z;j++)
for(i=0;i<110;i++)
{nop();}
}

#pragma vector=0x00
__interrupt void int_9454() //中断函数
{
T0CON&=~0x01;
T0DATA=200;
num++;
if(num>=40)
{
num=0;
DisFlag=~DisFlag;
}
}                   

                                     返回首页

 

                                          版权所有@华维科技
                                        建议浏览分辨率1024*768