在线等C语言指针问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 05:47:32
送4个变量de dd dc db和一个符号sign给LCD1602显示怎样通过指针完成,※显示的是变量内部的值不是变量的名字※比如:de=5,dd=4,dc=3,db=2,符号为负数,显示内容为 -54.32 求达人给点指引或者简单程序,还有符号和小数点能否用变量一起送显示。

下面的代码没有调试过,就是简单写一下。
另外,
1. 由于不知道你的de dd dc db的来源,所以就简单的初始化成了de=5,dd=4,dc=3,db=2
2. 由于不知道符号sign是什么类型,已经标志正负的定义方式,所以以如下伪代码代替:if( 符号sign是否为正 )

程序正文:
#include <io8515v.h>
#include <macros.h>

#define uchar unsigned char
#define uint unsigned int
#define LcdBus PORTA

const char rs=0; //LCD端口定义
const char rw=1;
const char en=2;

void LcdIni(void);
void WrOp(uchar dat);
void WrDat(uchar dat);
void ChkBusy(void);
uchar DataChk( uint data );

void LcdIni()
{
DDRA=0XFF; //设置PA输出
PORTA=0XFF; //全部加上上拉电阻
DDRC=0XFF; //设置PC为输出
PORTC=0XFF; //全部加上上拉电阻
WrOp(0x38);
WrOp(0x06); //光标加1
WrOp(0x0c); //开显示
}

void WrOp(uchar dat)
{
uchar i;
ChkBusy();
PORTC &=~BIT(rs); //RS=0
PORTC &=~BIT(rw); //RW=0
PORTC &=~BIT(en); //EN=0
PORTA =dat; //送数据
PORTC |=BIT