1、存档资料 成绩: 哈尔滨理工大学课 程 设 计 报 告 书课程名称单片机课程设计题 目数字电压表院 (系)自动化学院班 级电技12-3学号1212020301学生姓名蔡成灼指导教师王宏民辅导教师王宏民 2014 年 12 月 25 日课程设计(论文)任务书 自动化 学院 电子信息科学与技术 专业 12-3班 一、课程设计(论文)题目 : 数字电压表 二、课程设计(论文)工作自 20 14 年 12 月 26 日起至 20 14 年 12 月 27 日止 三、课程设计(论文) 地点: B302 四、课程设计(论文)内容要求:1. 本课程设计的目的(1)进一步巩固和加深对“单片机原理及应用”课程基
2、本知识的理解和掌握,了解51系列单片机在项目开发中的应用。(2)学习单片机硬件和软件设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力,同时提倡团队合作精神。 2. 课程设计的任务及要求1) 基本要求:(1) 对系统功能进行需求分析;(2) 提出系统的设计方案;(3) 完成硬件设计和编写源程序代码并进行必要的调试。2) 创新要求ADC0832是双通道,由程序可以任意的选取通道进行显示。3) 课程设计报告撰写及装订要求课程设计报告的撰写要求表述简明,图表
3、准确。报告按如下内容和顺序用A4纸进行打印并装订成册。(1)封面采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。(2)设计任务书(3)评阅书(4)目录 (5)正文 (6)主要参考文献4) 课程设计完成标准要求: 每人按指定题目进行设计,严禁抄袭,要求每人自己动手编写程序,采取同一组同时检查程序及运行结果,检查时同组成员每人陈述自己的分工,同一选题不同组如发现代码完全一样,则双方都作不及格处理。(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确;(2)能正确回答设计的中老师所提问题;(3)课程设计报告书写规范整齐;(4)心得体会认真总结;(5)程序有创新性;成绩评定实行
4、优秀、良好、中等、及格和不及格五个等级。不及格者需重做。5) 课程设计进度安排(1)准备阶段(3学时):选择设计题目、了解设计目的要求、查阅相关资料。(2)程序模块设计分析阶段(4学时):程序总体设计、详细设计。(3) 代码编写调试阶段(10学时):程序模块代码编写、调试、测试。(4) 撰写论文阶段(3学时):总结课程设计任务和设计内容,撰写课程设计论文。6)课程设计题目具体要求: 利用所学的知识,或通过上网查询或书籍资料,来完成测量05V电压的数字电压表并且用三个数码管显示出来。通过ADC0832完成数模转换,本次课程设计使用的单片机为AT89S52增强型单片机,带有ADC0832转换器,输
5、入口为P3.6口,给单片机送入数据,完成对数据的收集。输出端用p3.7口。P1口用于实现频率的设计,给单片机一个12MHz的频率。用六个七段数码管来完成数据显示,分别控制各位,小数点后一位,小数点后两位。数码管的段选接p0口,位选接p2口,因为数码管是共阳极,所以需要电源来提供高电压,当是低电平时,数码管亮,当是高点平时,则不亮。编写c语言或者汇编语言程序,在程序中实现对0832通道的选择,而且可以采用滤波的原理保证数据的稳定性和准确性。学生签名: 20 年 月 日摘 要本设计基于AT89C52单片机为核心,以ADC0832数模转换芯片采样,以数码显示管显示的具有电压测量的功能的具有一定的精度
6、的双路的数字电压表。采用单片机的数字电压表,由精度高,抗干扰能力强,可扩展性强,集成方便。目前,由各种单片A/D转换器构成的额数字电压表,已被广泛用于电子及电工测量、工业自动化仪表,自动测试系统等智能化测量领域,示出强大的生命力。介绍单片A/D转换器以及由它们构成的基于单片机的数字电压表的工作原理。关键词:AT89C51、 ADC0832、RS232、显示 目 录一、需求分析1二、概要设计3三、硬件设计6四、软件设计和分析9五、调试结果10六、读书心得10七、参考文献.11一、 芯片简介1、内部框图2、AT89C52AT89C52提供以下标准功能:8k字节Flash闪速存储器,256字节内部R
7、AM,32个IO口线,3个16位定时计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。3、单片机引脚4、ADC0832 ADC0832 是美国国家半导体公司生产的一种 8 位分辨率、双通道 A/D 转换 芯片。由于它体积小兼容性强性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用 ADC0832 可
8、是使我们了解 A/D 转换器 的原理有助于我们单片机技术水平的提高。芯片接口说明 CS_ 片选使能低电平芯片使能。 CH0 模拟输入通道 0或作为 IN+/-使用。 CH1 模拟输入通道 1或作为 IN+/-使用。GND 芯片参考 0 电位地。 DI 数据信号输入选择通道控制。DO 数据信号输出转换数据输出。CLK 数据信号输出转换数据输出。Vcc/REF 电源输入及参考电压输入复用。5、芯片引脚6、接口P3.5对应ADC0832的CSP3.6对应ADC0832的DIP3.7对应ADC0832的DOP2.1对应的ADC0832的CLK二、第2章 系统总体结构与工作原理 2.1 系统结构框图 根
9、据项目要求确定该系统的设计方案图3-1为该系统设计方案的结构框图。硬件电路由6各部分组成即单片机、时钟电路、复位电路、LED显示电路、A/D装唤器和测量电压输入电路。2.2工作原理 系统采用12M晶振产生脉冲做AT89C52的内部时钟信号通过软件设置单片机的内部定时器T0产生中断信号。利用中断设置单片机的P2.4口取反产生脉冲做AT89C51的时钟信号。通过键盘选择八路通道中的一路将该路电压送入ADC083相应通道单片机软件设置ADC0832开始A/D转换,转换结束ADC0832的DO端口产生高电平,同时将ADC0832的CS端口置为高电平,单片机将转换后结果存到片内RAM。系统调出显示子程序
10、将保存结果转化为0.00-5.00V分别保存在片内RAM;系统调出显示子程序将转化后数据查表输出到LED显示电路,将相应电压显示出来程序进入下一个循环。三、 硬件设计说明3.1 单片机AT89C52图3-1数码管LED_6(笔段AH)与单片机CPU的p0.0p0.6一一对应数码管LED_6(位)与单片机CPU的p2.7p2.2一一对应P3.0对应RS232的RX端P3.1对应RS232的TX端P3.5对应ADC0832的CSP3.6对应ADC0832的DIP3.7对应ADC0832的DOP2.1对应的ADC0832的CLK3.2、数码管显示Dpy_Amber_ca是共阳极共阳数码管是指将所有发
11、光二极管的阳极接到一起形成公阳极(COM)的数码管。共阳数码管在应用时应将公极COM接到+5V,当某一字段发光的二极管的阴极为低电平时,相应字段就点亮。当某一字段阴极为高电平时,形影字段不亮。数码管电路原理图图3-23.3、A/D转换模块及转化电路设计ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实
12、现通道功能的选择电路图如下图3-33.4、RS232RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英rs232文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。电路图图3-4第4章 软件设计与说明 1、进行应用软件设计时可以采用模块化结构设计其优点是每个模块的程序结构简单任务明确、易于编写、调试和修改程序可读性好对程序的修改可局部进行其他部分可以保持不变,易于功能扩充和版本升级 易于使用频繁的子程序可以建立子程序便于多个模块调
13、用 便于分工合作多个程序员同时进行程序的编写和调试工作加快软件研制进度。2、程序的设计 主程序的设计 主程序的内容一般包括主程序的起始地址、中断服务额程序的起始地址、有关内存单元及相关部件的初始化和一些子程序调用等。根据设计要求设计出如图4-2所示的主程序流程图。 A/D转换子程序的设计 A/D转换程序的功能是采集数据再整个系统设计中占有很高的地位。当系统置好后单片机扫描转换结束管脚P2.6的输入电平状态当输入为高电平则转换完成将转换的数值转换并显示输出。若输入为低电平则继续扫描。程序流程图如图4-3所示。 数码转换及显示子程序的设计 由于人们日常习惯使用十进制数而计算机的键盘输入、输出以及显
14、示常采用二进制编码的十进制数即BCD码或ASCII码。因此在程序设计中经常要进行数码转换。 第5章 调试结果及其说明首先采用Keil Vision编译器进行源程序编译及仿真调试调试好程序后将目标文件导入Proteus进行软件调试。六、读书心得通过这次课程设计我也发现了自身存在的不足之处虽然感觉理论上已经掌握但在运用到实践的过程中仍有意想不到的困惑经过一番努力才得以解决。这也激发了我今后努力学习的兴趣我想这将对我以后的学习产生积极的影响。总体来说这次实习使我受益匪浅。在摸索该如何设计电路使之实现所需功能的过程中特别有趣培养了我的设计思维增加了实际操作能力。在让我体会到了设计电路的艰辛的同时更让我
15、体会到成功的喜悦和快乐。通过这两个星期的学习让我把书本上的知识转换成实际可操作的东西,虽然也做过实验但课程设计这种系统和具有一定规模收获是更多的。七、 参考文献1彭为 单片机典型系统设计实例精讲 北京电子工业出版社2006 2张毅刚 单片机原理与应用设计 北京电子工业出版社2008 3王迎旭单片机原理与应用 北京机械工业出版社2004.7 4周向红52系列单片机应用与实践教程 北京北京航空航天大学出版社2008.5程序附录:LED EQU P0AD_CS BIT P3.4AD_CLK BIT P3.3AD_DAT BIT P3.2SDATA BIT P0.1SCLK BIT P0.0K1 BI
16、T P3.0CH_XZ BIT 40H;ORG 0000HAJMP STARTSTART: MOV SP,#60HMOV A,#00HMOV 20H,AMOV 30H,AMOV 31H,AMOV 32H,AMOV 33H,AMOV P0,#0FFHSTART2: JB K1,START3CPL CH_XZJNB K1,$START3: LCALL AD_CONVLCALL AD_CHULILCALL ADPLAYAJMP START;AD_CONV: SETB AD_CSCLR AD_CLKNOPNOPCLR AD_CSNOPSETB AD_DATSETB AD_CLKNOPNOPCLR AD
17、_DATCLR AD_CLKSETB AD_DATNOPNOPSETB AD_CLKNOPNOPCLK AD_CLKNOPJB CH_XZ,CH1_INCLR AD_DATMOV 33H,#0AHNOPAJMP NEXTCH1_IN: SETB AD_DATMOV 33H,#0BHNEXT: NOPSETB AD_CLKNOPNOPCLR AD_CLKSETB AD_DATNOPNOPSETB AD_CLKNOPNOPMOV R1,#8AD_READ: CLR AD_CLKNOPNOPMOV C,AD_DATRCL,ASETB AD_CLKNOPNOPDJNZ R1,AD_READSETB A
18、D_CSCLR AD_CLKSETB AD_DATMOV 20H,ARET;AD_CHULI: MOV A,20HMOV B,$51DIV ABMOV 32H,AMOV A,BCLR F0SUBB A,#1AHMOV F0,CMOV A,#10MUL ABMOV B,#51DIV ABJB F0,AD_CHULI1ADD A,#5AD_CHULI1: MOV 31H,AMOV A,BCLR F0SUBB A,#1AHMOV F0,CMOV A,#10MUL ABMOV B,#51DIV ABJB F0,AD_CHULI2ADD A,#5AD_CHULI2: MOV 30H,ARET;ADPLA
19、Y: MOV R0,#30H MOV R4,#7FHMOV DPTR #TABDISP: MOV LED,#0F0HMOV A,R0MOVC A,A+DPTRMOV 21H,R4JB 21H.5,WORDSETB ACC.7WORD: MOV R5,#8NEXTB: RLC AMOV SDATA,CSETB SCLKNOPCLR SCLKDJNZ R5,NEXTBINC R0MOV A,R4ANL LED,ALCALL DELAY1MSRR AMOV R4,AJB ACC.3,DISPRET;DELAY1MS: MOV R6,#5DEL1: MOV R7,#100DJNZ R7,$DJNZ R6,DEL1RET;TAB: DB 31H,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FHDB 01H, 08H;END