课 设 报 告 系 名课程名称 设计题目 专 业班 级 姓 名学 号指导教师 时 间 电信工程系 单片机课程设计 数字电流表设计 电子信息工程
目 录
一.引言 ………………………………………………………1 设计要求 …………………………………………………1 设计意义 …………………………………………………1 二.系统硬件设计 ………………………………………………1 结构框图 …………………………………………………2 原理及功能 ………………………………………………2 硬件电路设计 ……………………………………………2 三.系统软件设计 ………………………………………………4 系统程序清单 ……………………………………………4 仿真结果 …………………………………………………14 四.课设总结 ……………………………………………………15 五.参考文献 ……………………………………………………16
1 引言
随着微电子技术的迅速发展和超大规模集成电路的出现,特别是单片机的出现,正引起测量、控制仪表领域新的技术。采用单片机作为测量仪器的主控制器,这种以单片机为主体的新型智能仪表将计算机与测量控制技术结合在一起,在测量工程自动化,测量结果所举处理以及功能的多样化方面取得了巨大的进步。
基于单片机的智能综合仪表是基于智能化、数字化、网络化、新一代智能仪表的设计理念,采用智能调理、灵巧总线、工业网络、液晶显示、电子储存
技术、综合指示仪表、调节仪表、计算仪表与记录仪表功能。具有高测量控制精度、工可靠性稳定性的特点。
通过数字电流表的设计方案,掌握了汇编语言的编程方法, 并熟练的运用ATC51单片机定时器以及ADC0808模/数转换芯片将模拟电流量转变为数字量然后在液晶显示屏上直接显示数字的电流值。
设计要求
⑴ 测量电流范围在—100mA。
⑵ 通过改变滑动变阻器的阻值来改变电流量。
设计意义
⑴ 进一步熟悉和掌握单片机的结构和工作原理。
⑵ 掌握单片机的接口技术及ADC0808芯片的特性、控制方法。
⑶ 通过这次课程设计,掌握以单片机为核心的电路设计的基本方法和技术。 ⑷ 通过实际程序的设计和调试,逐步掌握模块化程序设计的方法和调试技术。
⑸ 通过完成一个包括电路设计和程序开发的完整过程,使自身了解开发单片机应用系统的全过程,强化巩固所学知识,为以后的学习和工作打下基础。
二.系统硬件设计
测量2—100mA的主流电流,通过输入电路把信号送给ADC0808,转换为 数字信号再送至ATC51单片机,通过P0口经数码管显示出测量值。
结构框图
如图1—1所示
输入电路 ADC0808 单片机ATC51 LED数码显示 图 1—1
原理及功能
8路数字电流表主要利用A/D转换器,其过程如下:先用A/D转换器对各电流值进行采样,得到相应的数字量,再按数字量与模拟量成比例关系运算得到相应的模拟电流值,然后把模拟值通过数码管显示出来。设计时假设待测的输入电流为8路,电流值的范围为0—100mA,要求能在LED数码管上显示。
硬件电路设计
8路数字电流表应用系统硬件电路由单片机、A/D转换器、数码管显式电路和滑动变阻器处理电路等组成,电路原理图如图1—2所示。
图 1 —2
ADC0808具有8路模拟量输入的通道IN0—IN7,通过3为地址输入端C、B、A(引脚23—25)进行选择。引脚22为地址锁存控制端ALE,当输入为高电平时,C、B、A引脚输入的地址锁存于ADC0808内部的锁存器中,径内部译码电路译码选中相应的模拟通道。引脚6为启动转换控制端START。引脚7为A/D转换器,当开始转换时,EOC信号为低电平,经过一段时间,转换结束,转换结束信号EOC输出高电平,转换结果存放于ADC0808内部的输出数据寄存器中。引脚9为A/D转换数据输出允许控制端OE,当OE为高电平是,存放于输出数据锁存器中的数据通过ADC0808的数据线D1—D7输出。引脚10为ADC0808的时钟信号输入端CLOCK。在连接时,ADC0808的数据线D0—D7与ATC51的P1相连接,ADC0808的地址锁存端ALE、启动信号START与ATC51的相连接,ADC0808的数据输出允许控制端OE与AT98C51的相连接,转换电路EOC与ATC51的相连接。LED的数码显示管通过ATC51的P0—P7口控制。RV1和RV2是两个滑动变阻器开关,通过两个电压比较器与ADC0808的输入端相连接。
三.系统软件设计
系统程序清单:
CLOCK BIT
;定义ADC0808时钟位
RS EQU RW EQU E EQU ADC ST
EQU 35H BIT
00H
;存放转换后的数据
EOC BIT
ORG
LJMP START ORG 000BH LJMP
INT_T0
START:
MOV MOV MOV MOV SETB
TMOD,#02H TH0,#245 TL0,#00H IE,#82H TR0
LCALL INIT
lcall DISP_GALVANOMETER
WAIT: CLR
ST
SETB ST CLR JNB
ST
;启动转换
EOC,$
;等待转换结束
;允许输出
;暂存转换结果
MOV
ADC,P1
;关闭输出
MOV A,ADC MOV B,#11 DIV AB MOV 51H,B MOV B,#10 MUL AB ADD A,51H
;欧的数据处理
LJMP JIAOZHENG
MOV B,#2
FANHUI:
DIV AB MOV ADC,A MOV 32H,B
;小数位
CLR C ;显示100以内
MOV A,ADC
MOV B,A MOV A,#99 SUBB A,B JC DISP_100 MOV MOV DIV MOV MOV MOV DIV
A,ADC B,#100 AB 35H,A A,B B,#10 AB
;将AD转换结果转换成BCD码
MOV 34H,A
MOV A,B MOV B,#10 MUL AB MOV B,#10 DIV AB MOV
33H,A
LCALL Disp ;显示AD转换结果 AJMP WAIT
init:lcall delay lcall delay lcall delay ; mov a,#38h
; lcall wrom ;定义成5*7,16*2 ; mov a,#38h
; lcall wrom ;定义成5*7,16*2 ; mov a,#38h
; lcall wrom ;定义成5*7,16*2
mov a,#38h
lcall wrom ;定义成5*7,16*2 lcall delay
mov a,#01h
lcall wrom;清屏 lcall delay
mov a,#06h lcall wrom lcall delay
mov a,#0Ch lcall wrom lcall delay ; LCALL
DISP
clr e ret wrom:clr rs clr rw mov p0,a setb e lcall delay clr e ret wrdata:setb rs clr rw mov p0,a setb e lcall delay clr e ret
DISP_100: mov a,#0C5h;显示位置。。从85H开始 lcall wrom
mov a,#31h lcall wrdata
mov a,#30h lcall wrdata
mov a,#30h lcall wrdata mov a,#2eh
lcall wrdata
mov a,#30h
lcall wrdata
lcall delay300ms ; delay
LJMP WAIT DISP_GALVANOMETER:
mov a,#82h;显示 位置
lcall wrom
mov a,#47h lcall wrdata mov a,#41h lcall wrdata mov a,#4Ch lcall wrdata mov a,#56h lcall wrdata mov a,#41h lcall wrdata mov a,#4Eh lcall wrdata mov a,#4Fh lcall wrdata mov a,#4Dh lcall wrdata mov a,#45h lcall wrdata mov a,#54h lcall wrdata mov a,#45h lcall wrdata mov a,#52h lcall wrdata ret
ADD A,#1 LJMP FANHUI
CJNE A,#72,J1_2
JIAOZHENG: CJNE A,#73,J1_1
J1_1:
ADD A,#1 LJMP FANHUI
CJNE A,#71,J1_3
J1_2:
ADD A,#1
LJMP FANHUI
CJNE A,#70,J1_4
J1_3:
ADD A,#2 LJMP FANHUI
CJNE A,#69,J1_5
J1_4:
ADD A,#2 LJMP FANHUI
CJNE A,#68,J1_6
J1_5:
ADD A,#2 LJMP FANHUI
CJNE A,#67,J1_7
J1_6:
ADD A,#2 LJMP FANHUI
CJNE A,#66,J1_8
J1_7:
ADD A,#2 LJMP FANHUI
CJNE A,#65,J1_9
J1_8:
ADD A,#2 LJMP FANHUI
CJNE A,#,J1_10
J1_9:
ADD A,#2 LJMP FANHUI
CJNE A,#63,J1_11
J1_10:
ADD A,#2 LJMP FANHUI
CJNE A,#62,J1_12
J1_11:
ADD A,#2 LJMP FANHUI
CJNE A,#61,J1_13 ;
J1_12:
ADD A,#2 LJMP FANHUI
CJNE A,#60,J1_14
J1_13:
ADD A,#1 LJMP FANHUI
J1_14:
CJNE A,#59,J1_15
ADD A,#0 LJMP FANHUI
CJNE A,#58,J1_16
J1_15:
ADD A,#1 LJMP FANHUI
CJNE A,#57,J2
J1_16:
ADD A,#2 LJMP FANHUI CJNE A,#56,J3 ADD A,#3 LJMP FANHUI CJNE A,#55,J4 ADD A,#3 LJMP FANHUI CJNE A,#54,J5 ADD A,#3 LJMP FANHUI CJNE A,#53,J6 ADD A,#3 LJMP FANHUI CJNE A,#52,J7 ADD A,#3 LJMP FANHUI CJNE A,#51,J8 ADD A,#3 LJMP FANHUI CJNE A,#50,J9 ADD A,#3 LJMP FANHUI CJNE A,#49,J10 ADD A,#3 LJMP FANHUI
CJNE A,#48,J11
J2:
J3:
J4:
J5:
J6:
J7:
J8:
J9:
J10:
ADD A,#3 LJMP FANHUI
CJNE A,#47,J12
J11:
ADD A,#3 LJMP FANHUI
CJNE A,#46,J13
J12:
ADD A,#3 LJMP FANHUI
CJNE A,#45,J14
J13:
ADD A,#3 LJMP FANHUI
CJNE A,#44,J15
J14:
ADD A,#3 LJMP FANHUI
CJNE A,#43,J16
J15:
ADD A,#3 LJMP FANHUI
CJNE A,#42,J17
J16:
ADD A,#3 LJMP FANHUI
CJNE A,#41,J18
J17:
ADD A,#3 LJMP FANHUI
CJNE A,#40,J19
J18:
ADD A,#3 LJMP FANHUI
CJNE A,#39,J20
J19:
ADD A,#3 LJMP FANHUI
CJNE A,#38,J21
J20:
ADD A,#3 LJMP FANHUI
CJNE A,#37,J22
J21:
ADD A,#3
LJMP FANHUI
CJNE A,#36,J23
J22:
ADD A,#3 LJMP FANHUI
CJNE A,#35,J24
J23:
ADD A,#3 LJMP FANHUI
CJNE A,#34,J25
J24:
ADD A,#3 LJMP FANHUI
CJNE A,#33,J26
J25:
ADD A,#3 LJMP FANHUI
CJNE A,#32,J27
J26:
ADD A,#3 LJMP FANHUI
CJNE A,#31,J28
J27:
ADD A,#3 LJMP FANHUI
CJNE A,#30,J29
J28:
ADD A,#3 LJMP FANHUI
CJNE A,#29,J30
J29:
ADD A,#3 LJMP FANHUI
CJNE A,#28,J31
J30:
ADD A,#3 LJMP FANHUI
CJNE A,#27,J32
J31:
ADD A,#3 LJMP FANHUI
CJNE A,#26,J33
J32:
ADD A,#3 LJMP FANHUI
J33:
CJNE A,#25,J34
ADD A,#3 LJMP FANHUI
CJNE A,#24,J35
J34:
ADD A,#3 LJMP FANHUI
CJNE A,#23,J36
J35:
ADD A,#3 LJMP FANHUI
CJNE A,#22,J37
J36:
ADD A,#3 LJMP FANHUI
CJNE A,#21,J38
J37:
ADD A,#3 LJMP FANHUI
CJNE A,#20,J39
J38:
ADD A,#3 LJMP FANHUI
CJNE A,#19,J40
J39:
ADD A,#3 LJMP FANHUI
CJNE A,#18,J41
J40:
ADD A,#3 LJMP FANHUI
CJNE A,#17,J42
J41:
ADD A,#3 LJMP FANHUI
CJNE A,#16,J43
J42:
ADD A,#3 LJMP FANHUI
CJNE A,#15,J44
J43:
ADD A,#3 LJMP FANHUI
CJNE A,#14,J45
J44:
ADD A,#3 LJMP FANHUI
CJNE A,#13,J46
J45:
ADD A,#3 LJMP FANHUI
CJNE A,#12,J47
J46:
ADD A,#2 LJMP FANHUI
CJNE A,#11,J48
J47:
ADD A,#2 LJMP FANHUI
CJNE A,#10,J49
J48:
ADD A,#2 LJMP FANHUI
CJNE A,#9,J50
J49:
ADD A,#3 LJMP FANHUI
CJNE A,#8,J51
J50:
ADD A,#3 LJMP FANHUI
CJNE A,#7,J52
J51:
ADD A,#3 LJMP FANHUI
CJNE A,#6,J53
J52:
ADD A,#4 LJMP FANHUI
CJNE A,#5,J54
J53:
ADD A,#4 LJMP FANHUI
CJNE A,#4,J55
J54:
ADD A,#4 LJMP FANHUI
CJNE A,#3,J56
J55:
ADD A,#3
LJMP FANHUI
CJNE A,#2,J57
J56:
ADD A,#2 LJMP FANHUI
CJNE A,#1,J58
J57:
ADD A,#1
LJMP FANHUI
J58:
disp: mov a,#0C5h;显示位置。。从85H开始 lcall wrom
mov a,35h add a,#30h
lcall wrdata
mov a,34h add a,#30h lcall wrdata
mov a,33h add a,#30h lcall wrdata
mov a,#2eh lcall wrdata
mov a,32h mov b,#5 mul ab
add a,#30h lcall wrdata mov a,#'m' lcall wrdata mov a,#'A'
lcall wrdata lcall delay300ms
ret
INT_T0: CPL
RETI
CLOCK
;提供ADC0808时钟信号
delay300ms: MOV R5,#60 D1_1: LCALL DELAY_2 DJNZ R5,D1_1
RET
DELAY: MOV R6,#10
D1: MOV R7,250 DJNZ R7,$ DJNZ R6,D1
RET
DELAY_2: MOV
R6,#10 D2: MOV R7,250 DJNZ R7,$ DJNZ R6,D2
RET
仿真结果
;延时5毫秒
;延时5毫秒
四、课设总结
自己对单片机的硬件设计,软件设计掌握的深度不够,但通过此次课程设计,却改变了很多,首先对于硬件电路的工作原理有了进一步的学习,同样就有了进
一步的认识;其次软件方面,在程序的设计,程序的调试方面都学到了很多东西,这是第一次编写单片机的大程序,很有成就感。在一个好的氛围里才能踏下心来做东西,在这几天课设的时间里,实验室的氛围对我们的影响很大,大家一起努力,这也是我们能完成课设的动力。另外在编程中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克服困难,我们也是这么做的,这在课设中十分重要。为了减少主程序的长度,为了易于检测和调试,应尽量多点设置不同功能的子模块,子程序。
单片机在现实生活中有很大的的实用价值,学好这们课程非常关键,可以让自己的知识储备更加丰富,而这次课程设计正好提供了一个很好的机会加深对单片机知识的掌握。通过这次课程设计,我对proteus以及Keil等软件的使用掌握的更加熟练,对汇编语言程序有了跟深层次的理解。
因为已经是大四了,各方面事情都比较所以这次课设显得很仓促,做得很不完善,在制作和调试过程中由于对程序和电路没有设计好出了不少问题,这给我提供了很好的经验教训,对自己以后的课设很有帮助。不过总体上来说这次课设还是比较成功的,自己懂得了不少东西,制作的数字电流表也很有价值。增长了自己的知识受益匪浅。
五.参考文献
[1] 胡辉主编.单片机原理及应用设计.北京:中国水利水电出版社,2005,1—284页.
[2] 张桂红主编.单片机原理与应用.福州:福建科学技术出版社,,306—315页.
[3] 韩志军等编著.单片机应用系统设计:入门向导与设计实例.北京:机械工业出版社,2005.1,132—147页.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务