单片机小实验: 万年历时钟,可通过红外遥控修改时钟;添加温度感应模块,温度预警模块,通过设置预警值,超过预警值时,led灯会闪烁(线自己连P1.7),红外遥控的按键值得自己测试.
2022-05-03 20:21:29 1.41MB c51 lcd1602 ds1302 i2c
1
为实现系统功能和增加可靠性、精度等需求,我们使用了AT89C51型号的开发板、矩阵键盘、LCD1602显示模块、蜂鸣器等器件,实现系统主要的输入密码开锁、连续输入密码错误警报、修改密码、输入密码错误删除等功能。
2022-03-21 15:20:38 1.23MB AT89C51 LCD1602 虚拟仿真 开发文档
1
LCD1602显示屏+DS18B20测温C51单片机驱动源码KEIL工程文件,可作为你的学习设计参考。 void main() { LCD1602_Init(); //初始化LCD1602 DS1302_Init(); //初始化DS1302 LCD1602_write_com(0x80); LCD1602_write_word("Welcome to use!"); Temp_Buffer = Get_temp(); //读取DS18B20的值 Delay_ms(1000); LCD1602_write_com(0x01); //清屏 while(1) { DS1302_GetTime(&DS1302Buffer); //获取当前RTCC值 if(Flag_Time_Refresh == 1 && Flag_KEY_Set == 0) //数据更新时才刷新LCD { Flag_Time_Refresh = 0; Display_RTCC(); //显示实时时钟 Display_Temp(); //获取并显示温度值 } Scan_Key(); //按键扫描 switch( KEY_NUM ) { case 1: //按键1执行程序 KEY_NUM = 0; //清空按键标志 Flag_KEY_Set = ~Flag_KEY_Set; //设置按键标志位翻转 if(Flag_KEY_Set) { LCD1602_write_com(0x0d); //LCD1602指针闪烁开 LCD1602_write_com(0x80+ 3); //指针设置到第一行第4列 KEY2_Count = 0; //按键S2计数清零 } else { LCD1602_write_com(0x0c); //LCD1602指针闪烁关 } break; case 2: //按键2执行程序 KEY_NUM = 0; //清空按键标志 if(Flag_KEY_Set) //在设置状态时运行 { KEY2_Count++; if(KEY2_Count == 7) KEY2_Count = 0; switch(KEY2_Count) { case 0: LCD1602_write_com(0x80+ 3); //指针指向年,闪烁 break; case 1: LCD1602_write_com(0x80+ 6); //指针指向月,闪烁 break; case 2: LCD1602_write_com(0x80+ 9); //指针指向日,闪烁 break; case 3: LCD1602_write_com(0x80+ 15); //指针指向星期,闪烁 break; case 4: LCD1602_write_com(0x80+ 0x40 + 1); //指针指向小时,闪烁 break; case 5: LCD1602_write_com(0x80+ 0x40 + 4); //指针指向分钟,闪烁 break; case 6: LCD1602_write_com(0x80+ 0x40 + 7); //指针指向秒钟,闪烁 break; default : break; } } break; case 3: //按键3执行程序 KEY_NUM = 0; //清空按键标志 if(Flag_KEY_Set) //在设置状态时运行 { switch(KEY2_Count) { case 0: DS1302Buffer.Year++; if(DS1302Buffer.
基于51单片机设计的DS1302时钟LCD1602显示按键可设置时钟的FEIL工程软件源码,可做为你的学习设计参考。 /******************************************************************************* * 实验名 : 万年历实验 * 使用的IO : * 实验效果 :1602显示时钟,按K3进入时钟设置,按K1选择设置的时分秒日月,按K2选择 *选择设置加1。 * 注意 : *******************************************************************************/ #include #include"lcd.h" #include"ds1302.h" sbit K1=P3^1; sbit K2=P3^0; sbit K3=P3^2; sbit K4=P3^3; //管脚接线 void Int0Configuration(); void LcdDisplay(); uns
基于C51单片机设计的LCD1602滚动显示的DEMO软件例程源码 #include typedef unsigned char uint8; typedef unsigned int uint16; sbit rs=P2^6; sbit rw=P2^5; sbit e=P2^7; uint8 a[16]="perchin designed"; uint8 b[27]="welcome to the world of mcu"; void delay(uint16 i) //1us { while(i--); } void wrc(uint8 c) { delay(1000); rs=0; rw=0; e=0; P0=c; e=1; delay(10); e=0; /* P0=c<<4; e=1; e=0;*/ //四位的LCD要加上 } void wrd(uint8 dat) { delay(1000); rs=1; rw=0; e=0; P0=dat; e=1; delay(10); e=0; /* P0
基于89C51的等精度频率计LCD1602显示,电路链接图跟源码都有,简单易懂!超值!
2022-01-03 14:21:14 125KB AT89C51 lcd1602 C
1
实战型C51单片机程序例程软件源码20例合集: 10、LED流水+定时器.zip 11、LCD1602滚动显示.zip 12、LCD1602显示红外值.zip 13、LCD1602显示矩阵按键键值.zip 14、LCD显示温度+串口接收温度.zip 15、按键控制蜂鸣器.zip 16、按键控制数码管.zip 17、定时器秒表(查询方式).zip 18、矩阵按键数码管移位显示.zip 19、秒表.zip 1、蜂鸣器音乐之八月桂花.zip 20、基础实验例程.zip 2、超声波测距(LCD1602显示).zip 3、孵化环境温湿度监控系统设计.zip 4、基于单片机的室内空气净化系统.zip 51单片机俄罗斯方块.rar 5、基于单片机的温度湿度采集系统.zip 6、基于单片机的智能计算器.zip 7、音乐播放器.zip 8、门铃设计.zip 9、DS1302时钟LCD1602显示(可以按键设置时钟).zip
基于stc51单片机的LCD1602显示时间_的电子万年历(显示当前温度)
2021-12-17 13:59:36 740KB 万年历
1
51单片机外接lcd1602的驱动程序,51单片机时钟电路采用12MHz晶振,P0端口外接上拉电阻与lcd1602数据口D0-D7相连,P2.7与lcd1602使能E端相连,P2.6与lcd1602读/写选择R/W端相连,P2.5与lcd1602数据/命令选择RS端相连。
2021-12-09 12:55:22 3KB 51单片机 C51 lcd1602
1
设计要求: 自动包装流水线,需要将单个成品工件(如:啤酒瓶、饮料罐或其他工件)成组包装。 (1)系统通电后,通过一个按键启动电机控制传送带运动,传送带带动工件行进,用一个红外对管检测工件的通过情况,当工件通过红外开关时,红外开关输出一脉冲信号,该信号作为工件计数信号。 (2)当计数达到一组(一个包装箱的包装个数)工件设定值时,控制器输出一个500毫秒的高电平信号作为成组包装信号,启动包装机包装。 (3)按键控制流水线的启动和停止,+、—键设置每组包装的工件数,清零键可可清除成组数和每组工件数。 (4)LCD1602上要求能显示每组工件的动态计数情况,能显示每天的成组数量;
2021-12-07 13:37:17 40KB C51 流水线包装 LCD1602
1