• 大小: 528KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: 其他
  • 标签: 计算器  

资源简介

通过proteus制作自己的计算器,实现简单的加减乘除,非常实用哦

资源截图

代码片段和文件信息

/********************************************
文件名:12864.c
编写者:xdq
描述:12864模块程序。用于14xx系列。
MCLK:12m   SCLK:4kHz   ACLK: 
版本:2012-6
********************************************/
#include 
#include “stdio.h“
#include “12864.h“
#include  “delay.h“

#define uchar unsigned char
#define uint unsigned int

//12864端口设置
#define LCD_DataIn    P5DIR=0x00    //数据口方向设置为输入
#define LCD_DataOut   P5DIR=0xff    //数据口方向设置为输出
#define LCD2MCU_Data  P5IN         // 数据端口
#define MCU2LCD_Data  P5OUT
#define LCD_CMDOut    P4DIR|= BIT4 + BIT5 + BIT6 + BIT7;     //P5口的控制口设为输出

#define LCD_RS_H      P4OUT|=BIT4      //P4.4
#define LCD_RS_L      P4OUT&=~BIT4     //P4.4
#define LCD_RW_H      P4OUT|=BIT5      //P4.5
#define LCD_RW_L      P4OUT&=~BIT5     //P4.5
#define LCD_EN_H      P4OUT|=BIT6      //P4.6
#define LCD_EN_L      P4OUT&=~BIT6     //P4.6

#define RST_CLR       P4OUT &= ~BIT7    //RST置低
#define RST_SET       P4OUT |= BIT7     //RST置高,直接接高电平,不让其复位

/*******************************************
函数名称:Write_Cmd
功    能:向液晶中写控制命令
参    数:cmd--控制命令
返回值  :无
********************************************/
void Write_Cmd(uchar cmd)
{
    uchar lcdtemp = 0;

    LCD_RS_L;
    LCD_RW_H;
    LCD_DataIn;  
    do                       //判忙
    {    
        LCD_EN_H;
        _NOP();
        lcdtemp = LCD2MCU_Data; 
        LCD_EN_L;
        
    }
    while(lcdtemp & 0x80); 
    
    
    LCD_DataOut;    
    LCD_RW_L;  
    MCU2LCD_Data = cmd; 
    LCD_EN_H;
    _NOP();   
    LCD_EN_L;
}
/*******************************************
函数名称:Write_Data
功    能:向液晶中写显示数据
参    数:dat--显示数据
返回值  :无
********************************************/
void  Write_Data(uchar dat)
{
    uchar lcdtemp = 0;   
        
    LCD_RS_L;
    LCD_RW_H;  
    LCD_DataIn;   
    do                       //判忙
    {    
        LCD_EN_H;
        _NOP();
        lcdtemp = LCD2MCU_Data; 
        LCD_EN_L;      
    }
    while(lcdtemp & 0x80);  
    
    LCD_DataOut; 
    LCD_RS_H;
    LCD_RW_L;  
        
    MCU2LCD_Data = dat;
    LCD_EN_H;
    _NOP();
    LCD_EN_L;
}  
/*******************************************
函数名称:Ini_Lcd
功    能:初始化液晶模块
参    数:无
返回值  :无
********************************************/
void Init_Lcd(void)
{                  
    LCD_CMDOut;    //液晶控制端口设置为输出

    //Delay_Nms(100);
    Write_Cmd(0x30);   //基本指令集
    Delay_1ms();
    Write_Cmd(0x02);   // 地址归位
    Delay_1ms();
Write_Cmd(0x0c);   //整体显示打开游标关闭
    Delay_1ms();
Write_Cmd(0x01);   //清除显示
    Delay_1ms();
Write_Cmd(0x06);   //游标右移
    Delay_1ms();
Write_Cmd(0x80);   //设定显示的起始地址
}

/*******************************************
函数名称:Disp_HZ
功    能:控制液晶显示汉字
参    数:addr--显示位置的首地址
          pt--指向显示数据的指针
          num--显示字符个数
返回值  :无
********************************************/
void Disp_HZ(uchar addrconst char * ptuchar num)
{
    uchar i;

    Write_Cmd(addr); 
    for

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-06-17 21:21  计算器仿真\
     文件      140277  2014-12-01 12:04  计算器仿真\Last Loaded calculate.DBK
     文件      140277  2014-12-06 20:24  计算器仿真\calculate.DSN
     文件        1016  2014-12-07 19:20  计算器仿真\calculate.PWI
     目录           0  2015-06-17 21:21  计算器程序\
     文件       13771  2014-11-29 18:29  计算器程序\12864.c
     文件        1993  2014-11-29 18:29  计算器程序\12864.h
     文件        1186  2014-11-30 18:57  计算器程序\Config.c
     文件         467  2014-11-29 18:18  计算器程序\Config.h
     目录           0  2015-06-17 21:21  计算器程序\Debug\
     目录           0  2015-06-17 21:21  计算器程序\Debug\Exe\
     文件       10058  2014-11-30 19:31  计算器程序\Debug\Exe\counter.hex
     文件       29966  2014-11-29 18:18  计算器程序\Debug\Exe\xiaoche.d43
     目录           0  2015-06-17 21:22  计算器程序\Debug\List\
     目录           0  2015-06-17 21:21  计算器程序\Debug\Obj\
     文件      998947  2014-11-29 18:29  计算器程序\Debug\Obj\12864.pbi
     文件        9691  2014-11-29 18:29  计算器程序\Debug\Obj\12864.pbi.cout
     文件       64346  2014-11-29 18:29  计算器程序\Debug\Obj\12864.r43
     文件        9693  2014-11-28 16:56  计算器程序\Debug\Obj\ADXL345.pbi.cout
     文件       59755  2014-08-08 12:28  计算器程序\Debug\Obj\ADXL345.r43
     文件      250276  2014-11-30 18:57  计算器程序\Debug\Obj\Config.pbi
     文件        9686  2014-11-30 18:57  计算器程序\Debug\Obj\Config.pbi.cout
     文件        6386  2014-11-30 18:57  计算器程序\Debug\Obj\Config.r43
     文件        9698  2014-11-28 16:57  计算器程序\Debug\Obj\DataScope_DP.pbi.cout
     文件       15720  2014-08-08 12:28  计算器程序\Debug\Obj\DataScope_DP.r43
     文件           0  2014-11-30 19:31  计算器程序\Debug\Obj\Digitron.pbi
     文件        9692  2014-11-30 19:31  计算器程序\Debug\Obj\Digitron.pbi.cout
     文件       35573  2014-11-30 19:31  计算器程序\Debug\Obj\Digitron.r43
     文件        9695  2014-11-28 16:57  计算器程序\Debug\Obj\Fuzzy_Alg.pbi.cout
     文件       45202  2014-08-08 12:28  计算器程序\Debug\Obj\Fuzzy_Alg.r43
     文件        9696  2014-11-28 16:57  计算器程序\Debug\Obj\Kal_Filter.pbi.cout
............此处省略44个文件信息

评论

共有 条评论