前言:
-听说航顺和立创合作啦,点赞,点赞!!!在我的认识里,ARM芯片一直是十分优秀的,相较于8051一直以一种独特具有性价比优势的芯片。
-在当下供货急剧变化的电子市场,舍弃,替代一些国外的短缺芯片是迫在眉睫的。
-在国内芯片制造技术逐渐走向成熟,踊跃发展起来的势头下,国产芯片也是十分值得考虑。。。
-深圳市航顺芯片技术研发有限公司 。于2006年在上海成立,主要产品有大MCU系列:32位M3/M0的通用MCU, 8位OTP/MTP/EEPROM/FLASH 的通用MCU;大存储器系列:SPI NOR FLASH/NAND FLASH/DRAM/EEPROM;大电源锂电池管理系列;DC/DC降压系列;其他系列等芯片。
-立创商城,是由深圳市立创电子商务有限公司 [1] 运营的一站式电子元器件采购自营商城。从事电子元器件零售和小批量采购,是一家品种齐全、现货销售、品质保障的一站式元器件采购平台,真心好用!资料多。
-创芯工坊科技(深圳)有限公司。程序在线交付,安全云烧录。基于互联网平台,姐喝云存储,云烧录及网络加密技术,运用电子商务运营模式,将传统芯片程序线下交付模式转变为在线交付!实现方案交付的软硬分离,提高交付效率,保护开发者知识产权。
图1:整体效果图
方案思路:
1,硬件设计
a,电源部分:12V适配器供电,DC-DC降压至5V。另外增加USB双供电模式。
b,主控部分:航顺经济型“HK32F030MF4P6”试试水先。
c,程序下载和串口通讯:采用CH330N转换USB和TTL。外扩预留了5P的针座,方便下载和通信扩展。
d,功能部分:简简单单买了个0.96''OLED,简简单单航顺EEPROM,简简单单航顺LDO加RGB。
2,软件编写(By MDK5编译器)
a,功能简介:系统方案
-->上电后初始化系统时钟,裸机编程:初始化RGB灯-->初始化OLED-->初始化按键-->初始化EEPROM。
-->进入主循环,开启OLED进入logo-->RGB运行指示灯300ms切换颜色-->存储读取按键次数。
-->正常操作按键按下时,记一次数显示在OLED上,并存储在EEPROM。
-->完成
b,逻辑代码:挑选重点集中讲解
--实现:
1>RGB七彩效果:
void xShowRgb(void):300_tick_刷新周期,’R‘ ’G‘ ’B‘各定义一个上限300的存储容器,在周期内循环输出该数值大小的分色波长。
void xSetRgb(u8 colo,u8 val):设置所选颜色容器的数值,达到调整颜色的目的。
2>按键功能:
u8 xKeyScan(u8 mode):简简单单的上拉检测低电平的设计。左按键切换设置颜色,有按键增加颜色值,见效果图4和图5。
3>OLED显示12864:简单的IO模拟IIC
xOLED_ShowStr(....):显示字符串。@参数:x坐标,y页数,要显示的字符串"起始点坐标(x:0~127, y:0~7)"。TextSize字体大小。
xOLED_ShowNum(....):显示数字和变量。@参数:x坐标,y页数,要显示的数值(0-9999)。TextSize字体大小。
void xOLED_DrawBMP(....):显示位图。@参数:x0起点x,y0起点y,x1终点x,y1终点y,BMP[]位图数组。
4>EEPROM:HK24C02(关注我,详见我的其他项目应用)
5>Tpad:触摸按键(关注我,详见我的其他项目应用)
效果展示:
图2:SW下载电路
图3:启动界面
图4:切换调节的颜色
图5:增加选择颜色值(*note1)
注意事项:
*note1:录制手机反光,导致图5右边LED1一直录制白色(肉眼是真实多彩),录制原因请观看手指反光颜色随数值变化。
!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。
欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。
EEWorld Datasheet 技术支持