为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

课程设计(论文)-基于单片机的数字电压表的设计

2017-10-08 32页 doc 280KB 199阅读

用户头像

is_574951

暂无简介

举报
课程设计(论文)-基于单片机的数字电压表的设计课程设计(论文)-基于单片机的数字电压表的设计 重庆三峡学院 题目: 基于单片机的智能数字 电压表设计 学院(系): 应用技术学院 年级专业: 08级电信(仪表) 学 号: 学生姓名: 指导教师: 教师职称: 副 教 授 2010年12月25日 目 录 第一章 引言„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 1.1设计目的„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 1.2设计任务及要求„„„„„„„„„„„„„„„„„„„„„„„„„„„2 1.3 设计...
课程设计(论文)-基于单片机的数字电压表的设计
课程(论文)-基于单片机的数字电压表的设计 重庆三峡学院 目: 基于单片机的智能数字 电压表设计 学院(系): 应用技术学院 年级专业: 08级电信(仪表) 学 号: 学生姓名: 指导教师: 教师职称: 副 教 授 2010年12月25日 目 录 第一章 引言„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 1.1设计目的„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 1.2设计任务及要求„„„„„„„„„„„„„„„„„„„„„„„„„„„2 1.3 设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2 第二章 数字电压表简介„„„„„„„„„„„„„„„„„„„„„„„„„„„2 2.1数字电压表的介绍„„„„„„„„„„„„„„„„„„„„„„„„„„2 2.2数字电压表工作原理„„„„„„„„„„„„„„„„„„„„„„„„„2 第三章 硬件部分的设计„„„„„„„„„„„„„„„„„„„„„„„„„„„2 3.1 8255内部结构概述 „„„„„„„„„„„„„„„„„„„„„„„„„3 3.2 AT89S52控制电路„„„„„„„„„„„„„„„„„„„„„„„„„„3 3.21 AT89S52„„„„„„„„„„„„„„„„„„„„„„„„„„„„4 3.22 74LS373„„„„„„„„„„„„„„„„„„„„„„„„„„„„4 3.23 74LS245„„„„„„„„„„„„„„„„„„„„„„„„„„„„5 3.3时钟电路和复位电路„„„„„„„„„„„„„„„„„„„„„„„„„5 3.4显示电路„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„6 3.5模数(A/D)转换电路 „„„„„„„„„„„„„„„„„„„„„„„„7 3.6键盘电路„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„10 第四章 系统软件的设计„„„„„„„„„„„„„„„„„„„„„„„„„„„11 4.1程序框图„„„„„„„„„„„„„„„„„„„„„„„„„„„„„12 4(2主程序 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„12 第五章 系统的调试„„„„„„„„„„„„„„„„„„„„„„„„„„„„„22 5.1硬件调试„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„22 5.2软件调试„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„22 第六章 心得体会„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„23 第七章 参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„23 第八章 附录„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„24 整体电路图„„„„„„„„„„„„„„„„„„„„„„„„„„„„„24 实验结果„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„24 元器件清单„„„„„„„„„„„„„„„„„„„„„„„„„„„„„25 2 基于单片机的数字电压表的设计 重庆三峡学院应用技术学院 第一章 引言 摘要:本次设计主要解决A/D转换、数据处理及显示键盘控制等模块。控制系统采用AT89S52单片机,A/D转换采用ADC0809。显示采用6位LED显示数码管的具有电压测量功能的具有一定精度的数字电压表。数字电压表可以测量0~5V的输入电压值,并在6位LED数码管上轮流显示或单路选择显示。测量最小分辨为0.020V,测量误差约为?0.02V。 关键字:A/D转换 显示电路 AT89S52单片机 8255 键盘电路 ,.1设计目的 本课程的任务是使学生通过“数字电压表的设计”的设计过程,综合所学课程,掌握目前自动化仪表的一般设计要求,设计方法,开发及设计工具的使用方法,通过这一设计实践过程,锻炼学生的动手能力和,解决问题的能力;积累经验,培养按部就班,一丝不苟的工作个对所学知识的综合应用能力。 ,.2设计任务及要求 基本要求:以单片机及A/D转换器为核心,设计一个智能数字电压表。可以测量0,5V的直流电压,并实时显示在LED或LCD显示器上。第一位显示定时时间的采样值,第二、三位屏敝,第四、五、六位显示电压值,在第四位后加小数点。转换精度?20mV。有适当的抗干扰措施。 扩展要求:外加键盘控制时间即第一位LED。 ,.3设计方案 按系统功能实现要求,决定控制系统采用AT89S52单片机,A/D转换采用ADC0809,显示采用LED七段共阴极数码管和74LS20反向驱动电路。系统除能确保复位控制,外加键盘电路进行采样值的控制功能外,还可以方便地进行其它8路模拟量的测量。 第二章 智能数字电压表简介 2.1数字电压表的介绍 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。 2.2 数字电压表的基本结构及工作原理 电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针加刻度盘进行读数的方法, 避免了读数的视差和视觉疲劳。目前数字电压表的内部核心部件是A/D转换器, 转换器的精度很大程度上影响着数字电压表的准确度,数字式电压表是由高阻抗电压表头与分压电路组成的。 3 1.各部分的功能 A/D转换器:将输入的模拟信号转换成数字信号。 基准电源:提供精密电压,供A/D转换器作参考电压。 标度变换:将十六-十进制(BCD)码转换成七段信号。 驱动器:驱动显示器的a、b、c、d、e、f、g七个发光段,驱动发光数码管(LED)进行显示。 显示器:将译码输出的七段信号进行数字显示,读出A/D转换结果。 第三章 硬件部分的设计 数字电压测量电路由A/D转换、数据处理及显示控制等组成,电路原理图如图所示(见附录图一)。 3.1 8255内部结构概述 8255管脚图如图1所示 8255有3个8位的数据端口,即端口A、端口B、端口C。端口A对应一个8位输入锁存器和一个8位数据输出锁存器/缓冲器。 图, 8255管脚图 3.2 AT89S52控制电路(如图2) 4 图2 AT89S52控制电路 3.21 AT89S52(图2) AT89S52是一个低功耗,高性能CMOS 8位单片机 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器74LS245是我们常用的芯片,用来驱动led或者其他的设备,用法很简单如上图,这里简单的给出一些资料,他是8路同相三态双向总线收发器,可双向传输数据。 At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。 3.22 74LS373(图3) 74LS373是常用的8D三态同相锁存器,作用是在单片机系统中扩展外部存储器,其引 OE脚图和功能表如图6-2所示。当门控端G输入正脉冲,且输出控制低电平有效时,D端 OE的数据被锁存到锁存器的输出端,当G为低电平时,输出Q保持不变;当为高电平时,输出Q是高阻态。 5 120OEVcc输出输入219Q0Q7318QGDD0D7OE417D1D600516Q1Q61615Q2Q5011714D2D574LS373813D3D4不变0,Q3Q49121高阻,,GNDG1011 图3 74LS373引脚图和功能表 3.23 74LS245(图4) 74LS245还具有双向三态功能,既可以输出,也可以输入数据。图6-7为74LS245的引 G脚图和功能表,图中,为允许端,DIR为方向控制。 124DIRVcc控制信号 223A0G321A1B0传输方向 422DIR A2B1 G520A3B2 619A4B30 B?A 0 718A5B474LS2451 A?B 816A6B5 1 × 高阻 A7B6917 GNDB71015 图4 74LS245引脚图和功能表 PSENGRD74LS245的固定接地,其DIR端由单片机的和相“与”后控制。当CPU PSENRD执行读外部数据存储器(=0)或访问外部程序存储器(=0)时,DIR,0,驱动 PSENRD器导通方向为从外部到内部总线;否则,=1,=1,使DIR=1,驱动器导通方向为从内部总线向外,可供CPU向外传送数据。 当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收) DIR=“1”,信号由 A 向 B 传输;(发送)当/CE为高电平时,A、B均为高阻态。 3.3时钟电路和复位电路 时钟信号用来提供单片机内各种微操作的时间基准;复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。 1 时钟电路(图5a) 单片机的时钟信号通常用两种电路形式得到:内部振荡和外部振荡方式。 此次采用内部振荡方式。 2 复位电路(图5b) 当单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。本次采用开关复位。 6 图5a 内部振荡电路 图5b 开关复位 开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。 3.4显示电路 本次设计采用共阴数码管,数码管是最常用的一种显示器件,它是由几个发光二极管组成的8字段显示器件,其特点是价格非常的便宜,使用也非常的方便,显示效果非常的清楚。小电流下可以驱动发光,发光响应时间极短,体积小,重量轻,抗冲击性能好,寿命长。但数码管只能是显示0——9的数据。不能够显示字符。这也是数码管的不足之处。(见图6) 图6 共阴数码管 这次设计中,采用的是74LS240反向驱动中的/Y1到/Y8的输出信号驱动数码管的a .b.c.d.e.f.g..DP七段显示。74LS240中的A1,A8与8255的PB口相连(段控),8255的PA口为位控。(如图7) 7 图7 显示电路 3.5模数(A/D)转换电路 A/D转换器是模拟量输入通道中的一个环节,单片机通过A/D转换器把输入模拟量变成数字量再处理。 A/D转换由集成电路0809完成。0809具有8路模拟输入端口,地址线(23~- 25脚)可决定对哪一路模拟(IN0-IN7)输入作A/D转换。22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出。10脚为0809的时钟输入端,利用单片机AT89S52的30脚6分频晶振频率再通过74LS90五分频得到500KHz时钟。8255的PA0-PA5端口作为六位LED数码管显示控制。P0端口作A/D转换数据读入用,P2端口用作0809的A/D转换控制。 ADC0809是8位逐次逼近型A/D转换器,它是由一个8路的模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8 8 路模拟量分时输入,共用A/D 转换器进行转换。A/D转换器的特点是8位精度,属于并行口,如果输入的模拟量变化大快,必须在输入之前增加采样电路。(如图8(A)) 图8(A) ADC0809端子图 图8(B) A/D转换电路 1. ADC0809 (1) ADC0809内部结构及功能 D0,D7:8位数字量输出端。 9 IN0,IN7:8路模拟量输入端。 ADDA、ADDB、ADDC:地址输入端,用于选通8路(IN0-IN7)模拟输入中的一路。其与模拟输入通道的关系如表1所示。 表1 ADDA、ADDB、ADDC与模拟输入通道的关系 ADDC ADDB ADDA 模拟输入通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 表1 ALE: 地址锁存允许信号。输入,高电平有效。用来控制通道选择开关的打开与闭合。ALE,1时,接通某一路的模拟信号,ALE,0时,锁存该路的模拟信号。 START: A/D转换启动信号,输入,高电平有效。在使用时,该信号通常与ALE信号连在一起,以便在锁存通道地址的同时启动A/D转换。 CLK:时钟脉冲输入端。允许最高输入频率为1280kHz,此时其转换时间为75μs。若时钟频率下降,时间随之增加。如CLK选640KHz,则转换时间为100μs。若CLK选500KHz,则转换时间为128μs。OE:数据输出允许端。当OE为高电平时,转换结果数据出现在D7,D0引脚。当OE为低电平时,D7,D0引脚对外呈高阻状态。 EOC:A/D转换结束信号,输出。该信号在ADC0809进行A/D转换期间保持低电平,直至A/D转换结束时,EOC从低电平变为高电平。该信号可直接与单片机的I/O口线直接相连, INT0INT1采用查询方式工作;也可把EOC信号取反后接单片机的或,采用中断方式读取A/D转换数据。 VREF,、VREF,:分别为基准电源的正、负输入端。其典型值为+5V,可与电源电压(+5V)相连。电源电压往往有一定波动,当精度要求较高时,可用高稳定度基准电源输入。当模拟信号电压较低时,基准电压也可取低于5V的数据。 VCC:电源输入端,+5V。 GND:地。 (2) ADC0809与单片机的接口 ADC0809与单片机的接口如图8(A)(B)所示。 由于ADC0809具有输出三态锁存器,故其8位数据输出线可直接与单片机数据总线相连。单片机的低8位地址信号在ALE作用下锁存在74LS373中。74LS373输出的低3位信号分别加到ADC0809的通道选择器ADDC、ADDB、ADDA上,作为通道编码。单片机的P2.6作为片选 10 WRRD信号,结合或信号选通芯片。此电路采用,通道进行采样,所以其地址为0BFFFH。 ADC0809的ALE和START引脚接在一起,当单片机执行外部RAM写操作时, ADC0809在锁存通道地址的同时也启动转换。当单片机执行外部RAM读操作时,OE信号有效,打开三态输出锁存器,读取A/D转换结果。上述操作时,P2.6应为低电平。ADC0809的EOC端经 INT1反相器连接到单片机的P3.3()引脚。单片机可用查询、延时或中断方式采集A/D转换的数据。 ADC0809的时钟信号CLK可由单片机ALE信号经74LS90分频而来。图5(A)(B)中的单片机晶振频率为12MHZ,则ALE频率是晶振频率的1/6,即2MHZ,再经五分频后为500KHZ。ADC0809能够可靠工作。 . 74LS90 2 74ls02具有如下的五种基本工作方式:(分频器) 五分频:即由FD、FC、和FB组成的异步五进制计数器工作方式。 十分频(8421码):将QA与CK2联接,可构成8421码十分频电路。 六分频:在十分频(8421码)的基础上,将QB端接R1,QC端接R2。其计数顺序为000,101,当第六个脉冲作用后,出现状态QCQBQA=110,利用QBQC=11反馈到R1和R2的方式使电路置“0”。 本电路采用五分频 3. 74ls02 74ls02引脚功能:实现2输入四或非门功能,常用于各种数字电路中 3.6键盘电路(图9) 图9 键盘电路 (1) 判断键盘上有无键按下。使PA口输出扫描字00H,读PC口状态,若PC0~PC3都为1,则无键按下;若不都为1,则有键按下。 (2) 消除键抖动影响。在检测到有键闭合后,软件延时10~20ms后再检测有无键闭合。如有键闭合予以确认,否则按键抖动处理。 11 (3) 若有键按下,确定按下键的键号。从PA口依次输出不同的列扫描字,当扫描次数为0~7时,扫描字为FEH、FDH、FBH、F7H、EFH、DFH、BFH、7FH,即依次使行列式键盘的一根线为0,其余为1。每次都读取PC0~PC3的值,若其中某位为0,则这次扫描有键按下。 假设PA口输出扫描字F7H时(PA3=0,PA口其余口线=1),若检测到PC0=0,则闭合键的键号为03H;若检测到PC1=0,则闭合键的键号为13H。由此可计算出闭合键的键号值。 闭合键的键号=所在行号×键盘列数+所在列号 (4) 键闭合一次,CPU仅作一次处理。当有键闭合时,CPU暂不作处理,等待键释放以后,就可以根据键号方便的通过散转进入相应键的功能处理程序。 第四章 软件系统的设计 4.1程序框图 系统默认为循环显示8个通道的电压值状态。当进行一次测量后,将显示每一通道的A/D转换值,每个通道的数据显示时间为1S左右。主程序在调用显示子程序和测试之程序之间循环,主程序流程图见: 开始 初始化 调用A/D转换子程序 设置延时时间 主程序 调用子程序 显示 4.2源程序 12 EOC BIT P1.0 VIH DATA 51H VIL DATA 52H ADDATA DATA 50H ZSD BIT P1.1 ORG 0 LJMP MAIN ORG 001BH LJMP AD_INT ORG 0100H MAIN: MOV SP,#53H MOV P2,#0FFH MOV A,#81H MOV DPTR,#0FF23H MOVX @DPTR,A MOV 7EH,#01H MOV 7DH,#10H MOV 7CH,#10H MOV 7BH,#02H MOV 7AH,#05H MOV 79H,#0H ;------采样单元及标度变换单元清0----------------- MOV VIH, #0 MOV VIL, #0 MOV ADDATA, #0 ;---------------------------------- MOV R7 , #1 ;数据采集次数 MOV R2 , #20 ;R2为“50ms”计数器,置入初值100(计5s) MOV R3 , #1 ;R3为秒计数器,置入初值24(计5s) MOV TMOD , #10H ; T1方式1,定时50ms MOV TH1 , #3CH ;定时器初值,定时50ms MOV TL1 , #0B0H MOV IE , #0 ;关闭中断 SETB ET1 ;定时器T1允许中断 13 SETB EA ;CPU开放中断 SETB TR1 ;启动T1中断 ;------------------------------ LCALL SSEE1 LOOP: LCALL BIAODU LCALL PTDS LCALL SSEE LCALL KEY LCALL KEYPD SJMP LOOP ;等待中断 ;----------------------------------- ORG 05D0H PTDS: MOV A , VIL ANL A, #0FH MOV R0,#79H ; 保存VIL低4位 MOV @R0, A MOV A, VIL SWAP A ANL A , #0FH MOV R0, #7AH ; 保存VIL高4位 MOV @R0, A MOV A, VIH ANL A , #0FH MOV R0, #7BH ; 保存VIH高4位 MOV @R0, A INC R0 ;7CH和7DH两位不显示 MOV A , #10H MOV @R0, A INC R0 MOV A , #10H MOV @R0, A INC R0 MOV A , 7EH ;7EH位显示“1” MOV @R0, A 14 RET ;------显示子程序------------------------- ORG 0D50H SSEE: SETB RS1 MOV R5,#05H SSE2: MOV 30H,#20H MOV 31H,#7EH MOV R7,#06H SSE1: MOV R1,#20H MOV A,30H CPL A MOVX @R1,A MOV R0,31H MOV A,@R0 MOV DPTR,#DDFF MOVC A,@A+DPTR MOV 3FH , A ; 暂存显示码 MOV A , 30H CJNE A , #04H ,SSE3 MOV A , 3FH CLR ACC.7 SJMP SSE4 SSE3: MOV A , 3FH SSE4: MOV R1,#21H MOVX @R1,A MOV A,30H RR A MOV 30H,A DEC 31H MOV A,#0FFH MOVX @R1,A DJNZ R7,SSE1 DJNZ R5,SSE2 CLR RS1 15 RET ;-------初始化显示子程序-------------------------- ORG 1D50H SSEE1: SETB RS1 MOV R5,#05H SSE12: MOV 30H,#20H MOV 31H,#7EH MOV R7,#06H SSE11: MOV R1,#20H MOV A,30H CPL A MOVX @R1,A MOV R0,31H MOV A,@R0 MOV DPTR,#DDFF MOVC A,@A+DPTR MOV R1,#21H MOVX @R1,A MOV A,30H RR A MOV 30H,A DEC 31H MOV A,#0FFH MOVX @R1,A DJNZ R7,SSE11 DJNZ R5,SSE12 CLR RS1 RET ;---------显示代码表------------------------- DDFF: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH ;-----------AD转换子程序----------------------------------- AD_INT: PUSH DPL PUSH DPH 16 MOV TH1 , #3CH ;中断服务程序,重新赋定时器初值 MOV TL1 , #0B0H DJNZ R2 , RETURN ;5S未到,返回 MOV R2 , #20 ;重新置“50ms”计数器初值 DJNZ R3 , RETURN ;5s未到,返回 MOV R3 , #1 ;重新置“5s”计数器初值 CPL ZSD ;1分钟指示灯变换 MOV DPTR , #0FF80H ;IN0通道地址 AD_LP2: MOVX @DPTR,A ;启动A/D转换 JNB EOC ,$ ;转换是否结束, MOVX A , @DPTR ;读取A/D转换结果 MOV ADDATA , A RETURN: POP DPH ;恢复通道地址 POP DPL RETI ;-------标度变换----------------------------- BIAODU:MOV A,ADDATA MOV B,#5 MUL AB MOV VIH,B MOV B,#100 MUL AB MOV A,#10 XCH A,B DIV AB SWAP A ORL A,B MOV VIL,A RET ;------键盘扫描-------- ;出口:(A)=键码值 LS3: DB 07H,04H,08H,05H,09H,06H,0AH DB 0BH,01H,00H,02H,0FH,03H,0EH DB 0CH,0DH 17 KEY: SETB RS1 MOV R2,#0FEH MOV R3,#08H MOV R0,#00H LP1: MOV A,R2 MOV R1,#20H MOVX @R1,A RL A MOV R2,A MOV R1,#22H MOVX A,@R1 CPL A ANL A,#0FH JNZ LP0 INC R0 DJNZ R3,LP1 MOVX A,@R1 JB ACC.4,XP33 MOV A,#20H SJMP XP3 XP33: MOV A,#20H XP3: CLR RS1 RET LP0: CPL A JB ACC.0,XP0 MOV A,#00H SJMP LPP XP0: JB ACC.1,XP1 MOV A,#08H SJMP LPP XP1: JB ACC.2,XP2 MOV A,#10H SJMP LPP XP2: JB ACC.3,XP33 18 MOV A,#18H LPP: ADD A,R0 CLR RS1 CJNE A,#10H,LX0 LX0: JNC XP35 MOV DPTR,#LS3 MOVC A,@A+DPTR XP35: RET ORG 0D50H SSEE2: SETB RS1 MOV R5,#05H SSE22: MOV 30H,#20H MOV 31H,#7EH MOV R7,#06H SSE23: MOV R1,#20H MOV A,30H CPL A MOVX @R1,A MOV R0,31H MOV A,@R0 MOV DPTR,#DDFF MOVC A,@A+DPTR MOV R1,#21H MOVX @R1,A MOV A,30H RR A MOV 30H,A DEC 31H MOV A,#0FFH MOVX @R1,A DJNZ R7,SSE23 DJNZ R5,SSE22 CLR RS1 RET 19 ;---------键盘判断---------- KEYPD: CJNE A,#01H,k1 MOV 7EH,#01H CLR TR1 MOV R2,#20 ;修改延时时间 MOV R3,#1 SETB TR1 SJMP RET1 k1: CJNE A,#02H,K2 MOV 7EH,#02H CLR TR1 MOV R2,#40 MOV R3,#1 SETB TR1 SJMP RET1 K2: CJNE A,#03H,k3 MOV 7EH,#03H CLR TR1 MOV R2,#60 MOV R3,#1 SETB TR1 SJMP RET1 k3: CJNE A,#04H,k4 MOV 7EH,#04H CLR TR1 MOV R2,#80 MOV R3,#1 SETB TR1 SJMP RET1 20 k4: CJNE A,#05H,k5 MOV 7EH,#05H CLR TR1 MOV R2,#100 MOV R3,#1 SETB TR1 SJMP RET1 k5: CJNE A,#06H, k6 MOV 7EH,#06H CLR TR1 MOV R2,#120 MOV R3,#1 SETB TR1 SJMP RET1 k6: CJNE A,#07H,k7 MOV 7EH,#07H CLR TR1 MOV R2,#140 MOV R3,#1 SETB TR1 SJMP RET1 k7: CJNE A,#08H,k8 MOV 7EH,#08H CLR TR1 MOV R2,#160 MOV R3,#1 21 SETB TR1 SJMP RET1 k8: CJNE A,#09H,RET1 MOV 7EH,#09H CLR TR1 MOV R2,#180 MOV R3,#1 SETB TR1 RET1:RET END 第五章 系统的调试 完成了系统的硬件设计,制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系件和软件调统调试。调试分了硬试 5.1硬件调试 完成了系统的硬件设计,制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系件和软件调统调试。调试分了硬试 硬件调试的主要任务是排除硬件故障,其中包括设计的错误和连线故障等。 1.检查所设计的硬件所有的器件和引脚是否正确,尤其是电源的连接是否正确;检查各总线是否有短路的故障。 2.将40芯片的仿真插头插入单片机插座进行调试,检查各接口是否满足设计的要求,有正常的程序测试硬件电路的好坏。。 3.将显示子程序保存好ASM文件并运行。 4.按下复位按键时,通道号将变成0通道,电压也为初始值。 5.硬件电路调试与测试均正常。 5.2软件的调试 软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序的错误,同时也能发现硬件的故障。软件调试是一个模块一个模块进行的。首先单独调试各子程序是否能够按照预期的功能,接口电路的控制是否正常。最后调试整个程序。尤其注意的是各模块间能否正确的传递参数。 1. 检查LED显示模块程序。观察在LED上是否能够显示相应的字符。 2. 检查按键模块程序。 3. 检查A/D转换模块程序。可以在硬件电路的输入端输入已知的几个电压,分别观察 22 LED上是否显示相应的电压值。(软件调试结果见附录4) 4(所有程序运行正常后,在这个程序中加入中断延时5s。 第六章 心得体会 经过将近两周的单片机设计实训,终于完成了智能数字电压表的设计,这次设计达到设计基本要求和一个扩展要求,这是我们团队合作的结果,在这过程中我们也遇到了不少的困难,在这次实训中我们分工合作,发挥团队精神最后完成了设计。同时通过这次的实训我也明白了很多。 在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计让我增长很多知识。对于这次的单片机设计,是把硬件和软件结合起来的设计,我们主要是负责画原理图,这个需要足够的耐心加细心,因为连线的错误以及芯片的选择等都会关系PCB板最后的结果。同时也需要一定的硬件知识基础,得了解管脚功能等。只有这样才能保证电路的成功。在画有原理图的过程中,主要的困难就是我们的库里没有8255芯片,也没有和它类似的,只能通过自己去画了之后再添加进来,还有封装问题。 硬件工作完成了就是解决程序设计的问题,程序设计是一个很灵活的东西,它反映了我们解决问题的逻辑思维和创新能力,它是一个设计的灵魂所在。很多子程序是借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。通过我们努力和老师的指导最终完成了程序设计。 要设计一个成功的电路,必须要有耐心,要有坚持的毅力。在整个电路的设计过程中,花费时间最多的是各个单元电路的连接及电路的细节设计上,如在多种方案的选择中,我们仔细比较分析其原理以及可行的原因。这就要求我们对硬件系统中各组件部分有充分透彻的理解和研究,并能对之灵活应用。通过这次实训,我在书本理论知识的基础上又有了更深层次的理解。 在两周的实训中,收获知识的同时,还收获了阅历,收获了成熟与合作。我们通过查找大量资料,请教老师,寻求同学的帮助,以及不懈的努力,培养了独立思考的能力。更重要的是我们学会了学习的方法,这是日后最实用的。面对社会的挑战,只有通过不断的学习和实践才能完成知识的积累,才能更好的提高自己取得更好的成绩。 第七章 参考文献 1、李全利 《单片机原理及应用技术》 [M] 北京: 等教育出版社 2008年 2、蔡明文 冯先成《单片机课程设计 》 [M] 北京: 华中科技大学出版社 2007年12月 3、李秀忠 单片机应用技术》 [M] 北京: 人民邮电出版社 2007年3月 4、欧阳文 《ATMEL89系列单片机的原理》 [M] 北京: 中国电力出版社2007年 23 第八章 附录 附录一 整体框图 附录二 实验结果 24 附录三 智能数字电压表设计元器件清单 种类 型号 数量 备注 AT89S52 1块 集成块 ADC0809 1块 74LS90 1块 8255 1块 74LS245 1块 74LS373 1块 74LS02 1块 74LS240 1块 电位器 10KΩ 1个 100PF 3只 电容器 12MHZ 晶振 1只 与门 7个 数码管 共阴 6支 1K 电阻 1个 开关 20个 导线 无数 25
/
本文档为【课程设计(论文)-基于单片机的数字电压表的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索