当前位置:   article > 正文

应广单片机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亮起来。

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

  1. pac.0=1;//IO口配置为输出模式
  2. pa.0=1;//IO输出高电平
  3. //当然,正常情况下,我们需要先打开时钟,再配置IO口,才可以正常输出,
  4. //但是,不要忘记了,我们在新建工程的时候,有一步是现在系统时钟的,系统已经帮我们配置好时钟

点击编译,再点击OK。

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

五、仿真器使用

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

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

注意:

        如果需要的电流太大,建议接上DC电源。

点击运行...

六、效果

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

附上完整程序,

  1. #include "extern.h"
  2. void FPPA0 (void)
  3. {
  4. .ADJUST_IC SYSCLK=IHRC/4 // SYSCLK=IHRC/4
  5. // Insert Initial Code
  6. pac.0=1;
  7. pa.0=1;
  8. while (1)
  9. {
  10. // ...
  11. // wdreset;
  12. }
  13. }
  14. void Interrupt (void)
  15. {
  16. pushaf;
  17. if (Intrq.T16)
  18. { // T16 Trig
  19. // User can add code
  20. Intrq.T16 = 0;
  21. //...
  22. }
  23. popaf;
  24. }

七、刻录器

1、接上电源和数据线

2、正确摆放IC位置

3、点击刻录

4、检测IC是否为空,空的IC才可以刻录

5、按下Program即可刻录程序

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

  1. #include "extern.h"
  2. bit LED1 : pa.4;
  3. bit LED2 : pa.7;
  4. bit LED3 : pa.6;
  5. bit LED4 : pa.3;
  6. bit LED_blue : pa.5;
  7. bit led_input : pa.0;
  8. #define LED_IO_ON 0
  9. #define LED_IO_OFF 1
  10. //0b1111_1000 配置LED为输出 0b1111_1000弱上拉
  11. #define LED_init PAC=PAC|0xf8;PAPH=PAPH|0xf8
  12. //1111_1110 配置LED为输入 0b0000_0001弱上拉
  13. #define LED_input_init PAC=PAC&0xfe;PAPH=PAPH|0x00
  14. #define LED_OFF LED1=LED_IO_OFF;LED2=LED_IO_OFF;LED3=LED_IO_OFF;LED4=LED_IO_OFF
  15. void FPPA0 (void)
  16. {
  17. .ADJUST_IC SYSCLK=IHRC/4 // SYSCLK=IHRC/4
  18. // Insert Initial Code
  19. LED_init;
  20. LED_input_init;
  21. while (1)
  22. {
  23. if(led_input)
  24. {
  25. LED_OFF;
  26. LED_blue=LED_IO_OFF;
  27. .delay(200000);//50ms
  28. LED1=LED_IO_ON;
  29. .delay(400000);//100ms
  30. LED1=LED_IO_ON;LED2=LED_IO_ON;
  31. .delay(400000);//200ms
  32. LED1=LED_IO_ON;LED2=LED_IO_ON;LED3=LED_IO_ON;
  33. .delay(400000);//300ms
  34. LED1=LED_IO_ON;LED2=LED_IO_ON;LED3=LED_IO_ON;LED4=LED_IO_ON;
  35. .delay(400000);//400ms
  36. }
  37. else
  38. {
  39. LED_OFF;
  40. LED_blue=LED_IO_ON;
  41. }
  42. }
  43. }

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/825462
推荐阅读
相关标签
  

闽ICP备14008679号