01 数字电压表设计 - 副本

上传人:第*** 文档编号:34205323 上传时间:2018-02-21 格式:DOC 页数:23 大小:869.28KB
返回 下载 相关 举报
01 数字电压表设计 - 副本_第1页
第1页 / 共23页
01 数字电压表设计 - 副本_第2页
第2页 / 共23页
01 数字电压表设计 - 副本_第3页
第3页 / 共23页
01 数字电压表设计 - 副本_第4页
第4页 / 共23页
01 数字电压表设计 - 副本_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《01 数字电压表设计 - 副本》由会员分享,可在线阅读,更多相关《01 数字电压表设计 - 副本(23页珍藏版)》请在金锄头文库上搜索。

1、 第 1 页 共 23 页西安建筑科技大学课程设计(论文)任务书专业班级: 电子信息工程 1201 班 学生姓名: 杨超 指导教师(签名): 1、课程设计(论文)题目数字电压表设计2、本次课程设计(论文)应达到的目的课程设计的基本教学目的是培养学生综合运用所学的基础理论、专业知识和基本技能,提高分析与解决实际问题的能力以及科技写作或设计能力。要求学生在做课程设计的过程中要有意识地培养自己的实际能力。通过本次课程设计的实践,了解单片机工作的原理及应用技术,掌握根据硬件电路设计软件的方法,了解设计过程中的各个基本环节,也为今后的实际应用奠定基础。3、本次课程设计(论文)任务的主要内容和要求(包括原

2、始数据、技术参数、设计要求等) 设计任务:以单片机为核心,设计一个数字电压表。完成原理图设计,软件编制及设计报告。具体要求如下:1)对 1 路模拟信号连续采集 16 次,取平均值。2)分别设定每一路的上限值,如采集的平均值超过上限值,则对应通道的指示灯闪烁 10 次后一直亮,并发出声音以示警告。设计步骤:1)按照任务书的要求完成系统需求分析及功能定义。2)完成原理图设计。 第 2 页 共 23 页3)完成软件设计。4)完成代码编写。5)进行系统仿真调试。6)撰写设计报告。4、应收集的资料及主要参考文献1)单片机原理及应用 西安电子科技大学出版社 李建忠2)基于Proteus的单片机应用技术 电

3、子工业出版社 江世明 第 3 页 共 23 页5、审核批准意见教研室主任(签字) 第 4 页 共 23 页摘要在电子器件设计中,以单片机作为控制核心的系统得到了广泛的应用,尤其以 MCS-51 最为普遍。而数字电压表的基本原理是对直流电压进行模数转换,并将其结果用数字直接显示出来。为以单片机为控制核心实现数字电压表的设计,结合了模数转换技术,段码显示以及液晶显示,并结合 ADC0809芯片及 74HC573,进而实现了对 5V 以内的直流电压的准确测量,并在数码管以及液晶显示屏上同时显示。并进一步扩展,实现了最多可以对八路电压同时进行测量。而且对于超出测量范围的电压能够以 LED 灯的闪烁实现

4、报警。关键词:MSC-51,ADC0809,数字电压表,数模转换 LCD 第 5 页 共 23 页目录1、总体方案与设计思路-62、原设计 Proteus 原理图 -63、电路原理图-74、PCB版图-75、软件设计-86、课程设计总结心得体会-227.收集的资料及主要参考文献-23 第 6 页 共 23 页1、总体方案与设计思路:系统主要功能:1、ADC 转换;2、数据处理,包括乘除法;3、格式转换,二进制转十进制;4、LCD 显示。电路设计思路:本次课程设计使用的单片机为 STC12C5A60S2 增强型单片机,带有 ADC转换器,为 8 路电压输入型。输入口为 P1 口。P1 口既可以设

5、为 I/O 口,又可以设为 A/D 转换口。本次设计使用 P1.0 做为 AD 转换输入口,输入电压经一个 10K 限流电阻连接 P1.0 口,输入电压为系统电压,经一滑动变阻器接接到P1.0 口。LCD 的数据/命令输入端口接下单片机的 P0 口,P0 口接上一个 1K 的排阻作为上拉电阻。LCD 的 RS(数据/命令选择端 4 引脚) 、RW (读写选择端5 引脚) 、E(使能信号端 6 引脚)分别接于 P2 的 P2.0、P2.1 、P2.2。四个轻触开关分别接在 P2 的 4、 5、6、7 口。2、原设计 Proteus 原理图 第 7 页 共 23 页在以上电路中必须加入 3.5mm

