本帖最后由 yuyy1989 于 2023-5-10 08:58 编辑
确实没数码管的话和数码管有关的那几集写完代码没法验证,我现在先把代码放在那等有了实验箱或者数码管再回来看,静态数码管还能用p2的那8个灯凑合看一下,动态数码管就没辙了
STC-ISP上是有模拟数码管的功能,但是好像并没法模拟数码管刷新的功能,更像是一个集成了显示控制的数码管模块,只需要传数据就能显示出来,不用考虑刷新机制
如果用这个模拟实现数码管的底层刷新逻辑的话要这么写
- uint8_t codeindex = 0; //用这个变量模拟控制显示的位
- const uint8_t segdatas[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
- void usbhidsegtest()
- {
- uint8_t segcode[8] = {0};
- segcode[codeindex] = segdatas[codeindex]; //要显示的位填入数据,其它保持0
- SEG7_ShowCode(segcode);
- codeindex++;
- if(codeindex>7)
- {
- codeindex = 0;
- }
- delay_ms(500); //延时太短看不清,这个并不能像真实的数码管那样
- }
复制代码
如果像教学视频那样设置1ms的延时,效果是这样的
这个模拟功能并不适合模拟数码管的底层显示逻辑
|