应广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三十二位.
别的数据类型不支持,随意在任何位置都可以申请变量无任何限制.
本程序功能按键按下亮度增加.