数字电流表的设计.docx
- 文档编号:23066246
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:23
- 大小:210.91KB
数字电流表的设计.docx
《数字电流表的设计.docx》由会员分享,可在线阅读,更多相关《数字电流表的设计.docx(23页珍藏版)》请在冰豆网上搜索。
数字电流表的设计
数字电流表的设计
课设报告
系名
电信工程系
课程名称
单片机课程设计
设计题目
数字电流表设计
专业
电子信息工程
班级
姓名
学号
指导教师
时间
一.引言………………………………………………………1
设计要求…………………………………………………1
设计意义…………………………………………………1
二.系统硬件设计………………………………………………1
结构框图…………………………………………………2
原理及功能………………………………………………2
硬件电路设计……………………………………………2
三.系统软件设计………………………………………………4
系统程序清单……………………………………………4
仿真结果…………………………………………………14
四.课设总结……………………………………………………15
五.参考文献……………………………………………………16
1引言
随着微电子技术的迅速发展和超大规模集成电路的出现,特别是单片机的出现,正引起测量、控制仪表领域新的技术革命。
采用单片机作为测量仪器的主控制器,这种以单片机为主体的新型智能仪表将计算机与测量控制技术结合在一起,在测量工程自动化,测量结果所举处理以及功能的多样化方面取得了巨大的进步。
基于单片机的智能综合仪表是基于智能化、数字化、网络化、新一代智能仪表的设计理念,采用智能调理、灵巧总线、工业网络、液晶显示、电子储存技术、综合指示仪表、调节仪表、计算仪表与记录仪表功能。
具有高测量控制精度、工可靠性稳定性的特点。
通过数字电流表的设计方案,掌握了汇编语言的编程方法,并熟练的运用AT89C51单片机定时器以及ADC0808模/数转换芯片将模拟电流量转变为数字量然后在液晶显示屏上直接显示数字的电流值。
设计要求
⑴测量电流范围在—100mA。
⑵通过改变滑动变阻器的阻值来改变电流量。
设计意义
⑴进一步熟悉和掌握单片机的结构和工作原理。
⑵掌握单片机的接口技术及ADC0808芯片的特性、控制方法。
⑶通过这次课程设计,掌握以单片机为核心的电路设计的基本方法和技术。
⑷通过实际程序的设计和调试,逐步掌握模块化程序设计的方法和调试技术。
⑸通过完成一个包括电路设计和程序开发的完整过程,使自身了解开发单片机应用系统的全过程,强化巩固所学知识,为以后的学习和工作打下基础。
二.系统硬件设计
测量2—100mA的主流电流,通过输入电路把信号送给ADC0808,转换为
数字信号再送至AT89C51单片机,通过P0口经数码管显示出测量值。
结构框图
如图1—1所示
图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与AT89C51的P1相连接,ADC0808的地址锁存端ALE、启动信号START与AT89C51的相连接,ADC0808的数据输出允许控制端OE与AT98C51的相连接,转换电路EOC与AT89C51的相连接。
LED的数码显示管通过AT89C51的P0—P7口控制。
RV1和RV2是两个滑动变阻器开关,通过两个电压比较器与ADC0808的输入端相连接。
三.系统软件设计
系统程序清单:
CLOCKBIT;定义ADC0808时钟位
RSEQU
RWEQU
EEQU
ADCEQU35H;存放转换后的数据
STBIT
EOCBIT
ORG00H
LJMPSTART
ORG000BH
LJMPINT_T0
START:
MOVTMOD,#02H
MOVTH0,#245
MOVTL0,#00H
MOVIE,#82H
SETBTR0
LCALLINIT
lcallDISP_GALVANOMETER
WAIT:
CLRST
SETBST
CLRST;启动转换
JNBEOC,$;等待转换结束
;允许输出
MOVADC,P1;暂存转换结果
;关闭输出
MOVA,ADC
MOVB,#11;欧的数据处理
DIVAB
MOV51H,B
MOVB,#10
MULAB
ADDA,51H
LJMPJIAOZHENG
FANHUI:
MOVB,#2
DIVAB
MOVADC,A
MOV32H,B;小数位
CLRC;显示100以内
MOVA,ADC
MOVB,A
MOVA,#99
SUBBA,B
JCDISP_100
MOVA,ADC;将AD转换结果转换成BCD码
MOVB,#100
DIVAB
MOV35H,A
MOVA,B
MOVB,#10
DIVAB
MOV34H,A
MOVA,B
MOVB,#10
MULAB
MOVB,#10
DIVAB
MOV33H,A
LCALLDisp;显示AD转换结果
AJMPWAIT
init:
lcalldelay
lcalldelay
lcalldelay
;mova,#38h
;lcallwrom;定义成5*7,16*2
;mova,#38h
;lcallwrom;定义成5*7,16*2
;mova,#38h
;lcallwrom;定义成5*7,16*2
mova,#38h
lcallwrom;定义成5*7,16*2
lcalldelay
mova,#01h
lcallwrom;清屏
lcalldelay
mova,#06h
lcallwrom
lcalldelay
mova,#0Ch
lcallwrom
lcalldelay
;LCALLDISP
clre
ret
wrom:
clrrs
clrrw
movp0,a
setbe
lcalldelay
clre
ret
wrdata:
setbrs
clrrw
movp0,a
setbe
lcalldelay
clre
ret
DISP_100:
mova,#0C5h;显示位置。
。
从85H开始
lcallwrom
mova,#31h
lcallwrdata
mova,#30h
lcallwrdata
mova,#30h
lcallwrdata
mova,#2eh
lcallwrdata
mova,#30h
lcallwrdata
lcalldelay300ms;delay
LJMPWAIT
DISP_GALVANOMETER:
mova,#82h;显示位置
lcallwrom
mova,#47h
lcallwrdata
mova,#41h
lcallwrdata
mova,#4Ch
lcallwrdata
mova,#56h
lcallwrdata
mova,#41h
lcallwrdata
mova,#4Eh
lcallwrdata
mova,#4Fh
lcallwrdata
mova,#4Dh
lcallwrdata
mova,#45h
lcallwrdata
mova,#54h
lcallwrdata
mova,#45h
lcallwrdata
mova,#52h
lcallwrdata
ret
JIAOZHENG:
CJNEA,#73,J1_1
ADDA,#1
LJMPFANHUI
J1_1:
CJNEA,#72,J1_2
ADDA,#1
LJMPFANHUI
J1_2:
CJNEA,#71,J1_3
ADDA,#1
LJMPFANHUI
J1_3:
CJNEA,#70,J1_4
ADDA,#2
LJMPFANHUI
J1_4:
CJNEA,#69,J1_5
ADDA,#2
LJMPFANHUI
J1_5:
CJNEA,#68,J1_6
ADDA,#2
LJMPFANHUI
J1_6:
CJNEA,#67,J1_7
ADDA,#2
LJMPFANHUI
J1_7:
CJNEA,#66,J1_8
ADDA,#2
LJMPFANHUI
J1_8:
CJNEA,#65,J1_9
ADDA,#2
LJMPFANHUI
J1_9:
CJNEA,#64,J1_10
ADDA,#2
LJMPFANHUI
J1_10:
CJNEA,#63,J1_11
ADDA,#2
LJMPFANHUI
J1_11:
CJNEA,#62,J1_12
ADDA,#2
LJMPFANHUI
J1_12:
CJNEA,#61,J1_13;
ADDA,#2
LJMPFANHUI
J1_13:
CJNEA,#60,J1_14
ADDA,#1
LJMPFANHUI
J1_14:
CJNEA,#59,J1_15
ADDA,#0
LJMPFANHUI
J1_15:
CJNEA,#58,J1_16
ADDA,#1
LJMPFANHUI
J1_16:
CJNEA,#57,J2
ADDA,#2
LJMPFANHUI
J2:
CJNEA,#56,J3
ADDA,#3
LJMPFANHUI
J3:
CJNEA,#55,J4
ADDA,#3
LJMPFANHUI
J4:
CJNEA,#54,J5
ADDA,#3
LJMPFANHUI
J5:
CJNEA,#53,J6
ADDA,#3
LJMPFANHUI
J6:
CJNEA,#52,J7
ADDA,#3
LJMPFANHUI
J7:
CJNEA,#51,J8
ADDA,#3
LJMPFANHUI
J8:
CJNEA,#50,J9
ADDA,#3
LJMPFANHUI
J9:
CJNEA,#49,J10
ADDA,#3
LJMPFANHUI
J10:
CJNEA,#48,J11
ADDA,#3
LJMPFANHUI
J11:
CJNEA,#47,J12
ADDA,#3
LJMPFANHUI
J12:
CJNEA,#46,J13
ADDA,#3
LJMPFANHUI
J13:
CJNEA,#45,J14
ADDA,#3
LJMPFANHUI
J14:
CJNEA,#44,J15
ADDA,#3
LJMPFANHUI
J15:
CJNEA,#43,J16
ADDA,#3
LJMPFANHUI
J16:
CJNEA,#42,J17
ADDA,#3
LJMPFANHUI
J17:
CJNEA,#41,J18
ADDA,#3
LJMPFANHUI
J18:
CJNEA,#40,J19
ADDA,#3
LJMPFANHUI
J19:
CJNEA,#39,J20
ADDA,#3
LJMPFANHUI
J20:
CJNEA,#38,J21
ADDA,#3
LJMPFANHUI
J21:
CJNEA,#37,J22
ADDA,#3
LJMPFANHUI
J22:
CJNEA,#36,J23
ADDA,#3
LJMPFANHUI
J23:
CJNEA,#35,J24
ADDA,#3
LJMPFANHUI
J24:
CJNEA,#34,J25
ADDA,#3
LJMPFANHUI
J25:
CJNEA,#33,J26
ADDA,#3
LJMPFANHUI
J26:
CJNEA,#32,J27
ADDA,#3
LJMPFANHUI
J27:
CJNEA,#31,J28
ADDA,#3
LJMPFANHUI
J28:
CJNEA,#30,J29
ADDA,#3
LJMPFANHUI
J29:
CJNEA,#29,J30
ADDA,#3
LJMPFANHUI
J30:
CJNEA,#28,J31
ADDA,#3
LJMPFANHUI
J31:
CJNEA,#27,J32
ADDA,#3
LJMPFANHUI
J32:
CJNEA,#26,J33
ADDA,#3
LJMPFANHUI
J33:
CJNEA,#25,J34
ADDA,#3
LJMPFANHUI
J34:
CJNEA,#24,J35
ADDA,#3
LJMPFANHUI
J35:
CJNEA,#23,J36
ADDA,#3
LJMPFANHUI
J36:
CJNEA,#22,J37
ADDA,#3
LJMPFANHUI
J37:
CJNEA,#21,J38
ADDA,#3
LJMPFANHUI
J38:
CJNEA,#20,J39
ADDA,#3
LJMPFANHUI
J39:
CJNEA,#19,J40
ADDA,#3
LJMPFANHUI
J40:
CJNEA,#18,J41
ADDA,#3
LJMPFANHUI
J41:
CJNEA,#17,J42
ADDA,#3
LJMPFANHUI
J42:
CJNEA,#16,J43
ADDA,#3
LJMPFANHUI
J43:
CJNEA,#15,J44
ADDA,#3
LJMPFANHUI
J44:
CJNEA,#14,J45
ADDA,#3
LJMPFANHUI
J45:
CJNEA,#13,J46
ADDA,#3
LJMPFANHUI
J46:
CJNEA,#12,J47
ADDA,#2
LJMPFANHUI
J47:
CJNEA,#11,J48
ADDA,#2
LJMPFANHUI
J48:
CJNEA,#10,J49
ADDA,#2
LJMPFANHUI
J49:
CJNEA,#9,J50
ADDA,#3
LJMPFANHUI
J50:
CJNEA,#8,J51
ADDA,#3
LJMPFANHUI
J51:
CJNEA,#7,J52
ADDA,#3
LJMPFANHUI
J52:
CJNEA,#6,J53
ADDA,#4
LJMPFANHUI
J53:
CJNEA,#5,J54
ADDA,#4
LJMPFANHUI
J54:
CJNEA,#4,J55
ADDA,#4
LJMPFANHUI
J55:
CJNEA,#3,J56
ADDA,#3
LJMPFANHUI
J56:
CJNEA,#2,J57
ADDA,#2
LJMPFANHUI
J57:
CJNEA,#1,J58
ADDA,#1
J58:
LJMPFANHUI
disp:
mova,#0C5h;显示位置。
。
从85H开始
lcallwrom
mova,35h
adda,#30h
lcallwrdata
mova,34h
adda,#30h
lcallwrdata
mova,33h
adda,#30h
lcallwrdata
mova,#2eh
lcallwrdata
mova,32h
movb,#5
mulab
adda,#30h
lcallwrdata
mova,#'m'
lcallwrdata
mova,#'A'
lcallwrdata
lcalldelay300ms
ret
INT_T0:
CPLCLOCK;提供ADC0808时钟信号
RETI
delay300ms:
MOVR5,#60
D1_1:
LCALLDELAY_2
DJNZR5,D1_1
RET
DELAY:
MOVR6,#10;延时5毫秒
D1:
MOVR7,250
DJNZR7,$
DJNZR6,D1
RET
DELAY_2:
MOVR6,#10;延时5毫秒
D2:
MOVR7,250
DJNZR7,$
DJNZR6,D2
RET
仿真结果
四、课设总结
自己对单片机的硬件设计,软件设计掌握的深度不够,但通过此次课程设计,却改变了很多,首先对于硬件电路的工作原理有了进一步的学习,同样就有了进一步的认识;其次软件方面,在程序的设计,程序的调试方面都学到了很多东西,这是第一次编写单片机的大程序,很有成就感。
在一个好的氛围里才能踏下心来做东西,在这几天课设的时间里,实验室的氛围对我们的影响很大,大家一起努力,这也是我们能完成课设的动力。
另外在编程中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克服困难,我们也是这么做的,这在课设中十分重要。
为了减少主程序的长度,为了易于检测和调试,应尽量多点设置不同功能的子模块,子程序。
单片机在现实生活中有很大的的实用价值,学好这们课程非常关键,可以让自己的知识储备更加丰富,而这次课程设计正好提供了一个很好的机会加深对单片机知识的掌握。
通过这次课程设计,我对proteus以及Keil等软件的使用掌握的更加熟练,对汇编语言程序有了跟深层次的理解。
因为已经是大四了,各方面事情都比较所以这次课设显得很仓促,做得很不完善,在制作和调试过程中由于对程序和电路没有设计好出了不少问题,这给我提供了很好的经验教训,对自己以后的课设很有帮助。
不过总体上来说这次课设还是比较成功的,自己懂得了不少东西,制作的数字电流表也很有价值。
增长了自己的知识受益匪浅。
五.参考文献
[1] 胡辉主编.单片机原理及应用设计.北京:
中国水利水电出版社,2005,1—284页.
[2]张桂红主编.单片机原理与应用.福州:
福建科学技术出版社,,306—315页.
[3]韩志军等编著.单片机应用系统设计:
入门向导与设计实例.北京:
机械工业出版社,2005.1,132—147页.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电流表 设计