广义单片机学习入门笔记全集

应广单片机学习入门个人例子

  • 1、背景和准备
  • 2、怎么开始学习
  • 2.1前辈的学习笔记
  • 2.2遇到问题怎么办?
  • 3、提高工作效率(简称CV工程师)
  • 4、分享代码解释
  • 1、背景和准备

    最近要用的应广的MCU,之前没有接触过。开发环境:是用应广的IDE,要买他们的烧录器和仿真器,价格对个人来说并不美丽,编程语言mini-c语言(刚开始我也不知道是什么,反正会c语言就OK)和汇编(反正我不怎么会)。总的来说:开发环境陌生,MCU价格美丽

    开发环境下载

    应广IDE软件资料下载官网跳转——>


    下载下来编程软件是这样的

    这里我就不介绍了,官网的软件使用手册有介绍怎么用,看看介绍。

    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,循环的时候每次左移,最终结束循环就是商。这样是估计也不清楚,后面出一个仿真实验,跑一跑这个函数。

    除法仿真实验文章链接1–>

    如上有错误、侵权的请指出,我也是在学习,会积极改正、删除
    如果对你有帮助的欢迎点赞!

    作者:首韵

    物联沃分享整理
    物联沃-IOTWORD物联网 » 广义单片机学习入门笔记全集

    发表评论