无锡矽杰微电子----XC8P9520C MCU之项目开发

        上篇文章说了开发环境和烧录环境的配置以及安装,那么接下来就需要开发项目了。

        Demo文件资料-无锡矽杰微电子有限公司 (xjmcu.com)

        这里贴上矽杰微官网的资料下载专区,包括不同芯片的DEMO和上文所说的工具。

        既然是项目开发,那么芯片的数据手册是必须要有的,上述链接里也有,可以根据自己的需要下载。

        我使用的是9520,如下是芯片特性。

        外设很少,功能很简单,代码也很好些,可是实际实现需要的功能却很难,笑死。

        这个难不是别的,而是因为手册写的很简单,很多东西写的很模糊,需要一直咨询矽杰微的技术人员 。

        接下来说一下我这个小板子的开发之路,总共用时四天左右的时间。

        第一,明确功能,详细的功能不方便说,简略说一下,我这里就用了一个按键,一个led灯,pwm和TCC定时器全部用上,物尽其用。

        第二,设计电路,电路不是我的事,我也不会,哈哈哈哈哈。

        第三,编写代码,我的时间主要就是这部分,怎么样可以快速上手一款芯片?看代码demo,看数据手册,只要看的懂就抄,然后改,实现功能就可。假如没有,看有没有类似的,然后看数据手册去改。

        初始我是自己写的,我也认为自己写的会更好,但是写完发现功能不好用,所以对后来的你们说一句,工作了之后,代码完全没必要自己写,只要看得懂,修修改改能用就好,自己写浪费时间不说,还不一定能用。

        看下9520的初始化,这部分是要写在主函数最前面的,RAM可以理解为我们的计算机的内存,用于存放我们所定义的变量,每次上电要清除一次,然后写入,防止上电数据错乱。

void file_clrRam()
{
	for(RSR=0xD0;RSR<0xFF;RSR++)	//清零 BANK0 RAM  IAR-R0,RSR-R4
									//RSR的高两位默认只读为1					
	{IAR = 0;}
	 IAR = 0;
}

        紧接着就是各个端口的初始化,以及要开的外设的初始化,这些和别的常用的单片机是一样。

        对于TCC的初始化

,只需要关注这几个寄存器即可,CONT(控制寄存器)TCC(定时计数器),想要开启中断,还需要关注IMR(中断使能控制寄存器),这个一般都是要的。

        定时的时间计算公式:

TCC 定时时间计算公式(选择内部指令周期时钟): 
 TCC定时时间 = (系统时钟分频/FOSC ) *  TCC分频 *  (256 - 初始值)

TCC 定时时间计算公式(选择外部输入时钟):
     TCC定时时间 = (外部输入时钟) *  TCC分频 *  (256 - 初始值)

  注意了,系统时钟以及系统时钟的分频在这里设置,不需要代码进行初始化配置;看到那个像扳手的图标没,就是那个。

很多设置都在这里,不需要代码的配置的,这里和我以前用的芯片开发IDE不太一样。

还有PWM的初始化

,需要关注的寄存器,首先如果需要PWM溢出中断,IMR(中断使能控制寄存器)是必须的,我这里没用到就没管,CPUCON(CPU 模式控制寄存器),最重要的就是PWMCON(PWM 控制寄存器) ,还有PRD(PWM 周期寄存器) PDC1(PWM1 占空比寄存器) PDC2(PWM2 占空比寄存器), PDC3(PWM13占空比寄存器)。根据自己的需要看着配置。

        刚开始我只用了1路pwm1,点亮小灯以及调节亮度都是没有问题的。

        后来需求说输出电流太小,所以改为了3路pwm输出,本来配置的是最低亮度的时候只用其中一路输出,最高亮度才用3路输出。

        发现小灯不亮,后来发现需要三路同时输出才能点亮小灯,这不知道是芯片的问题,还是说设计的电路有问题。不过我感觉是芯片的问题,必须3路pwm同时输出才可以。

        最后,仿真的输出电流和用电源供电板子上的输出电流是有差别的,我这里用电源供电的输出电流更大,比如仿真28.5mA,电源供电是34.多mA,这个也是需要注意的。

        void int_isr(void) __interrupt   //还有这个中断的书写格式,可以参考下他们的官方demo。      

我只用到了这些,就实现了自己所需的功能,当然说起来是简单的,实际做的时候毛病不断,都是一个一个解决的。

        最后大家努力学习,一起奋斗。

        祝大家越来越好,技术越来月牛犇!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Non-UTF-8 code starting with '\xc7'是一个编码错误。这个错误通常在Python程序中出现,原因是程序中包含了非UTF-8编码的字符。解决这个问题的方法是在文件的第一行添加编码声明,指定正确的编码格式。根据提供的引用内容和,可以看出这个错误是由于文件中含有中文字符,而没有正确声明编码格式所导致的。在Python文件的开头加上`# coding=gbk`可以指定文件的编码为gbk,或者使用`# -*-coding:utf8 -*-`来指定编码为utf-8。这样做可以确保Python解释器正确地读取和处理文件中的中文字符,解决编码错误问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SyntaxError: Non-UTF-8 code starting with ‘\xc7‘ in file](https://blog.csdn.net/u014096024/article/details/125167034)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [解决python编码错误问题 SyntaxError: Non-UTF-8 code starting with '\xc7' in file E:\Pythondemo\2.py ...](https://blog.csdn.net/weixin_30699235/article/details/99099224)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [uboott移植实验手册及技术文档](https://download.csdn.net/download/yequnanren/2030925)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值