请选择 进入手机版 | 继续访问电脑版

普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 2953|回复: 3

[已解决] 静态数码管不是共阳极的吗?

[复制链接]

5

主题

12

帖子

51

积分

注册会员

Rank: 2

积分
51
发表于 2020-7-12 23:33:16 | 显示全部楼层 |阅读模式
看教程说是静态数码管共阳极
但是看此代码
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. typedef unsigned char u8; //重定义全局字符型变量
  4. typedef unsigned int u16; //重定义全局整型变量
  5. u8 code table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  6. 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  7. /*利用数组引用数码表(注次数码表为阴极数码表,因为是共阳极数码管,本应使用刚阳极数码管,
  8. 为了方便直接将共阴极数码表取反来使用)。code是将数组从ram调到ROM节省空间*/

  9. /*延时函数*/
  10. void dealy(u16 i)
  11. {
  12. while(i--);
  13. }

  14. void main()
  15. { int i=0;
  16.   for(i=0;i<9;i++){
  17.   P0=table[i];
  18.   dealy(50000);
  19.   }       
复制代码

使用共阴极数码表正常显示,但是要是跟教程里面说的阴极数码表取反得阳极数码表,显示的是一堆乱码。
求大佬帮忙解决啊
回复

使用道具 举报

0

主题

49

帖子

242

积分

中级会员

Rank: 3Rank: 3

积分
242
发表于 2020-7-13 09:42:24 | 显示全部楼层
把这句 P0=table[i]; 改成 P0=~table[i];
回复 支持 反对

使用道具 举报

5

主题

12

帖子

51

积分

注册会员

Rank: 2

积分
51
 楼主| 发表于 2020-7-16 15:11:48 | 显示全部楼层
我原来就是这样写的,但是出现的是乱码。只有不取反显示正常
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-3-29 00:44 , Processed in 0.087428 second(s), 33 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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