做网站卖流量,无锡君通科技服务有限公司,怎么做一个微信公众号,网站项目设计与制作一、系统方案 1、本设计采用这51单片机作为主控器。 2、采集电量值送到液晶1602显示。 3、按键设置预设值#xff0c;实际使用电量超过设置#xff0c;蜂鸣器报警。
二、硬件设计 原理图如下#xff1a;
三、单片机软件设计 1、首先是系统初始化 void LCD_init(void) { …一、系统方案 1、本设计采用这51单片机作为主控器。 2、采集电量值送到液晶1602显示。 3、按键设置预设值实际使用电量超过设置蜂鸣器报警。
二、硬件设计 原理图如下
三、单片机软件设计 1、首先是系统初始化 void LCD_init(void) { delay_n10us(10); LCD_write_command(0x38);//设置8位格式2行5x7 delay_n10us(10); LCD_write_command(0x0c);//开显示关光标不闪烁 delay_n10us(10); LCD_write_command(0x06);//设定输入方式增量不移位 delay_n10us(10); LCD_write_command(0x01);//清除屏幕显示 delay_n10us(100); //延时清屏延时函数延时约n个10us }
2、液晶显示程序 void LCD_write_command(uchar dat) { delay_n10us(10); LCD_RS0; //指令 LCD_RW0; //写入 LCD_E1; //允许 LCD_DBdat; delay_n10us(10); //实践证明我的LCD1602上用for循环1次就能完成普通写指令。 LCD_E0; delay_n10us(10); //实践证明我的LCD1602上用for循环1次就能完成普通写指令。 }
void LCD_write_data(uchar dat) { delay_n10us(10); LCD_RS1; //数据 LCD_RW0; //写入 LCD_E1; //允许 LCD_DBdat; delay_n10us(10); LCD_E0; delay_n10us(10); }
void LCD_disp_char(uchar x,uchar y,uchar dat) { uchar address; if(y1) address0x80x; else address0xc0x; LCD_write_command(address); LCD_write_data(dat); }
void LCD_disp_str(uchar x,uchar y,uchar *str) { uchar address; if(y1) address0x80x; else address0xc0x; LCD_write_command(address); while(*str!‘\0’) { LCD_write_data(*str); str; } }
3、按键程序 void keyscan() {
if(K10)//设定设定使用量
{if(flag_KEY1) //按键只响应1次{flag_KEY0;if(Set9900) SetSet10;}
}if(K20)//设定设定使用量-
{if(flag_KEY1) //按键只响应1次{flag_KEY0;if(Set10) SetSet-10;}
}//全部按键松开
if(K1K2){ flag_KEY1; }
}
4、核心算法程序 /------------------------------------- 主函数 ---------------------------------------/ void main(void) { TIM0init();//定时器配置 EX01;//打开外部中断0 IT01;//下降沿触发
LCD_init();//LCD初始化
LCD_disp_str(0,1, Check:000.0Kwh ); //显示
LCD_disp_str(0,2,000.0 000.0yuan); //显示 设定使用量
while(1)
{keyscan(); //按键扫描Check();//测速程序DisPlay();//LCD显示
}} 四、 proteus仿真设计 Proteus软件是一款应用比较广泛的工具它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况这样就可以通过软件仿真来验证我们设计的方案有没有问题如果有问题可以重新选择器件连接器件直到达到我们设定的目的避免我们搭建实物的时候如果当初选择的方案有问题我们器件都已经焊接好了再去卸载下去再去焊接新的方案的器件测试这样会浪费人力和物力也给开发者带来一定困惑Proteus仿真软件就很好的解决这个问题我们在设计之初就使用该软件进行模拟仿真测试选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸焊接实物调试最终完成本设计的作品。