【航顺训练营】基于HK32F030MF4P6的数码管显示器 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 【航顺训练营】基于HK32F030MF4P6的数码管显示器

  • 2.5k
  • 2
  • 9

简介:主控是HK32F030MF4P6,数码管显示模块是MAX7219,可以级联4个8段数码管

开源协议: Public Domain

(未经作者授权,禁止转载)

创建时间: 2021-03-16 10:33:55
更新时间: 2023-01-08 16:52:47
描述
### **1.简介** - - - 1. 主控是航顺的HK32F030MF4P6。又便宜又好焊还内置晶振。 2. 数码管显示模块是MAX7219,级联了4个8段数码管,每一个都可以单独控制,非常自由! 3. 每一片都可以单独显示,单独调节亮度,一共有16挡亮度可以调节。不必担心使用场景,暗处伤眼,亮处又看不清! 4. 可以使用无译码方式显示,也可以使用BCD译码显示。译码方式有四种,见原理篇。 5. 加入了RX,TX状态指示灯,电源指示灯,连接到PA2的LED灯。四个0805的LED显示状态,让您能时刻了解当前状态! 6. 加入调试接口,使您能够快速调试开发! 7. 数码管使用的0.56寸超大数码管,使您脱下眼镜也能看清! 8. 从芯片器件到EDA全使用国产芯片软件,包括MAX7219芯片和电阻电容等器件,助力国产MCU发展! ### **2.静态图片展示** - - - 全显示 ![1617005194520.jpg](//image.lceda.cn/pullimage/1ZZ2vBGduFGyRfXj54h1O14mHZQQZf6W04XV9x5O.jpeg) 单片点亮12345678(重复) ![1617030135712.jpg](//image.lceda.cn/pullimage/LZkdwoelzlHh7xftxHfRrvoIC33EB8rIDjOfmvfy.jpeg) 四片都显示不同的数字 ![1617076529980.jpg](//image.lceda.cn/pullimage/sDUWn2y1SBQCDMyhl7LFXFZjwmZ0gmexblEoAivY.jpeg) 显示JLC字样 ![1617088297335.jpg](//image.lceda.cn/pullimage/7x5hnJN86fam8w48pdOnUegAIP20i0iw1nBhCWz7.jpeg) 静态显示完成 动态显示见附件视频 ### **3.原理代码解析** - - - MAX7219时序图: ![QQ截图20210330140415.png](//image.lceda.cn/pullimage/Zu0C6z2flh3fixqya3ztpgdkunqQq4cfja4L62kN.png) 这是MAX7219数据手册中的时序图,可以看到有3个信号,只需要3个信号即可控制不同芯片的显示。 一个是CS片选,一个是CLK时钟信号,一个是DIN数据信号 **片选把CS拉低即使能,拉低以后在CLK的上升沿读取DIN给的数据**。 CLK脚本人接在了PC7,CS(LOAD)脚接PC6,DIN脚接PC3 ![QQ截图20210330142152.png](//image.lceda.cn/pullimage/UkVBW5G5hO5ufE5QwHTxDgdV3wiVEuil1QE3mY6N.png) ![QQ截图20210330142430.png](//image.lceda.cn/pullimage/Aj8QZXeLJctAHa9veTYnYExE8xkcvLZOIZLWnDaw.png) 根据时序图,CS最好上拉,CLK最好下拉 ![QQ截图20210330140910.png](//image.lceda.cn/pullimage/FPLup4QZGTK3lBdyd75OuYEivB2I7CmwIXWV5omw.png) 核心代码如上,写字节代码 步骤如下 1. 拉低CS片选 2. 拉低CLK 3. 把需要写入的数据DAT与0x80做与运算,即取二进制最高位 4. 再把结果右移7位即得到0或1 5. 判断如果是0则DIN置0,1则1 6. 把DIN左移1位,即它的下一位 7. 把CLK拉高,上升沿读取DIN电平 8. 重复操作8次即写入0xXX 9. CS片选拉高结束 由于和STM32F10X系列不同,没有位带操作,因此利用移位也可以实现一样的效果。 编码的方式有4种 ![QQ截图20210330140350.png](//image.lceda.cn/pullimage/LvrKDYezMeZ6hZDbU9v29Ybl2WjHEeaETRlUzSFl.png) 寄存器是0xX9,对应0x00是无译码方式,0xff是BCD译码方式,这两种比较常用。 ![QQ截图20210330140344.png](//image.lceda.cn/pullimage/gfx2cBJZK2lHQFx5KML5UZ0hFHyVDGaLwvAdsQ7L.png) 动态显示中一开始的JLC就是使用的无译码方式,每一位对应如图 ![QQ截图20210330140356.png](//image.lceda.cn/pullimage/n2183mUjiI92XUcUk9Iq2gSDwNDeGHVt4e68VyTt.png) 因此显示J就是让BCDE显示,换成二进制就是00111100,转换16进制就是0x3c ![QQ截图20210330141340.png](//image.lceda.cn/pullimage/0Vrrk4L15WD4CEceChyTMInvGhSGmU4QKJgELU2Q.png) 同理L就是0x0e,C就是0x4e,不显示直接0即可。 细心的同学可能发现在JLC显示完后都显示的**HPPO** 因为这里我把译码方式转为了0xff的BCD译码 ![QQ截图20210330141534.png](//image.lceda.cn/pullimage/65n4XT4Iez7ZTlmDeNlCZV0e26TzWY1H1aQa2A6e.png) BCD译码最高位D7是小数点的显示,D6-4-D4无作用,D3-D0译码,因此无译码转换过来J就是H无小数点,因此看到HPPO字样 最后还有调节显示的亮度,我这里只写了几个档位 ![QQ截图20210330141737.png](//image.lceda.cn/pullimage/YRn4yX1EDLeommdZyG0VELbu9T39rH5j2z2PHtB7.png) 下面是数据手册描述,在0xXa地址写入0xX0到0xXf即可,就是一共有16个档位可供选择 ![QQ截图20210330141805.png](//image.lceda.cn/pullimage/TpyTlNvCpaJLETUZpmfrsaFitfk6i63XL39bOqv1.png) ### **4.总结** - - - 第一次全使用立创EDA制作,还不太熟悉软件,以及CH330N芯片的使用,导致串口芯片TX和RX脚接反了(当然已经修正了),这是大失误。其次由于没有使用位带操作,导致板子焊接完成后就没做软件开发了,到了交作业前一天才赶紧做出来(汗)。另外立创EDA希望直角走线滴泪也能做上(还是我不会用。。。反正走直角线滴泪好像只有线与孔的滴泪,没有线和线的)。最后感谢航顺和立创有这么好的机会给我们,最后也希望国产各方面做的越来越好。
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP