单片机课程设计报告

发布 2022-10-06 08:19:28 阅读 7960

湖南科技大学潇湘学院。

信息与电气工程系。

单片机原理及应用》

课程设计报告。

题目:数字电压表设计

专业:通信工程。

班级:通信002班。

姓名:刘黎辉。

学号:0954040217

指导老师:宋芳徐学军谢平阳

一、 设计目的。

1.1设计目的。

1) 掌握单片机的程序编写与调试技术。

2) 掌握接口电路设计技术,初步掌握电子设计软件protel99的使用。

3) 掌握ad转换芯片adc0809的使用方法。

4) 利用所学单片机理论知识进行软硬件整体设计,提高综合应用能力。

二、 设计任务及要求。

2.1设计任务。

用8032单片机和adc0809构成数字电压表,测量0-5v的电压,将所测电压用数码管动态显示出来。

2.2具体要求。

使用8032单片机作为控制单元,控制adc0809来进行电压采集及模数转换,转换后的数字量经单片机计算成电压值,然后通过8279芯片驱动数码管显示电压值。

其它要求如下:

1) 设计硬件电路。标示引脚编号、元器件参数。

2) 在实验箱上完成硬件电路的搭建。

3) 编制相应程序。与硬件一并调试成功。

4) 写好课程设计报告。

三、 设计原理分析。

3.1原理及芯片选型。

本次设计中的待测电压范围为0~5v,由于对采样速率及转换速率的要求不是很高,可以使用8032单片机做为控制单元。

对于一个数字电压表而言,其最核心的芯片是a/d转换芯片,它可以在单片机的控制下将模拟量转换成数字量,从而求出电压值的大小。本次设计中选用adc0809作为a/d转换芯片,它是一款具有8路模拟输入通道的8位a/d转换器,测量的最小分辨率为0.019v,其转换方式是采用逐次逼近式a/d转换。

该芯片完全可以达到本次设计的要求。

电压值的显示采用数码管动态显示。由于数码管动态显示需要占用cpu大量时间,本次设计中数码管采用8279芯片驱动,这样可以大大减少单片机的负担。为了使显示更加稳定,a/d转换10次后经过排序,求中间6个值的平均数再进行显示。

3.2设计目标。

本次设计的目标是:设计一个双通道数字电压表,能同时测量并显示两组电压值,电压值测量范围为0~5v。使用数码管进行显示,电压值显示到小数点后两位。

电压表带显示锁存功能,能将电压值锁定在数码管上显示。

四、 硬件资源及其分配。

4.1单片机控制电路。

8032单片机内设有4个8位的并行i/o口,本次设计中使用p0口作为地址总线低8位及数据总线分时复用,p2口作为地址总线的高8位,其中a8、a9、a10经74ls138进行地址译码。p3.6/wr#、p3.

7/rd#分别与其它芯片的wr和rd引脚相连。p1.0口与adc0809的eoc输出引脚相连,用于查询a/d转换是否完成。

p1.1和p1.2与两个开关相连,用于接收用户控制信息。

4.2 a/d转换电路。

adc0809具有8路模拟输入口,本次设计中只使用的in0和in1两个通道,这两个引脚分别与两个电位器的输出端相连,用于模拟信号的采集。其转换结束信号eoc经74ls14反向后与单片机的i/0连接。

4.3 数码管显示电路。

8279芯片的outa0~outa3、outb0~outb3经驱动芯片7407后与7段数码管的各段及小数点引脚连接。其sl0~sl2与一片74ls138一码芯片相连,经3线-8线译码后作为数码管的位选信号。

5.4地址译码电路。

地址译码电路由3-8译码器74ls138、非门74ls04、或门74ls32组成,a8-a10与138译码器的地址输入口连接,a11-a15经组合电路后的输出信号与138译码器的使能端g2a#、g2b#连接。这样译码后的地址范围则为8000h-87ffh。

五、 硬件图。

5.1装配图。

图5-1 硬件装配图。

a/d模块的cs与地址8000h连接,eoc与p1.0连接。开关k1和k2分别与p1.1和p1.2连接。

5.2原理图。

图5-2 数字电压表电路原理图。

六、 程序流程图及程序清单。

6.1程序总体流程图。

图6-1 程序总体流程图。

6.2各部分程序流程图。

6.2.1 a/d转换流程图。

图6-2 a/d转换流程图。

6.2.1 8279操作流程图。

图6-3 8279操作流程图。

6.3程序清单。

#define uchar unsigned char

#define uint unsigned int

#define ad_port0 xbyte[0x80000809通道0地址。

#define ad_port1 xbyte[0x80020809通道1地址。

#define d8279 xbyte[0xff808279 数据口地址。

#define c8279 xbyte[0xff828279 状态/命令口地址。

#include <>

#include <>

sbit eoc=p1^0ad0809转换结束信号。

sbit h1=p1^1显示锁存。

sbit h2=p1^2;

uchar code ledseg led显示常数表0-9、全灭。

void delay(uint n

uint k,j;

for(k=0;k

void init8279()

c8279=10置8279工作方式 8字符左入编码扫描键盘。

c8279=0x3e置扫描速率1 1110 =30分频。

c8279=0xd1显示ram全部清0,清除led显示。

delay(2);

c8279=0x90写显示ram,地址自+1

显示"000 000"

d8279=ledseg[0

d8279=ledseg[0];

d8279=ledseg[0]+0x80;//加小数点。

d8279=ledseg[10]; 熄灭。

d8279=ledseg[10];

d8279=ledseg[0];

d8279=ledseg[0];

d8279=ledseg[0]+0x80;//加小数点

float fun(uchar arra)

uchar i,j,tmp;

long lsum;

float f**erage;

for(i=0;i<9;i++)

lsum=0;

for(i=2;i<8;i++)

f**erage=lsum/6;

return f**erage;

/--主程序---

main()

uchar i;

uchar num1[3],num2[3];

uchar cval[10];

float ftmp;

uint itmp;

init8279初始化显示。

//循环显示两组电压值

while(1)

if(h2)//非显示锁存状态。

七、 小结。

本次设计成功使用8032单片机和adc0809设计出一个带显示锁存功能的双通道数字电压表,达到了课程设计的各项指标,完成了课程设计任务。

在本次课程设计的过程中,无论是在程序设计、硬件电路设计还是动手能力方面都得到了很好锻炼。通过本次课程设计,增强了对单片机的认识,并且调试能力也得到了一个很大的提升。

单片机课程设计报告

单片机系统课程设计报告。专业 电气技术。学生姓名 朱海李威张杰。学号。指导教师 陈高燕。完成日期 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 二 课程设计...