近来公司开发任务暂时告一段落,利用业余时间,设计了一款数码管模块驱动电路,主要功能介绍如下:
微处理器:美国微芯科技: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)
成本太贵了,美信的动不动就20多,为了驱动几个屁数码管,不息血本,公司会亏的。
你要是想省io,用两片74hc595亦可搞定,比你设计的便宜n倍
-----------------------------------------------------------------------
大哥,看清说明,我是利用业余做这套出来的,公司做的话买芯片至少几千,那一片顶多一两块钱,另外两片595占多大PCB空间,程序呢,两片595多少钱。
一周热门 更多>