找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2627|回复: 15
打印 上一主题 下一主题
收起左侧

单片机数码管显示疑问,这个7的f段亮了变成带钩的7了

[复制链接]
跳转到指定楼层
楼主
ID:386381 发表于 2018-9-5 07:22 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这个温度计用的共阳的数码管,这个7的f段亮了变成带钩的7了,请师傅们指点下改那里能不让f段亮变成正常的7,谢谢您!

20180905_003132.jpg (44.86 KB, 下载次数: 120)

20180905_003132.jpg

20180905_003304.jpg (47.9 KB, 下载次数: 117)

20180905_003304.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:386381 发表于 2018-9-5 07:23 来自手机 | 只看该作者
后面这张图片上传后这么模糊呀,我拍的好清晰的
回复

使用道具 举报

板凳
ID:386381 发表于 2018-9-5 08:32 来自手机 | 只看该作者
#include <AT89X52.h> #define uint unsigned int#define uchar unsigned char           //宏定义#define SET  P3_1                            //定义调整键#define DEC  P3_2                            //定义减少键#define ADD  P3_3                            //定义增加键#define BEEP P3_6                            //定义蜂鸣器#define ALAM P1_2                                //定义灯光报警#define DQ   P3_7                             //定义DS18B20总线I/O        bit shanshuo_st;                            //闪烁间隔标志bit beep_st;                                     //蜂鸣器间隔标志sbit DIAN = P0^5;                        //小数点uchar x=0;                                      //计数器signed char m;                                     //温度值全局变量uchar n;                                              //温度值全局变量uchar set_st=0;                             //状态标志signed char shangxian=38;                  //上限报警温度,默认值为38signed char xiaxian=5;                   //下限报警温度,默认值为38//uchar code  LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};uchar code  LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B};//
回复

使用道具 举报

地板
ID:386381 发表于 2018-9-5 08:33 来自手机 | 只看该作者
#include <AT89X52.h> #define uint unsigned int#define uchar unsigned char           //宏定义#define SET  P3_1                            //定义调整键#define DEC  P3_2                            //定义减少键#define ADD  P3_3                            //定义增加键#define BEEP P3_6                            //定义蜂鸣器#define ALAM P1_2                                //定义灯光报警#define DQ   P3_7                             //定义DS18B20总线I/O        bit shanshuo_st;                            //闪烁间隔标志bit beep_st;                                     //蜂鸣器间隔标志sbit DIAN = P0^5;                        //小数点uchar x=0;                                      //计数器signed char m;                                     //温度值全局变量uchar n;                                              //温度值全局变量uchar set_st=0;                             //状态标志signed char shangxian=38;                  //上限报警温度,默认值为38signed char xiaxian=5;                   //下限报警温度,默认值为38//uchar code  LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};uchar code  LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B};///*****显示开机初始化等待画面*****/void Disp_init(void)    {        P0 = ~0x80;      //显示----        P2 = 0x7F;        Delay(200);        P2 = 0xDF;        Delay(200);           P2 = 0xF7;        Delay(200);        P2 = 0xFD;        Delay(200);        P2 = 0xFF;         //关闭显示}/*****显示温度子程序*****/void Disp_Temperature(void)     //显示温度{        P0 = ~0x98;      //显示C        P2 = 0x7F;        Delay(100);        P2=0xff;        P0=~LEDData[n];    //显示个位        P2 = 0xDF;        Delay(100);        P2=0xff;        P0 =~LEDData[m%10];    //显示十位        DIAN = 0;         //显示小数点        P2 = 0xF7;        Delay(100);        P2=0xff;        P0 =~LEDData[m/10];    //显示百位        P2 = 0xFD;        Delay(100);        P2 = 0xff;         //关闭显示}/*****显示报警温度子程序*****/void Disp_alarm(uchar baojing){        P0 =~0x98;      //显示C        P2 = 0x7F;        Delay(100);        P2=0xff;        P0 =~LEDData[baojing%10]; //显示十位        P2 = 0xDF;        Delay(100);        P2=0xff;        P0 =~LEDData[baojing/10]; //显示百位        P2 = 0xF7;        Delay(100);        P2=0xff;        if(set_st==1)P0 =~0xCE;        else if(set_st==2)P0 =~0x1A; //上限H、下限L标示        P2 = 0xFD;        Delay(100);        P2 = 0xff;         //关闭显示
回复

使用道具 举报

5#
ID:97554 发表于 2018-9-5 08:50 | 只看该作者
看他中括号里的数组,第八个的十六进制是怎么写的。
回复

使用道具 举报

6#
ID:97554 发表于 2018-9-5 08:55 | 只看该作者
这个不看你线路的解法或者你程序中数组是没法给你答案的,不同的接法这个是不一样的。
回复

使用道具 举报

7#
ID:370231 发表于 2018-9-5 09:14 | 只看该作者
把程序放上来不要图片,图片看不清楚
回复

使用道具 举报

8#
ID:393854 发表于 2018-9-5 09:31 | 只看该作者
不同的接法这个是不一样的
回复

使用道具 举报

9#
ID:97554 发表于 2018-9-5 09:43 | 只看该作者
共阳数码管,低电平有效,7是0XF8是不带勾的7啊,带勾的7是0XD8
回复

使用道具 举报

10#
ID:97554 发表于 2018-9-5 09:48 | 只看该作者
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff
这是个数组是0-9,最后一个0XFF是全熄状态
0XF8     

H    G    F    E     D    C    B    A
1     1    1    1     1    0    0    0
8     4    2    1     8    4    2     1
      F                          8
对应的数码管只亮ABC三个笔画的嘛


回复

使用道具 举报

11#
ID:96682 发表于 2018-9-5 10:09 | 只看该作者
习惯就好,就像 6 和 9 一样多一横少一横都是还是那个数字
回复

使用道具 举报

12#
ID:393890 发表于 2018-9-5 10:17 | 只看该作者
不就是字库定义问题,很简单,看仔细就可以找到。
回复

使用道具 举报

13#
ID:393893 发表于 2018-9-5 10:24 | 只看该作者
修改一下代码
回复

使用道具 举报

14#
ID:384109 发表于 2018-9-5 10:45 | 只看该作者
uchar code  LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B}
把这里的0X47改成0X07就可以了
回复

使用道具 举报

15#
ID:386381 发表于 2018-9-5 17:33 来自手机 | 只看该作者
谢谢师傅们的耐心解答谢谢
回复

使用道具 举报

16#
ID:386381 发表于 2018-9-5 18:14 来自手机 | 只看该作者
问题已经解决了把0x47改成0x45好了,谢谢师傅们
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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