6、 电源插座和电源开关。3、电路原理图; 10K245689RP.VDSEWuFCpHeadrT/XINAL!UYZJ4、PCB 版图; 第 8 页 共 23 页5、软件设计:1)系统框图:输入电压ADC 转换 数据处理并送 LCD 显示ADC 转换:本次使用的单片机是带 ADC 转换的逐次比较型的 ADC,ADC换口在 P1 口( P1.7-P1.0) ,有 8 路 10 位高速转换器。本次设计使用 P1.0 口作模拟电压输入,ADC 将模拟电压转化为相应的数字量。数据处理并 LCD 显示:ADC 转换得到的二制数只是二进制数,还需要进一步处理得到十进数,并且进行精度处理,也就是课题要求的四位

7、有效数据。对数据的处理按下工式 51023DV式中 D 为 ADC 的转换的二进数,V 为显示的数据。V 设为浮点型数,乘以1000 后强制转换为整型。则得到四位有效数据。再依次除于 1000 取商则得个位,取余除于 100 取商则得十分位,再取余除 10 则得百分位,取余则得千分位。将各位加 0x30 转化为 ASCII 码后送 LCD 显示。 第 9 页 共 23 页2)软件流程图子程序流程图主程序的流程图 Write_com()LCD 写命令函数write_data()LCD 写数据函数 Initlcd()LCD 初始化函数 第 10 页 共 23 页 第 11 页 共 23 页Init

8、adc()ADC 初始化函数 get_data()ADC 启动函数开始Resl=ADC_RESresl=(resl0x=zx0结束y-x-YNYN 第 14 页 共 23 页源程序#include#define uchar unsigned char#define uint unsigned intsbit lcdrs=P20; /LCD 数据/命令选择端sbit lcdrw=P21; / LCD 读写控制端sbit lcden=P22;/LCD 使能信号端uchar code table1=channel 0 (0-5V);/LCD 第一行显示uchar code table2=voltag

9、e:0;/LCD 第二行显示void delay(uint z);/函数声明void write_com(uchar com);void write_data(uchar date);void initlcd();void initadc();void get_data();void change_data();void main()/主函数EA=0;initlcd();initadc();while(1)get_data();P3=ADC_RES;change_data();void delay(uint z)/延时函数uint x,y;for(x=z;x0;x-)for(y=110;y0;

10、y-);void write_com(uchar com)/ LCD 写命令函数 第 15 页 共 23 页lcdrs=0;P0=com;delay(10);lcden=1;delay(10);lcden=0;void write_data(uchar date)/LCD 写数据函数lcdrs=1;P0=date;delay(10);lcden=1;delay(10);lcden=0;void initlcd()/LCD 初始化函数uchar num;lcden=0;lcdrw=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_co

11、m(0x01);write_com(0x80);for(num=0;num#define uchar unsigned char#define uint unsigned intuchar code table=lizhongmin;uchar code table1=13824825171;sbit lcdrs=P20; /LCD 数据/命令选择端sbit lcdrw=P21;/读写控制端sbit lcden=P22;/使能控制端uchar num;void delay(uint z) /延时函数uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void wri

12、te_com(uchar com)/LCD 写命令函数lcdrs=0;P0=com;delay(10);lcden=1;delay(10);lcden=0;void write_data(uchar date) /LC 写数据函数lcdrs=1;P0=date;delay(10);lcden=1;delay(10);lcden=0; 第 19 页 共 23 页void init() /LCD 初始化lcden=0;lcdrw=0;write_com(0x38);write_com(0x0e);write_com(0x06);write_com(0x01);write_com(0x80);voi

13、d main() /主函数init();for(num=0;num#define uchar unsigned char#define uint unsigned intsbit lcdrs=P20;sbit lcdrw=P21;sbit lcden=P22;void delay(uchar z) /延时函数 第 20 页 共 23 页uchar x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com) /LCD 写命令函数lcdrs=0;P0=com;delay(10);lcden=1;delay(10);lcden=0;void write_data(uchar date) /LCD 写数据函数lcdrs=1;P0=date;delay(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

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