搜索

[PIC®/AVR® MCU] 【CuriosityNano测评报告】PIC18F16Q40驱动数码管显示

[复制链接]
114830|36
手机看帖
扫描二维码
随时随地手机跟帖
jinglixixi|  楼主 | 2021-6-9 09:07 | 显示全部楼层 |阅读模式
本帖最后由 jinglixixi 于 2021-6-9 09:11 编辑

#申请原创#
数码管是一种常见的显示器件,也便于在掌握GPIO口的情况下,较快地解决显示问题。
为了便于直接使用,此处用的是4位集成在一起的数码管显示模块,它在数码管的基础上已添加了位码引脚的驱动能力。
在PIC18F16Q40开发板上,进行某位显示驱动的引脚配置如图1所示。
761760c013acbc4fa.png
图1  MCC引脚配置

数码管相关引脚与PIC18F16Q40的连接关系如下:
a-RB7
b-RB5
c-RB4
d-RB6
e-RC5
f-RC4
g-RC6
dp-RC7

在显示某位内容时,需将数码管模块的VCC接到5V电源,将相应的位码引脚连到GND接口,其显示效果如图2所示。
9670560c013df5adf1.png
图2 显示效果

动画演示:
数码管.gif


实现演示效果的主程序为:
#include "mcc_generated_files/mcc.h"
void main(void)
{
// Initialize the device
SYSTEM_Initialize();
char i;
while (1)
{
IO_RC1_Toggle();
__delay_ms(2000);
if(i==0)
{
IO_RB7_SetLow();
IO_RB5_SetLow();
IO_RB4_SetLow();
IO_RB6_SetLow();
IO_RC5_SetLow();
IO_RC4_SetLow();
IO_RC6_SetHigh();
IO_RC7_SetHigh();
}

if(i==1)
{
IO_RB7_SetHigh();
IO_RB5_SetLow();
IO_RB4_SetLow();
IO_RB6_SetHigh();
IO_RC5_SetHigh();
IO_RC4_SetHigh();
IO_RC6_SetHigh();
IO_RC7_SetHigh();        
}

if(i==2)
{
IO_RB7_SetLow();
IO_RB5_SetLow();
IO_RB4_SetHigh();
IO_RB6_SetLow();
IO_RC5_SetLow();
IO_RC4_SetHigh();
IO_RC6_SetLow();
IO_RC7_SetHigh();
}

if(i==3)
{
IO_RB7_SetLow();
IO_RB5_SetLow();
IO_RB4_SetLow();
IO_RB6_SetLow();
IO_RC5_SetHigh();
IO_RC4_SetHigh();
IO_RC6_SetLow();
IO_RC7_SetHigh();
}

if(i==4)
{
IO_RB7_SetHigh();
IO_RB5_SetLow();
IO_RB4_SetLow();
IO_RB6_SetHigh();
IO_RC5_SetHigh();
IO_RC4_SetLow();
IO_RC6_SetLow();
IO_RC7_SetHigh();        
}

if(i==5)
{
IO_RB7_SetLow();
IO_RB5_SetHigh();
IO_RB4_SetLow();
IO_RB6_SetLow();
IO_RC5_SetHigh();
IO_RC4_SetLow();
IO_RC6_SetLow();
IO_RC7_SetHigh();
}

if(i==6)
{
IO_RB7_SetLow();
IO_RB5_SetHigh();
IO_RB4_SetLow();
IO_RB6_SetLow();
IO_RC5_SetLow();
IO_RC4_SetLow();
IO_RC6_SetLow();
IO_RC7_SetHigh();        
}

if(i==7)
{
IO_RB7_SetLow();
IO_RB5_SetLow();
IO_RB4_SetLow();
IO_RB6_SetHigh();
IO_RC5_SetHigh();
IO_RC4_SetHigh();
IO_RC6_SetHigh();
IO_RC7_SetHigh();        
}

if(i==8)
{
IO_RB7_SetLow();
IO_RB5_SetLow();
IO_RB4_SetLow();
IO_RB6_SetLow();
IO_RC5_SetLow();
IO_RC4_SetLow();
IO_RC6_SetLow();
IO_RC7_SetHigh();        
}

if(i==9)
{
IO_RB7_SetLow();
IO_RB5_SetLow();
IO_RB4_SetLow();
IO_RB6_SetLow();
IO_RC5_SetHigh();
IO_RC4_SetLow();
IO_RC6_SetLow();
IO_RC7_SetHigh();        
}

i++;
if(i>9) i=0;
}
}

