当前位置:文档之家› 基于单片机的数字电压表设计报告

基于单片机的数字电压表设计报告

单片机原理及系统课程设计
专业:电气工程及其自动化
班级:
姓名:
学号:
指导教师:
兰州交通大学自动化与电气工程学院
2010 年 3 月 7 日
基于单片机的数字电压表设计
摘要
显示电路
输入电路
图2.2系统组成框图
3.硬件设计
3.1系统硬件设计原理
通过变量设置选择八路通道中的第三路,将该路模拟电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D转换,转换结束ADC0808的EOC 端口产生高电平,同时将ADC0808的OE端口置为高电平,单片机将ADC0809转换后的数字量存到片内RAM。

系统调出数据处理子程序,将测量结果转化为0.00~5.00V,最后通过查表将每一位数据输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。

单片机的P0.0~P0.7作为4位动态数码显示管的段显示控制。

P2.1~P2.3作为4位动态显示管的位显示控制。

3.2硬件设计原理图
在Proteus仿真环境下所搭建的系统硬件电路图如图3.2所示。

图3.2系统原理图
图4.2 程序流程图
(a)主程序流程图(b)AD转换流程图
5.系统调试及仿真结果
6.总结
两周的课程设计结束了,在这过程中,我学到了很多东西。

首先,我学会了单片机设计的基本过程有哪些,每一过程有哪些基本的步骤,怎样通过查资料去完成这每一步。

其次我巩固了上学期所学的一些单片机知识,从而加深了对ADC0809芯片的功能的了解。

在编程过程中,遇到了许多困难,通过与同学之间的交流和咨询,最后解决了这些困难。

所谓实践出真知,学到的东西只有运用到实践当中,才能真正体会到知识的力量。

最后,通过这次课程设计,让我明白了想法和实践还是有差距的,当你真正去做一件事的时候,你会发现你的想法可能不适用,随时都需要调整,另外扎实的理论知识也是完成设计任何设计必不可少的要素,一切想法离开了理论知识都是空想。

参考文献
[1]彭为,黄科,雷道仲.单片机典型系统设计实例精讲[M].电子工业出版社.2009:22-54.
[2] 谭浩强.C程序设计(第三版)[M].清华大学出版社.2009:32-46.
[3] 王思明,张金敏,张鑫等.单片机原理及应用系统设计(第一版)[M].科学出版社.2012:70-292.
附录A源程序代码
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
sbit p21=P2^1;
sbit p22=P2^2;
sbit p23=P2^3;
sbit EOC=P3^1;
sbit OE=P3^0;
sbit ST=P3^2;
sbit p34=P3^4;
sbit p35=P3^5;
sbit p36=P3^6;
uchar code tab[]={0x40,0x79,0x24,0x30,0x19,0x12};
uchar code led[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; uchar code led_[]={0xC0,0xf9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; void delay(uchar n)
{
uchar i,j;
for(i=0;i<n;i++)
for(j=0;j<125;j++);
}
void convert(uchar volt_data)
{
unsigned int temp;
temp=100*volt_data/51;
P0=led[temp/100]; //个位上的数字显示
p21=1; //选通个位
delay(3); //延时
p21=0; //不选通个位
P0=led_[temp%100/10]; // 十分位的数字显示
p22=1; //选通十分位
delay(3); //延时
p22=0; //不选通十分位
P0=led_[temp%10]; //百分位的数字显示
p23=1; //选通百分位
delay(3); //延时
p23=0; //不选通百分位
}
void main()
{
uchar volt_data;
p34=1;
p35=1;
p36=0; //选通ADC0808的IN3通道
while(1)
{
ST=0;
_nop_();
ST=1;
_nop_();
ST=0; //开始转换
if(EOC==0) //如果EOC为0,则继续转换
delay(100);
while(EOC==0); //当EOC为1时,转换完毕
OE=1; //数据允许输出标志
volt_data=P1; //讲P1口的数据送volt_data
OE=0;
convert(volt_data);
}
}。

相关主题