前言

c51单片机万年历模拟期末作品,用到了温度传感模块及12864液晶显示模块及矩阵键盘模块及复位电路,电源模块,晶振模块,可在12864屏上显示实时温度与时间,本人自己做的期末作品,仅供同学们研究学习。


一、效果展示


二、连线




二、部分代码示例

1.端口定义

代码如下(示例):

#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};
// 矩阵键盘
unsigned char j,k,jp,key;
bit flag = 0;
sbit row1=P2^5;                //行端口定义
sbit row2=P2^4;
sbit row3=P2^3;
sbit row4=P2^2;sbit col1=P1^7;                 //列端口定义
sbit col2=P1^6;
sbit col3=P2^0;
sbit col4=P2^1;
/*TS12864A-3 端口定义*/
#define LCD_data  P0             //数据口
sbit LCD_RS  =  P3^5;            //寄存器选择输入
sbit LCD_RW  =  P3^6;            //液晶读/写控制
sbit LCD_EN  =  P3^4;            //液晶使能控制
sbit LCD_PSB =  P3^7;            //串/并方式控制uint temp;
float f_temp;
sbit s1=P2^2;
sbit s2=P2^3;
sbit s3=P2^4;
sbit ds=P3^3;     //温度传感器信号线

2.温度显示函数

代码如下(示例):

void tempdisplay()                     //温度显示函数{uint mm;tempchange();mm=get_temp(); tab2[10]=mm%1000/100+'0';tab2[11]=mm%100/10+'0';tab2[12]='.';tab2[13]=mm%10+'0';wr_com(0x80); for(i=0;i<14;i++)
{wr_date(tab2[i]);
delay(10);
}
wr_com(0x88);       //显示作者1for(i=0;i<9;i++)
{wr_date(tab4[i]);
delay(10);
}
wr_com(0x98);   //显示作者2for(i=0;i<9;i++)
{wr_date(tab5[i]);
delay(10);
}
}

3.时间显示函数

代码如下(示例):

void display()         //时间显示函数
{change();
wr_com(0x90);            //数字显示位置
wr_date(y1+48);
delay(10);
wr_date(y2+48);
delay(10);
wr_date(y3+48);
delay(10);
wr_date(y4+48);
delay(10);
wr_com(0x93);
wr_date(mol+48);
delay(10);
wr_date(mor+48);
delay(10);
wr_com(0x95);
wr_date(dl+48);
delay(10);
wr_date(dr+48);
delay(10);
wr_com(0x89);
wr_date(hl+48);
delay(10);
wr_date(hr+48);
delay(10);
wr_com(0x8b);
wr_date(ml+48);
delay(10);
wr_date(mr+48);
delay(10);
wr_com(0x8d);
wr_date(sl+48);
delay(10);
wr_date(sr+48);
delay(10);}

4.主函数

代码如下(示例):

