单片机课程设计报告

发布 2022-10-06 09:01:28 阅读 8901

要求:利用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 二 课程设计...