- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)