void main()
{lcd_init();    //lcd初始化
init();      //定时器初始化
fistdispay();              //汉字显示
while(1)
{keyScan();
if(flag){lcd_init();    //lcd初始化while(1){tempdisplay();          //温度显示}}
else{display();       //时间显示calendar_change();   //判断闰年非闰年  }}
}

总结

提示:
上述为部分代码,
想学习参考的同学可以关注公众号:老王搞电脑
后台回复:单片机
即可获得源程序及pcb制版图


c51单片机万年历模拟,12864LCD屏显示实时温度与时间相关推荐

  1. 基于51单片机万年历可调电子时钟闹钟温度(实物图+源码+仿真+原理图+论文)

     资料编号:038 硬件构成:51单片机+最小系统+LCD1602液晶显示模块+时钟模块+温度采集模块+蜂鸣器模块+按键模块 1.采用LCD1602液晶屏显示.DS1302时钟芯片和DS18B20温度 ...

  2. 思迈特软件Smartbi:数据大屏显示实时数据解决方案

    ​大数据时代 ,数据 是有价值 的"黄金 ",但是 数据 是不会 告诉你 ,那里 存在 价值 ,我们可以通过 大屏显示来直观 的了解 数据 中隐含 的价值 . 大屏显示是什么?顾名 ...

  3. css3获取当前时间并显示,实时获取当前时间并展示在页面上

    简介 实时获取当前时间并展示在页面上,是很多地方常用的:在页面中做此展示以便查看时间.本文使用js通过一个小的demo实现效果. 完整Code 实时展示当前时间 #time { width: 60%; ...

  4. 万年历单片机c语言,c51单片机万年历的c程序

    求一个单片机可以显示阳历的年.月.日.星期.小时.分.秒.阴历也能显示,标明是否为闰年.  用LCD液晶显示,可以调整时间..... 这有个数码管显示的程序 以前做的,.. 你可以在我这个程序上修改修 ...

  5. C51单片机使用3-数码管显示

    目录 一.硬件介绍 1.原理 2.多位数码管驱动 二.数码管显示控制 1.静态显示 (1)单个数码管 (2)多个数码管显示 (3)显示数字使用编码方式 2.动态显示 (1)原理 (2)代码实现 (3) ...

  6. 12864c语言接温度计,单片机万年历+温度计+12864LCD液晶显示 仿真+程序

    #include #include #include #include unsigned char j[8]; sbit KEY1=P3^2; sbit KEY2=P3^3; sbit KEY3=P3 ...

  7. C51单片机实验——24小时时钟显示(proteus+asm)

    前言 外部中断0控制计数器的启动/停止 外部中断1控制计数器的清零复位 P1.0控制LED的段选口使能信号 P1.1控制LED的位选口使能信号 Proteus电路图 asm代码 ORG 0000H L ...

  8. 基于C51单片机的万年历设计(LCD1602显示)

    C51单片机万年历设计 注:该程序基于普中科技C51 V2.2开发板设计,库函数和硬件资料均来自普中科技,侵删.main.c大部分为原创,如有雷同,纯属巧合. 名称:C51万年历. 硬件:以C51芯片 ...

  9. c语言文件分屏显示,通用子目录文件显示方法

    通用子目录文件显示方法 在用CHKDS/V对磁盘子目录及子目录文件进行查找时,由于输出显示信息没有分屏显示,很容易错过需要的信息,并且显示信息没有标记出隐藏的子目录名及子目录文件名,这样就对进一步的子 ...

最新文章

  1. Ubuntu 14.04 64bit上磁力链爬虫dht部署指南
  2. 每个人都应该懂点函数式编程
  3. 如何定义中文转语音的语气
  4. sublime3(anaconda) 无法自动补全第三方模块
  5. nginx配置 yii2 URL重写规则 SSI配置使shtml
  6. 列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]
  7. 是、大于等于_血压高,是不是等于患上高血压?吃药之前,先搞清楚
  8. android顶部标题app_name,如何写一个app通用的title
  9. Webpack 中 css import 使用 alias 相对路径
  10. 技术干货 | Serverless技术架构——极简运维 无限扩容
  11. iOS APP中第三方APP调用自己的APP,打开文件
  12. OpenCV_(Based on Sobel Filter to Detect edges) 基于Sobel算子的方向滤波器检查边缘
  13. 遇见C++ Lambda
  14. 我的学习日志11.6
  15. 当贝显示服务器生病,【当贝市场】电视盒子卡顿的三大原因
  16. 八大顶层设计,决定企业融资难度
  17. BAT-批处理去除文件夹及子文件夹名子中的空格-并整理文件夹和子文件夹目录
  18. 最大公约数和最小公倍数
  19. 前端优化之webpack
  20. matlab变量及操作

热门文章

  1. 高通安卓关闭WiFi服务不卸载驱动
  2. 华为wifi信号如何连接到服务器,如何解决华为路由器搜到信号却无法连接
  3. html页面实现打印
  4. win10系统适配器选项网络连接文件夹为空解决办法
  5. 在线网校教育平台的开发,题库的搭建必不可少
  6. JAVA中两个char类型相加_5.16--java数据类型转换及杂记
  7. 快乐共享(By Robinvane Suen)
  8. Maltab GUI课程设计——LSTM长短期记忆网络回归预测
  9. 图像颜色空间转换--RGB to Lαβ
  10. linux 全选 编辑文本_强烈推荐:Linux终端文本编辑器Micro