- 博客(48)
- 资源 (30)
- 收藏
- 关注

原创 应广单片机阻塞式编程和任务式编程区别
很多单片机的初学者容易掉入阻塞式编程的陷阱.因为阻塞式编程符合我们对现实世界的理解,一个人在一段时间内,只能做一件事情.例如要是实现1Hz的闪灯程序,那么先让单片机端口拉高500ms,然后再拉低500ms,然后循环.因为等待时间太长了,没有打开看门狗.下面是阻塞式编程的例子:#include "extern.h"/*端口定义*/BIT LED : PA.3; BIT LED1 : PA......
2020-10-06 14:10:23
3933
4

原创 应广单片机比较器测供电电源电压
应广单片机有很实用的功能,就是可以用内部的分压电阻,内部1.2v参考电压,和比较器一起,测试单片机VDD电压.厉害吧,不使用任何外部器件,测试供电的电源电压.!当电池低压的时候可以做相应的动作.比如休眠,进入低功耗等.不多说,上代码! 记得有问题可以联系我! 这个代码结构结构不是很好,布置一个作业,理解之后自己修改去.哈哈!仿真之后查看ucVolt就可以知道电源电...
2020-03-20 22:47:26
3979

原创 应广单片机开发案例
应广单片机价格美丽,性价比高,mini-c好用,适用于消费电子开发。但是案例demo太少了,为了方便大家能够快速入门。这里贴出了一份经典PMS150C的点灯程序代码。不是Hello world!那种,是偏向于实际产品的那种。涉及到的内容有不少,包括应广单片机PMS150C:1.端口输入输出配置2.Tmr16中断配置(systick),倒计时3.按键检测,包括防抖,可...
2019-12-06 23:15:35
11978
7
原创 单片机flash存储也做磨损均衡
最近在做一个项目,需要保存设置数据,掉电不丢失。那么首先想到的是加个24c02,是一个eeprom,但是客户板太小,没有办法进行扩展。后面就找了一个带ee的OTP单片机,发现擦写次数有限,只有1000次,这明显就不是ee,就是一片flash。感觉1000次的擦写,太少了,那怎么样才能提高使用次数呢?
2025-03-19 12:14:31
748
2
原创 OTP单片机调试工具之—单线数据编码
1.UART(串口),这种方式在单片机和pc之间进行传输都非常常见,效率比较高,但是受标准波特率的条件限制,必须配合相应的晶体才能达到比较高的速率;以上就是3种常见的单线数据传输方式,可以根据实际需要,选择其中一种方式作为数据传输使用。3.使用红外遥控编码,其实这种方式和上述类单总线方式很相像,感觉好像是高低电平反过来就是了。这种方式是使用了归零码,这种方式的好处就是能够自同步,方便接端进行解码。/*这一段是通过宏定义和预编译,检测在当前时钟下,是否可以实现标准波特率通信*//*实际发送代码*/
2025-03-15 20:35:35
696
原创 OTP单片机调试工具之—应广单片机ADC调试案例
这个案例是使用应广单片机ADC对可调电阻中间抽头电压值进行采样,分别用12bit和8bit进行显示,使用vdd做参考,采样数据没有进行滤波,通过串口进行传输,直接输出到‘OTP单片机调试工具’进行显示
2025-03-11 09:30:23
401
原创 OTP单片机调试工具
大部分的OTP单片机开发流程是先用仿真器进行仿真,完成之后再烧录OTP芯片进行验证,但是很多少时候会发现有一个问题,仿真器仿真都是OK的,但是一旦焊接在板上了,就往往发现有问题,这要怎么样破解呢?2.同样是预留一个IO口,但是这个IO可以输出PWM波形,用PWM的占空比多少,表示程序的运行状态,OK,这个方法感觉好一点了,可以有8bit/10bit的状态输出。1.调高通信速率,使用高速串口,比如1M,2M这种,或是使用红外编码,单总线编码方式,大幅度提高通信速率,减少打印耗时,减少对程序流程影响。
2025-03-06 18:34:41
514
原创 关于应广11Bit_PWM的一点理解
我的理解是:这个PWM可以认为是10bit半的,不是真的11bit的。只是10bit占空比的最低位可以通过DB0来控制是输出完整的(1bit)宽度的时间还是(半bit)宽度的宽度的时间,这样和10bit数据组合一下,就变成11bit分辨率。
2024-08-31 15:56:21
504
原创 应广单片机软PWM实现呼吸灯
应广单片机很多几乎所有型号单片机都自带硬件pwm,但是这些硬件pwm基本都是给调光调速或是电压调节等使用,如果硬件pwm已经用完了。那么还能实现LED的呼吸灯吗?答案是可以的。
2024-03-12 10:02:08
696
原创 应广单片机实现红蓝双色爆闪灯
继续进行点灯,今天来点简单的,红蓝双色爆闪灯,上电即可爆闪,红色接pa.3.pa.4,蓝色接pa6.和pa.7,低电平点亮LED灯,想要高电平点亮,或是驱动N管点亮灯,可以稍作修改。/*向上计数 1600就发生中断 1600/16M=0.0001s=100us,理论设计*//*注意,修改了sysclk,Reload_T16要做细微调整,可以试着改动sysclk,/*调试输出开关,关闭之后测试端口不输出了*//*配置T16 控制寄存器*//*设置计数器值*//*初始化T16*//*中断服务程序*/
2023-09-14 10:10:43
902
原创 应广单片机跑马灯实现--阻塞式编程模式
我这边再写了一个跑马灯程序,使用阻塞式编程模式,看起来会更简单直观。对于初学者来说,阻塞式编程比较直观好理解。在一些任务单一或是任务不多的程序来说,还是不错的选择。但是建议还是采用任务式/查询式编程,这样使程序会有更好的扩展性能,减少推倒重来的可能性。好像框架结构的房子,在框架范围内添砖加瓦就好了。非框架结构的房子,要改动就很麻烦了。
2023-09-07 09:24:58
563
原创 应广单片机实现跑马灯
应广单片机处处体现其mini的特性,非常适合做各种方案开发,特别是点灯,什么跑马灯,氛围灯,遥控灯,感应灯,拍拍灯等,用应广都OK。
2023-09-04 08:39:31
1346
原创 应广单片机mini-c实现插入排序并加入log打印功能
插入排序法是一种稳定排序法,在数据量不大的情况下用起来还是不错的, 比较直观,类似在打扑克的过程中,按照大小来排列手上的扑克拍。但是因为mini-c的原因,标准算法不能直接应用于应广单片机上,我就稍作修改,然后供大家参考。
2023-08-31 16:03:04
637
原创 应广单片机实现步进电机控制
驱动步进电机有点像点流水灯,看似简单,真的是要控制好,还是需要花一番功夫。 应广单片机+两个H桥驱动就可以把两相4线的步进电机驱动起来。不多说,先驱动电机转起来再说,上代码了。
2023-07-01 17:21:00
674
原创 应广单片机用8位乘法器实现16位乘法运算
如果要实现16bit的乘法运算,那该怎么做呢,是使用IDE生产代码16bit乘法函数,还是把8bit乘法器利用起来,实现16bit乘法运算呢?根据仿真测试,用8bit乘法器实现的16bit乘法运算所需的时间比调用ide生产的乘法函数更短。
2023-02-25 09:55:43
1650
原创 应广单片机实现伪随机数/M序列产生器
由于应广这种OTP单片机资源有限,因此不支持这种stdlib.h这种库,但如果又要用到随机数怎么办呢,那就自己实现一个了。也不复杂。
2023-01-10 14:19:26
775
原创 应广单片机实现CRC计算
在单片机应用中,逻辑是基础,算法是灵魂。没有了算法就没有灵魂了。很多时候,有逻辑就够了,但是作为一个爱好者,不能只满足于逻辑,对算法还得有所研究。或许某一天,某一个项目就可以用上了。
2023-01-07 10:28:57
671
原创 应广单片机使用IHRC校准ILRC--附带产物随机数产生器
应广单片机内部有两个时钟源分别是IHRC和ILRC,IHRC频率在16M附近,ILRC一般为几十K,IHRC在烧录的时候可以进行校准,IHRC校准之后,频率还比较稳定.ILRC没有校准这个功能.由于ILRC不能在烧录的时候进行校准,而且电压和温度对ILRC有不小影响,因此每次上电去到的ILRC的时钟就有一些差别,而这个差别正好有时候可以用.就是当做一个伪随机数来用./*单片机内部RC时钟为 IHRC默认为16M,因此,IHRC/8=2M,系统时钟为2M*///记录1s后的计数器的值,即ILRC的时钟。...
2022-08-15 17:19:36
1575
原创 应广单片机mini-c中用指针实现数组数功能
在应广单片机的mini-c中,数组功能弱化,数组的下标不能是变量;比如array[i++]=0;是编译不通过的,如果要实现数组数据填充和数据拷贝,必须一个一个填充吗?不,那使用指针了.mini-c中,定义一个16bit的数就可以当成指针用.不多说,上代码1.数组的连续寻址比如2.数组的随机寻址还是按照数组原有用法;可以用指针+循环替换;2.如果数组的下标是一个变量,那就必须用指针才能实现了;3.如果数组的下标是一个固定的数,用数字原有方法就OK了;#include "...
2022-05-19 14:06:05
2078
2
原创 应广单片机工程直接更换芯片方法
应广ide在创建工程需要选择一种芯片作为当前工程的应用芯片.比如选择的是150G芯片,当最后发现容量不够,需要更换容量大的单片机pms152.那么需要重新建立新的工程,然后把代码拷贝过去吗?可以不用的.先找到.per的文件,把.chip 后面的型号pms150G改成需要的型号pms152.改完之后,重新编译一下,这时候会跳出一个当前型号的一个基本功能配置选项.按照自己需要配置一下选项,然后按OK就行....
2022-05-19 10:05:34
976
原创 应广单片机按键程序_生产者/消费者模型
应广单片机按键检测程序,为了方便大家理解,用生产者/消费者模型去做按键检测.#include "extern.h"#define HIGH 1#define LOW 0#define DISABLE 0#define ENABLE 1#define EMPTY 0#define FULL 1#define ON 1#define OFF 0/*单位 ms*/#define RUN_TMR 15000#define LOW_POW_...
2021-11-23 09:17:34
1067
原创 应广单片机16bit查表并进行线性搜索
大部分的应广单片机只支持8bit数据查表,那16bit的数怎么查表呢?哈哈,拆分成高低直接分别存储就可以了.先做好表格,排好序,并且做了一个线性搜索.搜索到区间值就跳出循环,并记录当前位置.不多说,上代码:include "extern.h" /*表格按照由小到大排列*/void HByteTable(void){ A += 1; _Pcadd { ret 0x10; ret 0x1...
2021-11-16 16:32:06
788
原创 AD拼版工具 Embedded board array 进行PCB拼版注意事项
使用AD拼版工具 Embedded board array 进行PCB拼版注意事项 AD的Embedde board array拼版工具很方便用于PCB拼板,使用教程我就不在说了,网上有很多.但有一点要注意:AD拼版完成之后,产生的拼板PCB文件是不能直接用来PCB生产.正确做法是: 1.把单板PCB文件和拼版PCB文件同时交给生产厂家. 2.生产gerber和钻孔文件交给生产厂家, 原因: 把单板PCB...
2021-10-27 09:15:33
3854
原创 应广单片机框架程序_T16应用
T16是应广单片机唯一的一个16bit定时器,一个定时器要么用了计时,要么用来计数.一个定时器,那怎么才能够又用来计时,又可以用了计数呢?这个没有问题,在一定频率(时间)范围内配合中断使用,不仅可以用来计时计数还可以做很多事情,可以说是单片机心脏,其作用就是提供精准时间基准(TICK).就像日常生活中时钟的秒钟.滴答一下,你就知道过了1s,在单片机的应用中,一般设计滴答为100uS,基本能够满足大部分的应用. 有人要问 为啥设置为 100us,人的最快反应时间大概在40ms左右,...
2021-10-09 13:53:02
1345
3
原创 应广单片机003烧录器万能烧录方法
应广的003烧录器可以烧录MTP芯片,相比002烧录器,功能更多,检测的项目更多.但是对新手不够友好.如果设置不对,会出现无法烧录的异常报警. 下面我就说一下解决方法 1.不管使用啥封装,都把烧文件转换转换成s08 s14 或s16 这种封装的烧录文件 转换方法如下.转换完成会生产一个 xx_S16.pdk或是xx_s14.pdk,或是xx_s08.pdk的烧录文件.2.准备一个转接座,把 gnd vdd pa6 pa5 pa3 pa4 连接上,...
2021-09-01 08:57:33
4355
5
原创 应广单片机MINI-C下的RAM空间复用方法-类联合体结构
对于OTP单片机来说,设计上一般都是遵循够用,经济为原则,一般配备的RAM空间比较小。为了能够尽量节省空间,在运算不交叉的状态下,全局变量是可以复用,在不改变变量名称的状态下,mini-c支持类似联合体的方法去复用内存空间。 不多说上代码。DWORD mul_t4;/*定义名字*/WORD mul_x2;WORD mul_y2;void Word_Mul_Word (void){ // mul_t4[D] = m...
2021-07-10 11:24:29
659
原创 应广单片机003烧录器自定义封装使用技巧
应广003烧录器可以烧录MTP芯片,相比002烧录器,功能更多,但是使用复杂.有时候摸上半天也烧录不了器件.现在通过烧录器自带的用之定义封装的方法进行烧录.这样就可以节省很多时间.自定义烧录说明:具体细节可以自己去看手册.比如烧录pfs173-S16芯片.在main前面加入.writer package 16, 5,32,9,32,8,7,32,12,0x00d0,0x0090,0编译完成之后就可以直接烧录(空4格),无需package转换,方便快捷!这种写法适用于多数的
2021-03-20 15:05:47
1216
1
原创 应广单片机11bitPWM配置
应广单片机有两种硬件pwm,一种是8bit,另外一种是11bit,8bit的配置稍微简单一些.现在以pms133/psm134为例子,贴一个11bit pwm配置的例子.修改一下可以应用于应广其他系列的单片机中.要注意的是pms152的11bit pwm无法仿真,配置也稍微有点不同.在使用的时候要注意一下.再强调一遍,pms152的 11bit pwm 无法用仿真器仿真.只能通过烧片测试.计算公式如下:配置/*11bit pwm输出OK*/void PwmG0Init(vo...
2020-10-22 09:13:00
2309
1
原创 应广单片机-外部中断demo
对于一般的应用,比如键盘,充电检测灯,甚至一些通信,定时查询端口状态就OK了,但是一些特殊应用,特别是通信类的。最好还是用中断,那不多说,上代码。欢迎探讨和交流!#include "extern.h"#define DISABLE 0#define ENABLE 1#define HIGH 1#define LOW 0 #define DISABLE 0#define ENABLE 1 #define EMPTY 0#def...
2020-08-29 09:51:45
1548
原创 应广单片机Mini-c数组指针队列应用
应广单片机的mini-c对数组的支持不是那么友好,数组的下标只能是常量,不能是变量。例如可以是dat[0]=xx,不能是,dat[n]=xx。不过别急。在关上一扇门的同时,会打开一扇窗的。可以用指针实现数组的大部分功能。不多说。上代码#include "extern.h"/*************常用宏定义*******************/#define HIGH 1#define LOW 0#define DISABLE 0#defin...
2020-08-28 13:56:39
2951
12
原创 应广单片机应用之-呼吸灯
在很多的单片机方案应用中,很多都会用到到指示灯,比如流水灯,RGB七彩灯,对了还有呼吸灯.现在用PMS150C做个demo,稍作修改就可以用在pms152,pms132B灯应广其他系列的单片机中.不多说,上代码.一切尽在代码中.#include "extern.h"/*定时时间是否到了cinit*/bit FLAG_NMS;/*计数值cinit*/byte count;/*定时器初始化cinit*/word T16COUNTER;b...
2020-06-26 10:02:08
3238
原创 应广单片机002烧录器万能烧录方法
应广单片机有 单核13x 15x 17x这几个系列.但是烧录有时候要跳线啥的.后面发现,其实有一种方法,几乎通杀sop封装单片机,sop8 132除外.先使用writer把pdk文件写入烧录器. 1.跳线 CN38(P002) 2.sop8烧录座,sop8烧录座,sop8烧录器. 3.空3格. 4.按烧录按键 15x 17x系列烧录座放置方法,芯片下对齐13x系列,烧录座放置方法,芯片上对齐...
2020-05-15 13:33:44
4218
1
原创 应广单片机应用之--滚码
在些应用场合,每个单片机需要有不同的地址,比如2.4G通信.应广单片机内部没有EEPROM,那么怎么解决每个单片机有不同的地址/ID呢?滚码就是一个解决方式.先写好代码,然后在烧录的时候可以设置一个初始值和滚动步长.,在初始值的基础上,每烧录一个单片机,码字按步长增加.这样就可以在一定范围你保证每个单片机有不同的地址.常用16bit或32bit,用pms132为例子.上代码....
2020-04-23 12:24:27
5598
原创 应广单片机休眠和按键唤醒
对应电池供电的产品,在不使用的时候,单片机和外设都应该进入休眠状态,用于减少对电池电量消耗.在使用的时候又能够通过按键,或是其他信号唤醒系统,然后进入正常工作状态.在电压V3.3V的情况下,应广单片机的休眠电流几乎在2uA以下,经常测到都是一点几uA.非常不错|那么应广单片机的低功耗和按键唤醒是怎么实现的呢?不多说上代码.除了外部唤醒,还有一种机制是内部定时器定时唤醒,请听下回分解!...
2020-03-27 12:50:45
5902
原创 应广单片mini-c之$符号的说明
在使用应广MINI-C过程中经常会看到有$这个符号,很多人问,这是啥意思.比如 $ CLKMD IHRC/4,En_IHRC,En_ILRC,En_WatchDog;
2020-02-14 14:11:35
5568
2
原创 应广单片机应用之--数码管驱动
在单片机应用中,数码管是经常用的是器件之一.如果把一个简单的单片机系统看成是一台电脑,那么数码管就相当于一台电脑的显示器.现用一个2位半的数码管做个范例,循环显示0-199,稍作改造就可以做成一个计算器.使用8pin数码管,采用扫描方式驱动,4*4,正好16段.单片机使用pms152,不多说上代码. 实际显示效果#i...
2020-02-07 22:56:58
3963
4
原创 应广单片机乘法周期测量
在单片机应用过程中,特别是对实时性要求高的应用,需要知道函数,查表,算法等运算所消耗的时间.现针对应广单片机,以乘法为例,现做了一个程序,用于测量乘法所消耗的时间.不多说,上代码./****************系统时钟*********************///byte count;word usTmrCnt;//bit FLAG_NMS;...
2020-02-02 19:06:48
1383
1
原创 应广单片机比较器检测电池欠压
如果说51单片机是通用型的单片机,那么应广单片是实用型的,适用于玩具,消费电子等产品开发.单片机内部集成了1.2V的band-gap参考电压,同时集成了比较器,这对于一些电池供电的产品,更具实用意义. 下面我就贴上比较器应用的简单案例,如果电池未低压,那么指示灯亮.如果电池低压,那么指示灯闪烁.设置1.2V为比较器负输入.PA.4为比较器正输入.PA4需要分压电阻分...
2020-01-19 21:45:38
3884
原创 应广单片机adc和pwm例程
应广单片机Otp单核系列主要有以下几个系列,15x系列为纯iO,13x系列为带12bit的adc,17x系列为带8bit的adc,现在我用pms132B写个adc/pwm例程,方便大家快速上手.不多说,上代码.#include "extern.h"/**********adc*****************/Word usAdcSum;Word usAdcS...
2020-01-01 21:11:10
6174
7
应广单片机IDE使用手册.pdf
2019-12-18
Q-Code 范例 NY4NY5.pdf
2019-11-29
XNS102完整版说明书
2018-07-20
design with mos load switch
2018-05-17
MOS 驱动电路设计和应用指南
2018-05-17
霍尔3144/3141资料
2016-09-07
XL4201中文说明书
2016-07-08
LUA程序设计chm
2014-05-27
openwrt_ipk软件包功能介绍
2014-05-19
C语言宏定义技巧
2014-03-06
2.4k混合激励线性预测语音编码melp定点源码
2013-12-25
stm32的protel封装
2013-08-26
RFID Handbook.pdf
2013-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人