资源描述
- -
引言
单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大局部功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大局部部件:CPU、存、部和外部总线系统,目前大局部还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
1.目的和意义
1.1 设计的目的〔1〕掌握A/D和D/A转换与单片机的接口连线。
〔2〕了解A/D和D/A芯片转换性能及编程方法。
〔3〕通过实验了解单片机如何进展数据采集。
〔4〕进一步掌握八段数码管的使用和编程方法。
〔5〕了解八段数码管显示的原理。1.2 设计方案
水位控制系统包括水位检测和阀门开度的控制。水位信号可以通过压力传感器检测得到,阀们开度由输出的电压进展控制。采用单片机单片机来控制水箱水位可以更好的到达自动化,可以取得较好的控制效果具体说明如下列图1
图1
2.硬件电路的设计
2.1 CPU系统
图2为主机系统电路图。控制功能一般,程序并不复杂。因此选择8031作为CPU,选择2732〔4K〕作为EPROM,74LS373作为低8位地址锁存器。
图2
2.2压力检测
系统采用单片机作为数字控制器的处理器,其中,由压力变送器传送来的电流信号经过A/D转换进入微处理器,经微处理器计算处理,将输出数字量进展D/A转换送给电动执行机构,具体构造如图3
图3
2.3水位设定
图4为键盘输入电路。水位可以在一定的围随意设定,利用键盘设定水位,存储在51H〔键盘输入的数值〕与存储在50H〔检测的数据〕先比拟是否一样,如一样,那么向DAC0832发送0,否那么,将两数据相减,然后向DAC0832发送相减值。DAC0832根据数值输出控制信号〔1-5V〕对应阀门开度〔0%-100%〕
图4
2.4压力显示电路
图5为水位显示电路。水位值采用LED数码显示,每1s刷新一次显示值。为了不扩展并行I/O口,本设计利用串行口的移位功能,扩展为3位静态显示电路。P2.6为输出控制,当P2.6=1时,允许串行口输出数据给移位存放器;当P2.6=0时,串行口不能输出数据,显示容不变。LED3显示十位水位值,LED2显示个位水位值,LED1显示十分位值,小数点固定在LED2上
图5
3.软件设计
根据以上已经具体化的硬件设计,就可以进展软件的总体设计和模块设计。
3.1 设计思路
由水位传感器检测输入,启动A/D转换并将转换值暂存50H单元,将转换得来的十六进制数转换为十进制数,十分、个、十位分别存于35H、36H、37H单元,送由3位八段数码管显示。同时将此检测值与设定值〔51H〕比拟,差值大于2℃时报警并进展调节处理,差值小于2℃时,不处理。处理完毕后返回水位采集模块,设定值用外部中断1方式进展设定。
3.2主程序
图6为系统总体流程图。将定时器T0,设置为计数器方式,计数初值为最大值为FFFFH,当键盘键入时,那么计数器产生溢出中断。执行中断子程序。
主程序
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP JPSR
ORG 0050H
MAIN: MOV TMOD,#06H ;T0计数器,方式2
MOV TH0,#0FFH ;置T0初值
MOV TL0,#0FFH
SETB EA ;开中断
SETB ET0 ;开外部中断0
SETB TR0 ;开启T0
LCALL DELAY ;延时1S
LCALL TADC ;调用水位检测子程序
LCALL DISP ;调用水位显示子程序
LCALL CONT ;调用水位控制子程序
STMP MAIN
图6为系统总体流程图
3.3水位检测子程序
图7为水位检测子程序流程图。ADC0809是CMOS工艺的八位逐次比拟型A/D转换器。它由8选1模拟开关,8位A/D转换器及输出三态缓冲器组成,由三个地址信号ADDA、ADDB、ADDC来决定哪一路模拟信号进展A/D转换。水位检测值存入50H,A/D转用查询方式。
水位检测程序如下:
ORG 0600H
TADC:MOV 50H,#00H
MOV DPTR,#7FF8H ;置0809通道地址
TT0:MOVX DPTR,A ;启动0809A/D转换
INT1,$ ;等待A/D转换完毕
MOVX A,DPTR ;读A/D转换值
MOV 50H,A
RET
图7为水位检测子程序流程图
3.4水位控制子程序
图8为水位控制子程序流程图。水位控制子程序的功能是将水位测量值〔存于50H〕与设定值〔存于51H〕作比拟,是否一样,如一样,那么向DAC0832发送0,否那么,将两数据相减,然后向DAC0832发送相减值。DAC0832根据数值输出控制信号〔1-5V〕对应阀门开度〔0%-100%〕
水位检测程序如下
NT:MOV A, 50H
SUBB A, 51H
MOV R1 #0FEH
MOVX R1 A
RET
3.5水位显示子程序
图8为水位显示子程序流程图。利用控制微机的串行口,通过串入并出的移位存放器74LS164设计LED显示器接口,尤其当需要远程显示时,采用串行传输会减少数据线数量,提高传输可靠性。本设计利用74LS164扩展3片LED显示器的接口电路,图中采用的是共阳极LED显示器,74LS164本身吸收电流达8mA,可以直接驱动LED显示器,限流电阻值选为390Ω。
水位显示子程序如下:
ORG 1F00H
DISP: MOV A,50H ;读取检测值
MOV B,#100
DIV AB
MOV 37H,A ;十位存于37H
MOV A,B
MOV B,#10
DIV A B
MOV 36H,A ;个位存于36H
MOV A,B
MOV 35H,A ;十分位存于35H
MOV SCON,#00H ;设置串行口方式0
CLR ES ;关串行口中断
SETB P2.6 ;允许串行口输出数据
MOV R7,#03H
MOV R0,#35H
XS: MOV A,R0 ;取显示数
MOV DOTR,#2000H ;置段码表首址
MOVC A,A+DPTP ;查询显示码
MOV SUBF,A ;送显示
JNB TI,$ ;一帧末发送完,等待
CLR IT;清中断标志
INT R0 ;取下一个数
DJNZ R7,XS
RET
ORG 2000H
TAB: DB 03H,9FH,25H,0DH;0,1,2,3
DB 99H,49H,41H,1FH;4,5,6,7
DB 01H,09H; 8,9
图8
3.6键盘输入中断程序
图9为水位设定中断效劳程序流程图。判断键盘上有无键闭合,其方法在扫描P1.0-P1.3上全部送零,然后读取P1.0-P1.3的状态,假设全为1那么无闭合键,假设不全为1,那么有闭合线,判断闭合键的键号,起方法为对键盘列线进展扫描,输入高电平扫描
键盘设定效劳程序如下:
JPSR:LCALL JP
MOV A, 20H
MOV B, #100
MUL AB
MOV 43H, A
INTO $
LCALL JP
MOV A, 20H
MOV B, #10H
MUL AB
MOL 42H, A
INTO $
LCALL JP
MOV A, 20H
ADD A, 43H
ADD A, 42H
MOV 51H, A
MOV TH0, #OFFH
MOV TL0, #0FFH
SETI
JP: ACALL KS1 判是有键闭合
JNZ KEY1
KEY0: RET
KEY1: ACALL KS2 调求键子程序
MOV 20H, A
ACALL DL10 调延时子程序
ACALL KS2
CJNE A, 20H,KEY0
KEY2: ACALL KS1 判键释放否
JNZ KEY2
ACALL DL10
JNZ KEY2
RET
KS1: MOV P1, #00H
MOV A, P1
ORL A, #0EFH
CPL A
RET
KS2: MOV P1, #0EFH P1.4=0
MOV 21H, #00H 列首号存21H中
MOV A, P1
ORL A, #0F0H
CPL A
JNZ KS20 零列有键闭合
MOV P1, #0DFH P1.5=0
MOV 21H, #04H
MOV A,P1
ORL A, #0F0H
CPL A
JNZ KS20 一列有键闭合
MOV P1, #0BFH;P1.6=0
MOV 21H, #08H
MOV A, P1
ORL A, #0F0H
CPL A
JNZ KS20 二列有键闭合
MOV P1, #7FH p1.7=0
MOV 21H, #0CH
MOV A,P1
ORL A, #0F0H
CPL A
JNZ KS20
MOV A, #0FFH 三列有键闭合
ORL A, #0F0H 错误处理
RET
KS20: ADD A, #03H 加偏移位
MOVC A, A+PC 查表求列序号
ADD A, 21H 求键号存A中
RET
DB 00H, 01H 02H 02H 02H 03H
DB 03H, 03H 03H
图9
完毕语
经过这次的课程设计,使得我对单片机掌握进一步的增强,加深了对它们的理解,并对单片机产生了浓厚的兴趣,通过课程设计可以看出它对理论教学起到了必要的补充和额拓宽作用,对培养既具有扎实理论功底又具有相当实践能力的人才必不可少。在这次的课程中,我发现单片机接触器在工业控制中的作用很大,它能使人的控制转变成电脑的控制,大降低了产品的本钱,很提高生产效率。经过这次课程设计培养了我们的设计能力以及全面的考虑问题能力。学习的过程是困难的但是收获成功的喜悦更是让人冲动的。相信通过这次课程设计它对我以后的学习及工作都会产生积极的影响
参考文献
[1]守义.单片机应用技术.系安:电子科技大学,2002
[2]堤、唐可法.机电一体化设计根底.:机械工业,1997
[3]蔡菲娜.单片微型计算机原理和应用.:大学,1996
[4]继文.传感器与应用电路设计.:科学,2002
[5]科技.单片机典型外围器件及应用实例.人民邮电,2006
[6]朱家健.单片机与可编程控制器.:高等教育,1998
[7]东明、韦友春.单片机试验教程.:理工大学,2007
[8]洪润、亚凡.单片机原理及应用.:清华大学,2004
[9]朱勇.单片机原理与应用技术.:清华大学,2006
[10]堤、唐可洪 机电一体化根底 机械工业 1997
- word.zl
展开阅读全文