[其它应用]

选择12M内部RC为振荡器1

[复制链接]
902|17
手机看帖
扫描二维码
随时随地手机跟帖
gongche|  楼主 | 2022-4-11 23:43 | 显示全部楼层 |阅读模式
测试的时候采用了,此程序
但是发现只有在选择12M内部RC为振荡器1时,关闭振荡器2,或者是选择128K内部RC
为震荡器1.12MRC为振荡器2.且要在软件中打开振荡器2才能输出PWM波形,请问这是为什么?

使用特权

评论回复
zwll| | 2022-4-11 23:45 | 显示全部楼层
没遇到过

使用特权

评论回复
gongche|  楼主 | 2022-4-11 23:48 | 显示全部楼层

出于低功耗考虑我想仅采用内部128K振荡器。
/******************************************************
                MCU:                SH79F166A
                CRYSTEL:        4MHz
                FUNCTION:        PWM0
******************************************************/
#include<SH79F166A.h>

#define uchar unsigned char
#define uint unsigned int

/******************************************************
                延时程序
******************************************************/
void Delay(uint ms)                           
{                                                                                                                                                                                                                                                                           
    uint a,b,c;
    for(c=ms;c>0;c--)
        for(b=142;b>0;b--)
            for(a=2;a>0;a--);
}

/******************************************************
                PWM0 Init
******************************************************/
void PWM0_30Duty()
{
        PWMLO        =        0X55;                //保护寄存器,允许配置
        
        PWM0C        =        0X01;                // PWM CLK=SYS CLK/4
        PWM0PL        =        0XE8;
        PWM0PH        =        0X03;                //约 1KHz
        PWM0DL        =        0X2C;
        PWM0DH        =        0X01;                //占空比 30%
        PWMEN        =        0X01;                //0000 0001 ,PWM0 OPEN

        PWMLO        =~        0X55;                //保护寄存器,不允许配置
}
//--------------------------------
void PWM0_40Duty()
{
        PWMLO        =        0X55;                //保护寄存器,允许配置
        
        PWM0C        =        0X01;                // PWM CLK=SYS CLK/4
        PWM0PL        =        0XE8;
        PWM0PH        =        0X03;                //约 1KHz
        PWM0DL        =        0X90;
        PWM0DH        =        0X01;                //占空比 40%
        PWMEN        =        0X01;                //0000 0001 ,PWM0 OPEN

        PWMLO        =~        0X55;                //保护寄存器,不允许配置
}
//--------------------------------
void PWM0_50Duty()
{
        PWMLO        =        0X55;                //保护寄存器,允许配置
        
        PWM0C        =        0X01;                // PWM CLK=SYS CLK/4
        PWM0PL        =        0XE8;
        PWM0PH        =        0X03;                //约 1KHz
        PWM0DL        =        0XF4;
        PWM0DH        =        0X01;                //占空比 50%
        PWMEN        =        0X01;                //0000 0001 ,PWM0 OPEN

        PWMLO        =~        0X55;                //保护寄存器,不允许配置
}

/******************************************************
                main
******************************************************/
void main()
{
        CLKCON=0X00;
        Delay(100);
        
        while(1)
        {
                PWM0_30Duty();
                Delay(800);
                PWM0_40Duty();
                Delay(800);
                PWM0_50Duty();
                Delay(800);
        }        
}

使用特权

评论回复
gongche|  楼主 | 2022-4-11 23:50 | 显示全部楼层

最近在使用中颖的SH88F52(DIP)和SH88F54(QFP44)的单片机做东西,开发工具是去年上海代理商给的,一直没有用。
   现在发现通过串口烧写SH88F54的时候,当我点“自动操作”时,马上红灯绿灯都亮了,什么反应都没有

使用特权

评论回复
wyjie| | 2022-4-11 23:52 | 显示全部楼层
过会就会提示超时?

使用特权

评论回复
gongche|  楼主 | 2022-4-11 23:55 | 显示全部楼层
嗯,于是我想下载F52的看看DIP的能不能下,将F52放到插座上,点“自动操作”,还是一样的现象

使用特权

评论回复
supernan| | 2022-4-11 23:57 | 显示全部楼层
烧写不了啊

使用特权

评论回复
juventus9554| | 2022-4-12 21:44 | 显示全部楼层
我手头有两个S-LAB,都是这种情况,插上S-LAB时,我用万用表亮了插座上的VCC与GND,没有电压,不知道这样正不正常?

使用特权

评论回复
renyaq| | 2022-4-12 21:45 | 显示全部楼层
没碰到过

使用特权

评论回复
jiahy| | 2022-4-12 21:50 | 显示全部楼层
我把S-LAB拆开看到用的是F516的单片机,不知道换F54的信不信,想换个单片机试试,因为我怀疑我的S-lab坏了

使用特权

评论回复
zhaoxqi| | 2022-4-12 21:52 | 显示全部楼层
那无能为力啦

使用特权

评论回复
gongche|  楼主 | 2022-4-12 21:54 | 显示全部楼层
好吧,多谢大家

使用特权

评论回复
tpgf| | 2022-5-3 15:44 | 显示全部楼层
寄存器说明上怎么定义的呢

使用特权

评论回复
drer| | 2022-5-3 15:53 | 显示全部楼层
会不会自动复位

使用特权

评论回复
qcliu| | 2022-5-3 16:00 | 显示全部楼层
换一片芯片试试

使用特权

评论回复
coshi| | 2022-5-3 16:07 | 显示全部楼层
换一个试试看吧

使用特权

评论回复
kxsi| | 2022-5-3 16:31 | 显示全部楼层
是不是选错了啊

使用特权

评论回复
wiba| | 2022-5-3 16:43 | 显示全部楼层
时钟配置代码发一下看看

使用特权

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

本版积分规则

768

主题

9410

帖子

2

粉丝