ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:274.30KB ,
资源ID:18827883      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18827883.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(温度采集及显示控制Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

温度采集及显示控制Word文档下载推荐.docx

1、CPU 和接口之间 的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。用+5V 单电源供电,能在以下三种方式下工作:方式0-基本输入/出方式、方式1-选通输入/出方式、方式2-双向选通工作方式。8255的内部结构及引脚如图6-4所示:图3.1 8255内部结构及引脚ADC0809主要功能AD0809具有8个通道的模拟输入线(IN0IN7),可在程序控制下对任意通道进行A/D转换,获得8位二进制数字量(D7D0)。模拟输入部分有8路多路开关,可由3位地址输入ADDA、ADDB、ADDC的不同组合来选择,ALE为地址锁存信号,高电平有效,锁存这三条地址输入信号。主体部分是采用逐次逼

2、近式的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、选线控制字符的选择,位选线控制显示位的亮和暗。图3.4七段LED显示2.实验电路及连接 LED显示电路和键盘电路实验仪上已接好。原理图见图1。 A/D变换电路只要接上模拟量输入和地址选择信号即可。图1连接孔1连接孔21AD_CSCS22IN0电位器输出38255_CSCS04PA0L05PA1L16KEY/LED_CSCS1四、实现方法1.实验程序框图A/D采样子程序框图2.程序源代码mode equ 082h ; 方式0,PA,PC输出,PB输入PortA equ 8000h ; Port APortB equ 8001h ; Port BPortC equ 8002h ; Port CCA

4、ddr equ 8003h ; 控制字地址ADPort equ 0a000h ; AD采样输入片选CS273 equ 0a000h ; 控制输出片选UP equ 16h ; NextDOWN equ 15h ; LastLowLimit equ 10HighLimit equ 30LowTemp equ -45 ; A/D 0HighTemp equ 55 ; A/D 255Heat equ 1 ; 加热控制Cool equ 2 ; 致冷控制OUTBIT equ 09002h ; 位控制口OUTSEG equ 09004h ; 段控制口IN_KEY equ 09001h ; 键盘读入口data

5、 segmentLEDBuf db 6 dup(?) ; 显示缓冲Num db 1 dup(? 显示的数据DelayT db 1 dup(?)CurTemp db 1 dup(?SetTemp db 1 dup(?PortABuf db 1 dup(?LEDMAP: ; 八段管显示码 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hKeyTable: 键码定义 db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0

6、bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07hdata endscode segment assume cs:code, ds:dataDelay proc near push ax ; 延时子程序 push cx mov al, 0 mov cx,ax loop $ pop cx pop ax retDelay endpDisplayLED proc near mov bx, offset LEDBuf mov cl, 6 ; 共6个八段管 mov ah, 00100000b ; 从左边开始显

7、示DLoop: mov dx, OUTBIT out dx,al ; 关所有八段管 mov al, bx mov dx, OUTSEG out dx,al mov al, ah out dx, al ; 显示一位八段管 push ax mov ah, 1 call Delay shr ah, 1 inc bx dec cl jnz DLoopDisplayLED endpTestKey proc near 输出线置为0 mov dx, IN_KEY in al, dx ; 读入键状态 not al and al, 0fh ; 高四位不用TestKey endpGetKey proc near

8、mov ch, 00100000b mov cl, 6KLoop: mov al, ch ; 找出键所在列 out dx, al shr ch, 1 in al, dx and al, 0fh jne Goon_ ; 该列有键入 jnz KLoop mov cl, 0ffh ; 没有键按下, 返回 0ffh jmp Exit1Goon_: dec cl shl cl, 2 ; 键值 = 列 X 4 + 行 mov ch, 4LoopC: test al, 1 jnz Exit1 shr al, 1 inc cl dec ch jnz LoopCExit1: mov ch, 0 mov bx,

9、offset KeyTable add bx, cx mov al, bx ; 取出键码 mov bl, alWaitRelease: 等键释放 mov ah, 10 call TestKey jne WaitRelease mov al, blGetKey endp; =DisplayResult proc near mov al, CurTemp test al, 80h jz GE0 mov LEDBuf, 40h ; - dec al jmp GoonGE0: mov LEDBuf, 0 ;Goon: mov cl, 10 mov ah, 0 div cl mov bh, 0 add

10、bx, offset LEDMAP mov LEDBuf+1, al mov bl, ah mov LEDBuf+2, al mov LEDBuf+3, 0 ; mov al, SetTemp mov LEDBuf+4, al mov LEDBuf+5, alDisplayResult endpReadAD proc near mov dx, ADPort mov al, 60rr: dec al ; delay jnz rrReadAD endpReadTemp proc near mov bx, 0 mov cl, 16RLoop: call ReadAD add bx, ax jnz R

11、Loop shr bx, 4 mov ax, bx mov cl, HighTemp - LowTemp mul cl mov al, ah ; /256 add al, LowTemp mov CurTemp, alReadTemp endpStart proc near mov ax, data mov ds, ax mov al, mode mov dx, CAddr 输出控制字 mov SetTemp, 20MLoop: jne KeyPressed call DisplayResult call DisplayLED call ReadTemp cmp CurTemp, al jge

12、 GN2 or PortABuf, Heat and PortABuf, not Cool jmp GN4GN2: inc al jle GN3 or PortABuf, Cool and PortABuf, not HeatGN3: and PortABuf, not (Cool+Heat)GN4: mov dx, PortA mov al, PortABuf jmp MLoopKeyPressed: call GetKey cmp al, DOWN jne Key0 cmp SetTemp, LowLimit je Key1 dec SetTemp jmp Key1Key0: cmp al

13、, UP jne Key1 cmp SetTemp, HighLimit inc SetTempKey1:start endpcode ends end start五、实施结果1操作步骤1).按照电路图链接电路,完成电路链接。2).打开计算机电源,执行WAVE集成调试程序源代码。3).执行程序源代码,改变电位器,进行实验并记录实验结果。2运行结果调整电位器,LED显示温度范围在-39到49,分辨率为2。当采集的温度值超过设定温度时,能点亮发光二极管。小于设定温度-2时显示绿色;温度超过设定温度+2,显示红色灯;温度在设定温度-/+2以内显示灯熄灭,表示温度。按键盘向上键,LED显示设定温度+1

14、,按向下键LED显示设定温度-1。六、改进意见及建议这次设计基本的完成了课程设计的要求,实现了温度的采集及显控制示。通过测试表明系统的设计是正确的,可行的。但是由于设计经验和知识水平有限,系统还存在许多不足和缺陷。改进意见:在原有的设计中可以加入了报警,如果所设计的系统是监控某一设备,当设备的温度达到我们所设定的温度值时,系统会产生报警.。报警时驱动扬声器发出声音,以便操作员来维护,从而达到报警的目的。七、设计体会在此次课程设计过程中,我经历了失败的痛苦,也尝到了成功的喜悦。同时也检查了自己的知识水平,使我对自己有一个全新的认识。而且我在巩固了平时所学习的知识的同时,也通过不断查阅相关资料,学

15、习新的知识。通过此次课设,我明白了很多,理论指导实践,但是理论也需要实践给予证明,凡事都要通过自己的思考推敲,否则自己不会取的大的进步。而且在平时的学习生活中,应该多和周围的同学相互学习,交流经验。遇到不会的问题时,切忌焦躁!首先要经过自己的独立思考,有了一定想法后,可以去查找相关的资料书刊或者找同学讨论。在遇到问题,解决问题的过程中,不断加强自我的动手,动脑能力,也只有这样,在思路清晰,条理顺畅的时候,再去进行软件编写和硬件操作工作,才有可能起到事半功倍的效果。这次课程设计,不仅锻炼我的分析问题、处理问题的能力,还提高了自己的动手能力以及沟通协作的能力。也让我更加明确了日后的学习目标,那就是学东西一定要扎实,绝不能一知半解。这次课程设计使我受益匪浅,在课程设计中,培养的能力和锻炼对于我今后的学习和生活来说,是很重要的经历与经验,它将积极地影响我。 (注:可编辑下载,若有不当之处,请指正,谢谢!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1