
应广单片机学习入门笔记全
自己学习应广单片机的过程
1、背景和准备
最近要用的应广的MCU,之前没有接触过。开发环境:是用应广的IDE,要买他们的烧录器和仿真器,价格对个人来说并不美丽,编程语言有mini-c语言(刚开始我也不知道是什么,反正会c语言就OK)和汇编(反正我不怎么会)。总的来说:开发环境陌生,MCU价格美丽。
开发环境下载
下载下来编程软件是这样的
这里我就不介绍了,官网的软件使用手册有介绍怎么用,看看介绍。
2、怎么开始学习
2.1前辈的学习笔记
怎么学习其实已经有前辈总结了,我在这里推荐就OK:
入门基础教程:
前辈的入门笔记示例1-6(这里为1的链接)——>
一共有6个入门操作实例。
文字看不明白?前辈还出了对应的视频,确实推荐。
前辈的笔记对应视频链接——>
学习完就了解和使用的基本入门了,知道怎么配置寄存器和看手册怎么用了。
也还有其他前辈的内容,各位自己找了。
2.2遇到问题怎么办?
1、首先查MCU的使用手册,手册里其实说的挺明白的,寄存器怎么配,一些指令什么意思,耐心一点看就OK。
2、再查官方软件里面自带的使用手册(对是里面的FAE,不是外面的使用手册。)
它是对mini-c和内在的(。。我也不知道怎么说,简称他们定义的东西)解释的文档,反正在MCU使用手册上你想去了解却没有的东西,来找这个就行。
具体操作是:打开软件->点击使用手册->常见问题索引->Key Word查询
这里能解决你大部分不明白的地方,比如:你想知道$的作用是什么,比如下面这个代码:
就可以点击上上一个图的第4步,会得到相应的解释如下:
他这里有详细的解释,还有其他的问题,你需要慢慢的从项目中了解,用多了就会用了。
3、联系应广的技术支持。
3、提高工作效率(简称CV工程师)
知道你想偷懒,有个厂商推出了一个软件,把应广的大部分产品的驱动例程放到了一个软件。你需要的驱动、功能都可以直接ctrl+cv。
它是在池州芯达官网下载的minic助手,软件如图:
差不多每一款芯片都有配置的例程,可以轻松当CV工程师,同时各个外设也有相应的配置框架。
这个软件确实挺不错的,可以偷懒
软件下载链接如下
minic编程助手链接——>
4、分享代码解释
我用应广的一款MCU没有乘除法,都是需要通过函数的形式去乘除。
比如4*10,就可以通过for循环累加4次10(嘿嘿,它也不支持for,只能用do…while())
除法就更复杂一点(乘除法函数在编程助手都有)比如一个8位除以8位的函数如下:
BYTE div_src = 15;//被除数(商)
BYTE div_val= 4; //除数
BYTE div_res; //余数
void Byte_Div_Byte (void)//8位除8位函数
{ // div_src[B] / div_val[B] = div_src[B] * div_val[B] + div_res[B]
BYTE div_cnt;
div_cnt = 0;
div_res = 0;
A = -div_val;//无符号8位加负号为: -div_val = 256-div_val
div_src <<= 1;//变量左移一位,看看有没有溢出产生进位
do
{
slc div_res;//0-6位左移,把标志位CF放到0位,把第7位放到CF(slc是这样规定的)
div_cnt++;//计数次数
div_res += A;//看看加上余数有没有溢出产生进位
if (!CF) div_res -= A;//如果没有产生进位,执行操作
div_src <<<= 1;//左移一位,并把进位的值放到0位
} while (! div_cnt.3);//一直到1000,就是循环8次
}
简单来说就是从被除数高位开始算,看看多少能够除除数,然后标志位保存在变量div_res。直到div_res += A(也就是div_res大于除数的时候);产生进位,div_src 的0位赋值1,循环的时候每次左移,最终结束循环就是商。这样是估计也不清楚,后面出一个仿真实验,跑一跑这个函数。
如上有错误、侵权的请指出,我也是在学习,会积极改正、删除!
如果对你有帮助的欢迎点赞!
更多推荐
所有评论(0)