版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河北科技大学课程设计报告学生姓名:学号:专业班级:软件工程课程名称:接口技术课程设计学年学期:20—20学年第学期指导教师:20年月
目录一、设计题目 1二、设计目的: 1三、设计原理及方案: 11原理及方案 18255简介 2ADC0809主要功能 2七段LED显示器及其接口 32.实验电路及连接 4四、实现方法 41.实验程序框图 42.程序源代码 7五、实施结果 161操作步骤 162运行结果 16六、改进意见及建议 16七、设计体会 17一、设计题目温度采集及显示控制二、设计目的:1.了解闭环控制的基本原理。2.进一步熟悉A/D变换原理和编程方法。3.进一步了键盘扫描和LED显示原理和编程方法。三、设计原理及方案:1原理及方案利用实验仪上显示电路,键盘电路,A/D变换电路,完成温度显示,可以利用实验仪上的电位器模仿温度变化,加热和致冷可以用发光管代替。用键盘可以设定恒温温度,当温度超过设定温度+/-2℃时,就要启动加热或致冷。利用AD0809芯片将模拟量的温度转换为数字量,然后将AD采样到的结果进行制式的转换并将结果显示在数码管上。采样的结果与设定的温度限值进行比较,若超温了则让超温指示灯亮。根据需要,需选择的芯片有AD0809A/D变换芯片,8255可编程并行接口。通过应用模数转换器AD0809将从模拟电阻上采集的数据通过端口IN0输入,在A/D的转换下,获得8位二进制的数字量(D7—D0),然后输入到8088系统总线上,进而输入到可编程并行接口8255上,选择工作方式0方式,把数据输入到七段数码管上,然后显示出数字信息。同时应用比较程序,设定温度值。温度显示范围-39~49度如果在小于键盘设定温度-2℃时则使8255C输出00FH值信号让显示灯始终,显示绿色,表示温度过低。如果温度超过键盘设定温度+2℃则使8255C口输出0F0H值信号让显示灯提示,显示红色灯,表示温度过高。如果温度在键盘设定温度-/+2℃以内则使8255C口无输出信号让显示灯熄灭,表示温度在正常范围内8255简介8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图6-4所示:图3.18255内部结构及引脚ADC0809主要功能AD0809具有8个通道的模拟输入线(IN0~IN7),可在程序控制下对任意通道进行A/D转换,获得8位二进制数字量(D7~D0)。模拟输入部分有8路多路开关,可由3位地址输入ADDA、ADDB、ADDC的不同组合来选择,ALE为地址锁存信号,高电平有效,锁存这三条地址输入信号。主体部分是采用逐次逼近式的A/D转换电路,由CLK控制的内部电路的工作,START为启动命令,高电平有效,启动ADC0809内部的A/D转换,当转换完成,输出信号EOC有效,OE为输出允许信号,高电平有效,打开输出三态缓冲器,把转换后的结果送DB。ADC0809的内部结构和引脚如图3.3所示:图3.3内部结构和引脚七段LED显示器及其接口七段LED显示器:由七个发光段构成,每段均为1个LED二极管。通过控制不同段的点亮和熄灭,显示出16进制数字或字符。
七段LED显示器有共阳极和共阴极两种结构,如图6-3所示的七段LED实际上包含8个LED(7段字形加上小数点DP)。
1位LED显示器有1根位选线和8根段选线,段选线控制字符的选择,位选线控制显示位的亮和暗。图3.4七段LED显示2.实验电路及连接LED显示电路和键盘电路实验仪上已接好。原理图见图1。A/D变换电路只要接上模拟量输入和地址选择信号即可。PA0口模仿加热电机PA1口模仿致冷电机PA0口模仿加热电机PA1口模仿致冷电机电位器模仿温度采样图1连接孔1连接孔21AD_CSCS22IN0电位器输出38255_CSCS04PA0L05PA1L16KEY/LED_CSCS1四、实现方法1.实验程序框图A/D采样子程序框图A/D采样子程序框图开始启动AD变换延时读AD变换值返回否是否是否是开始输出列扫描信号列信号移位读入行值有键输入6列扫描完?计算键值等待键松开查表得到键码返回是否否是开始始始关闭所有显示位取出显示数据输出时钟脉冲输出位选通信号8位数据输出延时位选通信号移位6位全显示完?返回显示数据移位取出数据一位输出键盘扫描子程序框图LED键盘扫描子程序框图LED显示子程序框图高2高2度+/-2度内开始工始当前温度和设定温度送显示缓冲键盘值是?显示温度不变当前温度与设定温度比较初始化温度参数采样当前温度加热读键盘致冷低2度向下键向上键设定温度减1设定温度加1温度控制主程序框图2.程序源代码modeequ082h;方式0,PA,PC输出,PB输入PortAequ8000h;PortAPortBequ8001h;PortBPortCequ8002h;PortCCAddrequ8003h;控制字地址ADPortequ0a000h;AD采样输入片选CS273equ0a000h;控制输出片选UPequ16h;NextDOWNequ15h;LastLowLimitequ10HighLimitequ30LowTempequ-45;A/D0HighTempequ55;A/D255Heatequ1;加热控制Coolequ2;致冷控制OUTBITequ09002h;位控制口OUTSEGequ09004h;段控制口IN_KEYequ09001h;键盘读入口datasegmentLEDBufdb6dup(?);显示缓冲Numdb1dup(?);显示的数据DelayTdb1dup(?)CurTempdb1dup(?)SetTempdb1dup(?)PortABufdb1dup(?)LEDMAP:;八段管显示码db3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb7fh,6fh,77h,7ch,39h,5eh,79h,71hKeyTable:;键码定义db16h,15h,14h,0ffhdb13h,12h,11h,10hdb0dh,0ch,0bh,0ahdb0eh,03h,06h,09hdb0fh,02h,05h,08hdb00h,01h,04h,07hdataendscodesegmentassumecs:code,ds:dataDelayprocnearpushax;延时子程序pushcxmoval,0movcx,axloop$popcxpopaxretDelayendpDisplayLEDprocnearmovbx,offsetLEDBufmovcl,6;共6个八段管movah,00100000b;从左边开始显示DLoop:movdx,OUTBITmoval,0outdx,al;关所有八段管moval,[bx]movdx,OUTSEGoutdx,almovdx,OUTBITmoval,ahoutdx,al;显示一位八段管pushaxmovah,1callDelaypopaxshrah,1incbxdeccljnzDLoopmovdx,OUTBITmoval,0outdx,al;关所有八段管retDisplayLEDendpTestKeyprocnearmovdx,OUTBITmoval,0outdx,al;输出线置为0movdx,IN_KEYinal,dx;读入键状态notalandal,0fh;高四位不用retTestKeyendpGetKeyprocnearmovch,00100000bmovcl,6KLoop:movdx,OUTBITmoval,ch;找出键所在列notaloutdx,alshrch,1movdx,IN_KEYinal,dxnotalandal,0fhjneGoon_;该列有键入deccljnzKLoopmovcl,0ffh;没有键按下,返回0ffhjmpExit1Goon_:decclshlcl,2;键值=列X4+行movch,4LoopC:testal,1jnzExit1shral,1inccldecchjnzLoopCExit1:movdx,OUTBITmoval,0outdx,almovch,0movbx,offsetKeyTableaddbx,cxmoval,[bx];取出键码movbl,alWaitRelease:movdx,OUTBITmoval,0outdx,al;等键释放movah,10callDelaycallTestKeyjneWaitReleasemoval,blretGetKeyendp;===================================DisplayResultprocnearmoval,CurTemptestal,80hjzGE0movLEDBuf,40h;'-'decalnotaljmpGoonGE0:movLEDBuf,0;''Goon:movcl,10movah,0divclmovbl,almovbh,0addbx,offsetLEDMAPmoval,[bx]movLEDBuf+1,almovbl,ahmovbh,0addbx,offsetLEDMAPmoval,[bx]movLEDBuf+2,almovLEDBuf+3,0;''moval,SetTempmovah,0movcl,10divclmovbl,almovbh,0addbx,offsetLEDMAPmoval,[bx]movLEDBuf+4,almovbl,ahmovbh,0addbx,offsetLEDMAPmoval,[bx]movLEDBuf+5,alretDisplayResultendpReadADprocnearmovdx,ADPortmoval,0outdx,almoval,60rr:decal;delayjnzrrmovdx,ADPortinal,dxretReadADendpReadTempprocnearmovbx,0movcl,16RLoop:callReadADmovah,0addbx,axdeccljnzRLoopshrbx,4movax,bxmovcl,HighTemp-LowTempmulclmoval,ah;/256addal,LowTempmovCurTemp,alretReadTempendpStartprocnearmovax,datamovds,axmoval,modemovdx,CAddroutdx,al;输出控制字movSetTemp,20MLoop:callTestKeyjneKeyPressedcallDisplayResultcallDisplayLEDcallReadTempmoval,SetTempdecaldecalcmpCurTemp,aljgeGN2orPortABuf,HeatandPortABuf,notCooljmpGN4GN2:moval,SetTempincalincalcmpCurTemp,aljleGN3orPortABuf,CoolandPortABuf,notHeatjmpGN4GN3:andPortABuf,not(Cool+Heat)GN4:movdx,PortAmoval,PortABufoutdx,aljmpMLoopKeyPressed:callGetKeycmpal,DOWNjneKey0cmpSetTemp,LowLimitjeKey1decSetTempjmpKey1Key0:cmpal,UPjneKey1cmpSetTemp,HighLimitjeKey1incSetTempKey1:jmp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钢铁行业保安工作总结
- 点滴关怀感染科护士总结
- 科技在前台工作中的应用计划
- 网络科技行业客服工作总结
- 2024年税务师题库带答案(典型题)
- 2024年设备监理师考试题库及答案4
- 2024年认识冰的教案
- 2024年燃气管网工安全作业技能考试题库及答案
- 2024年花儿朵朵教案
- 2024年电工安全总结
- 妊娠剧吐伴酮症护理查房课件
- 200#溶剂油安全技术说明书
- 单位洗车房管理制度
- 广西壮族自治区钦州市浦北县2022-2023学年七年级上学期期末英语试题
- 动力学全套课件
- 广东省深圳市2022-2023学年六年级上学期语文期末试卷(含答案)6
- 2022-2023学年北京市海淀区高一(上)期末生物试卷(附答案详解)
- 河南省出版物经营许可证申请登记表
- 细集料筛分试验检测记录表模板
- (完整word版)聘书模板红色
- 广西柳州市名校2024届数学高一上期末统考试题含解析
评论
0/150
提交评论