作者经常使用一些国产芯片或者价格价格美丽的单片机,这款应广单片机PMS171B价格美丽,性价比高,mini-c好用,适用于消费电子开发。但是案例demo太少了,为了方便大家能够快速入门。为了方便大家应用和开发,这里写一个PMS170B的点灯程序代码应用,是偏向于实际产品的那种。
这里选用8PIN的单片机进行开发,引脚如下图所示。
#include"extern.h"//是程序的头文件。
void FPPA0 (void)//相当于程序的 main() 函数。
{
/*单片机内部RC震动时钟为 IHRC默认为16M,因此,IHRC/4=4M,系统时钟为4M*/
.ADJUST_IC SYSCLK=IHRC/4, IHRC=16MHz, VDD=5V;
while (1)
{
}
}
PMS171B 所有 IO 引脚都可以设定成输入或输出,透过数据寄存器(pa, pb) 、控制寄存器(pac, pbc)和弱上拉电阻(paph, pbph)设定,PB6 和 PB3 可通过控制寄存器(pbc)和弱下拉电阻(pbpl)设定为下拉输入。每一 IO 引脚都可以独立配置成不同的功能;所有这些引脚设置有施密特触发输入缓冲器和 CMOS 输出驱动电位水平。当这些引脚为输出低电位时,弱上拉电阻会自动关闭;当这些引脚为输出高电位时,弱下拉电阻会自动关闭。如果要读取端口上的电位状态,一定要先设置成输入模式;在输出模式下,读取到的数据是数据寄存器的值。下表为端口 PA0 位的设定配置表。
引脚配置
#include"extern.h"//是程序的头文件。
BIT LED:PA.7; //端口定义
void FPPA0 (void)//相当于程序的 main() 函数。
{
/*单片机内部RC震动时钟为 IHRC默认为16M,因此,IHRC/4=4M,系统时钟为4M*/
.ADJUST_IC SYSCLK=IHRC/4, IHRC=16MHz, VDD=5V;
/*端口设置为输出*/
pa.7=0;
pac.7=1;/*输入*/
paph.7=0;/*上拉*/
while (1)
{
LED = 1;
/*延时单位1T(1个时钟周期),延时4000=1ms,一共延时1000ms*/
.delay 4000*1000;
LED = 0;
/*延时单位1T(1个时钟周期),延时4000=1ms,一共延时500ms*/
.delay 4000*500;
}
}
演示结果
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !