北京科技大学eda课程设计报告

上传人:第*** 文档编号:31907002 上传时间:2018-02-09 格式:DOC 页数:12 大小:481.50KB
返回 下载 相关 举报
北京科技大学eda课程设计报告_第1页
第1页 / 共12页
北京科技大学eda课程设计报告_第2页
第2页 / 共12页
北京科技大学eda课程设计报告_第3页
第3页 / 共12页
北京科技大学eda课程设计报告_第4页
第4页 / 共12页
北京科技大学eda课程设计报告_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《北京科技大学eda课程设计报告》由会员分享,可在线阅读,更多相关《北京科技大学eda课程设计报告(12页珍藏版)》请在金锄头文库上搜索。

1、EDA 课程设计报告基于 8051 的可编程电量监测及显示系统仿真电路设计院 (系): 自动化 专 业: 自动化 学生姓名: 宋凯 学 号: 41351080 指导教师: 王玲 小组分工赵子秋:负责电路系统搭建。宋凯:负责程序设计及调试。陈经纬:负责课题选择、资料搜集以及协助调试电路及程序。2015 年 10 月 28 日目录一、 概述 .3二、 设计要求 .32.1 硬件要求 .32.2 软件要求 .32.3 其他要求 .4三、 总体框图 .4四、 功能模块 .54.1 模拟电源模块: .54.2A/D 采样模块 .64.38051 控制、1602 显示模块及蜂鸣器低电位报警模块 .6五、

2、总体设计电路图 .7六、 系统测试与结果分析 .10七、 设计心得体会 .12八、 参考文献 .12概述本设计主要想法来自与生活中常用到的电池的电量显示,采用multisim 中 MCU 库内的 8051 可编程控制芯片做主要控制芯片。外围模块包括 LCD1602 显示模块、蜂鸣器报警模块和电源电量模拟模块。通过外围电路的连接以及对 8051 写入相应程序,最终利用MULTISIM 实现了对一个电源电量监测及显示系统的仿真。设计要求硬件要求为了很好的实现在 Multisim 中对系统功能的实现,首先我们得了解 8051 可编程芯片的功能。由于 8051 自身不带 A/D、D/A 转换模块,我们

3、还得了解 A/D 模块的使用方法。由于本次设计的显示模块用到了 LCD1602,我们还得掌握 LCD1602 的配置使用方法及通信方式。最后搭建的电路要实现稳定输出、走线美观等要求。软件要求首先我们必须熟练掌握 Multisim 仿真软件的使用,其次因为本设计用到了可编程芯片 8051,所以我们还得掌握一个编程软件的应用(本次设计选用的是 Keil5) 。其他要求我们必须掌握一些简单的数字电路的应用及查阅相关的相关技巧。总体框图开始电容充电开关 S4 置于上方否是对电压进行 A/D 转换数字量输入到 8051电源电压8051 控制电源电压低于 10%是控制蜂鸣器报警结束LCD 显示功能模块1、

4、模拟电源模块:说明:为了模拟生活中电源电量,我们采用了如上图的电路结构。电路总电量是 5V,其中 Key=D 是切换开关,当开关置于下端时,通过调节电位器 R2 可以对 5V 进行分压送入 A/D 模块采样端,模拟电源剩余电量不同时的情景,便于调试后面的显示电路时观测。当开关置于上端时,电容 C1 作为电源,R1 作为生活中消耗电源电量的用电设备,S3 的开断则表示用电设备用电与否,U6A 的基极接到了 8051 芯片的 PB3 端,便于编程控制实现当检测到电源电量(即电容存放的电量)低于设定百分比时即刻给电容充满,同时接在 PB3 端的灯泡 X2 亮表示正在充电。完成充电后电容放电表示正在用

5、电,如此循环,最终达到模拟生活中电源用电的目的。2、 A/D 采样模块说明:本设计 A/D 采样模块采用了 Multisim 自带的 ADC 模块,Vin 端为模拟电源模块送来的模拟量(电源电压值) ,经过芯片内部转换成D0D7 端 8 位数字量送给 8051 可编程芯片进行程序处理。3、 8051 控制、1602 显示模块及蜂鸣器低电位报警模块说明:8051 可编程控制芯片的 P1 口接 A/D 模块送来的数字量,P0 口接LCD1602 的八个并行数据端。其中的蜂鸣器 BUZZER 则可在电量低于25%(程序控制)时产生“嘟嘟”的报警声,同时小灯泡 X1 也会亮起报警信号。总体设计电路图程

6、序源码:#include #include #include sbit RS=P35;sbit E=P34;sbit RW=P36;sbit BUZZER=P37; sbit CHARGE=P33;typedef unsigned char u8;typedef unsigned int u16;void delay(void)_nop_();void write1bytecmd(u8 byte)RS=0;RW=0;E=1;delay();P0=byte;delay(); E=0;RS=1;RW=1;void write1bytedata(u8 byte)RS=1;RW=0;E=1;delay

7、();P0=byte;delay();E=0;RS=1;RW=1;void InitHD44780(void)write1bytecmd(0x38);write1bytecmd(0x0c);write1bytecmd(0x06);write1bytecmd(0x01);void Display(void)write1bytecmd(0x80);write1bytedata(V); write1bytedata(o);write1bytedata(l);write1bytedata(t);write1bytedata(a);write1bytedata(g);write1bytedata(e);

8、write1bytedata(:);write1bytecmd(0xc0);write1bytedata(R); write1bytedata(e);write1bytedata(m);write1bytedata(a);write1bytedata(i);write1bytedata(n);write1bytedata(:); void main(void)u16 advalue;float voltage;int z,x;int temp;int b,s,g;int pb,ps,pg;int percent;BUZZER=0;InitHD44780();Display();while(1)

9、advalue=P1;voltage=(advalue)/256.0*5;percent=voltage*20;temp=(int)voltage;if(percent85)CHARGE=0;z=temp;x=(voltage-temp)*1000;write1bytecmd(0x88); write1bytedata(0x30+z);write1bytecmd(0x89);write1bytedata(.); b=x/100;s=(x-b*100)/10;g=x%10;pb=percent/100;ps=(percent-pb*100)/10;pg=percent%10;write1byte

10、cmd(0x8a); write1bytedata(0x30+b);write1bytecmd(0x8b);write1bytedata(0x30+s);write1bytecmd(0x8c);write1bytedata(0x30+g);write1bytecmd(0x8d);write1bytedata(V);write1bytecmd(0xc7);if(pb=0)write1bytedata( );if(pb=1)write1bytedata(0x31);write1bytecmd(0xc8);if(ps=0)write1bytedata( );elsewrite1bytedata(0x30+ps);write1bytecmd(0xc9);write1bytedata(0x30+pg);write1bytecmd(0xca);write1bytedata(%);系统测试与结果分析模拟电源充满电时:此时按下模拟负载放电开关 C:此时观察到 LCD 显示电压正在下降。当电量低于 25%时,X1 低电压报警灯亮,如图所示:当电量低于 10%时,X2 充电指示灯亮,模拟电源充电值满电压的 85%以上。如图所示:SPACE 开关为 LCD 背光, S3 开关为模拟负载放电,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 工业设计

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号