值得指出的是,不知何种原因,在尝试动态驱动4位数值显示时却没有成功,出现的问题是PIC18F16Q40在输出低电平时可以点亮数码管,但输出高电平时却无法关断数码管,改变引脚的输出模式也未见效。

使用特权

评论回复
usysm| | 2021-6-12 11:04 | 显示全部楼层
用的是什么驱动呢?   

使用特权

评论回复
typeof| | 2021-6-12 11:05 | 显示全部楼层
max7219可驱动8个数码管  

使用特权

评论回复
yujielun| | 2021-6-12 11:05 | 显示全部楼层
定时器刷新吧。   

使用特权

评论回复
htmlme| | 2021-6-12 11:06 | 显示全部楼层
不要驱动芯片吗   

使用特权

评论回复
pklong| | 2021-6-12 11:06 | 显示全部楼层
数码管驱动芯片TM1620   

使用特权

评论回复
touser| | 2021-6-12 11:07 | 显示全部楼层
              

使用特权

评论回复
myiclife| | 2021-6-12 11:07 | 显示全部楼层
占用了一半的引脚了。

使用特权

评论回复
uytyu| | 2021-6-12 11:08 | 显示全部楼层
不能统一驱动吗

使用特权

评论回复
iyoum| | 2021-6-12 11:08 | 显示全部楼层
PIC18F16Q40不错。

使用特权

评论回复
jkl21| | 2021-6-12 11:08 | 显示全部楼层
还是使用oled吧。

使用特权

评论回复
yujielun| | 2021-6-12 11:08 | 显示全部楼层
以前用上DHT11频率太慢了。   

使用特权

评论回复
typeof| | 2021-6-12 11:09 | 显示全部楼层
CH455,驱动4位数码管  

使用特权

评论回复
usysm| | 2021-6-12 11:09 | 显示全部楼层
这个驱动电流够吗?

使用特权

评论回复
pklong| | 2021-6-12 11:09 | 显示全部楼层
常用的芯片有哪些?  

使用特权

评论回复
jkl21| | 2021-6-12 11:09 | 显示全部楼层
这个数码管不太好。   

使用特权

评论回复
iyoum| | 2021-6-12 11:09 | 显示全部楼层
是免费申请的PIC18F16Q40吗

使用特权

评论回复
uytyu| | 2021-6-12 11:09 | 显示全部楼层
怎么还单个引脚操作呢

使用特权

评论回复
myiclife| | 2021-6-12 11:09 | 显示全部楼层
iic的驱动芯片了解一下。   

使用特权

评论回复
touser| | 2021-6-12 11:09 | 显示全部楼层
谢谢楼主的资料了。   

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 21小跑堂 打赏20.00元   4天前

    打赏帖:#申请原创# @21小跑堂@21小跑堂@21小跑堂 大 ...

  • 21小跑堂 打赏10.00元   5天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   5天前

    打赏帖:希望我的问题都能回答

  • 21小跑堂 打赏4.00元   5天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   5天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   5天前

    打赏帖:参加欧姆龙在线研讨会

  • 21小跑堂 打赏10.00元   5天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   5天前

    打赏帖:本次讲座问题截图

  • 21小跑堂 打赏10.00元   5天前

    打赏帖:学习学习再学习

  • 21小跑堂 打赏10.00元   5天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   5天前

    打赏帖:5

  • 21小跑堂 打赏10.00元   5天前

    打赏帖:得到打赏,

  • 1 火星国务卿 得到打赏 ¥425.00
  • 2 yanzhengxin1 得到打赏 ¥300.00
  • 3 gaoyang9992006 得到打赏 ¥265.00
  • 4 Gavin3389 得到打赏 ¥225.00
  • 5 13426257085 得到打赏 ¥200.00
  • 6 呐咯密密 得到打赏 ¥185.00
  • 7 两只袜子 得到打赏 ¥155.00
  • 8 yangjiaxu 得到打赏 ¥155.00
  • 9 elephant00 得到打赏 ¥150.00
  • 10 cr315 得到打赏 ¥150.00
在线客服 快速回复 返回顶部 返回列表