⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 show.c

📁 在飞思卡尔MC9S12DP256上编写的LCD驱动程序
💻 C
字号:
#include "show.h"






////////////////////////////////////////////////////////////////////////////////
// 名称: DisplayNum
// 版本: 1.0    COPYRIGHT (c) AETC 2009 , All Rights Reserved
// 功能: 显示4位数(本程序中只用到四位数,如有五位数得修改程序)
//       判断数据为几位数,前面0的数据用空格代替
// 调用: 
// 参数: uint16 num16---待显示的数据,word型(注意不要超过9999)
//
// 返回: void
// 说明: 
// 修改历史:
// 版本	作者		日期		描述 
// ----	---------	----------	---------------------------
// 1.0	黄    		2009.2.11	创建程序
//
////////////////////////////////////////////////////////////////////////////////
void DisplayNum(uint16 num16)      //数值显示
{ 
    if(num16>=1000)               //为四位数值
    {
        DisplayOneDigit(num16/1000);      //输出千位数
        DisplayOneDigit((num16%1000)/100);//输出百位数
        DisplayOneDigit((num16%100)/10);  //输出十位数
        DisplayOneDigit(num16%10);        //输出个位数
    }
    else if(num16>=100)           //为三位数值
    {
        SpaceShowS();               //千位数输出空格
        DisplayOneDigit((num16%1000)/100);//输出百位数
        DisplayOneDigit((num16%100)/10);  //输出十位数
        DisplayOneDigit(num16%10);        //输出个位数
    }
    else if(num16>=10)            //为二位数值
    {
        SpaceShowS();               //千位数输出空格
        SpaceShowS();               //百位数输出空格
        DisplayOneDigit((num16%100)/10);  //输出十位数
        DisplayOneDigit(num16%10);        //输出个位数
    }
    else                        //为一位数
    {
        SpaceShowS();               //千位数输出空格
        SpaceShowS();               //百位数输出空格
        SpaceShowS();               //十位数输出空格
        DisplayOneDigit(num16%10);        //输出个位数
    }
}





////////////////////////////////////////////////////////////////////////////////
// 名称: DisplayString
// 版本: 1.0    COPYRIGHT (c) AETC 2009 , All Rights Reserved
// 功能: 输出字符串
// 调用: 
// 参数: const int8 * String------待输出的字符串
//
// 返回: void
// 说明: 
// 修改历史:
// 版本	作者		日期		描述 
// ----	---------	----------	---------------------------
// 1.0	黄    		2009.2.11	创建程序
//
////////////////////////////////////////////////////////////////////////////////
void DisplayString(const int8 * String)
{
    while(*String)//判断字符串有无到达末尾,即有没有到'/0'
    {
        DisplayChar(*String++);//输出单个字符,并将指针加1
    }
}



////////////////////////////////////////////////////////////////////////////////
// 名称: DisplayChr
// 版本: 1.0    COPYRIGHT (c) AETC 2009 , All Rights Reserved
// 功能: 输出GB中文字型
// 调用: 
// 参数: const uint16 * Chr------待输出的汉字
//       uint8 length------------汉字的数目
//
// 返回: void
// 说明: 
// 修改历史:
// 版本	作者		日期		描述 
// ----	---------	----------	---------------------------
// 1.0	黄    		2009.2.11	创建程序
//
////////////////////////////////////////////////////////////////////////////////
void DisplayChr(const uint16 * Chr , uint8 length)
{
    uint8 ChrCntTmp;//待修改,这个临时变量可删除,用 while(length--)
    for(ChrCntTmp=0;ChrCntTmp<length;ChrCntTmp++)
    {
        wdataw(*(Chr+ChrCntTmp));    
    }
}

    

////////////////////////////////////////////////////////////////////////////////
// 名称: SpaceShowL
// 版本: 1.0    COPYRIGHT (c) AETC 2009 , All Rights Reserved
// 功能: 输出长空格(Long)
// 调用: 
// 参数: void
//
// 返回: void
// 说明: 
// 修改历史:
// 版本	作者		日期		描述 
// ----	---------	----------	---------------------------
// 1.0	黄    		2009.2.11	创建程序
//
////////////////////////////////////////////////////////////////////////////////
#pragma INLINE
void SpaceShowL(void)//输出长空格,即中文下的空格
{
    wdataw(0XB0A0);
}





////////////////////////////////////////////////////////////////////////////////
// 名称: SpaceShowS
// 版本: 1.0    COPYRIGHT (c) AETC 2009 , All Rights Reserved
// 功能: 输出短空格(Short)
// 调用: 
// 参数: void
//
// 返回: void
// 说明: 
// 修改历史:
// 版本	作者		日期		描述 
// ----	---------	----------	---------------------------
// 1.0	黄    		2009.2.11	创建程序
//
////////////////////////////////////////////////////////////////////////////////
#pragma INLINE
void SpaceShowS(void)//输出短空格,即英文下的空格
{
    wdatab(0X20);
}



////////////////////////////////////////////////////////////////////////////////
// 名称: clear
// 版本: 1.0    COPYRIGHT (c) AETC 2009 , All Rights Reserved
// 功能: 清除屏幕
// 调用: 
// 参数: void
//
// 返回: void
// 说明: 
// 修改历史:
// 版本	作者		日期		描述 
// ----	---------	----------	---------------------------
// 1.0	黄    		2009.2.11	创建程序
//
////////////////////////////////////////////////////////////////////////////////
#pragma INLINE
void clear(void)
{
    wcmd(0x01);
}



////////////////////////////////////////////////////////////////////////////////
// 名称: DisplayOneDigit
// 版本: 1.0    COPYRIGHT (c) AETC 2009 , All Rights Reserved
// 功能: 输出一位数,即输出0、1、2、3、4、5、6、7、8、9
// 调用: 
// 参数: uint8 OneDigit--------待输出的一位数
//
// 返回: void
// 说明: 
// 修改历史:
// 版本	作者		日期		描述 
// ----	---------	----------	---------------------------
// 1.0	黄    		2009.2.11	创建程序
//
////////////////////////////////////////////////////////////////////////////////
#pragma INLINE
void DisplayOneDigit(uint8 OneDigit)
{
    wdatab(OneDigit+0x30);
}





////////////////////////////////////////////////////////////////////////////////
// 名称: DisplayChar
// 版本: 1.0    COPYRIGHT (c) AETC 2009 , All Rights Reserved
// 功能: 输出一个字符
// 调用: 
// 参数: int8 ch--------待输出的一个字符
//
// 返回: void
// 说明: 
// 修改历史:
// 版本	作者		日期		描述 
// ----	---------	----------	---------------------------
// 1.0	黄    		2009.2.11	创建程序
//
////////////////////////////////////////////////////////////////////////////////
#pragma INLINE
void DisplayChar(int8 ch)
{
    wdatab(ch);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -