打印

应广Mini-C语言开发PMS150G(下)

[复制链接]
119|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
34af9uc|  楼主 | 2023-9-29 23:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
应广Mini-C语言开发PMS150G(下)
使用$配置寄存器.
/*****************timer2PWM模式********************/
/*****************ID:共同学习stm8******************/
/*******************2023929************************/
/*********************v0.1*************************/
//               pms150g
//          ______   ______
//      5v-|1-vdd \_/ gnd-8|-gnd
//        -|2-pa7     pa0-7|-
//        -|3-pa6     pa4-6|-anjian
//        -|4-pa5_____pa3-5|-led
/**************************************************/
#include "extern.h"
anjian            bit          pa.4;
/**************************************************/
void FPPA0(void)
{
.ADJUST_IC    SYSCLK=IHRC/4          //SYSCLK=IHRC/4
$            anjian     in,ph;                    //输入,开上拉电阻
$            tm2c             SYSCLK,PA3,PWM;       //timer2控制寄存器
tm2ct            =0;                                            //timer2计数器
tm2b             =100;                                        //timer2上限寄存器
$            tm2s             8BIT,/1,/2;                   //timer2分频寄存器
/**************************************************/
byte       a1;
a1                 =100;
while (1)
{
if(anjian ==0){a1++;}          //按键按下灯一直亮
tm2b             =a1;
.delay 40000;                                    //延时半秒
}
}
/**************************************************/
代码解析:
$            anjian     in,ph;                    //输入,开上拉电阻
$            tm2c             SYSCLK,PA3,PWM;       //timer2控制寄存器
tm2ct            =0;                                            //timer2计数器
tm2b             =100;                                        //timer2上限寄存器
$            tm2s             8BIT,/1,/2;                   //timer2分频寄存器
  使用$配置寄存器是应广单片机一大特点,最主要是直观,跟我来看一下$是怎么使用的.打开方案总管,打开左边栏找到.inc文件打开.再找到pms150g说明书,先看想用pwm都需要配置什么寄存器.
第一个: $ tm2c  SYSCLK,PA3,PWM;  timer2控制寄存器,tm2c的7-4位选择时钟频率源,再打开inc文件找到tm2c $ 7 ~ 4     :      STOP, SYSCLK, IHRC, X, ILRC, GPCRS, X, X,直接想选哪个就复制那个就可以了,不配置的可以写X或者不写,大大的避免了出错和混乱.
tm2ct, timer2计数器.这个不停的加数脉冲来一个加1. 不停的和tm2b去比较相等就翻转.
tm2b,timer2上限寄存器.只要修改这个寄存器的值就能修改pwm脉宽了.
$  tm2s  8BIT,/1,/2; timer2分频寄存器每来一个脉冲计数器就加一.
byte       a1;  Mini-C的数据类型byte八位,word十六位,eword二十四位,dword三十二位.
别的数据类型不支持,随意在任何位置都可以申请变量无任何限制.
本程序功能按键按下亮度增加.

使用特权

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

本版积分规则

284

主题

441

帖子

55

粉丝