找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

把共阴极数码管更改为共阳极数码管后,单片机程序里该怎么修改呢?

查看数: 2653 | 评论数: 13 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-12-5 13:23

正文摘要:

单片机源程序如下: #include<reg51.h> #define uchar unsigned char uchar a0=16,b0=16,c0=16,d0=16,e0=16,f0=16,wei,temp,key,i,j,k; uchar jia,jian,cheng,chu,dengyu,jia0,jian0,cheng0,chu0,qingli ...

回复

ID:1016428 发表于 2022-12-9 11:05
在display函数里的table前都加一个~
ID:77589 发表于 2022-12-8 14:36
所有控制输出全部按位取反就好了!!!!
ID:1056324 发表于 2022-12-7 20:41
把这个换成共阳极的值就好
ID:1056324 发表于 2022-12-7 20:40
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,                         0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};         //阴极编码
ID:123289 发表于 2022-12-7 17:02
送出的显示数据求反一下,然后再送出。
ID:1034262 发表于 2022-12-6 21:55
输出段和位都取反一下就OK。
ID:883242 发表于 2022-12-6 18:31
xianfajushi 发表于 2022-12-6 15:41
数码管段值取反即可 P0=table[a],改为 P0=~table[a],

这个做法不合理,会增加单片机运算量。应该在table定义位置,每个初值前面加~,这样取反操作是编译器完成的,不会让单片机去操作取反。
ID:161164 发表于 2022-12-6 18:02
display函数内P0=的后面,
没有波浪加波浪(~)
有波浪不要波浪
ID:69038 发表于 2022-12-6 17:08
P0=~table[X]
P3=~table1[x]
即在所有的table、table1前加个“~”。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:1056057 发表于 2022-12-6 16:31
把共阴极的值换成共阳极就行了
ID:332444 发表于 2022-12-6 15:42
zyeyz 发表于 2022-12-5 13:27
  • uchar table1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};这个语句在程序里是干什么的

  • 这是位值
    ID:332444 发表于 2022-12-6 15:41
    数码管段值取反即可 P0=table[a],改为 P0=~table[a],
    ID:1055754 发表于 2022-12-5 13:27
    • uchar table1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};这个语句在程序里是干什么的

    小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

    Powered by 单片机教程网

    快速回复 返回顶部 返回列表