OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8568|回复: 8

求教~ASCII码

[复制链接]

7

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2012-11-16
在线时间
0 小时
发表于 2012-11-20 16:19:42 | 显示全部楼层 |阅读模式

            我想做一个ASCAII码对应8段数码管的映射(数码管显示不出来的可以不要),其中最高位用1来判断是否有小数点,

比如0xB0,转换成二进制是1011 0000,高位为1,则判定为有小数点。该二进制为0011 0000,十进制即是:48,对应的ASCII码为0,然后再加上小数点即是0.

思路大概就是这样,但是本人不知道怎么用程序实现。

本人刚开始接触程序,求高手指点。刚开始学,尽量详细点。

万分感谢!!!

如果觉得生活是一种刁难,一开始就输了。如果觉得刁难是一种雕刻,迟早都会赢的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2012-11-16
在线时间
0 小时
 楼主| 发表于 2012-11-20 16:23:56 | 显示全部楼层
哦,忘记了
这样数码管就要显示出“0.”
同理,其他的字符该怎么判定呢??
如果觉得生活是一种刁难,一开始就输了。如果觉得刁难是一种雕刻,迟早都会赢的
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2012-10-17
在线时间
2 小时
发表于 2012-11-20 17:52:59 | 显示全部楼层
/*宏定义,数码管a-h各段对应的比特,更换硬件只用改动以下8行*/#define a       0x01                            //  AAAA#define b       0x02                            // F    B#define c       0x04                            // F    B#define d       0x08                            //  GGGG#define e       0x10                            // E    C#define f       0x20                            // E    C#define g       0x40                            //  DDDD  HH#define h       0x80        //小数点

/*用宏定义自动生成段码表,很好的写法,值得学习*/
/*更换硬件无需重写段码表*/const char Tab[] = {
    a + b + c + d + e + f,                  // Displays "0"
    b + c,                                  // Displays "1"
    a + b + d + e + g,                      // Displays "2"
    a + b + c + d + g,                      // Displays "3"
    b + c + f + g,                          // Displays "4"
    a + c + d + f +g,                       // Displays "5"
    a + c + d + e + f + g,                  // Displays "6"
    a + b + c,                              // Displays "7"
    a + b + c + d + e + f + g,              // Displays "8"
    a + b + c + d + f + g,                  // Displays "9"
    a + b + c + e + f + g,                  // Displays "A"
    c + d + e + f + g,                      // Displays "B"  
    a + d + e + f,                          // Displays "C"
    b + c + d + e + g,                      // Displays "D"
    a + d + e + f + g,                      // Displays "E"
    a + e + f + g,                          // Displays "F"
    a + c + d + e + f,                      // Displays "G"
    b + c + e + f + g,                      // Displays "H"  
    e + f,                                  // Displays "I"
    b + c + d + e,                          // Displays "J"
    b + d + e + f + g,                      // Displays "K"
    d + e + f,                              // Displays "L"  
    a + c + e + g,                          // Displays "M" 
    a + b + c + e + f,                      // Displays "N"   
    c + e + g,                              // Displays "n"
    c + d + e + g,                          // Displays "o"
    a + b + c + d + e + f,                  // Displays "O"
    a + b + e + f + g,                      // Displays "P"
    a + b + c + f + g,                      // Displays "Q" 
    e + g,                                  // Displays "r"
    a + c + d + f +g,                       // Displays "S"
    d + e + f + g,                          // Displays "t"
    a + e + f ,                             // Displays "T" 
    b + c + d + e + f,                      // Displays "U"
    c + d + e,                              // Displays "v" 
    b + d + f + g,                          // Displays "W"
    b + c + d + f + g,                      // Displays "Y" 
    a + b + d + e + g,                      // Displays "Z"
    g,                                      // Displays "-"
    h,                                      // Displays "."  
    0                                       // Displays " "}; #undef a#undef b#undef c#undef d#undef e#undef f#undef g 

以上是宏定义部分,应该可以
有430的,你可以参考下:MSP430程序库<九>数码管显示[/mw_shl_code]
http://t.cn/zj6xuLl
回复 支持 反对

使用道具 举报

7

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2012-11-16
在线时间
0 小时
 楼主| 发表于 2012-11-21 10:26:02 | 显示全部楼层
回复【3楼】Engin:
---------------------------------
谢谢哈,这个我明白的
我现在想知道的是:假如串口现在给我发过来一组数据,我也接收到了,那么我怎么能把它给解出来,并在数码管上显示出来
上面都已经说了,我不明白的是小数点怎么判定或者是此程序怎么写,然后解出来的数据再显示出来。这个真心想不到该怎么办
如果觉得生活是一种刁难,一开始就输了。如果觉得刁难是一种雕刻,迟早都会赢的
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-21 12:06:20 | 显示全部楼层
回复【4楼】飘散的羽:
---------------------------------
怎么编码的,就怎么解码。
船到桥头自然直!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2012-10-17
在线时间
2 小时
发表于 2012-11-22 10:45:46 | 显示全部楼层
回复【4楼】飘散的羽:
---------------------------------
原子哥说的很有道理,解码肯定要知道编码方式,根据编码方式解码。接出一个数据之后,你肯定知道有没小数点的吧
然后一个显示的程序,两个参数分别是要显示的值和小数点的位置,我的程序只有一个小数点位置,就只判断是否有小数点了;再根据小数点的位置在对应的段码添加。程序如下:

/****************************************************************************
* 名    称:Display
* 功    能:两位显示
* 入口参数:c:要显示的两位 16进制
*           dot:是否有中间小数点 0,没小数点;1,有小数点
* 出口参数:无
* 说    明: 两位显示 十六进制
* 范    例: 
****************************************************************************/
void Display(char c,char dot)
{
    char ch=(c&0xf0)>>4;
    char cl=c&0x0f;
    char segh=seg_tab[ch];
    char segl=seg_tab[cl];
    
    if(dot)
    {
        segl|=1<<7; //段码添加
    }
    
    //这里是显示
}
这是我的处理方式
http://t.cn/zj6xuLl
回复 支持 反对

使用道具 举报

7

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2012-11-16
在线时间
0 小时
 楼主| 发表于 2012-11-23 08:35:59 | 显示全部楼层
谢谢哈,表示很有用~~~~
如果觉得生活是一种刁难,一开始就输了。如果觉得刁难是一种雕刻,迟早都会赢的
回复 支持 反对

使用道具 举报

7

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2012-11-16
在线时间
0 小时
 楼主| 发表于 2012-11-23 10:14:58 | 显示全部楼层
回复【6楼】Engin:
---------------------------------
你有QQ之类的吗?大概我是明白什么意思了,但是具体的程序还是写不好~~能帮我一下吗?
如果觉得生活是一种刁难,一开始就输了。如果觉得刁难是一种雕刻,迟早都会赢的
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2012-10-17
在线时间
2 小时
发表于 2012-11-23 14:33:27 | 显示全部楼层
回复【8楼】飘散的羽:
---------------------------------
最近有些忙,不大方便
知道方法,之后的事就很好办了,慢慢调,调出来之后,进步会很大的
http://t.cn/zj6xuLl
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-18 21:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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