0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

stc单片机应用实例

姚小熊27 来源:xx 2019-10-25 09:03 次阅读

STC单片机开门狗的应用举例

STC单片机是一款增强型51单片机,完全兼容MCS-51,还增加了新的功能,比如新增两级中断优先级,多一个外中断,内置EEPROM硬件看门狗,具有掉电模式,512B内存等。还支持ISP下载,不用编程器,只要一个MAX232和一些廉价的元件就能写程序,可擦写10万次。因此是一款很好用的单片机。

在这里,简单说明一下其看门狗的使用。STC单片机的看门狗一旦启动,就不能停止,其看门狗溢出时间可以利用STC单片机用户手册计算,其简单举例如下:

#i nclude //STC单片机头文件

#define uint unsigned int

#define uchar unsigned char

sbit led=P1^0;

//=================================================================

// 函数名称 :void delay (uint us)

// 函数功能 :延时

// 入口参数 :us 延时时间的长短

// 出口参数 :无

//=================================================================

void delay (uint us)

{

while(us--);

}

main()

{

WDT_CONTR=0x3c; //启动看门狗

led=1; //点亮LED

delay(100);

led=0;

delay(100); //熄灭LED

while(1)

{

WDT_CONTR=0x3c; //喂狗,若屏蔽掉该位,则看门狗溢出后复位,LED灯不停闪烁

}

}

STC单片机硬件PWM的使用分析

STC单片机(具有PCA功能的),怎么实现可变频率的PWM输出?很多朋友还在使用定时器做可变频PWM, 这里我就介绍怎么使用硬件PWM,在定时器0的分频基数下设计PWM。

stc单片机应用实例

首先看CMOD这个寄存器,这里我们主要关注 CPS0,CPS1,CPS2,这三个位控制选择PCA的计数脉冲源。 对应PWM功能,则是选择频率。 首先可以选择 6个固定分频,可以看图片看出,分别是1,2,4,6,8,12的系统分频。我们需要做可变频率的PWM,所以我们需要选择模式2,选择定时器0的溢出作为系统分频基数。

然后,我么看怎么具体的去计算,去实现分频。 这里就需要上面这个图片的计算规则。 这里我举一个例子来说明,比如我们单片机的晶振使用的是12MHZ,而我们需要实现300HZ的频率。 如果得到呢?

首先,如果我们采用CMOD的固定分频,可以发现,无论是1,2,4,8,12,分频下来的频率都不是300HZ。 所以这里也体现我们使用定时器0做分频基数的好处了。

stc单片机应用实例

我们继续计算,12MHZ需要转化为300HZ,那么根据上图,首先我们需要确定PCA时钟输入频率,根据公式 300*256=76800HZ,这个值就是我们需要的PCA时钟输入频率。现在问题就是 ,我们怎么把12MHZ,转化为76.8KHZ, 12000KHZ/76.8KHZ=156.25 ,这个156.25就是分频基数,而这个分频基数由我们的定时器溢出参数来设定,意思就是当我们定时器如果计数156.25溢出就可以做到分频基数为156.25, 所以我们在设置定时器0的计数起始值就是65536-156=65380,对应TH0=0XFF,TL0=0X64。

好了,怎么计算PWM在定时器0下实现我们自己需要的任意频率的计算方式这里就介绍完了。 如果要动态实现频率可变,我们就可以通过通讯去动态调整定时器0的计数基数,(实际就是调整了分频基数),就可以实现频率的改变了。 另外,说明:这里的定时器0,不需要中断,并且该定时器也不是作为产生PWM用的,是作为一个分频基数用!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6035

    文章

    44553

    浏览量

    634755
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5186

    浏览量

    213823
  • STC单片机
    +关注

    关注

    9

    文章

    222

    浏览量

    38146
收藏 人收藏

    评论

    相关推荐

    AT与STC单片机的主要区别

    1.常用的51单片机 51单片机即传统的兼容8051指令代码的8位单片机,对于新手来说,刚接触单片机主要已AT单片机
    的头像 发表于 09-11 10:23 1.1w次阅读
    AT与<b class='flag-5'>STC</b><b class='flag-5'>单片机</b>的主要区别

    STC单片机福利-----所有头文件+模块实例

    STC单片机福利-----所有头文件+模块实例工程开发必备
    发表于 11-29 22:00

    STC单片机相关知识

    本内容提供了 STC单片机 的各个方面的相关知识,对STC单片机学习者有所帮助
    发表于 08-11 17:22 732次下载
    <b class='flag-5'>STC</b><b class='flag-5'>单片机</b>相关知识

    STC89C52RC单片机学习例程书籍代码资料

    单片机STC89C52程序实例 我测试过,很有用处。
    发表于 12-21 15:56 87次下载

    STC系列单片机文档

    STC系列单片机文档.STC系列单片机文档STC系列单片机文档
    发表于 12-29 10:34 7次下载

    单片机之间的串口通信实例

    STC80C51-单片机之间的串口通信实例
    发表于 09-01 15:44 25次下载

    STC单片机使用加密芯片SMEC98SP的加密实例源码

    STC单片机使用加密芯片SMEC98SP的加密实例源码
    发表于 08-16 10:27 33次下载

    STC单片机烧录软件

    STC单片机烧录软件。
    发表于 10-24 11:13 12次下载

    STC单片机大量电路实例

    本文档内容介绍了STC单片机大量电路实例,供参考。
    发表于 01-22 17:22 92次下载

    如何学习STC单片机详细STC单片机资料说明

    在当前,电子信息类专业的大中专学生和想掌握产品硬件设计的工程师一般都会采用STC系列单片机作为入门的硬件平台。在学习STC单片机前,还需要解决以下3个基本问题:(1)在学习
    的头像 发表于 12-15 10:50 1.2w次阅读

    STC单片机的特性、原理和应用

    说到STC单片机有人会说到,STC也能算主流,估计要被喷了~~我们基于它是国内还算是比较不错的单片机来说。STC
    的头像 发表于 08-19 17:53 3.1w次阅读

    自动上电STC单片机下载器(开源 )

    自动上电STC单片机下载器(开源 )(pic单片机选型)-自动上电STC单片机下载器(开源 )
    发表于 07-22 09:53 57次下载
    自动上电<b class='flag-5'>STC</b><b class='flag-5'>单片机</b>下载器(开源 )

    STC单片机烧录

    STC单片机是最常用的单片机之一;下载代码需要7步进行第一步:硬件连接好后,打开stc-isp-15xx-v6.86.exe;第二步:选择单片机
    发表于 11-11 14:51 24次下载
    <b class='flag-5'>STC</b><b class='flag-5'>单片机</b>烧录

    如何学习STC单片机

    在当前,电子信息类专业的大中专学生和想掌握产品硬件设计的工程师一般都会采用STC系列单片机作为入门的硬件平台。在学习STC单片机前,还需要解决以下3个基本问题:(1)在学习
    发表于 11-14 13:06 24次下载
    如何学习<b class='flag-5'>STC</b><b class='flag-5'>单片机</b>

    STC系列单片机烧录

    本篇文章以STC12C2052系列单片机的烧录过程为例,讲解如何为STC单片机进行程序烧录以及如何验证单片机的好坏。
    发表于 11-17 12:21 28次下载
    <b class='flag-5'>STC</b>系列<b class='flag-5'>单片机</b>烧录