本文来源电子发烧友社区,作者:yjp, 帖子地址:https://bbs.elecfans.com/jishu_2293547_1_1.html
拿到中科昊芯的开发板,资料很丰富,功能很强大,IDE也非常好用。
下载IDE开发环境,开发环境安装也非常容易,一键安装很快安装完成。给满分。
windows10对对仿真器的识别也是很快的。
从官网下载好IDE之后,就可以导入例程,中科昊芯的例程也写的很好,非常容易理解。
首先介绍下原理,设置定时器1ms中断,主程序对中断次数循环计数,360次中断即360ms通过iic接口向数码管发送显示指令,显示指令包括(千位,百位,十位,个位),还做了按键中断响应,当按下101按键时,递增千位数值,当按下103按键时,计数清零,数码管显示0000。
原理不复杂,用到了定时器中断,按键中断和iic通信。详细程序如下。
debug过程中需要讲拨码开关全部拨到左侧。在ide中进行debug,通过watch面板观察断点时变量值,也可以通过live view观察变量值的连续变化情况。
拿到中科昊芯的开发板,资料很丰富,功能很强大,IDE也非常好用。
下载IDE开发环境,开发环境安装也非常容易,一键安装很快安装完成。给满分。
windows10对对仿真器的识别也是很快的。
从官网下载好IDE之后,就可以导入例程,中科昊芯的例程也写的很好,非常容易理解。
首先介绍下原理,设置定时器1ms中断,主程序对中断次数循环计数,360次中断即360ms通过iic接口向数码管发送显示指令,显示指令包括(千位,百位,十位,个位),还做了按键中断响应,当按下101按键时,递增千位数值,当按下103按键时,计数清零,数码管显示0000。
原理不复杂,用到了定时器中断,按键中断和iic通信。详细程序如下。
-
int main(void) - {
- /*初始化系统控制*/
- InitSysCtrl();
- /*初始化LED*/
- InitLED();
- /* 清除所有中断和初始化PIE向量表*/
- /*禁用CPU中断*/
- DINT;
- /*初始化PIE控制寄存器到默认状态,默认状态是全部PIE中断被禁用和标志位被清除*/
- InitPieCtrl();
- /*禁用CPU中断和清除所有CPU中断标志位*/
- IER = 0x0000;
- IFR = 0x0000;
- /*初始化PIE中断向量表,为PIE向量表中的所有中断向量配置对应向量的入口地址*/
- InitPieVectTable();
- /*定时器0初始化*/
- timer0_init();
- /*初始化IIC总线的Gpio*/
- InitI2C_Gpio();
- /*IIC初始化*/
- I2CA_Init();
- /*软件复位IIC从设备*/
- softResetIIC_BUS();
- //printf("rnTM1650 init...");//标准C的printf输出测试,串口调试助手设置波特率128000bps,ASCII格式显示
- /*BIT6到BIT4为亮度调节,BIT0是1 开启/0关闭*/
- LigntVal = 0x11;
- /*1级亮度,开启显示*/
- TM1650_Send(CMD_SEG, LigntVal);
- /*DIG0-DIG3均显示0*/
- TM1650_Send(DIG0, SEG7Table[0]);
- TM1650_Send(DIG1, SEG7Table[0]);
- TM1650_Send(DIG2, SEG7Table[0]);
- TM1650_Send(DIG3, SEG7Table[0]);
- /*使能全局中断*/
- EINT;
- /*使能调试事件*/
- while(1)
- {
- /*间隔为360ms*/
- if(CpuTimer0.InterruPTCount >= 360)
- {
- /*定时器0中断次数清零*/
- CpuTimer0.InterruptCount = 0;
- /*D401翻转*/
- GpioDataRegs.GPATOGGLE.bit.GPIO6 = 1;
- /*Tmp累加,从0-999循环*/
- Tmp++;
- if(Tmp > 999)
- Tmp = 0;
- /*DIG1显示Tmp的百位*/
- TM1650_Send(DIG1, SEG7Table[Tmp / 100]);
- /*DIG2显示Tmp的十位*/
- TM1650_Send(DIG2, SEG7Table[(Tmp / 10) % 10]);
- /*DIG3显示Tmp的个位*/
- TM1650_Send(DIG3, SEG7Table[Tmp % 10]);
- /*TM1650获取扫描按键S101 S102 S103,控制数码管数字显示及亮度调节*/
- TM1650_Read(CMD_KEY, &keyVal);
- /*S101按下时,DIG0显示内容+1*/
- if(keyVal == 0x44)
- {
- keyReg++;
- keyReg &= 0x0f;
- TM1650_Send(DIG0, SEG7Table[keyReg]);
- }
- /*S102按下时,改变数码管显示亮度*/
- if(keyVal == 0x4c)//
- {
- /*高四位为亮度调节,最后1位是开启、关闭显示*/
- LigntVal = (LigntVal + 0x20) & 0x7F;
- /*1级亮度,开启显示*/
- TM1650_Send(CMD_SEG, LigntVal);
- }
- /*按下S103时*/
- if(keyVal == 0x54)
- {
- Tmp = 0;
- keyReg = 0;
- /*DIG0-DIG3清零*/
- TM1650_Send(DIG0, SEG7Table[0]);
- TM1650_Send(DIG1, SEG7Table[0]);
- TM1650_Send(DIG2, SEG7Table[0]);
- TM1650_Send(DIG3, SEG7Table[0]);
- /*D400翻转*/
- GpioDataRegs.GPATOGGLE.bit.GPIO7 = 1;
- }
- }
- }
- }
debug过程中需要讲拨码开关全部拨到左侧。在ide中进行debug,通过watch面板观察断点时变量值,也可以通过live view观察变量值的连续变化情况。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
中科昊芯
+关注
关注
5文章
84浏览量
5891 -
开发板试用
+关注
关注
3文章
303浏览量
2643
发布评论请先 登录
相关推荐
热点推荐
【作品合集】飞凌嵌入式OK527N-C开发板测评
作品合集
第十三期合集 : 玄铁Banana Pi BPI-RV2开发板测评作品合集
第十四期合集 : 玄铁BPI-CanMV-K230D-Zero开发板测评作品合集
第十五期合集 : 中科昊
发表于 09-22 15:54
【作品精选】2025电子发烧友开发板测评大赛作品合集!
Milk-V Duo S 开发板免费试用
玄铁Banana Pi BPI-RV2开发板试用
玄铁Banana Pi BPI-CanMV-K230D-Zero17
发表于 09-03 15:24
【中科昊芯Core_DSC280025C开发板试用体验】+3.DSP基础外设调试(含源码)
前言
大家好,非常感谢电子发烧友与中科昊芯提供的DSC280025C开发板,这是一款DSP的开发板
发表于 07-13 16:07
有奖丨米尔 瑞芯微RK3506开发板免费试用
米尔与瑞芯微合作发布的新品基于瑞芯微RK3506应用处理器的MYD-YR3506开发板免费试用名额来啦~~米尔提供了3块价值299元的MYD-YR3506
基于RK处理器,创龙TL3562-MiniEVM开发板试用体验
数量: 10块 更多热点文章阅读 基于平头哥TH1520芯片,润开鸿HH-SCDAYU800A开发板免费试用 RISC-V开发板深度评测!顶级开发板免费
性能强悍!合众HZ-RK3568开发板试用体验
月19日 评测数量: 10块 更多热点文章阅读 基于平头哥TH1520芯片,润开鸿HH-SCDAYU800A开发板免费试用 RISC-V开发板深度评测!顶级开发板免费
中科昊芯DSP产品及公司信息
库和驱动库,帮助用户降低迁移成本,缩短开发周期。同时,公司还推出了多种开发板和核心板,如Core_DSC28027和Start_DSC280
发表于 04-07 09:16
有奖丨米尔 瑞芯微YR3562开发板免费试用
米尔与瑞芯微合作发布的新品基于瑞芯微RK3562应用处理器的MYD-YR3562开发板免费试用活动来啦~~米尔提供了3块价值599元的MYD-YR3562

【中科昊芯Start_DSC28027勇士开发板试用体验】-开箱试用
评论