900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 73-基于51单片机智能微波炉Proteus仿真(程序+仿真+原理图+PCB)

73-基于51单片机智能微波炉Proteus仿真(程序+仿真+原理图+PCB)

时间:2022-07-26 13:25:50

相关推荐

73-基于51单片机智能微波炉Proteus仿真(程序+仿真+原理图+PCB)

资料编号:073

功能介绍:采用51单片机作为主控CPU,采用按键设置相关功能,LCD1602显示数据,可以完成一下几个功能点:

1.火力分为5挡(高中高中低 解冻 采用按键切换挡位)

2.使用按键控制微波炉的开关

3.微波炉工作计时时间10s1min5min10min(采用按键设置时间)

4.蜂鸣报警器led灯(倒计时为0后蜂鸣器报警,led灯闪烁)

5.显示屏(火力,时间,温度)

采用keil5编写程序,使用的C语言,用的Proteus仿真,原理图和PCB用的AD画图,全套资料齐全:

下面是仿真演示视频和相关仿真图片

下面是程序部分展示(程序有中文注释,新手容易看懂)

程序部分展示:sbit LCD_RS=P2^0;sbit LCD_RW=P2^1;sbit LCD_EN=P2^2;#define LCD_DataPort P0//函数定义:/*** @brief LCD1602延时函数,12MHz调用可延时1ms* @param 无* @retval 无*/void LCD_Delay(){unsigned char i, j;i = 2;j = 239;do{while (--j);} while (--i);}/*** @brief LCD1602写命令* @param Command 要写入的命令* @retval 无*/void LCD_WriteCommand(unsigned char Command){LCD_RS=0;LCD_RW=0;LCD_DataPort=Command;LCD_EN=1;LCD_Delay();LCD_EN=0;LCD_Delay();}/*** @brief LCD1602写数据* @param Data 要写入的数据* @retval 无*/void LCD_WriteData(unsigned char Data){LCD_RS=1;LCD_RW=0;LCD_DataPort=Data;LCD_EN=1;LCD_Delay();LCD_EN=0;LCD_Delay();}/*** @brief LCD1602设置光标位置* @param Line 行位置,范围:1~2* @param Column 列位置,范围:1~16* @retval 无*/void LCD_SetCursor(unsigned char Line,unsigned char Column){if(Line==1){LCD_WriteCommand(0x80|(Column-1));}else if(Line==2){LCD_WriteCommand(0x80|(Column-1+0x40));}}/*** @brief LCD1602初始化函数* @param 无* @retval 无*/void LCD_Init(){LCD_WriteCommand(0x38);//八位数据接口,两行显示,5*7点阵LCD_WriteCommand(0x0c);//显示开,光标关,闪烁关LCD_WriteCommand(0x06);//数据读写操作后,光标自动加一,画面不动LCD_WriteCommand(0x01);//光标复位,清屏}/*** @brief 在LCD1602指定位置上显示一个字符* @param Line 行位置,范围:1~2* @param Column 列位置,范围:1~16* @param Char 要显示的字符* @retval 无*/void LCD_ShowChar(unsigned char Line,unsigned char Column,char Char){LCD_SetCursor(Line,Column);LCD_WriteData(Char);}

程序打开方法:采用keil5打开,公众号有软件安装包

原理图和PCB采用【AD】altiumdesigner打开,公众号有安装包

下面是资料包里面包含的相关文件展示

资料源链接:设计资料合集

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。