近来公司开发任务暂时告一段落,利用业余时间,设计了一款数码管模块驱动电路,主要功能介绍如下:
微处理器:美国微芯科技: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)
-----------------------------------------------------------------------
说对了一半,兄弟,搞电子设计的吗,有句老话叫做:工欲善其事必先利其器,现在器有了,就等着发挥想象力去做事,呵呵。
装备真诱人。
MAX的芯片比较贵,驱动数码管真浪费。
-----------------------------------------------------------------------
毛刺怎么会是示波器上的呢,当然是电路上的,演示电路吗,另外引线也很长。MAX的芯片是不便宜,但功能齐全,特别是再驱动数码管LED和键盘这类产品,看你怎么使用了,买一两篇当然很贵了,买几千几万就不一样了,另外本人这个是申请的样片。
你要是想省IO,用两片74HC595亦可搞定,比你设计的便宜n倍
一周热门 更多>