信息工程学院
实
习
日
志
物联网2班 何乃威
6月8日
实习动员大会
实习动员大会是由黄德昌老师为我们讲授的,在课堂上,老师给我们首先确定了这次实习的课程目标:制作八路抢答器。对于八路抢答器这种东西,我想大家都在一些竞赛类节目中都看见过,说实话听到自己要实习制作这种高大上的东西,我真心的有点小激动嘞。然后黄老师又给我们讲解了八路抢答器的用途以及制作流程。并且在这其中又给我们介绍了焊接知识,以及提醒了我们焊接时要注意安全,不能把器材带到宿舍焊接,不可以焊接时做一些危险动作,以免发生烫伤。
总的来说呢就是在实习中要注意人身安全,并且保质保量的完成实习任务,最后写好实习报告。
6月9日
领取元器件并且学习认识元器件
今天我们去12#107听了肖维同学给我们讲解的DXP软件的使用方法,总的来说呢是大概学会基本的操作方法,但是很多元器件找不到, 这需要我们过后自己钻研,我们需要用DXP软件来画出电路图,这对后面电路板的元器件排布和布线都有很大帮助,而且也是实习的一部分。其实我感觉吗,能多掌握一种软件的使用队将来总会有好处的。 经过今天和昨天关于实习的一些了解,我对这次实习也是充满了兴趣。
6月10日
第一次焊接
第一次焊接,我早早来到了实验室。进入实验室,发现原来大家对这次实习都很重视呀。实验室人满为患,居然没有我的一席之地。我在一个角落找到位置开始了自己的八路抢答器的焊接任务。因为我是第一焊接所以我刚开始没有着急开始焊接电路板,而是用一些元器件来练,等基本掌握焊接技巧后才开始焊接。这一天我把7个开关和二极管焊上去了。但因为没有经验你在一些细节上没有处理好。
总结是慢工出细活,做事不可着急,要静下心来慢慢完成自己的工作
6月11日
分析电路
今天没有我们班的去实验室焊接的安排,所以今天我的任务就是好好研究电路图。拿到一张电路图,我不能马上就把实物按照带路图上所示把它连接起来。因为电路图是画在纸上的,绘图者会根据自己在纸上所安排的电路,来最方便的去安排自己的线路,这就会导致图上的线会比较简单,可真正到了连接实物的时候就会发现有好多麻烦。所以拿到电路图首要任务是简化电路图。就这样我花了好大一部分时间去简化电路,并且在PCB电路板上规划了自己的各个元器件的摆放位置。
这一天自己的收获就是自己动手动脑,简化一切复杂问题,使其更加人性化。
6月12日
学习使用仿真软件
今天还是没有我们的去实验室焊接的任务,但实习时间不多,所以今天我开始使用DXP软件画电路图,这次的电路仿真软件我用的是Protel DXP,PROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用PROTEL。第一次用这种软件,好多英文,有好多都不会用,从安装,到汉化,全是自己一个人搞定,真心累了。然后又开始去制作八路抢答器的仿真电路图。
值得一提的是,这款软件真的很棒,仿真软件软件简单明了的告诉我们按照这个方法制作的电路是具有可行性的。
6月13日
第二次焊接
这一次焊接我的任务就是把元器件的电路板上排布好,好的排布可以为后面的布线减少很多麻烦,但今天的主要是任务是将电路的两大部分(1)抢答器电路和(2)报警电路固定到PCB板上。这两个部分是整个电路的关键。我个人觉得焊接的难点在两个芯片的与电阻,以及数码管显示器的连接。这部分最重要的就是CD4511芯片管脚的接线了,一定要注意哪个管脚接哪个几号。所以一定接好。
要说的是焊接之事一定要仔细,不能胡乱接,最后导致短路,这个是极其重要的。
6月14号
初写实习报告
实习报告这算起来已经是第二次写了,回想起去年熬夜写认识实习报告的那段艰苦岁月,我就知道这次不会太简单。果不其然。实习报告一共分八个部分,实习任务书,目录,摘要,以及一到五单元,最后还有一个参考文献。
这次实习任务书我一共分为了五章。第一章焊接的基础知识,第二章八路抢答器的方案以及电路设计方案,第三章八路抢答器的制作,
第四章调试与测试,第五章实习体会及谢辞。总的安排就是这样,细分下来又是好多节。并且基于这次实习的难度,还去图书馆借了基本资料。
刚开始写,也就是写了实习任务书,以及规划了目录,然后完了又写了篇摘要。
6月15日
继续焊接
今天是第三次的时间课焊接,上一次焊接实践中我已经把元器件都已经排布完整,进过多次的修改终于找到到今天的布线很有利的排布方案,今天开始进行布线,这一环节最需要注意的是CD4511的脚柱的链接和显示二极管的脚柱的连线。这个是整个八路抢答器的核心部分。我在第一次不下你的时候再CD4511和显示二极管的脚柱连线
中出错了,后来经过同学的提醒改正了错误,如果没有及时发现,在完全焊接完成后,再回来检查错误九将会是一个很大的麻烦。但是今天还是没能完成焊接,只能明天继续努力了。
6月16日
焊接完成
经过三次实践课焊接,终于在最后一次课上完成了自己的八路抢答器的焊接。今天我的主要任务是焊接整个电路的电源。这是最后一个步骤了,关键是要找出所有的正极和负极,值得注意的是连接地线的也是负极的一部分,最后我找出了4个正极和9个负极。安排好电路的电源部分之后,接下来的任务就是就是把电源接入电路。电路中所有的接地端都是要接到负极的,还有就是CD4511芯片的8号和16号的管脚分别接电源的负极和正极。
6月17日
电路的调试与测试
由于时间问题,所以我就容许有几根飞线了。焊接就容易多了,焊好了就检查电路,没有问题。我马上去测试,竟然一试就行,高兴得跳起来。或许太激动了,把板子折了下,第二次测试时,就不亮灯了。这可急坏我了,与是我就仔细检查电路,检查了好几遍,终于发现是线被我折得短路了,排除了故障,抢答器又正常工作了。
6月18号
努力完成实习报告
电路板焊接完成后吗,接下来最重要的任务就是完成实习报告,实习报告呢是这次实习的最重要部分,占分数的50%,所以呢的好好对待。实习报告要写16页,所以要写的内容也很多,有五章内容,还有两个附录,两个附录呢就是PCB图和电路原理图。今天我的目标就是完成实习报告的三分之二,也就是完成所有有关于电路板的内容。
6月19日
完成实习报告
经过几天连夜的赶制,我终于在今天完成了那多达18页,每页多达五百字的实习报告,期间又要查资料,又要上网看相关类型的文章,真的可以说做了很多,学了很多。不过值得肯定的是实习报告真的很棒,因为焊接八路抢答器的是提高了我们的动手能力,而写实习报告则是对自己这两周实习的一个总结,并且写实习报告的时候,自己又查了好多资料,看了很多关于八路抢答器的实习论文,一句话长姿势了。
很感谢这次实习,让我学会了好多知识,懂得很多道理。一句话总结就是痛苦并快乐着
第二篇:单片机实训,八路抢答器
电气工程及自动化学院
单片机系统实训
八路抢答器设计报告书
学生: 马振
班级: 10电41
学号: 10284004
指导老师: 张兴奎包建华魏鲁原
陈 军刘丽俊赵明伟
2013年1月7日
摘要
本实验报告由方案设计,软件设计,硬件设计,器件选择等多方面组成。在完成实训要求的情况下,又增加四个抢答端口,实现八路抢答,另外有增设其他控制功能。
在老师指导下我组设计的八路抢答是基于我院自行研制的“XZNU MCUS-1”型单片机实验开发系统,具有:功能齐全,线路简单,容错能力强,可靠性高等优点。本系统利用开关做按键输入,扬声器发生提示,数码管显示。实现的功能有:在抢答中,只有开始后抢答才有效,在开始抢答之前抢答无效;抢答限定时间和回答问题的时间可在1-99S设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒计时显示,满时后系统计时自动复位及主控强制复位;选手使用锦囊时可保存号码,重新计时。
目录
零 前言 -------------------------------------------------4
一 设计任务与要求 ----------------------------------5
二 方案设计 -------------------------------------------5
三 逻辑设计 -------------------------------------------6
四 硬件设计 -------------------------------------------7
五 软件设计 -------------------------------------------9
六 结论 -------------------------------------------------25
七 参考文献 -------------------------------------------26
前言
通过前一阶段的单片机理论学习,我们对单片机的功能,原理,使用方法有了初步的了解。但距真正掌握单片机,利用其去解决问题尚有一段距离。所以我们急需一个综合锻炼的机会,而实训就是一个绝佳的机会。实训课题具有种类多,难易程度可调节,贴近生活,生动有趣等特点。它不仅将我们过往的单片机,汇编语言,绘图仿真,电路搭建等方面知识进行综合使用,巩固,提升。而且锻炼分析问题,解决问题,与人合作等能力。
“纸上得来终觉浅”这是实训中大家共有的感叹,在实训中经常遇到这样的情况:系统仿真没有错误,但是电路搭建完毕,却得不到仿真的结果。作为工科课程,只有真正做出实物的时候,我们才有可能说:真正掌握。此次实训在巩固知识,锻炼能力的基础上,更使我们深刻认识到:学习不能仅仅停留在书本上,尤其是工科的学习。我们学习的知识来源于生产生活,所以我们必须将其还原到生产生活中去,用实践去检验我们的知识。也只有这样我们才能将课程真正学完,学牢,学活,才能在未来的竞争中处于有利地位。
最后在此我对实训中的每一位指导老师真诚地道一声:感谢!
一、设计任务与要求
一、题目:
四路抢答器
二、基本要求:
利用8051单片机 ,制作一个有4个按键的比赛抢答器。在有人按键时进行对应选手显示。
三、设计任务
1.设计硬件电路,画出电路原理图;
2.画出流程图;
3.编制程序,写出源程序代码;
4.写出的详细说明书,要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件;
5.个人总结。
四、参考资料: 自己寻查找
二方案设计
方案:该系统是以我院自行研制的“XZNU MCUS-1”为核心,可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。
“XZNU MCUS-1”特点如下:
<1>方便可靠:此系统是我院自行研制的,可靠性高,出事故便于检查,有问题便于咨询等多种优点。并且结合伟福软件仿真,调试方便。
<2>节约经:“XZNU MCUS-1”中包含单片机,锁存器,译码器,显示器,键盘,蜂鸣器等多种常用器件,满足我们的基本需求,不用令买器件。
<3> 电路简单:“XZNU MCUS-1”系统将常用器件分模块,仅用导线连接即可。
<4>承上启下:利用“XZNU MCUS-1”便于我们队过往有关知识的巩固,并对以后毕业设计等后继实训打下基础。
三逻辑设计:
“XZNU MCUS-1”系统各部分独立,硬件输出固定,只要软件输出符合即可。
其逻辑框图如下:
逻辑刘流程图如下
四硬件设计
根据实验要求及单片机接口特性,在充分利用系统资源的前提下,设计为:
一单片机端口分配设计:
P0八个端口作为段选出;
P1口八个端口作为抢答输入端口,于是便将四路抢答扩展为八路抢答;
P2的前三个端口:P2.0,P2.1,P2.2作为位选输出;
P2.0为选手号码显示;
P2.1为倒计时的十位显示;
P2.2为倒计时个位显示;
P3口为控制端口;
P3.0口为“开始”键;
P3.1口为“复位”键;另外添加抢答,回答时间调整:
P3.2口为抢答时间调整键,按下后可调整抢答时间;
P3.3为回答时间调整键,按下后可以调整回答问题的时间;
P3.4为“加一”键,在调整时间打状态下,每按一次可实现计时加一的功能;
P3.5为“减一”键,每按下一次可实现减一的功能;
P3.6为铃声输出,通过三极管放大,P3.6时高电平时铃响;
二外部电路连接设计
<1>时钟电路:“XZNU MCUS-1”系统中自带时钟电路(12MHZ);
<2>复位电路:“XZNU MCUS-1”系统中自带复位电路;
<3>键盘电路:本系统共需14个外接键盘,期中八个抢答按键可以对系统上的扫描键盘进行选取,另外六个控制调整键盘可以利用拨号键进行扩展;
<4>显示电路:P0口输出后经74LS245及74LS244接共阳八段显示器段;P2口输出经75451接八段显示器的为选;
<5>铃响报警:P3.6输出接蜂鸣器(内部电路以接好);
画出仿真图如下
器件如下
五软件设计
OK EQU 20H;抢答开始标志位
RING EQU 22H;响铃标志位
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP INT0SUB
ORG 000BH
AJMP T0INT
ORG 0013H
AJMP INT1SUB
ORG 001BH
AJMP T1INT
ORG 0040H
MAIN: MOV R1,#30;初设抢答时间为30s
MOV R2,#60;初设答题时间为60s
MOV TMOD,#11H;设置未定时器/模式1
MOV TH0,#0F0H
MOV TL0,#0FFH;越高发声频率越高,越尖
MOV TH1,#3CH
MOV TL1,#0B0H;50ms为一次溢出中断
SETB EA
SETB ET0
SETB ET1
SETB EX0
SETB EX1;允许四个中断,T0/T1/INT0/INT1
CLR OK
CLR RING
CLR P3.6
SETB TR1
SETB TR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了
;=====查询程序=====
START: MOV R5,#0BH
MOV R4,#0BH
MOV R3,#0BH
ACALL DISPLAY;未开始抢答时候显示FFF
JB P3.0,NEXT;
ACALL DELAY
JB P3.0,NEXT;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询
ACALL BARK;按键发声
MOV A,R1
MOV R6,A;送R1->R6,因为R1中保存了抢答时间
SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答
MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号
MOV R3,#0AH;抢答只显示计时,灭号数
AJMP COUNT;进入倒计时,"查询有效抢答的程序"在COUNT里面
NEXT: JNB P1.0,FALSE1
JNB P1.1,FALSE2
JNB P1.2,FALSE3
JNB P1.3,FALSE4
JNB P1.4,FALSE5
JNB P1.5,FALSE6
JNB P1.6,FALSE7
JNB P1.7,FALSE8
AJMP START
;=====非法抢答处理程序=====
FALSE1: MOV R3,#01H
AJMP ERROR
FALSE2: MOV R3,#02H
AJMP ERROR
FALSE3: MOV R3,#03H
AJMP ERROR
FALSE4: MOV R3,#04H
AJMP ERROR
FALSE5: MOV R3,#05H
AJMP ERROR
FALSE6: MOV R3,#06H
AJMP ERROR
FALSE7: MOV R3,#07H
AJMP ERROR
FALSE8: MOV R3,#08H
AJMP ERROR
;=====INT0(抢答时间R1调整程序)=====
INT0SUB:MOV A,R1
MOV B,#0AH
DIV AB
MOV R5,A
MOV R4,B
MOV R3,#0AH
ACALL DISPLAY;先在两个时间LED上显示R1
JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCO
JNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECO
JNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKO
AJMP INT0SUB
INC0: MOV A,R1
CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。
MOV R1,#00H
ACALL DELAY1
AJMP INT0SUB
ADD0: INC R1
ACALL DELAY1
AJMP INT0SUB
DEC0: MOV A,R1
JZ SETR1;如果R1为0, R1就置99,
DEC R1
ACALL DELAY1
AJMP INT0SUB
SETR1: MOV R1,#63H
ACALL DELAY1
AJMP INT0SUB
BACK0: RETI
;=====INT1(回答时间R2调整程序)=====
INT1SUB:MOV A,R2
MOV B,#0AH
DIV AB
MOV R5,A
MOV R4,B
MOV R3,#0AH
ACALL DISPLAY
JNB P3.4,INC1
JNB P3.5,DEC1
JNB P3.1,BACK1
AJMP INT1SUB
INC1: MOV A,R2
CJNE A,#63H,ADD1
MOV R2,#00H
ACALL DELAY1
AJMP INT1SUB
ADD1: INC R2
ACALL DELAY1
AJMP INT1SUB
DEC1: MOV A,R2
JZ SETR2
DEC R2
ACALL DELAY1
AJMP INT1SUB
SETR2: MOV R2,#63H
ACALL DELAY1
AJMP INT1SUB
BACK1: RETI
;=====倒计时程序(抢答倒计时和回答倒计时都跳到改程序)=====
REPEAT:MOV A,R2 ;使用锦囊时重新计时
MOV R6,A
CLR RING CLR P3.6
COUNT: MOV R0,#00H;重置定时器中断次数
MOV TH1,#3CH
MOV TL1,#0B0H;重置定时器
RECOUNT:MOV A,R6;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6
MOV B,#0AH
DIV AB;除十分出个位/十位
MOV 30H,A;十位存于(30H)
MOV 31H,B;个位存于(31H)
MOV R5,30H;取十位
MOV R4,31H;取个位
MOV A,R6
SUBB A,#07H
JNC LARGER;大于5s跳到LARGER,小于等于5s会提醒
MOV A,R0
CJNE A,#0AH,FULL;1s中0.5s向下运行
CLR RING
AJMP CHECK
FULL: CJNE A,#14H,CHECK;下面是1s的情况,响并显示号数并清R0,重新计
SETB RING
MOV A,R6
JZ QUIT;计时完毕
MOV R0,#00H
DEC R6;一秒标志减1
AJMP CHECK
LARGER: MOV A,R0
CJNE A,#14H,CHECK;如果1s向下运行,否者跳到查"停/显示"
DEC R6;计时一秒R6自动减1
MOV R0,#00H
CHECK: JNB P3.1,QUIT;如按下停止键退出
JNB OK,CHECKK ;只在回答倒计时才有效
AJMP NEXTT
CHECKK:JNB P3.0,REPEAT ;判断是否使用锦囊
NEXTT: ACALL DISPLAY
JB OK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用)
AJMP RECOUNT
ACCOUT: MOV 36H P2
MOV A,36H
JNB ACC.0,TRUE1
JNB ACC.1,TRUE2
JNB ACC.2,TRUE3
JNB ACC.3,TRUE4
JNB ACC.4,TRUE5
JNB ACC.5,TRUE6
JNB ACC.6,TZ1
JNB ACC.7,TZ2
AJMP RECOUNT
TZ1:JMP TRUE7
TZ2:JMP TRUE8
QUIT: CLR OK;如果按下了"停止键"执行的程序
CLR RING CLR P3.6
AJMP START
;=====正常抢答处理程序=====
TRUE1: ACALL BARK
MOV A,R2
MOV R6,A;抢答时间R2送R6
MOV R3,#01H
CLR OK;因为答题的计时不再查询抢答,所以就锁了抢答
AJMP COUNT
TRUE2:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#02H
CLR OK
AJMP COUNT
TRUE3:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#03H
CLR OK
AJMP COUNT
TRUE4:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#04H
CLR OK
AJMP COUNT
TRUE5:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#05H
CLR OK
AJMP COUNT
TRUE6: ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#06H
CLR OK
AJMP COUNT
TRUE7:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#07H
CLR OK
AJMP COUNT
TRUE8:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#08H
CLR OK
AJMP COUNT
;=====犯规抢答程序=====
ERROR: MOV R0,#00H
MOV TH1,#3CH
MOV TL1,#0B0H
MOV 34H,R3;犯规号数暂存与(34H)
HERE: MOV A,R0
CJNE A,#06H,FLASH;0.3s向下运行->灭并停响
CLR RING
MOV R3,#0AH
MOV R4,#0AH
MOV R5,#0AH;三灯全灭
AJMP CHECK1
FLASH: CJNE A,#0CH,CHECK1;下面是0.8s的情况,响并显示号数并清R0,重新计
SETB RING
MOV R0,#00H
MOV R3,34H;取回号数
MOV R5,#0BH
MOV R4,#0BH;显示FF和号数
AJMP CHECK1
CHECK1: JNB P3.1,QUIT1
ACALL DISPLAY
AJMP HERE
QUIT1: CLR RING CLR P3.6
CLR OK
AJMP START
;=====显示程序=====
DISPLAY:MOV DPTR,#DAT1;查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出,
MOV A,R3
MOVC A,@A+DPTR
MOV P2,#0feH
MOV P0,A
ACALL DELAY2
MOV DPTR,#DAT2
MOV A,R5
MOVC A,@A+DPTR
MOV P2,#0fdH
MOV P0,A
ACALL DELAY2
MOV A,R4
MOVC A,@A+DPTR
MOV P2,#0fbH
MOV P0,A
ACALL DELAY2
RET
DAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H
;"灭","1","2","3","4","5","6","7","8","9","灭","F"
DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H
;====加减时间延时(起到不会按下就加N个数)======
DELAY1: MOV 35H,#08H
LOOP0: ACALL DISPLAY
DJNZ 35H,LOOP0
RET
;=====延时4236个机器周期(去抖动用到)=====
DELAY: MOV 32H,#12H
LOOP: MOV 33H,#0AFH
LOOP1: DJNZ 33H,LOOP1
DJNZ 32H,LOOP
RET
;=====延时4236个机器周期(显示用到)=====
DELAY2: MOV 32H,#43H
LOOP3: MOV 33H,#1EH
MOV A,R7 ;每隔60~70个机器周期读一次P1口,全为1时为无效数据,继续读,有一个不为1时,转到正常抢答处理
JNZ AAAA1 ;没读到有效数据时继续转到AAAA1
LOOP2: DJNZ 33H,LOOP2
DJNZ 32H,LOOP3
RET
;=====读抢答按键数据口程序=====
;由于在读抢答数据口的时候,单片机首先进入倒计时程序,再调用显示程序,最后才检测按键口
;然而在检测按键口时动态扫描要调用三次(4ms)延时程序.这样就会导致读数据口出现滞后,造成1号优先最高.8号最低.
;故采用在延时子程序中加了读数据口程序.保证了灵敏度和可靠性
AAAA1: MOV A,P1
CJNE A,#0FFH,AA1 ;当不全为1时的数据为有效数据
AA0: MOV 36H,A ;将有效数据送到36H暂存
AJMP LOOP2
AA1: DEC R7
AJMP AA0
;=====发声程序=====
BARK: SETB RING
ACALL DELAY1
ACALL DELAY1
CLR RING;按键发声 RET
T0INT: MOV TH0,#0ECH
MOV TL0,#0FFH
JNB RING,OUT;
CPL P3.6;RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音
OUT: RETI
;;=====TO溢出中断(响铃程序)=====
T0INT: MOV TH0,#0ECH
MOV TL0,#0FFH
JNB RING,OUT;
CPL P3.6;RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音
OUT: RETI
;=====T1溢出中断(计时程序)=====
T1INT: MOV TH1,#3CH
MOV TL1,#0B0H
INC R0
RETI
END 六总结 试验在大大提高我们理论知识的同时也锻炼了我们的动手能力。试验中经常会遇到这样或那样的问题,通过现象我们逐渐逐本溯源寻找问题的源头。每个问题都是一次挑战,每一次解决问题都会带来无尽的喜。在解决问题的同时我们也认识到自身在上一阶段的学习中还有许多知识点没有真正弄明白,我们的学习并没有因为课程的结束而结束。 此次试验中我们组在完成题目要求以外又另加了诸多功能,使我们的抢答器功能更强大,更完善,更人性化。但在看到长出的同时我们也意识到我们的抢答器还有一些不足入:抢答,回答时间的修改不能保存,每次从其后仍需重新设定,锦囊设置的不合理等。
另外说下在此次实训我们组由于使用实验室器材,提升软件设计的难度,节省金钱,但大大降低了硬件设计的难度。相对其他组自己焊接电路板的同学,我们在这方面所获得锻炼就少的多了,这是我们的不足。
最后我再次向实训中的所有指导老师道一声感谢。感谢各位指导老师悉心教导!
七参考文献
[1]《单片机实验与实训教程》:刘海宽/主编
包建华 张兴奎/副主编
[2]《单片机原理及应用》:张鑫主/编