打印
[活动专区]

8003硬件板---试用初体验,来,点个灯先

[复制链接]
1078|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 地瓜patch 于 2018-9-19 22:14 编辑

收到SC Link仿真器办卡,和SC92F8003小板,按照惯例先晒图

https://bbs.21ic.com/icview-2511836-1-1.html下载keil插件SOC_KEIL v3.00.exe
按装插件前需要先安装keil4,插件会自动找到keil的安装路径进行插件安装。

插件安装完成后再keil-c51文件夹下回多出一个文件夹SinOne_Chip,此时插件安装成功。
SinOne_Chip文件夹下的DEMO文件夹中有许多不同IC的demo例程可以参考,当然其中也有SC92F8003的例程


现在就可以参考数据手册和例程进行编程工作,首先建立工程.......keil的那些例行操作,不再重复。
需要提醒的是SC92F8003_C.H这个头文件与新建工程路径要在一个文件夹下,否则找不到头文件。
先试水,写了一个点灯的小程序。代码如下:
#include "H/sc92f8003_c.H"

#define         uchar         unsigned char
#define         uint          unsigned int


void Pin_Init(void);
void Delay(uint count);


void main(void)
{
        Pin_Init();        
        
        while(1)
        {
                P1 = 1;
                Delay(50000);Delay(50000);
                Delay(50000);Delay(50000);
                P1 = 0;
                Delay(50000);Delay(50000);
                Delay(50000);Delay(50000);
        }
}
void Pin_Init(void)
{         
        P1CON = 1;    //p1.0输出
        P1PH  = 0;        
}         
void Delay(uint count)
{
        uint i;
        for(i=0;i<count;i++)
        {
        
        }
}





相关帖子

沙发
地瓜patch|  楼主 | 2018-9-19 22:18 | 只看该作者
本帖最后由 地瓜patch 于 2018-9-19 22:42 编辑

改进V1.1,取反改进LED闪烁取值

#include "H/sc92f8003_c.H"

#define         uchar         unsigned char
#define         uint          unsigned int


void Pin_Init(void);
void Delay(uint count);

sbit LED_Green = P1^0;

void main(void)
{
        Pin_Init();        
        
        while(1)
        {
                LED_Green = ~LED_Green;
                Delay(50000);Delay(50000);
                Delay(50000);Delay(50000);

        }
}
void Pin_Init(void)
{         
        P1CON = 1;    //p1.0输出
        P1PH  = 0;        
}         
void Delay(uint count)
{
        uint i;
        for(i=0;i<count;i++)
        {
        
        }
}

使用特权

评论回复
板凳
地瓜patch|  楼主 | 2018-9-19 22:41 | 只看该作者
改进V1.2,用Time0定时器中断实现延时
#define         uchar         unsigned char
#define         uint          unsigned int


void Pin_Init(void);
void Delay(uint count);
void Timer_Init(void);

sbit LED_Green = P1^0;

void main(void)
{
        Pin_Init();       
        Timer_Init();
       
        while(1)
        {          

        }
}
void Pin_Init(void)
{        
        P1CON = 1;    //p1.0输出
        P1PH  = 0;       
}         

void Timer_Init(void)
{
        TMCON = 0;    //------Timer01选择时钟Fsys/12
        //T0设置
        TMOD = 0x01;     //0000 0001  ;Timer00设置16位工作方式
        TL0 = (65536 - 65000)%256;    //溢出时间:时钟为Fsys,则6000*(1/Fsys)=250us;
        TH0 = (65536 - 65000)/256;
        TR0 = 0;
        ET0 = 1;//定时器0允许
        TR0 = 1;//打开定时器0
        EA = 1;       
}

void timer0() interrupt 1
{
    TL0 = (65536 - 65000)%256;
        TH0 = (65536 - 65000)/256;
        LED_Green = ~LED_Green;       
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1240

主题

12347

帖子

27

粉丝