• 大小: 1019KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-28
  • 语言: 其他
  • 标签:

资源简介

51单片机时钟电路(LCD1602显示)完整源码与仿真,适用于51单片机初学者

资源截图

代码片段和文件信息

#include 
#include 
//#include “LCD1602.h“
//#include “DS1302.h“
#define uint unsigned int
#define uchar unsigned char
sbit  DS1302_CLK = P1^7;              //实时时钟时钟线引脚 
sbit  DS1302_IO  = P1^6;              //实时时钟数据线引脚 
sbit  DS1302_RST = P1^5;         /*     //实时时钟复位线引脚   
sbit  wireless_1 = P3^0;
sbit  wireless_2 = P3^1;    
sbit  wireless_3 = P3^2;
sbit  wireless_4 = P3^3;    */
sbit  ACC0 = ACC^0;
sbit  ACC7 = ACC^7;
char hide_sechide_minhide_hourhide_dayhide_weekhide_monthhide_year;  //秒分时到日月年位闪的计数
sbit Set = P3^0;       //模式切换键
sbit Up = P3^1;        //加法按钮
sbit Down = P3^2;      //减法按钮
sbit out = P3^3;       //立刻跳出调整模式按钮
sbit DQ = P1^0;        //温度传送数据IO口
char donecounttempflagup_flagdown_flag;    //
uchar temp_value;      //温度值
uchar TempBuffer[5]week_value[2];              //


void show_time();   //液晶显示程序
/***********1602液晶显示部分子程序****************/


//Port Definitions**********************************************************
sbit LcdRs = P2^5;
sbit LcdRw = P2^6;
sbit LcdEn   = P2^7;
sfr  DBPort  = 0x80; //P0=0x80P1=0x90P2=0xA0P3=0xB0.数据端口

//内部等待函数**************************************************************************
unsigned char LCD_Wait(void)
{
LcdRs=0;
LcdRw=1; _nop_();
LcdEn=1; _nop_();
 
LcdEn=0;
return DBPort;
}
//向LCD写入命令或数据************************************************************
#define LCD_COMMAND 0      // Command
#define LCD_DATA 1      // Data
#define LCD_CLEAR_SCREEN 0x01      // 清屏
#define LCD_HOMING   0x02      // 光标返回原点
void LCD_Write(bit style unsigned char input)
{
LcdEn=0;
LcdRs=style;
LcdRw=0; _nop_();
DBPort=input; _nop_();//注意顺序
LcdEn=1; _nop_();//注意顺序
LcdEn=0; _nop_();
LCD_Wait();
}

//设置显示模式************************************************************
#define LCD_SHOW 0x04    //显示开
#define LCD_HIDE 0x00    //显示关   

#define LCD_CURSOR 0x02  //显示光标
#define LCD_NO_CURSOR 0x00    //无光标      

#define LCD_FLASH 0x01    //光标闪动
#define LCD_NO_FLASH 0x00    //光标不闪动

void LCD_SetDisplay(unsigned char DisplayMode)
{
LCD_Write(LCD_COMMAND 0x08|DisplayMode);
}

//设置输入模式************************************************************
#define LCD_AC_UP 0x02
#define LCD_AC_DOWN 0x00      // default

#define LCD_MOVE 0x01      // 画面可平移
#define LCD_NO_MOVE 0x00      //default

void LCD_SetInput(unsigned char InputMode)
{
LCD_Write(LCD_COMMAND 0x04|InputMode);
}

//初始化LCD************************************************************
void LCD_Initial()
{
LcdEn=0;
LCD_Write(LCD_COMMAND0x38);           //8位数据端口2行显示5*7点阵
LCD_Write(LCD_COMMAND0x38);
LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);    //开启显示 无光标
LCD_Write(LCD_COMMANDLCD_CLEAR_SCREEN);   //清屏
LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);       //AC递增 画面不动
}

//液晶字符输入的位置************************
void GotoXY(unsigned char x unsigned char y)
{
if(y==0)
LCD_Write(LCD_

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1664  2011-05-02 21:15  DS1302时钟+DS18B20+LCD1602\DS1302.PWI

     文件     468145  2008-01-19 19:36  DS1302时钟+DS18B20+LCD1602\DS1820_CH.pdf

     文件      22080  2011-05-02 17:13  DS1302时钟+DS18B20+LCD1602\Keil\DS1302.c

     文件       5830  2007-07-21 21:23  DS1302时钟+DS18B20+LCD1602\Keil\DS1302.h

     文件       7533  2011-05-02 17:13  DS1302时钟+DS18B20+LCD1602\Keil\DS1302.hex

     文件         44  2011-05-02 17:13  DS1302时钟+DS18B20+LCD1602\Keil\DS1302.lnp

     文件      41186  2011-05-02 17:13  DS1302时钟+DS18B20+LCD1602\Keil\DS1302.M51

     文件        358  2011-05-02 21:16  DS1302时钟+DS18B20+LCD1602\Keil\DS1302.plg

     文件       3771  2005-09-18 23:23  DS1302时钟+DS18B20+LCD1602\Keil\LCD1602.h

    ..A.SH.        10  2006-12-17 08:33  DS1302时钟+DS18B20+LCD1602\Keil\_desktop.ini

     文件      45817  2011-05-02 17:13  DS1302时钟+DS18B20+LCD1602\Keil\DS1302.LST

     文件      38046  2011-05-02 17:13  DS1302时钟+DS18B20+LCD1602\Keil\DS1302.OBJ

     文件      31929  2011-05-02 17:13  DS1302时钟+DS18B20+LCD1602\Keil\DS1302

    .......      2093  2008-03-13 11:01  DS1302时钟+DS18B20+LCD1602\Keil\DS1302_Uv2.Bak

     文件       2064  2011-05-02 21:16  DS1302时钟+DS18B20+LCD1602\Keil\DS1302.Uv2

    .......      1490  2008-03-13 11:43  DS1302时钟+DS18B20+LCD1602\Keil\DS1302_Opt.Bak

     文件       1480  2011-05-02 21:16  DS1302时钟+DS18B20+LCD1602\Keil\DS1302.Opt

     文件     262017  2008-01-13 21:33  DS1302时钟+DS18B20+LCD1602\LCD1602液晶中文资料.pdf

     文件      19633  2007-09-12 14:28  DS1302时钟+DS18B20+LCD1602\LISA1.SDF

    ..A.SH.        10  2006-12-17 08:33  DS1302时钟+DS18B20+LCD1602\_desktop.ini

     文件     135093  2008-03-13 12:50  DS1302时钟+DS18B20+LCD1602\效果显示图.gif

     文件     210930  2008-01-19 19:14  DS1302时钟+DS18B20+LCD1602\时钟芯片DS1302_CH.pdf

     文件     155418  2011-05-02 20:19  DS1302时钟+DS18B20+LCD1602\Last Loaded DS1302.DBK

     文件     155418  2011-05-02 20:19  DS1302时钟+DS18B20+LCD1602\DS1302.DSN

     目录          0  2008-03-13 11:43  DS1302时钟+DS18B20+LCD1602\Keil

     目录          0  2008-03-13 12:50  DS1302时钟+DS18B20+LCD1602

----------- ---------  ---------- -----  ----

              1612059                    26


评论

共有 条评论

相关资源