课 程 设 计 任 务 书.docx
- 文档编号:25501781
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:27
- 大小:816.03KB
课 程 设 计 任 务 书.docx
《课 程 设 计 任 务 书.docx》由会员分享,可在线阅读,更多相关《课 程 设 计 任 务 书.docx(27页珍藏版)》请在冰豆网上搜索。
课程设计任务书
课程设计报告书
题目:
简易数字电压表设计
学院机械与汽车工程学院
专业机械电子工程2班
学生姓名周家齐
学生学号201330011463
指导教师欧元贤徐静江伟陈泽飞马迎
课程编号
课程学分
起始日期2016/3/1
课程设计任务书
一、目的任务
1.1增进对单片机的感性认识,加深对单片机理论方面的理解。
1.2握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。
1.3解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。
二、设计内容:
2、数字电压表设计
三、时间安排
3、第一至第二周
四、设计工作要求
4.1系统功能
4.1.1可测0~5V的8路输入电压值;
4.1.2在LED数码管上轮流显示;
4.1.3单路选择显示;
4.2系统硬件设计
4.2.1单片机采用MCS51系列
4.2.2A/D转换器ADC0809
4.2.3键盘为4×4行列式键盘,按键设有10个数字键0……9,和5个功能键依次是:
各通道轮流显示键、单通道显示键、向左滚动显示键、显示启动/停止键、回车键。
4.2.4有4位LED管,左边1位用于指示显示通道,右边3位显示电压值。
4.3系统软件设计
4.3.1键盘管理程序(包括键扫描、键处理程序)。
4.3.2LED动态显示程序,包括:
4.3.3各通道轮流显示,共显示8个通道,每通道显示1s;
4.3.4单通道显示,仅显示指定通道电压,并保持到其他功能键按下。
五、成绩评定
六、参考文献
教
师
评
语
教师签名:
日期:
成
绩
评
定
备
注
简易数字电压表设计
一、选题背景
在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最
为经常。
而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表
就成为一种必不可少的测量仪器。
数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
二、方案论证(设计理念)
1.设计理念:
本实验设计主要讲述了数字电压表的设计过程,主要包括硬件设计和程序设计,硬件主要包括以AT89S51单片机为主要控制电路、数据采样电路、显示电路等,是基于51单片机开发平台实现的一种数字电压表系统。
该设计采用AT89S51单片机作为控制核心,驱动控制四块数码管显示被测电压,以ADC0809为模数转换数据采样,实现被测电压的数据采样,使得该数字电压表能够测量0-5V之间的直流电压值。
2实现的功能及要求
2.1系统功能
2.1.1可测0~5V的8路输入电压值;
2.1.2在LED数码管上轮流显示;
2.1.3单路选择显示;
2.2系统硬件设计
2.2.1单片机采用MCS51系列
2.2.2A/D转换器ADC0809
2.2.3键盘为4×4行列式键盘,按键设有10个数字键0……9,和5个功能键依次是:
各通道轮流显示键、单通道显示键、向左滚动显示键、显示启动/停止键、回车键。
2.2.4有4位LED管,左边1位用于指示显示通道,右边3位显示电压值。
2.3系统软件设计
2.3.1键盘管理程序(包括键扫描、键处理程序)。
2.3.2LED动态显示程序,包括:
2.3.3各通道轮流显示,共显示8个通道,每通道显示1s;
2.3.4单通道显示,仅显示指定通道电压,并保持到其他功能键按下。
3.芯片功能介绍
3.151单片机简介
3.1.1STC89C51单片机学习板是一款基于8位单片机处理芯片STC89C52RC的系统。
其功能强大,可以实现单片机开发的多种要求,学习、开发者可以根据需要选配多种常用模块,达到实验及教学的目的。
89C51单片机学习板功能强大,具有报警,跑马灯、串行通信(max232)、段码液晶(msm0801LCD)和字符液晶显示(LCD1602)、电机控制(L298)、A/D转换(TLC2543)、D/A转换(TLC5615)、温度采集(DS18B20)、数字信号合成(AD9851)、实时时钟电路(DS1302)、4—20mA输出、PWM输出(UC3842)、红外检测(KSM-603LM)控制等十七种功能,供学习者学习开发使用,如图3-1
图3-1AT89S51芯片
3.1.2主要性能特点
1、4kBytesFlash片内程序存储器;
2、128bytes的随机存取数据存储器(RAM);
3、32个外部双向输入/输出(I/O)口;
4、2个中断优先级、2层中断嵌套中断;
5、6个中断源;
6、2个16位可编程定时器/计数器;
7、2个全双工串行通信口;
8、看门狗(WDT)电路;
9、片内振荡器和时钟电路;
10、与MCS-51兼容;
11、全静态工作:
0Hz-33MHz;
12、三级程序存储器保密锁定;
13、可编程串行通道;
14、低功耗的闲置和掉电模式。
3.1.3管脚说明
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口除了作为普通I/O口,还有第二功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(T0定时器的外部计数输入)
P3.5T1(T1定时器的外部计数输入)
P3.6/WR(外部数据存储器的写选通)
P3.7/RD(外部数据存储器的读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。
读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。
只有读端口时才真正地把外部的数据读入到内部总线。
89C51的P0、P1、P2、P3口作为输入时都是准双向口。
除了P1口外P0、P2、P3口都还有其他的功能。
RST:
复位输入端,高电平有效。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
地址锁存允许/编程脉冲信号端。
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号,低电平有效。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
外部程序存储器访问允许。
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
片内振荡器反相放大器和时钟发生器的输入端。
XTAL2:
片内振荡器反相放大器的输出端。
图3-2AT89S51芯片管脚
3.2ADC0809模数转换简介
3.2.1ADC0809是美国国家半导体公司生产的带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
产品外观图如图3-3所示。
图3-3ADC0809芯片
3.2.2主要性能特点
(1)8路输入通道,8位A/D转换器,即分辨率为8位。
(2)具有转换起停控制端。
(3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时)
(4)单个+5V电源供电
(5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
(6)工作温度范围为-40~+85摄氏度
(7)低功耗,约15mW。
3.2.3内部结构
结构如图3-4
图3-4ADC0809内部图
3.374LS164移位寄存器
3.3.1概述
74ls164、74lsT164是高速硅门CMOS器件,与低功耗肖特基型TTL(LSTTL)器件的引脚兼容。
74HC164、74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。
数据通过两个输入端(DSA或DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。
两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。
时钟(CP)每次由低变高时,数据右移一位,输入到Q0,Q0是两个数据输入端(DSA和DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。
主复位(MR)输入端上的一个低电平将使其它所有输入端都无效,非同步地清除寄存器,强制所有的输出为低电平。
3.3.2特性
(1)门控串行数据输入;
(2)异步中央复位符合JEDEC标准no.7A;
(3)静电放电(ESD)保护;
HBMEIA/JESD22-A114-B超过2000V;
MMEIA/JESD22-A115-A超过200V;
(4)多种封装形式;
(5)额定从-40°C至+85°C和-40°C至+125°C
3.3.3功能图
如图3-5、3-6、3-7
图3-5逻辑符号图3-6管脚图
图3-7功能图
3.474HC573的介绍
3.4.1简介
在数码管显示方面,要维持一个数据的显示,往往要持续的快速的刷新。
尤其是在四段八位数码管等这些要选通的显示设备上。
在人类能够接受的刷新频率之内,大概每三十毫秒就要刷新一次。
这就大大占用了处理器的处理时间,消耗了处理器的处理能力,还浪费了处理器的功耗。
锁存器的使用可以大大的缓解处理器在这方面的压力。
当处理器把数据传输到锁存器并将其锁存后,锁存器的输出引脚便会一直保持数据状态直到下一次锁存新的数据为止。
这样在数码管的显示内容不变之前,处理器的处理时间和IO引脚便可以释放。
可以看出,处理器处理的时间仅限于显示内容发生变化的时候,这在整个显示时间上只是非常少的一个部分。
而处理器在处理完后可以有更多的时间来执行其他的任务。
这就是锁存器在LED和数码管显示方面的作用:
节省了宝贵的MCU时间。
锁存器作用:
锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。
锁存,就是把信号暂存以维持某种电平状态。
锁存器的最主要作用是缓存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个I/O口既能输出也能输入的问题。
锁存器就是把当前的状态锁存起来,使CPU送出的数据在接口电路的输出端保持一段时间锁存后状态不再发生变化,直到解除锁定。
还有些芯片具有锁存器,比如芯片74LS244就具有锁存的功能,它可以通过把一个引脚置高后,输出就会保持现有的状态,直到把该引脚清0后才能继续变化。
3.4.2管脚图
如图3-8
图3-874HC573锁存器管脚图
注:
1脚三态允许控制端低电平有效;
1D~8D为数据输入端;
Q~8Q为数据输出端;
LE为锁存控制端;OE为使能端
3.5LED显示系统
3.5.1LED显示器的选择
在本设计中,选择4位一体的数码型LED显示器,简称“4-LED”。
本系统中第一位为通道显示,第二位为显示电压的整数位,即个位,后两位显示电压的小数位,分别为十分位和百分位。
4-LED显示器引脚如图2-9所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。
三、过程论述
1.硬件设计
图4-1为硬件的总体框图,可分为四个模块。
模数转换使用ADC0809芯片,它将输入的模拟电压量转换为一个8位的二进制数字,然后进入到单片机STC80C51控制单元,经过驱动处理模块用数码管显示出直流电压值。
另外注意ADC0809芯片输入电压不可大于5V
图4-1硬件框图
1.1时钟电路设计
MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。
本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和2个电容即可,如图4-2所示。
图4-2时钟电路的设计
1.2复位电路的设计
复位电路的设计单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。
MCS-51单片机有一个复位引脚RST,采用施密特触发输入。
当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。
复位电路如图4-3所示
图4-3复位电路设计
1.3采样电路设计
这里使用的是ADC0809的模数转换芯片,可根据其工作机理来设计电路图:
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。
数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。
采样电路如图4-5所示。
图4-5采样电路
1.4键盘电路的设计
当按键数量较多时,为节省I/O口线和减少引线,常将其按矩阵方式连接。
每条行线与列线的交叉处通过一个按键来接通,则只需要N条行线和M条列线,即可组成N*M个按键的键盘。
比如,有16个按键的键盘,可将其按4*4的方式连接,即4根行线和4根列线,每根行线和列线交叉点处即为一个键位,其连接形式如图4-6所示
图4-6键盘电路设计
1.5显示电路的设计
单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。
如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。
为了简化数字式直流电压表的电路设计,在LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和D小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口德驱动能力,使得LED能按照正常的亮度显示出数字,如图4-7所示。
图4-7显示电路的设计
1.6整体电路的设计
如图4-8
图4-8整体电路的设计
2.系统的程序设计
系统程序的设计系统程序的设计是对照已经设计好的硬件电路进行编写的程序,其每个函数模块及其硬件原理都可以在上一节中进行对应。
系统程序设计代码:
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
#defineADDP3
ucharcodeLED_Data1[]=
{0xfc,0xc0,0xda,0xf2,0x6,0xb6,0xbe,0xe0,0xfe,0xf6};
ucharcodeLED_Data2[]=
{0xfd,0x61,0xdb,0xf3,0x67,0xb7,0xb7,0xel,0xff,0xf7};
sbitHC164_CLK=P3^1;
sbitHC164_DATA=P3^0;
sbita0=ACC^0;
sbitwei0=P1^0;
sbitwei1=P1^1;
sbitwei2=P1^2;
sbitwei3=P1^3;
sbitST=P1^6;
sbitOE=P1^7;
sbitADD_A=P3^5;
sbitADD_B=P3^6;
sbitADD_C=P3^7;
ucharnum,getdata,temp1,temp2,temp3,temp4;
uchara=0,d=0,c=0,t=0,k=0,sig_flag=0,on_off=0,CHAN=0,chan_temp=0;
nTIME=0,sig_mul=0,k1=0;
voidinit();
voidAD_convert(ucharj);
voidHC164_Display(uchardata_buf);
voidLED_scan(ucharl,ucharm,ucharn,ucharw);
voidmul_display();
ucharkeyscan();
ucharkey_driver();
voiddelay_ms(uint);
voidmain()
{init();
while
(1)
{switch(key_driver())
{
case0:
if(sig_flag==1){k=0;k1=0;}break;
case1:
if(sig_flag==1){k=0x20;k1=1;}break;
case2:
if(sig_flag==1){k=0x40;k1=2;}break;
case3:
if(sig_flag==1){k=0x60;k1=3;}break;
case4:
if(sig_flag==1){k=0x80;k1=4;}break;
case5:
if(sig_flag==1){k=0xa0;k1=5;}break;
case6:
if(sig_flag==1){k=0xc0;k1=6;}break;
case7:
if(sig_flag==1){k=0xe0;k1=7;}break;
case8:
;
case9:
;break;
case10:
if(on_off==1){sig_mul=2;TR0=1;}sig_flag=0;break;
case11:
sig_flag=1;TR0=0;break;
case12:
;break;
case13:
on_off++;
if(on_off==1){wei0=0;wei1=0;wei2=0;wei3=0;TR0=1;}
if(on_off==2){wei0=1;wei1=1;wei2=1;wei3=1;on_off=0;}
break;
case14:
break;
case15:
if(sig_flag==1){sig_mul=1;}break;
default:
if(on_off==1){
if(sig_mul==1){AD_convert(k);LED_scan(k1,a,d,c);}
elsemul_display();}
break;}
}
}
voidinit()
{
wei0=1;wei1=1;wei2=1;wei3=1;
P2=0XF0;
TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
on_off=1;
}
voidAD_convert(ucharj)
{P0=0xff;
P3=j;
ST=0;
ST=1;
ST=0;
delay_ms(5);
OE=1;
delay_ms
(1);
temp4=P0;
temp1=(_crol_(temp4,3)&0x80)|(temp4&0x6f)|(_cror_(temp4,3)&0x10);
temp4=(_crol_(temp1,7)&0x80)|(_crol_(temp1,5)&0x40)|(_crol_(temp1,3)&0x20)|(_crol_(temp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课 程 设 计 任 务 书.docx