嵌入式系统I2C中断与数码管刷新机制.pdfVIP

  • 0
  • 0
  • 约小于1千字
  • 约 1页
  • 2026-11-04 发布于北京
  • 举报

嵌入式系统I2C中断与数码管刷新机制.pdf

以下纯属个人观点,纰漏欢迎指出。

米字管的连接如下图。

其单独一个管想要显示成功需要分别对U21,U22,U23写值。因此每一个管子想要实现不

闪动,需要对这三个发送值进行刷新,后称片刷。片刷的过程在I2C中断服务中进行,

其用1-9状态分别依次进行对U21,U22,U23的刷新,每个的刷新需要两步,一是发

送从机地址,二是发送数据。所以会用到6个状态,对应I2C0TransmitionState=2~7。8和9

是对LED显示的刷新,原理是一样的。

对于1状态的功能。其实是实现对4个管的刷新,后称管刷。如果把片刷的过程当成一

个整体,那么管刷的过程就与7段数码管的刷新原理相通了。管刷的实现是通过在SysTick

中断中的I2C0DeviceRefresh();函数实现的,其内先是调用了NieTubeCoding()函数,更改掉

片刷对各个发送的数据,然后向发送了U21的从机地址,(个人认为此时可能会触发一

个I2C的错误,导致在执行I2C中断时执行此句

然后就执行状态1的语句,将U21的片选刷为0xff(即非有效管号)这样在更改U22和U23

值的时候不会显示到上一管上。

文档评论(0)

1亿VIP精品文档

相关文档