用热敏电阻或温度传感器作温度探头,把温度数据转换成BCD码在LED上显示。 显示精度±0。5℃ 能记录和回放温度参数,记录间隔可任意设定(1S到1h,步长1s) 回放数据速度可设定 画出温度变化曲线。 发挥部分: 1 显示精度提高到±0。1℃ 2 显示精度提高到±0。01℃ 3 与实际温度计温度比较,找出温度显示误差曲线,在报告中描出,并分析误差来源4 实现温度自动补赏
2022-02-21 09:44:00 186KB C51单片机
1
单片机课件第13章基于C51单片机的超声波导航模块.ppt
2022-02-21 09:14:27 1.19MB 计算机 文档 互联网
基于MSC51单片机垃圾分类收集系统的设计.pdf
1
RTX51-Tiny,C51单片机RTOS
2022-02-05 22:03:40 935KB 单片机 嵌入式硬件 RTX51
1
C51单片机数字秒表 含程序和接线图
2022-02-04 22:03:23 1.2MB 单片机 嵌入式硬件
C51单片机简易门铃设计 含程序接线图
2022-02-04 22:03:22 24.34MB 单片机 嵌入式硬件
LCD12864显示屏C51单片机驱动源码KEIL工程文件,可做为你的学习设计参考。 void main() { LCD12864_Reset(); //初始化液晶 LCD12864_HAIZI_SET(); //设置为普通模式 Delay_ms(100); LCD12864_NoWaitIdle_COM_Write(0x80); //设置指针 LCD12864_write_word("别人笑我太疯癫,"); //显示内容 LCD12864_NoWaitIdle_COM_Write(0x90); //设置指针 LCD12864_write_word("我笑他人看不穿。"); //显示内容 LCD12864_NoWaitIdle_COM_Write(0x88); //设置指针 LCD12864_write_word("不见五陵豪杰墓,"); //显示内容 LCD12864_NoWaitIdle_COM_Write(0x98); //设置指针 LCD12864_write_word("无花无酒锄作田。"); //显示内容 while(1) { } } //**************************************************** //MS延时函数(12M晶振下测试) //**************************************************** void Delay_ms(unsigned int n) { unsigned int i,j; for(i=0;i
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.
所用步进电机导轨为两相六线的42电机(实际上为两相四线 两个com端未接) 驱动器选择了以3086A-MFP10S为芯片的模块 增加记忆回归功能 并且定义了导轨长度 使其运动时不超过限度 k1左滑 k2右划 k3回归中心点 k4重新校准中心点 文章地址: https://blog.csdn.net/weixin_53403301/article/details/122658780
2022-01-24 11:01:41 440KB 单片机 stm32 嵌入式硬件 arm
1
基于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