搜索
bottom↓
回复: 9

马老师:看看我的程序问题出在哪啊?

[复制链接]

出0入0汤圆

发表于 2005-4-22 21:52:21 | 显示全部楼层 |阅读模式
void BCD(int temp)

{

    unsigned char i;

    for(i=0;i<4;i++)

    {  

        var = (unsigned char)(temp%10)+0x30;

        temp = temp/10;

    }

}



在1602BLCD显示时,会出在其它非0-9的字符,请问问题出在哪啊?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2005-4-22 23:45:46 | 显示全部楼层
swordshe:

   你知不知道你很啰嗦??同一个问题问三遍。

   这些东西能帮就帮,最重要是自己学习自己尝试。



   请不要重复发帖。

出0入0汤圆

发表于 2005-4-24 15:12:39 | 显示全部楼层
void BCD(int temp)  

{  

    unsigned char i;  

    for(i=0;i<4;i++)  

    {   

        var = (unsigned char)(temp%10)+0x30;  

        temp = temp/10;  

    }  

}  

var = (unsigned char)(temp%10)+0x30; 似乎不对啊,var得到的总是个位数。

即如temp=1234,则var中分别是'4','3','2','1'的Ascii。还有阿,看不到var的定义,不知是不是全局变量数组。


-----此内容被bucker于2005-04-24,15:18:54编辑过

出0入0汤圆

 楼主| 发表于 2005-4-25 09:32:59 | 显示全部楼层
不好意思



var[]是unsigned char类型的



就像"bucker 沙漠"说的,var中的数应该是ASCII字符,但实际上在1602B LCD上显示就会出现非0-9的数字,像a,R等等,这该怎么解决?

出0入0汤圆

 楼主| 发表于 2005-4-25 09:34:22 | 显示全部楼层
是全局变量组

出0入0汤圆

发表于 2005-4-25 18:00:09 | 显示全部楼层
看你的函数名好像是需要BCD码,而你的程序却产生ASCII码,我不熟悉1602B LCD到底需要什么编码,你只能自己分析一下。如果需要的是BCD码,那就将程序改为var = (unsigned char)(temp%10);   就可以了。此外你的程序生成的数组内的数据是倒序的,即个位在前,最高位在后的格式,不知你是否需要这样的结果。

出0入0汤圆

 楼主| 发表于 2005-4-28 10:47:35 | 显示全部楼层
是个位在前,我要的也是ASCII码,我输出的是从高到低,再加上小数点,如54.32,但是在AVR Studio中设断点显示的是“0~9”之点的字符,但显示出的却有时是乱码,显示函数:



void LCD_write_uchar(unsigned char X,unsigned char Y,unsigned char tmp)

{

    LCD_set_xy( X, Y );

   

    LCD_write_char( 0, tmp);

}

出0入0汤圆

发表于 2005-4-28 19:36:31 | 显示全部楼层
那就不知是否存在器件的故障,还有,再检查LCD的数据线与单片机的数据是不是D0-D7一一对应等。

出0入0汤圆

 楼主| 发表于 2005-4-29 10:31:56 | 显示全部楼层
我是将本网站的6pin的例子稍微改了一下,是一一对应的

出0入0汤圆

发表于 2005-4-29 14:24:19 | 显示全部楼层
如果你使用的是应经通过调试的例子,采用固定输出几个字符的方法也得不到想要的结果,就需要检查硬件是否存在故障。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 11:52

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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