应广单片机PMS150C快速入门

一、资料

应该单片机的资料(IED、仿真器、烧录器、数据手册、开发手册等)都可以通过官网获取:应广科技 (padauk.com.tw)

1、数据手册

2、IDE

二、开发环境配置

1、下载好,直接解压

2、双击打开直接运行

3、点击OK

非常棒,到此你已经超越自我了

三、新建工程——点灯之路,梦开始的地方

档案——开新项目——工程名字 ———保存位置 ———选择芯片——OK

自此你已经完成了一个工程建立,very good

四、点灯——以为PA0引脚为例

先介绍三个寄存器PAC、PA、PAPH

pac.x:配置引脚是输出还是输入,1——输出、0——输入

pa.x:配置输出高低电平,0——低电平、1——高电平

paph.x:配置是否上拉,0——不上拉、1——上拉

好的,那么我们需要点亮一个LED,程序需要怎么写呢?

毫无疑问,先开时钟、配置引脚输出信号。

从电路可以知道,单我们给P1引脚高电平时,三极管导通,电流经过LED、电阻、三极管形成回路,从而使LED亮起来。

好,那我们只用单片机输出高电平即可。

pac.0=1;//IO口配置为输出模式
pa.0=1;//IO输出高电平

//当然,正常情况下,我们需要先打开时钟,再配置IO口,才可以正常输出,
//但是,不要忘记了,我们在新建工程的时候,有一步是现在系统时钟的,系统已经帮我们配置好时钟

点击编译,再点击OK。

到这一步,就马上可以见证你的LED被点亮了。

五、效果

然后把程序下载到芯片呢?OTP芯片不可以反复烧录,完蛋,我的LED点不亮了;哈哈,慢着还没有完,都到这里了,怎么能不亮呢?

应广他们有专用的仿真器,看图。想办法搞这个过来,这个灯就必点亮了,

点击仿真,OK,LED已经点亮

附上完整程序,


#include	"extern.h"



void	FPPA0 (void)
{
	.ADJUST_IC	SYSCLK=IHRC/4		//	SYSCLK=IHRC/4

	//	Insert Initial Code
	pac.0=1;
	pa.0=1;

	while (1)
	{
//		...
//		wdreset;

	}
}


void	Interrupt (void)
{
	pushaf;

	if (Intrq.T16)
	{	//	T16 Trig
		//	User can add code
		Intrq.T16	=	0;
		//...
	}

	popaf;
}

再给看到这里的小伙伴发一个我之前写的流水灯,要个赞不过分吧(* ̄︶ ̄)


#include	"extern.h"

bit LED1		:	pa.4;
bit LED2		:	pa.7;
bit LED3		:	pa.6;
bit LED4		:	pa.3;
bit LED_blue		:	pa.5;
bit led_input		:	pa.0;

#define LED_IO_ON   0
#define LED_IO_OFF  1

//0b1111_1000 配置LED为输出  0b1111_1000弱上拉
#define LED_init PAC=PAC|0xf8;PAPH=PAPH|0xf8
//1111_1110 配置LED为输入  0b0000_0001弱上拉
#define LED_input_init PAC=PAC&0xfe;PAPH=PAPH|0x00

#define LED_OFF LED1=LED_IO_OFF;LED2=LED_IO_OFF;LED3=LED_IO_OFF;LED4=LED_IO_OFF

void	FPPA0 (void)
{
	.ADJUST_IC	SYSCLK=IHRC/4		//	SYSCLK=IHRC/4

	//	Insert Initial Code
	LED_init;
	LED_input_init;
	while (1)
	{
		if(led_input)
		{

			LED_OFF;
			LED_blue=LED_IO_OFF;
			.delay(200000);//50ms
			LED1=LED_IO_ON;
			.delay(400000);//100ms
			LED1=LED_IO_ON;LED2=LED_IO_ON;

			.delay(400000);//200ms
			LED1=LED_IO_ON;LED2=LED_IO_ON;LED3=LED_IO_ON;
			.delay(400000);//300ms 
			LED1=LED_IO_ON;LED2=LED_IO_ON;LED3=LED_IO_ON;LED4=LED_IO_ON;
			.delay(400000);//400ms

		}
		else
		{
			LED_OFF;
			LED_blue=LED_IO_ON;
		}
	}
}





欢迎大家评论区留言吼吼吼

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值