单片机综合实验报告_2.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
接口技术综合实验 1 - 目 录 TOC \o 1-2 \f \h \z 第一章 实验任务书 1 1.1 实验目的 1 1.2 实验设备 1 1.3 实验内容 1 1.4 实验扩展 2 1.5 实验要求 2 第二章 设计构思 2 2.1 整体设计思路 2 2.2 程序各部分的设计 3 2.2.1 键盘程序的设计 3 2.2.2 显示程序的设计 5 2.2.3 定时器中断子程序的设计 6 2.2.4 外部中断0程序的设计 7 2.2.5 扩展功能的实现 8 第三章 实验感想 9 3.1 实验感想 9 附 录——总电路图 第一章 实验任务书 1.1 实验目的 1、通过实验,学生得到接口技术实际应用系统开发的综合训练。 2、提高学生单片机综合系统的开发的能力。 1.2 实验设备 接口技术实验箱一套、一台计算机。 1.3 实验内容 利用接口技术实验箱,进行温度单片机控制系统设计。单片机控制系统控制系统结构如方块图所示: 数 / 模 转换器 数字 控制器 测量变送 模 / 数 转换器 保持器 执行器 ━ 给定值 多路 开关 对象 被控变量 单片机控制系统 系统中对象的被控变量——温度值由温度变送器转换为0~5V信号(由外部提供的0~5V信号源)作为ADC0809的模拟输入量,要求单片机控制系统定时1S进行A/D转换,转换结果——测量值(16进制数表示)在数码管右两位中显示。 数字控制器的设定值(16进制数表示)从键盘输入,在数码管左两位中显示设定值;数字控制器采用比例控制,输出为Y=K*(设定值-温度测量值) , 假设K=1,︱设定值-温度测量值︱≦7FH,数字控制器输出是有符号数。 数字控制器输出送入DAC0832进行D/A转换,得到0~5V 的模拟信号控制执行器——加热棒对对象加热,输出0~2.49 V使加热棒逐渐加大加热量,输出2.5~5 V使加热棒逐渐减少加热量。 1.4 实验扩展 前两位数码管以十进制方式显示设定的温度值。 输入设定温度值的时候只能输入0~9这10个十进制数,按其他按键单片机不响应。 1.5 实验要求 1、根据实验内容,设计硬件电路原理图,并给出详细接线图(包括8051芯片、晶振电路、复位电路,电源、ADC0809、DAC0832、8255、键盘与数码管显示电路等)。 2、利用PROTEL软件绘制出上述电路原理图(即.SCH文件)(选作) 3、利用PROTEL软件设计出印刷电路板图(即.PCB文件)。(选作) 4、画出程序流程图。 5、给出源程序清单。 6、调试(约定的实验室时间),调试结束后要请老师进行检查,答辩。 利用接口实验箱进行调试。 第二章 设计构思 2.1 整体设计思路 根据实验要求,我将键盘程序作为主程序,键盘程序中加入反复调用显示程序的子程序,这样实现了键盘和显示程序的“同时”运行。然后用定时器程序产生1S的中断,将启动A/D转换的语句放在定时器中断程序里面,这样就实现了1S采样一次的功能。然后用A/D芯片控制外部中断0,这样A/D转换完毕之后会执行INT0子程序。外部中断0子程序里放读取A/D转换结果的程序和启动D/A的程序。这样,实验要求的全部功能就实现了,具体各个模块的设计和扩展功能的实现在后面会讲到。下面是程序框图。 2.2 电路各部分的设计 2.2.1 键盘程序的设计 键盘程序作为主程序无限循环运行,程序不停的扫描是否有按键按下,如果有则再判断键号,然后将键号存入内存缓冲单元中,供显示程序和温度比较程序使用。具体源程序如下: /*30H,31H,32H,33H从左到右分别存放4个数码管要显示的数据*/ KL: MOV R5,#02H ;循环存数计数器 KP: LCALL KS1 ;判断是否有按键按下 JNZ LK1 ;如果有按键按下,则进入消抖环节LK1 LCALL DIR AJMP KP LK1: LCALL DIR ;消抖,调用显示程序来延迟12MS LCALL DIR LCALL DIR LCALL KS1 JNZ LK2 ;确实有按键按下则进入判断键号环节LK2 LCALL DIR AJMP KP LK2: MOV R3,#0FEH ;R3存列选码 MOV R4,#00H ;R4为列号计数器 LK4: MOV DPTR,#0FF7CH ;往A口赋列选码 MOV A,R3 MOVX @DPTR,A MOV DPTR,#0FF7EH ;从C口读入状态,然后进入下面的判断键号的程序 MOVX A,@DP

文档评论(0)

+ 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档