搜索
bottom↓
回复: 5

S3F94C8 三星

[复制链接]

出0入0汤圆

发表于 2013-8-18 10:13:20 | 显示全部楼层 |阅读模式
  大家好,下面的代码是我从三星单片机论坛copy过来的,哪位哥懂这款MCU ,我想问:我若想选择外部时钟的话,应该怎样设置,PDF资料说要设置 smartOption ,它的地址为0X003C/0X003F,但是,我在头文件里找不到此地址,更找不到smartOption;我在想,这款MCU的头文件是不是不全啊?

“我现在用的是94c8的芯片,程序和原理图请见附件,现在程序为最简单的2ms进入一次中断,P00取反,但是实际用示波器看是不到3ms进入一次中断,请问这是什么原因。还有就是再用仿真器仿真时,总是刚reset就提示堆栈溢出,请问这是什么原因。”

#include "ioS3f94c8.h"
#include "intrinsics.h"
#include "HeaderFile.h"


//#define uchar unsigned char
//#define uint unsigned int

__root const unsigned char  smartOption[4] @ 0x003C ={0x00,0x00,0xe7,0x03};     /*ÔÊÐíLVR¸´Î»,ʹÓÃÄÚ²¿3.2MHZ¾§Ìå*/

//static __tiny UINT8 flag_2ms = CLR;


static __tiny UINT8 ADtimeCNT = CLR;

static __tiny UINT16 voltageADvalue = 30;

static __tiny UINT16 voltageADvalueBuf = 30;


static __tiny UINT8 timeCount = 0;

static __tiny UINT8 flagPulseFinished = CLR;        





static void CalSampleAD_Value(void);


//static __tiny UINT8 timeCount100ms = CLR;



void InitSfr(void)
{
        BTCON = 0x02;               /*ÔÊÐí¿´ÃŹ·*/
        CLKCON = 0x18;               //CPUʱÖÓΪFosc
        P0CONH = 0xAA;             // output
        P0CONL = 0xB2;// P00 pulse output,p01 ¹ýÁã¼ì²â,p02 voltage  AD input,P03 -> RELAY ,
//        P0PND = 0x08;              // enable p0.1 interruput
        P0PND = 0x00;
        P1CON = 0xAA;
        P2CONH = 0xAA;
        P2CONL = 0xAA;//P20,P23 output,P21,p22 input  P21-> K2 key,P22-> K1 key
        P1=0x00;//0xff;
        P0 = 0x00;
        P2 = 0x00;

        ADCON = 0x27;
}

void main()
{
        
    __disable_interrupt();
         
        SP=0xc0;
        SYM=0x00;

        InitSfr();

//        FTSTCON = 0x00;
        
        
//        InitMcuSystem();
        

        T0DATA = 20;           //20*2.5us = 50us                  
        T0CON = 0x8A;         //3.2Mhz /8 = 0.4Mhz; 1/0.4Mhz = 2.5us      

//        T0CON = T0CON &0xFD;

        __enable_interrupt();
        
        while(1)
        {
           
                 BTCON = 0x02;
/*
                   ADtimeCNT++;

                   if(ADtimeCNT > 100)
                   {
                        ADtimeCNT = CLR;
                        if((ADCON&0x08) != CLR)
                        {
                                ADCON = ADCON &0xF7;

                                voltageADvalueBuf = ADDATAH;
                                voltageADvalueBuf =  voltageADvalueBuf<< 8;

                                voltageADvalueBuf = voltageADvalueBuf |ADDATAL;        

                                voltageADvalue = voltageADvalueBuf;
                        }                        
                   }
*/                  
                  
        }

           
}

#pragma vector = 0x00
__interrupt void Interrupts(void)
{
        static __tiny UINT8 timer10msCnt = CLR;

        static __tiny UINT8 FlagFirstStart = CLR;

        __disable_interrupt();

        T0CON =T0CON&0xFE;

        timer10msCnt++;
        if(timer10msCnt >= 40)
        {
                timer10msCnt = CLR;
                P0_P00 = ~P0_P00;
        }

        __enable_interrupt();
        
        return;
        
}


出0入0汤圆

 楼主| 发表于 2013-8-18 11:39:40 | 显示全部楼层
没人回复,我自己顶一下,!(不过话说回来,那位网友的程序,竟然让MCU 每隔50us进入一次中断,然后,bus clock才为3.2MHZ,中断里面的代码也不少,你说这样的 MCU能稳定嘛?)

出0入0汤圆

发表于 2013-8-19 12:05:58 | 显示全部楼层
这个就是配置文件“__root const unsigned char  smartOption[4] @ 0x003C ={0x00,0x00,0xe7,0x03};”!看看配置选项就知道了。这款单片机配置是烧录到Flash里的。

另:现在三星把8位单片机业务卖掉了,还是不要用为好。

出0入0汤圆

 楼主| 发表于 2013-8-19 13:47:45 | 显示全部楼层
zhikunWang 发表于 2013-8-19 12:05
这个就是配置文件“__root const unsigned char  smartOption[4] @ 0x003C ={0x00,0x00,0xe7,0x03};”!看 ...

嗯,知道了,谢谢这位网友啦,我没打算长期使用,只是接了个小项目而已,被逼用到此单片机,本来可以使用合泰的,但是,合泰的是OTP,

出0入0汤圆

发表于 2015-10-12 16:57:43 | 显示全部楼层
zhikunWang 发表于 2013-8-19 12:05
这个就是配置文件“__root const unsigned char  smartOption[4] @ 0x003C ={0x00,0x00,0xe7,0x03};”!看 ...

在吗
;想请教下你关于S3F94C4EZZ-SK94这款芯片,我是不是程序有问题,现象是温度到了29左右,他自动报警了

出0入0汤圆

发表于 2015-10-12 20:57:46 | 显示全部楼层
不懂楼上说的什么,单片机怎么自己会报警? 是不是你AD采样,计算出温度,超过多少温度报警?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-9 05:49

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表