微机原理与单片机课程设计-单片机数字电压表的课程设计.doc_第1页
微机原理与单片机课程设计-单片机数字电压表的课程设计.doc_第2页
微机原理与单片机课程设计-单片机数字电压表的课程设计.doc_第3页
微机原理与单片机课程设计-单片机数字电压表的课程设计.doc_第4页
微机原理与单片机课程设计-单片机数字电压表的课程设计.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

新能源与动力工程学院新能源与动力工程学院 课程设计报告 微机原理与单片机课程设计 专业电力工程与管理 班级电力 1201 姓名 学号201211312 指导教师 2014 年 12 月 兰州交通大学新能源与动力工程学院课程设计任务书兰州交通大学新能源与动力工程学院课程设计任务书 课程名称:课程名称: 单片机课程设计单片机课程设计 指导教师(签名):指导教师(签名): 王鹏元王鹏元 班级:班级: 电力工程与管理电力工程与管理12011201 姓名:姓名: 高翔高翔 学号:学号: 201211320121131212 一、课程设计题目一、课程设计题目 基于单片机数字电压表设计 二、课程设计使用的原始资料(数据)及设计技术要求:二、课程设计使用的原始资料(数据)及设计技术要求: 按照设计要求简易数字电压测量电路由电压采集、a/d 转换、复位电路、数据处 理及显示控制等组成, 三、课程设计的目的三、课程设计的目的 通过制作简易数字电压表,加深对所学专业知识的认识,提高对单片机的应用能 力,提高收集文献,资料的能力,从而达到综合运用所学的知识进行电子产品设计, 制作与调试。 四、课程设计的主要内容和要求四、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求 等) (1)可以测量 0-10v 的 8 路输入电压值。 (2)能用 led 数码管或 lcd 显示测量结果。 (3)测量范围可达 020v,最小分辨率为 0.1v。 (4)数字电压表具有超量程的报警功能,系统具有复原功能。 五、工作进度安排五、工作进度安排 7 月 6 日 熟悉课程设计内容及要求制定方案。 7 月 7 日 设计电路及软件测试 7 月 8 日 采购数字电压表组件按照设计电路进行焊接。 7 月 9 日 产品整理并完成设计报告及答辩 六、主要参考文献六、主要参考文献 1 郭庭吉8051 单片机实践与应用m.北京:清华大学出版社,2002. 2 高峰单片微型计算机与接口技术m.北京:科学出版社,2003. 审核批准意见审核批准意见 系主任(签字)系主任(签字) 年年 月月 日日 指导教师评语及成绩指导教师评语及成绩 指导教师评语指导教师评语 设计过程设计过程 (4040) 设计报告设计报告 (5050) 小组答辩小组答辩 (1010) 总成绩总成绩 (100100) 成绩成绩 指导教师签字:指导教师签字: 年年 月月 日日 目目 录录 1.1.单片机课程设计的目的单片机课程设计的目的1 1 2.2.单片机数字电压表课程设计的要求单片机数字电压表课程设计的要求1 1 2.12.1 单片机课程设计的要求单片机课程设计的要求 1 1 3.3.设计的内容设计的内容1 1 3.13.1 课程设计的内容课程设计的内容 1 1 3.23.2 电压表实现的功能电压表实现的功能 1 1 3.33.3 总体设计总体设计 1 1 3.43.4 设计方案设计方案 2 2 3.53.5 单片机部分单片机部分 4 4 3.63.6 a/da/d 转换部分转换部分 6 6 3.3.7 7 编程思路与程序流程编程思路与程序流程 8 8 4.4.设计总结设计总结1 14 4 附录附录1 16 6 参考文献参考文献1 17 7 - 1 - 1.1.单片机课程设计的目的单片机课程设计的目的 通过制作简易数字电压表,加深对所学专业知识的认识,提高对 单片机的应用能力,提高收集文献,资料的能力,从而达到综合运用所 学的知识进行电子产品设计,制作与调试。 2.2.单片机数字电压表课程设计的要求单片机数字电压表课程设计的要求 2 2.1.1 单片机课程设计的要求单片机课程设计的要求 (1)可以测量 0-10v 的 8 路输入电压值。 (2)能用 led 数码管或 lcd 显示测量结果。 (3)测量范围可达 020v,最小分辨率为 0.1v。 (4)电压表具有超量程的报警功能。 (5)系统具有复原功能。 3.3.设计的内容设计的内容 3.13.1 单片机课程设计的内容单片机课程设计的内容 (1)数字电压表总体电路设计及论证。 (2)分析设计要求,明确性能指标;查阅资料、进行设计方案论证。 (3)论证并确定合理的总体设计方案,绘制总体机构框图,分析工作 原理。 (4)完成数字电压表的电路设计:单片机部分、a/d 转换、显示等各 单元具电路设计,包括芯片选择、计算电路元参数,分析工作原理。 - 2 - 3.23.2 电压表实现的功能电压表实现的功能 该数字电压表可以测量 010v 的 8 路输入电压值,并在 4 位 led 数 码管上轮流显示或单路选择显示。测量最小分辨率为 0.1v。 3.33.3 总体设计总体设计 按系统功能实现要求,决定控制系统采用 at89s52 单片机,a/d 转 换采用 adc0809。系统除能确保实现要求的功能外,还可以方便地进行 8 路其他 a/d 转换量的测量、远程测量结果传送等扩展功能。数字电压 表系统设计方案框图如下图。 图(1) 数字电压表统计设计方案 3.43.4 设计方案设计方案 按照设计要求简易数字电压测量电路由电压采集、a/d 转换、复位 电路、数据处理及显示控制等组成,电路原理图如图 3.4.1 所示。 单片机选用 at89s51,该芯片具有低功耗、高性能的特点。 a/d 转换由集成电路 0809 完成。0809 具有 8 路模拟输入端口,地 - 3 - 址线(23- 25 脚)可决定对哪一路模拟输入作 a/d 转换。 22 脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。 6 脚为测试控制,当输入一个 2us 宽高电平脉冲时,就开始 a/d 转换。 7 脚为 a/d 转换结束标志,当 a/d 转换结束时,7 脚输出高电平。9 脚 为 a/d 转换数据输出允许控制,当 oe 脚为高电平时,a/d 转换数据从 该端口输出。10 脚为 0809 的时钟输入端,利用单片机 30 脚的六分频 晶振频率再通过 14024 二分频得到 1mhz 时钟。 单片机的 p1、p3.0p3.3 端口作为四位 led 数码管显示控制。p3.5 端口用作单路显示/循环显示转换按钮,p3.6 端口用作单路显示时选择 通道。p0 端口作 a/d 转换数据读入用,p2 端口用作 0809 的 a/d 转换控 制。 3.4.13.4.1 电源电路电源电路 1 2 j2 vcc gn d vcc 图(2) 电源电路 3.4.2 复位电路复位电路 如下图所示,本设计采用按键式复位电路,它的上电复位利用 电容器充电来实现,同时通过按键实现复位,按下键后,通过 r1 和 r2 形成回路,使 reset 端产生高电平。按键的时间决定了复位时 间。 - 4 - 123456 a b c d 654321 d c b a title numberrevisionsize b date:29-aug-2005sheet of file:f:guihua .ddbdrawn by: y1 crystal c1 cap c2 cap gnd x1x2 reset r? res2 r? res2 c? 22uf gnd vcc vcc reset vss 图(3)复位电路 3.4.3 时钟电路时钟电路 y1 crystal c3 30pf c2 30pf gn d x1 x2 图(4) 时钟电路 3.4.43.4.4 系统原理图系统原理图 - 5 - 图(5) 系统原理图 3.53.5 单片机部分单片机部分 单片机选用的是 at89s51,如下图 3.5.1 所示。该芯片具有低功耗、 高性能的特点,是采用 cmos 工艺的 8 位单片机。 最常见的 at89s51 是采用 40pin 封装的双列直接 pdip 封装,芯片 共有 40 个引脚,引脚的排列顺序为从靠芯片的缺口左边那列引脚逆时 针数起,依次为 1、2、3、4。40,其中芯片的 1 脚顶上有个凹点。 在单片机的 40 个引脚中,电源引脚 2 根,外接晶体振荡器引脚 2 根, 控制引脚 4 根以及 4 组 8 位可编程 i/o 引脚 32 根。 (1)主电源引脚(2 根) vcc(pin40):电源输入,接5v 电源。gnd(pin20):接地线。 - 6 - 图(6) at89s51 引脚图 (2)外接晶振引脚(2 根) xtal1(pin19):片内振荡电路的输入端。 xtal2(pin20):片内振荡电路的输出端。 (3)控制引脚(4 根) rst/vpp(pin9):复位引脚,引脚上出现 2 个机器周期的高电平将 使单片机复位。 ale/prog(pin30):地址锁存允许信号。 psen(pin29):外部存储器读选通信号。 ea/vpp(pin31):程序存储器的内外部选通,接低电平从外部程序 存储器读指令,如果接高电平则从内部程序存储器读指 3、控制引脚 (4 根)。 rst/vpp(pin9):复位引脚,引脚上出现 2 个机器周期的高电平将 使单片机复位。 ale/prog(pin30):地址锁存允许信号。 psen(pin29):外部存储器读选通信号。 ea/vpp(pin31):程序存储器的内外部选通,接低电平从外部程序 存储器读指令,如果接高电平则从内部程序存储器读指令。 (4)可编程输入/输出引脚(32 根) at89s51 单片机有 4 组 8 位的可编程 i/o 口,分别位 - 7 - p0、p1、p2、p3 口,每个口有 8 位(8 根引脚),共 32 根。每一根引 脚都可以编程。 po 口(pin39pin32):8 位双向 i/o 口线,名称为 p0.0p0.7 p1 口(pin1pin8):8 位准双向 i/o 口线,名称为 p1.0p1.7 p2 口(pin21pin28):8 位准双向 i/o 口线,名称为 p2.0p2.7 p3 口(pin10pin17):8 位准双向 i/o 口线,名称为 p3.0p3.7 3.63.6 a/da/d 转换部分转换部分 a/d 转换部分采用 adc0809,adc0809 是带有 8 位 a/d 转换器、8 路 多路开关以及微处理机兼容的控制逻辑的 cmos 组件。 (1)adc0809 的内部逻辑结构如图 3.6.1 - 8 - 图(7) 内部逻辑结构图 由图 3.6.1 可知,adc0809 由一个 8 路模拟开关、一个地址锁存与 译码器、一个 a/d 转换器和一个三态输出锁存器组成。多路开关可选通 8 个模拟通道,允许 8 路模拟量分时输入,共用 a/d 转换器进行转换。 三态输出锁器用于锁存 a/d 转换完的数字量,当 oe 端为高电平时,才 可以从三态输出锁存器取走转换完的数据。 (2)adc0809 的引脚结构见图 3.6.2 图(8) adc0809 的引脚结构 3.83.8 编程思路与程序流编程思路与程序流程程 3.8.1 程序程序流程流程 在刚上电时,系统默认为循环显示 8 个通道的电压值状态。当进行 一次测量后,将显示每一通道的 a/d 转换值,每个通道的数据显示时间 为 1s 左右。主程序在调用显示子程序和测试之程序之间循环,主程序 流程图见图 开始 初始化 调用 a/d 转换子程序 调用显示子程序 - 9 - 图(9) 主程序流程图 (1)主程序 org 0 clk bit p3.4 do bit p3.5 di bit p3.6 cs bit p3.7 wanwei equ 30h qianwei equ 31h baiwei equ 32h shiwei equ 33h gewei equ 34h mov sp,#60h main: lcall adc lcall process lcall display sjmp main ;* ;功能:进行一次 ad 转换 ;入口参数:无 ;占用资源:a,r7 ;返回值:a(转换值) ;* adc: clr cs mov a,#03h; 启动位 1,端口设置为 10; mov r7,#03h;3 次循环 loop1: clr clk rrc a mov di,c - 10 - nop setb clk djnz r7,loop1 clr clk nop setb clk mov r7,#8;读取 8 位数据 loop2: setb clk nop clr clk mov c,do ;高位先移入 rlc a djnz r7,loop2 setb cs ;关闭芯片 ret ;* ;功能:数据处理 ;入口参数:a ;占用资源:b,hex_to_bcd ;返回值:5 个单元(同 hex_to_bcd) ;* process: mov b,#2 ; 转换值*2,即(0.02*100) mul ab mov r7,b mov r6,a lcall hex_to_bcd; 数位分离 ret ;* ;功能:数码管动态显示 ;入口参数:5 个单元 ;占用资源:a,dptr,p1,p2,delay2ms ;返回值:无 ;* display: mov dptr,#tab ; 数码管显示 mov a,gewei ; 显示百分位 movc a,a+dptr ; 查段码表 mov p1,a ;送段码 mov p2,#0feh ;送位码 - 11 - lcall delay2ms mov p2,#0ffh ;除残影 mov a,shiwei ; 显示十分位 movc a,a+dptr mov p1,a mov p2,#0fdh rlc a djnz r7,loop2 setb cs ;关闭芯片 ret ;* ;功能:数据处理 ;入口参数:a ;占用资源:b,hex_to_bcd ;返回值:5 个单元(同 hex_to_bcd) ;* process: mov b,#2 ; 转换值*2,即(0.02*100) mul ab mov r7,b mov r6,a lcall hex_to_bcd; 数位分离 ret ;* ;功能:数码管动态显示 ;入口参数:5 个单元 ;占用资源:a,dptr,p1,p2,delay2ms ;返回值:无 ;* display:mov dptr,#tab ; 数码管显示 mov a,gewei ; 显示百分位 movc a,a+dptr ; 查段码表 mov p1,a ;送段码 mov p2,#0feh ;送位码 lcall delay2ms mov p2,#0ffh ;除残影 mov a,shiwei ; - 12 - 显示十分位 movc a,a+dptr mov p1,a mov p2,#0fdh mov a,r2 mov r6,a mov r5,#00h mov r4,#100;100 lcall wdiv mov baiwei,r6;百位 mov a,r2 mov b,#10 div ab mov shiwei,a mov gewei,b ret ;* ;功能:16 位除法子程序 ;入口参数:r7r6 为被除数,r5r4 为除数 ;占用资源:r1r7,f0 ;返回值:商放回 r7r6,余数放 r3r2,除数 r5r4 不变 ;* wdiv: mov a,r5 jnz chk_dividend ; 判断除数是为 0 mov a,r4 jz overflow ; 除数为 0 置 f0 标志 chk_dividend: mov a,r7 jnz start_wdiv ; 被除数为 0 返回 mov a,r6 jnz start_wdiv ret start_wdiv: clr a mov r2,a mov r3,a mov r1,#16 div1: clr c mov a,r6 rlc a mov r6,a mov a,r7 rlc a - 13 - mov r7,a mov a,r2 rlc a mov r2,a mov a,r3 rlc a mov r3,a mov a,r2 subb a,r4 mov r0,a mov a,r3 subb a,r5 jc next_div inc r6 mov r3,a mov a,r0 mov r2,a next_div: djnz r1,div1 rlc a mov r7,a mov a,r2 rlc a mov r2,a mov a,r3 rlc a mov r3,a mov a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论