另类设计(利用16位DSPIC30F单片机三根IO驱动8位7段数码管显示)

2020-02-09 09:38发布

近来公司开发任务暂时告一段落,利用业余时间,设计了一款数码管模块驱动电路,主要功能介绍如下:
微处理器:美国微芯科技:DSPIC30F6014A
数码管驱动:美国美信:MAX7221
数码管:两个四位共阴数码管
单片机与数码管之间通讯为SPI借口通讯,因为驱动MAX7221只需发出数据,不需读入数据,因此只占用SPI总线的SCK,SDO两根IO,再加一根MAX7221的片选信号,因此驱动8位7段数码管只需占用3根单片机IO,在系统显示内容简单且硬件成本有所考虑的时候,代替LCD无不是一种可行的方法。MAX7221与DSPIC30F6014A的SPI通讯时钟设置在10MHz。
之所以选择此款单片机,一是公司产品使用此单片机使用的较为熟悉,二是公司有大量闲置品可供实验开发,DSPIC30F6014A在MICROCHIP 16位单片机中算是高档的了,SPI只是其中一个硬件模块。
硬件电路很简单,就是利用单片机的SPI2借口直接驱动MAX7221,在此就不再专门画出了,附件里上传了试验图片。
附属:单片机我选择了深圳乾隆盛的DSPIC30F6014A单片机开发板,利用开发板的排针杜邦线连接自行设计的数码管模块,示波器选用美国福禄克的便携式示波器,用来测试SPI传输波形。SPI传输数据设置为16位传输模式,刚好和MAX7221控制寄存器兼容。
开发环境:MPLABIDEV8.53+C30+ICD3.
驱动程序,后续会完善一下传上来,给有兴趣的朋友共享,也可以移植到8位或其它带SPI硬件支持的单片机。

(原文件名:MAX7221数码管模块.JPG)


(原文件名:SPI波形.JPG)


(原文件名:单片机.JPG)


(原文件名:开发板.JPG)


(原文件名:开发板与模块的链接.JPG)


(原文件名:开发环境1.JPG)


(原文件名:开发环境2.JPG)


(原文件名:开发环境3.JPG)


(原文件名:SPI波形1.JPG)

(原文件名:ICD3.JPG)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
Electronics
1楼-- · 2020-02-10 09:55
回复【6楼】zq186 难得好天气
-----------------------------------------------------------------------

说对了一半,兄弟,搞电子设计的吗,有句老话叫做:工欲善其事必先利其器,现在器有了,就等着发挥想象力去做事,呵呵。
zq186
2楼-- · 2020-02-10 11:25
我是半道出家业余爱好,入门的时候用了PIC,现在也懒得学别的了。dsPIC也玩了一下,所以对你的作品有点兴趣~~
Electronics
3楼-- · 2020-02-10 14:51
 精彩回答 2  元偷偷看……
kevin_sky
4楼-- · 2020-02-10 20:40
这示波器怎么这么大的噪音?或者是电路上的?
装备真诱人。
MAX的芯片比较贵,驱动数码管真浪费。
Electronics
5楼-- · 2020-02-10 23:02
回复【10楼】kevin_sky
-----------------------------------------------------------------------
毛刺怎么会是示波器上的呢,当然是电路上的,演示电路吗,另外引线也很长。MAX的芯片是不便宜,但功能齐全,特别是再驱动数码管LED和键盘这类产品,看你怎么使用了,买一两篇当然很贵了,买几千几万就不一样了,另外本人这个是申请的样片。
hephi
6楼-- · 2020-02-11 04:58
成本太贵了,美信的动不动就20多,为了驱动几个屁数码管,不息血本,公司会亏的。
你要是想省IO,用两片74HC595亦可搞定,比你设计的便宜n倍

一周热门 更多>