单片机工程实践报告样板1.docx
- 文档编号:5069217
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:45
- 大小:471.33KB
单片机工程实践报告样板1.docx
《单片机工程实践报告样板1.docx》由会员分享,可在线阅读,更多相关《单片机工程实践报告样板1.docx(45页珍藏版)》请在冰豆网上搜索。
单片机工程实践报告样板1
学校代码:
10128
单片机工程实践
(第11组)
题目:
温度检测器(任务三)
组长:
郭启民(自电08-2班)学号:
200821204099
组员:
王建明(自电08-2班)学号:
200811204069
徐彬彬(自电08-2班)学号:
200811204076
张志勇(自电08-3班)学号:
2008112040
指导教师:
刘伟、裴岩、杨传颖、斯日古楞
韩海波、高鹏、袁哓涛(研)
设计时间:
2011年7月11日~2011年7月22日
一、
设计目的:
1、通过一个以8位单片机为核心的模拟量数字表的硬件调试过程,通过蜂鸣器自检、键盘自检、LED自检的程序设计,掌握具有A/D、七段LED显示等接口电路的单片机应用系统的设计思想和方法。
2、学习应用系统软件的模块化设计方法,学习伟幅仿真器及相关软件调试程序的方法及步骤,通过源程序的编辑、汇编或编译、链接、仿真调试,完成给定的任务。
3、通过上述过程建立工程概念、提高学生工程实践能力、素质和团队的合作的能力
二、蜂鸣器的自检程序设计
1、设计任务:
1)设计任务内容:
利用所编写程序实现蜂鸣器发出两种以上声音。
2)设计任务分工:
首先大家一起分析该程序所需硬件,设计出硬件框图。
之后由组长郭启民负责设计主程序框图并且在程序编写完成后将程序进行调试和运行,检查错误并补充不足之处,使得任务得以完成。
由组员王建明负责设计蜂鸣器实现不同声音时所需调用的各个延时子程序,组员徐彬彬和张志勇负责设计编写主程序。
2、任务框图:
1)硬件框图:
通过分析MCS-51单片机的智能仪表线路,可以做出该任务的硬件框图如下图1所示:
图一
2)主程序框图:
如下图2所示,
返回
图二
3)子程序框图:
延时子程序框图如下图3所示:
置循环初值值值
循环处理
循环修改
循环控制
继续
结束
循环退出
图三
4)相关说明:
利用不同的延时时间使蜂鸣器发出频率不相同的声音,从而实现任务的设计目的和任务内容。
用两种不同的发声来证明蜂鸣器是正确的。
3、程序清单:
BEEP:
MOVR2,#0FFH;外部循环255次
DEL1:
MOVR3,#04H;内部循环4次
DEL11:
CLRP2.3
ACALLD5MS;调用5MS延时程序
SETBP2.3
ACALLD5MS
DJNZR3,DEL11
DJNZR2,DEL1
;###############################
MOVR3,#0FFH
DEL2:
MOVR4,#02H
DEL22:
CLRP2.3
ACALLD25MS;调用2.5MS延时程序
SETBP2.3
ACALLD25MS
DJNZR4,DEL22
DJNZR3,DEL2
MOVR4,#0FFH
SJMPBEEP
;################################
D5MS:
MOVR7,#0AH;5MS延时子程序
LOOP1:
MOVR6,#0FFH
LOOP2:
DJNZR6,LOOP2
DJNZR7,LOOP1
RET
;################################
D25MS:
MOVR6,#05H;2.5MS延时子程序
LOOP3:
MOVR7,#0FFH
LOOP4:
DJNZR7,LOOP4
DJNZR6,LOOP3
RET
三、键盘自检程序设计
1、设计任务:
1)设计任务内容:
通过所设计的程序判断键盘是否正确。
2)设计任务分工:
首先,大家一起分析该程序所需硬件,设计出硬件框图,接着由组长设计任务主程序框图,编写主程序。
由组员王建明设计主程序中用到的子程序框图并编写子程序。
组员徐彬彬和张志勇负责调试校验程序,并在仿真器上运行检查设计效果并总结设计结果。
2、设计框图:
1)硬件框图:
经分析得到该任务的硬件框图如下图4所示:
图四
2)软件编程主程序框图:
做出主程序框图如下图5所示:
Y
图五
3)子程序框图:
其中延时子程序框图如图3,蜂鸣器发生子程序框图如下图6:
返回
图六
4)相关说明:
首先设计读键盘程序作为主程序,将蜂鸣器的发声程序作为子程序调用,通过蜂鸣器的发声情况来判断键盘K1键到K4键是否正确。
若正确则按下键发声,松开键停止发声,若不正确,则按键对蜂鸣器的发声没有影响。
3、程序清单:
MAIN:
SETBP2.3;关闭蜂鸣器
LCALLKR245;调用读键程序
ANLA,#0FH;屏蔽高4位拨盘干扰
CJNEA,#0FH,DELAY;有键盘按下,进入去抖动程序
SJMPMAIN;没键盘按下,返回MAIN
;#################################
DELAY:
MOVR0,#014H;去抖动程序
LOOP1:
MOVR1,#0F8H
NOP
LOOP2:
DJNZR1,LOOP2
DJNZR0,LOOP1
LCALLKR245
ANLA,#0FH
CJNEA,#0FH,EDIT;读键盘,若仍然有键按下就进入执行程序
SJMPMAIN
;#################################
EDIT:
CLRP2.3;开蜂鸣器
LCALLKR245
ANLA,#0FH
CJNEA,#0FH,EDIT;若键没释放,则继续执行
SJMPMAIN;若无按键,则跳出执行程序,返回MAIN
;#################################
KR245:
MOVP0,#0H;读键子程序
LCALLSEL8
MOVP1,#0FFH
MOVA,P1
LCALLSEL7
RET
SEL7:
CLRP2.7
SETBP2.6
SETBP2.5
RET
SEL8:
SETBP2.7
SETBP2.6
SETBP2.5
RET
;#################################
四、LED显示器自检程序
1、设计任务:
1)任务内容:
通过所设计的程序来确定LED显示器的每一段均正确。
2)任务分工:
大家一起分析设计硬件框图,由组长郭启民设计主程序框图,组员张志勇设计编写每一段LED数码管显示的子程序,组员王建明和徐彬彬设计编写每段数码管同时显示的延时程序。
2、任务框图:
1)硬件框图:
根据对智能仪表线路图的分析,我们所设计出该程序的硬件电路框图如下图7所示
图七
2)主程序框图:
编写设计的主程序框图如下图8所示:
初始化
图八
3)子程序框图:
做出延时子程序框图如图3所示,设计的LED数码管显示子程序框图如下图9所示:
返回
图九
4)相关说明:
该任务程序设计中,我们选择将数码管的每一段依次点亮,且保持每一段点亮后不熄灭直到数码管一段一段依次全部点亮后从头开始,循环实现这个过程,从而实现对LED七段数码管的自检程序设计。
每一段一次点亮到最后全部点亮可以证明每一段数码管均是正确的。
3、程序清单:
MAIN:
MOVP2,#0
SETBP2.3
MOVP0,#0;关闭LED显示
;###########################
MOVR1,#19H;设置A0循环次数25次
A0:
SETBP0.0;段选h号LED管
LCALLLOOK1;调用位选子程序,打开最高位LED
;************************
;LOOK1到LOOK5每段子程序中
;都设置有4毫秒的延时程序
;************************
CLRP0.0;关闭g号LED段选
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,A0;使A0程序运行0.5秒后再向下执行
MOVR1,#19H;重新设置B0循环次数
B0:
SETBP0.0
LCALLLOOK1
LCALLLOOK2
CLRP0.0
;************************
;将最高位和第二位LED显示
;“.”后关闭段选“.”
;************************
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,B0
;************************
;程序以此类推,运行时人们
;看到的现象是LED管中指定的
;那段从高位到低位依次亮起
;************************
MOVR1,#19H
C0:
SETBP0.0
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
CLRP0.0
LCALLLOOK4
LCALLLOOK5
DJNZR1,C0
MOVR1,#19H
D0:
SETBP0.0
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
CLRP0.0
LCALLLOOK5
DJNZR1,D0
MOVR1,#19H
E0:
SETBP0.0
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,E0
;************************
;“.”都亮完以后,保持
;“.”亮,再依次让a到g段
;依次按顺序亮起
;************************
MOVR1,#19H
A1:
SETBP0.1
LCALLLOOK1
CLRP0.1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,A1
MOVR1,#19H
B1:
SETBP0.1
LCALLLOOK1
LCALLLOOK2
CLRP0.1
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,B1
MOVR1,#19H
C1:
SETBP0.1
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
CLRP0.1
LCALLLOOK4
LCALLLOOK5
DJNZR1,C1
MOVR1,#19H
D1:
SETBP0.1
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
CLRP0.1
LCALLLOOK5
DJNZR1,D1
MOVR1,#19H
E1:
SETBP0.1LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,E1
MOVR1,#19H
A2:
SETBP0.2
LCALLLOOK1
CLRP0.2
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,A2
MOVR1,#19H
B2:
SETBP0.2
LCALLLOOK1
LCALLLOOK2
CLRP0.2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,B2
MOVR1,#19H
C2:
SETBP0.2
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
CLRP0.2
LCALLLOOK4
LCALLLOOK5
DJNZR1,C2
MOVR1,#19H
D2:
SETBP0.2
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
CLRP0.2
LCALLLOOK5
DJNZR1,D2
MOVR1,#19H
E2:
SETBP0.2
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,E2
MOVR1,#19H
A3:
SETBP0.3
LCALLLOOK1
CLRP0.3
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,A3
MOVR1,#19H
B3:
SETBP0.3
LCALLLOOK1
LCALLLOOK2
CLRP0.3
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,B3
MOVR1,#19H
C3:
SETBP0.3
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
CLRP0.3
LCALLLOOK4
LCALLLOOK5
DJNZR1,C3
MOVR1,#19H
D3:
SETBP0.3
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
CLRP0.4
LCALLLOOK5
DJNZR1,D3
MOVR1,#19H
E3:
SETBP0.3
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,E3
MOVR1,#19H
A4:
SETBP0.4
LCALLLOOK1
CLRP0.4
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,A4
MOVR1,#19H
B4:
SETBP0.4
LCALLLOOK1
LCALLLOOK2
CLRP0.4
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,B4
MOVR1,#19H
C4:
SETBP0.4
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
CLRP0.4
LCALLLOOK4
LCALLLOOK5
DJNZR1,C4
MOVR1,#19H
D4:
SETBP0.4
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
CLRP0.4
LCALLLOOK5
DJNZR1,D4
MOVR1,#19H
E4:
SETBP0.4
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,E4
MOVR1,#19H
A5:
SETBP0.5
LCALLLOOK1
CLRP0.5
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,A5
MOVR1,#19H
B5:
SETBP0.5
LCALLLOOK1
LCALLLOOK2
CLRP0.5
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,B5
MOVR1,#19H
C5:
SETBP0.5
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
CLRP0.5
LCALLLOOK4
LCALLLOOK5
DJNZR1,C5
MOVR1,#19H
D5:
SETBP0.5
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
CLRP0.5
LCALLLOOK5
DJNZR1,D5
MOVR1,#19H
E5:
SETBP0.5
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,E5
MOVR1,#19H
A6:
SETBP0.6
LCALLLOOK1
CLRP0.6
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,A6
MOVR1,#19H
B6:
SETBP0.6
LCALLLOOK1
LCALLLOOK2
CLRP0.6
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,B6
MOVR1,#19H
C6:
SETBP0.6
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
CLRP0.6
LCALLLOOK4
LCALLLOOK5
DJNZR1,C6
MOVR1,#19H
D6:
SETBP0.6
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
CLRP0.6
LCALLLOOK5
DJNZR1,D6
MOVR1,#19H
E6:
SETBP0.6
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,E6
MOVR1,#19H
A7:
SETBP0.7
LCALLLOOK1
CLRP0.7
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,A7
MOVR1,#19H
B7:
SETBP0.7
LCALLLOOK1
LCALLLOOK2
CLRP0.7
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,B7
MOVR1,#19H
C7:
SETBP0.7
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
CLRP0.7
LCALLLOOK4
LCALLLOOK5
DJNZR1,C7
MOVR1,#19H
D7:
SETBP0.7
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
CLRP0.7
LCALLLOOK5
DJNZR1,D7
MOVR1,#19H
E7:
SETBP0.7
LCALLLOOK1
LCALLLOOK2
LCALLLOOK3
LCALLLOOK4
LCALLLOOK5
DJNZR1,E7
AJMPMAIN
;##########################
LOOK1:
CLRP2.7;位选子程序(含延时)
CLRP2.6
CLRP2.5
LCALLDELAY1
RET
LOOK2:
SETBP2.7
CLRP2.6
CLRP2.5
LCALLDELAY1
RET
LOOK3:
CLRP2.7
SETBP2.6
CLRP2.5
LCALLDELAY1
RET
LOOK4:
SETBP2.7
SETBP2.6
CLRP2.5
LCALLDELAY1
RET
LOOK5:
CLRP2.7
CLRP2.6
SETBP2.5
LCALLDELAY1
RET
;###########################
DELAY1:
MOVR5,#08H;延时子程序(延时4毫秒)
LOOP1:
MOVR6,#0FFH
LOOP2:
DJNZR6,LOOP2
DJNZR5,LOOP1
RET
4A\D自检程序
数据处理及显示
==============================================================================
温度监视器程序
==============================================================================
;****************************************************************************
温度监视器主程序
;****************************************************************************
ADCYGW1EQU30H
ORG0000H
SJMPMAIN
ORG0003H
SJMPINT0
MAIN:
CLRRS1;选0区
CLRRS0;
MOVR0,#ADCYGW1
MOVR1,#6
SETBEA
SETBEX0
LCALLSJPX;调用数据排序子程序
LCALLQPJ;调用求平均子程序
LCALLBDBH;调用标度变换子程序
LCALLDMBH;调用代码变换子程序
LCALLDMSHC;调用代码送缓存子程序
LCALLDISPLAY;调用LED显示子程序
SJMPMAIN
;****************************************************************************,采集数据(外部中断子程序)
;*************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 工程 实践 报告 样板
![提示](https://static.bdocx.com/images/bang_tan.gif)