使用仿真软件Proteus可以实现单片机控制数码管显示的仿真。该仿真电路包括单片机的最小系统电路、数码管驱动电路,还需要进行编程。Proteus是支持程序联调的,运行后可以看到最终的仿真效果。

1 单片机的最小系统电路

所谓单片机的最小系统电路是指单片机在工作时所需要的最基本的电路,一般包括电源电路、复位电路、晶振电路和下载电路。由于是软件仿真,只需要设计电源电路、复位电路和晶振电路就可以。甚至,只放一颗单片机都可以,软件是默认具有最小系统的。

2 数码管驱动电路

单片机驱动数码管具有多种方案,但是一般不会通过GPIO口直接驱动的方式,一般都会通过驱动芯片来实现控制,一方面可以解决单片机驱动能力小的问题;另一方面可以实现以较少的GPIO实现多位数码管驱动的目的。可以使用373/573一类的锁存器来控制数码管,也可以使用595一类的移位寄存器来控制,还可以使用数码管专用的芯片如TM160等来实现控制。我比较喜欢使用74HC595来驱动数码管。这是一颗移位寄存器,可以级联,只需要三个GPIO口就可以实现多片数码管驱动的目的。

只需要三个GPIO就能实现一颗数码管的控制,如果要驱动多个数码管的话,可以使用多片595级联

3 数码管驱动程序的设计

使用74HC595来驱动数码管,其程序设计也非常简单。595是八位的移位寄存器,需要将数据循环八次写入,需要特别注意的是,74HC595具有锁存功能,将数据写入后,需要给CP一个脉冲后,数据才会被输出

单片机驱动数码管是非常简单的设计,是初学单片机必经的小设计,通过该设计可以联系GPIO口的配置、时序图的理解。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查