微机原理与单片机课程设计单片机数字电压表的课程设计.doc
新能源与动力工程学院课程设计报告微机原理与单片机课程设计 专业电力工程与管理 班级电力1201 姓名 学号201211312 指导教师2014年 12 月兰州交通大学新能源与动力工程学院课程设计任务书课程名称: 单片机课程设计 指导教师(签名): 王鹏元 班级: 电力工程与管理1201 姓名: 高翔 学号: 201211312 一、课程设计题目基于单片机数字电压表设计二、课程设计使用的原始资料(数据)及设计技术要求:按照设计要求简易数字电压测量电路由电压采集、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.审核批准意见系主任(签字) 年月日指导教师评语及成绩指导教师评语成绩设计过程(40)设计报告(50)小组答辩(10)总成绩(100)指导教师签字: 年 月 日目 录1.单片机课程设计的目的12.单片机数字电压表课程设计的要求12.1 单片机课程设计的要求13.设计的内容13.1 课程设计的内容13.2 电压表实现的功能13.3 总体设计13.4 设计方案23.5 单片机部分43.6 A/D转换部分63.7 编程思路与程序流程84.设计总结14附录16参考文献171.单片机课程设计的目的 通过制作简易数字电压表,加深对所学专业知识的认识,提高对单片机的应用能力,提高收集文献,资料的能力,从而达到综合运用所学的知识进行电子产品设计,制作与调试。2.单片机数字电压表课程设计的要求2.1 单片机课程设计的要求(1)可以测量0-10V的8路输入电压值。(2)能用LED数码管或LCD显示测量结果。(3)测量范围可达020V,最小分辨率为0.1V。(4)电压表具有超量程的报警功能。(5)系统具有复原功能。3.设计的内容3.1 单片机课程设计的内容(1)数字电压表总体电路设计及论证。(2)分析设计要求,明确性能指标;查阅资料、进行设计方案论证。(3)论证并确定合理的总体设计方案,绘制总体机构框图,分析工作原理。(4)完成数字电压表的电路设计:单片机部分、A/D转换、显示等各单元具电路设计,包括芯片选择、计算电路元参数,分析工作原理。3.2 电压表实现的功能该数字电压表可以测量010V的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示。测量最小分辨率为0.1V。3.3 总体设计按系统功能实现要求,决定控制系统采用AT89S52单片机,A/D转换采用ADC0809。系统除能确保实现要求的功能外,还可以方便地进行8路其他A/D转换量的测量、远程测量结果传送等扩展功能。数字电压表系统设计方案框图如下图。图(1) 数字电压表统计设计方案3.4 设计方案按照设计要求简易数字电压测量电路由电压采集、A/D转换、复位电路、数据处理及显示控制等组成,电路原理图如图3.4.1所示。单片机选用AT89S51,该芯片具有低功耗、高性能的特点。A/D转换由集成电路0809完成。0809具有8路模拟输入端口,地址线(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.1电源电路 图(2) 电源电路 3.4.2 复位电路如下图所示,本设计采用按键式复位电路,它的上电复位利用电容器充电来实现,同时通过按键实现复位,按下键后,通过R1和R2形成回路,使RESET端产生高电平。按键的时间决定了复位时间。图(3)复位电路3.4.3 时钟电路图(4) 时钟电路3.4.4 系统原理图 图(5) 系统原理图3.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) 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口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。每一根引脚都可以编程。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.73.6 A/D转换部分A/D转换部分采用ADC0809,ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。(1)ADC0809的内部逻辑结构如图3.6.1 图(7) 内部逻辑结构图由图3.6.1可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。(2)ADC0809的引脚结构见图3.6.2图(8) ADC0809的引脚结构3.8 编程思路与程序流程3.8.1 程序流程在刚上电时,系统默认为循环显示8个通道的电压值状态。当进行一次测量后,将显示每一通道的A/D转换值,每个通道的数据显示时间为1S左右。主程序在调用显示子程序和测试之程序之间循环,主程序流程图见图开始初始化调用A/D转换子程序调用显示子程序 图(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,#60HMAIN: 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 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 ;送位码 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 ;显示十分位 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 RETSTART_WDIV: CLR A MOV R2,A MOV R3,A MOV R1,#16DIV1: CLR C MOV A,R6 RLC A MOV R6,A MOV A,R7 RLC A 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,ANEXT_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,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,ANEXT_DIV: DJNZ R1,DIV1 RETOVERFLOW: SETB F0 RET;*;入口参数:无:;占用资源:R2,R3;返回值:无;*DELAY2MS: MOV R2,#2DE_LOOP: MOV R3,#250 DJNZ R3,$ DJNZ R2,DE_LOOP RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;09共阴段码表 END4.设计总结此次的设计,其实也是我们所学知识的一次综合运用,让我生深深认识到学习单片机要有一点基础,要有电子技术方面的数字电路和模拟电路等方面的理论知识,特别是数字电路;也要有编程语言的汇编语言或C语言。要想成为单片机高手,我们首先要学好汇编语言,然后转入C语言的学习,所以我们不能学到后面就忘了前面的知识,更应该将所学知识紧紧地结合在一起,综合运用,所为设计,就是要创新,只有将知识综合运用起来才能真正的设计好。附录 图 (10)数字电压表总原理图 参考文献1 徐爱钧智能化测量控制仪表原理与设计(第二版)M.北京:北京航天航空大学出版社,2004.2 郭庭吉8051单片机实践与应用M.北京:清华大学出版社,2002.3 高峰单片微型计算机与接口技术M.北京:科学出版社,2003.4 赵俊逸黄勇2003年全国单片机及嵌如入式系统学术年会论文集(下册)C .北京:北京航空航天大学出版社,2003.