要求:利用51单片机+8位数码管+ad0809设计数字直流电压表系统,精度为0.01v。完成以下设计环节:
1)使用altium desinger或protel99se开发工具,设计电路原理图与pcb制板图。
2)使用uvision2开发平台,采用c语言或汇编语言设计软件程序。
3)使用proteus**软件,设计**原理图并运行软件程序,完成系统**。
图2.1 电路原理图。
模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在a/d转换前,输入到a/d转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。
a/d转换器的工作原理:采用逐次逼近法,逐次逼近式a/d是比较常见的一种a/d转换电路,转换的时间为微秒级。逐次逼近法转换过程是:
初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次逼近寄存器最高位置1,送入d/a转换器,经d/a转换后生成的模拟量送入比较器,称为 vo,与送入比较器的待转换的模拟量vi进行比较,若vo<vi,该位1被保留,否则被清除。然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送d/a转换器,输出的vo再与vi比较,若vo<vi,该位1被保留,否则被清除。
由adc0809的转换原理可以知道我们从其得到数据还只是二进制数据,我们还需要进一步处理来的到x的十进制数,并且对其进行精度处理,也就是课题要求的的精确到小数点后两位,在这里我们用51单片机对数据进行处理。我们处理数据的思路是:首先将得到的二进制数直接除以十进制数51,然后取整为x的整数部分,然后就是将得到的余数乘以10,然后再除以51,再取整为x的十分位,最后将得到的余数除以5得到x的百分位。
系统所用到的主要器件如下:
1. mcs51单片机--at89c51
2. adc0809芯片。
3. led显示器。
4. 电阻若干。
5. 二极管若干。
at89c51是一种带4k字节闪存可编程可擦除只读存储器(fperom—flash programmable and erasable read only memory)的低电压、高性能cmos 8位微处理器,俗称单片机。at89c51是一种带2k字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图3.1 at89c51芯片模型。
89c51单片机多采用40只引脚的双列直插封装(dip)方式,下面分别简单介绍。
1)电源引脚。
电源引脚接入单片机的工作电源。
vcc(40引脚):+5v电源。
gnd(20引脚):接地。
2)时钟引脚。
xtal1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端。
xtal2(20引脚):片内振荡器反相放大器的输出端。
图3.2 电源接入方式。
3)复位rst(9引脚)
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。
4)['altimg': w': 30', h': 28'}]vpp(31引脚)
[',altimg': w': 30', h':
28'}]为外部程序存储器访问允许控制端。当它为高电平时,单片机读片内程序存储器,在pc值超过0fffh后将自动转向外部程序存储器。当它为低电平时,只限定在外部程序存储器,地址为0000h~ffffh。
vpp为该引脚的第二功能,为编程电压输入端。
5)ale/['altimg': w': 57', h': 28'}]30引脚)
ale为低八位地址锁存允许信号。在系统扩展时,ale的负跳沿江p0口发出的第八位地址锁存在外接的地址锁存器,然后再作为数据端口。['altimg':
w': 57', h': 28'}]为该引脚的第二功能,在对片外存储器编程时,此引脚为编程脉冲输入端。
6)['altimg': w': 53', h': 28'}]29引脚)
片外程序存储器的读选通信号。在单片机读片外程序存储器时,此引脚输出脉冲的负跳沿作为读片外程序存储器的选通信号。
7) pin39-pin32为p0.0-p0.7输入输出脚,称为p0口。
p0是一个8位漏极开路型双向i/o口。内部不带上拉电阻,当外接上拉电阻时,p0口能以吸收电流的方式驱动八个lsttl负载电路。通常在使用时外接上拉电阻,用来驱动多个数码管。
在访问外部程序和外部数据存储器时,p0口是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。
8)pin1-pin8为p1.0-p1.7输入输出脚,称为p1口,是一个带内部上拉电阻的8位双向i/0口。p1口能驱动4个lsttl负载。
9)pin21-pin28为p2.0-p2.7输入输出脚,称为p2口。
p2口是一个带内部上拉电阻的8位双向i/o口,p2口能驱动4个lsttl负载。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部flash程序存储器编程时,接收高8位地址和控制信息。
在访问外部程序和16位外部数据存储器时,p2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。
10)pin10-pin17为p3.0-p3.7输入输出脚,称为p3口。
p3口是一个带内部上拉电阻的8位双向i/o口,p2口能驱动4个lsttl负载,这8个引脚还用于专门的第二功能。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部flash程序存储器编程时,接控制信息。
ad0809是cmos逐次逼近型a/d转换器,具有八路模拟量输入通道,有转换起停控制,模拟输入电压范畴0v-5v,转换时间为100us,ad0809有八路模拟通道选择开关、地址所存和译码器、比较器、八位开关树型d/a转换器、逐层逼近型寄存器、定时和控制电路及三态输出锁存器组成。其中,八路模拟通道选择开关实现从8路模拟量中选择一路送给后面的比较器进行比较;地址所存和译码器用于当ale信号有效时锁存器从adda、addb、addc3根地址线中送来的3位地址,译码后产生通道信号,从8路模拟通道中选择8位a/d转换器,当start信号有效时,就开始对输入的当前通道的模拟量进行转换,转换完后,把转换得到的数字量送到8位锁存器,同时通过eoc引脚送出转换结束信号。三态输出锁存器保存当前模拟通道转换得到的数字量,当oc信号有效时,把转换的结果通过d0-d7送出。
led 的段码端口a~g分别接至at89c51的p1.0~p1.7口,位选端1~4分别接至p3.5、p3.4、p3.1、p3.0。
用一片adc0809和必要的外围器件与80c51进行接口连接,要求对in0所输入的模拟电压进行识别,将其转换成相应的二进制数并以发光二极管的形式显示。
图4.1 89c51单片机。
图4.2 adc0809芯片。
图5.1 数字式电压表主程序流程图。
图5.2a/d转换流程图。
#include ""
sbit st_ale=p3^0start and ale both connect to p3.0
sbit eoc=p3^1eoc connect to p3.1
sbit oe=p3^2oe conect to p3.2
sbit clk=p3^3clk connect to p3.3
unsigned char channel; /ad channel variable
unsigned char led[10]=;
/mon cathode led code
unsigned char check[4]=;choose led channel
void delay(unsigned char time)
unsigned char i,j;
for(i=time;i>0;i--)
for(j=250;j>0;j--)
void display()
unsigned long temp;
unsigned char data,digit[4];
unsigned int k,l;
data=p0s**e ad data
temp=datathe temporary variable
temp=temp*1000/51ad formula:d=a*5/255
digit[0]=temp/1000the thousands place
digit[1]=temp%1000/100the hundreds place
digit[2]=temp%1000%100/10; /the tens place
digit[3]=temp%1000%100%10; /the ones place
data=p2s**e p2
for(k=0;k<10000000;k++)
lighten each led and equal the below for loop
p1=led[digit[0]]+0x80;
p2_4=0;
p2_4=1;
p1=led[digit[1]];
p2_5=0;
p2_5=1;
单片机课程设计报告
单片机系统课程设计报告。专业 电气技术。学生姓名 朱海李威张杰。学号。指导教师 陈高燕。完成日期 2014 年 7 月 5 日。目录。1 设计任务和性能指标 1 1.1设计任务 1 2 设计方案 1 2.1方案论证 2 2.2总体设计框图 2 3 系统硬件设计 4 3.1红外线解码电路设计 4 3....
单片机课程设计报告
韶关学院。课程设计说明书 设计题目 基于单片机控制的智能交通灯设计。课程名称 微机原理与应用实训。学生姓名 学号。院系 物理与机电工程学院汽车系。专业班级 12机械制造及其自动化 5班。指导教师姓名及职称 谢杰讲师。陈锦儒助理实验师。起止时间 2015 年 3 月 2015 年 5 月。课程设计评分...
单片机课程设计报告
南京工程学院。课程设计说明书 题目实时钟芯片pcf8563的应用 课程名称单片机原理及应用a 院 系 部 中心 通信工程学院。专业电子信息工程 传感网 班级。学生姓名。学号。设计地点信息楼 c 210 指导教师。设计起止时间 2013年12月23日至 2013年12月27日。一 摘要1 二 课程设计...