单片机实验报告(10篇)
1.单片机实验报告 篇一
实验
四、中断交通灯实验
林立强
1000850116
一、实验目的
1、了解MCS-51单片机的组成、中断原理,中断处理过程、外部中断的中断方式。
2、掌握中断响应及处理的编程方法。
二、实验原理
MCS-51的中断系统中有5个中断源:外部中断INTO,INT1,定时器/计数器TO、T1中断和串口UART中断,它们对应不同的中断矢量。如表:
IE是中断允许寄存器,其中EXO,ETO,EX1,ET1,ES分别是上述5个中断的允许控制位,EA位是中断总允许位,每个中断只有在相应中断允许且总中断也允许的情况下,才能得到中断响应。80XX51的5个中断都可以设为高低2个优先级,IP是中断优先级寄存器,其中PXO,PTO,PX1,PT1,PS位分别对应5个中断的优先级设置,置“1”时设为高优先级中断,为“0”时是低优先级中断。在有中断嵌套要求时,低优先级中断可被高优先级所中断。当同一级的中断同时到来时,先响应中断矢量排在前面的中断。
三、实验电路
电路原理图如下,所需元件为:AT89C51、SW-SPDT、LED-RED、LED-GREEN、LED-YELLOW、RES、TRAFFICLIGHTS
四、实验内容
参照实验电路,设计交通灯控制系统。模拟交通信号灯控制:一般情况下正常显示,东西-南北交替放行,各方向通行时间为30秒。有救护车或警车到达时,两个方向交通信号灯全为红色,以便让急救车或警车通过,设通行时间为10秒,之后交通恢复正常。用单次脉冲模拟急救车或警车申请外部中断。
1、在生成HEX文件后,用Proteus软件对电路图进行计算机仿真;
2、程序下载到单片机实验板上验证;(实验板数码管的驱动程序见附件)。
五、程序流程图
仿真图:
紧急情况:
源程序:
ORG 0000H
AJMP START
ORG 0023H //串口中断地址
AJMP SBR1
START:MOV TMOD,#00100000B
//定时器方式2
MOV TL1,#0FDH //9600bps/11.0592MHz
MOV TH1,#0FDH
SETB TR1
MOV SCON,#01100000B //方式1
MOV R0,#20H
MOV R1,#40H
ACALL SOUT
SJMP $
SBR1: JNB RI,SEND
ACALL SIN
SJMP NEXT SEND: ACALL SOUT NEXT: RETI
SOUT: MOV A,@R0
MOV C,P
CPL C
MOV ACC.7,C
INC R0
MOV SBUF,A
CLR TI
RET
SIN: MOV A,SBUF
MOV C,P
CPL C
ANL A,#7FH
MOV @R1,A
INC R1
CLR RI
RET
PLAY: MOV A,R7
MOV B,#10
RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
// 0
A B C D E F
END
2.单片机实验报告 篇二
(一)模拟实验平台的建立
近年来,随着FLASH型单片机的广泛应用,采用软件模拟加写片验证成为一种经济实用的实验方法。要使学生能够真正掌握单片机技术,需要他们亲自动手焊制单片机实验板,亲自动手烧录程序,而且实验过程不能复杂,通过亲自做实验,把课堂上学习的概念性知识转换成视觉可以观察到的物理现象所发生的各种变化,提高学生的感性认识和激发他们学习的兴趣。下面是广西理工职业技术学校在教学中单片机模拟实验平台的建立:
1. 合理配置公共实验平台。
过去的单片机实验设备,主要以专用的单片机开发系统为主,投资较大而设备的利用率低(中职教学很多功能没用上),编写程序和修改程序很不方便,对初学单片机的学生来说很难掌握复杂的操作界面。由于以上种种原因,教学单位常配置为数不多的单片机开发系统,因此,学生上机实验受到了极大的限制,很难达到理论课与实验课“交替”的教学效果(实验课无法与理论课同步)。广西理工职业技术学校使用30台电脑局域网连接(和PLC实验共用),每台电脑配置一个TOP853编程器,采用MedWin仿真软件和TopWin烧写软件,不算电脑费用,每个工位330元就可以开展单片机实验!TOP853编程器体积小巧,采用USB通用串口与PC机连接通信,传输速率高, 抗干扰性能好,可靠性能极高,特别适合烧写各种电擦除器件。MedWin仿真软件和TopWin烧写软件,全中文界面,操作方法简单易学,学生很容易就掌握了单片机的编程→汇编→固化等等操作界面的使用,大大提高了单片机的实验教学效率。
2. 配置学生专用的单片机模拟实验板。
单片机实验板是单片机实验板是单片机教学中每个学生的必备学习工具,由学生自己购买散件组装一块带LED(发光二极管)的单片机实验板(参考价20元),如图1,人手一套,单片机实验板是一块由89C51单片机和32只LED组成的发光条(发光二极管)及两组三极管输出驱动电路组成(一组驱动0.25W扬声器,另一组驱动5V微型继电器),原理图如图2,让学生第一时间感受到单片机系统是怎么样的,如何进行工作的。其它实验板,如点阵实验板(参考价20元)、单片机控制强电实验板(参考价80元)等由实验室自行设计组装多套,供学生使用,总价格还不到一个单片机开发系统实验箱!这样,人人拥有实训设备,大大缓解中职扩招而造成的实验资源紧缺的压力,实训空间得到了无形的拓展。
(二)根据模拟实验平台,选择适合学生学习的知识点
单片机技术是一门比较难学的课程,它包括了数字电路技术、模拟电路技术、传感器技术、通讯技术、计算机硬件接口技术、计算机软件编程技术等等基础知识,众多的相关内容,对中专层次的学生是难以接受的。根据广西理工职业技术学校多年的单片机教学实践,中等职业学校的培养目标制订在初级目标较为合适,简述如下:掌握通用型MCS-51单片机的基本结构(主要是单片机的内部ROM和RAM及管脚功能和定义);掌握单片机的最小硬件设计系统(单片机最少需要连接几个外围元件才能正常工作);初步掌握单片机的程序设计(利用汇编指令系统进行模仿性编程、程序的烧录)。掌握了单片机以上三个方面的基础知识,学生基本上可以独立的承担单片机系统的维护。
(三)改革教学方法,合理安排授课内容
传统的单片机教学,均是以单片机的结构为主线,先讲单片机的硬件结构,然后是指令、编程、单片机系统的扩展和各种外围器件的应用,最后再讲一些实例,按照这种教学结构,中等职业学校的学生普遍感到难学,一个从未接触过计算机结构的人,甚至数字电路也是刚刚接触的人,要他去理解单片机内部结构,这实在是不容易。以8051系列单片机为例,它是一种大规模的集成电路芯片,具有111条汇编指令系统。许多单片机教科书都是按照内部结构→指令系统→设计实例进行逐步介绍,在讲解单片机内部硬件结构和指令系统的理论概念时,只能按照硬件等效框图、指令书写格式、使用文字说明方法表达它们的功能及作用,当8051单片机的111条汇编指令学完后,学生还是没有弄明白MOVP1,#00H和MOV P1,#0FFH怎么就能使接在单片机P1端口的8只LED点亮或熄灭,如果学习中出现的问题太多,而又没有得到及时解决,学生就会丧失学习单片机技术的信心,也就越学越没有兴趣。基于这种情况,在教学中尝试职业教育倡导的任务驱动教学法。任务驱动教学,就是突出实践在课程中的主体地位,用工作任务引领理论,使理论从属于实践。主要的教学思路是以任务为教学单元,打破原有界限,不管硬件结构、指令、编程的先后顺序,将各部分知识分解成一个个知识点,为了完成一个任务抽取每个部份的不同知识点,加以组合。
1.
以多种形式的点亮LED灯为学习任务,配置为完成该任务而必须掌握的指令、硬件结构知识、软件操作知识等,学完这些知识以后完成该任务,然后较为系统地学习一些硬件结构知识及常用指令,通过这种方式将学生普遍感到比较困难的该部分知识分解,把一个高的台阶变成若干低的台阶,使得学习者从一开始就能体会到成功的喜悦,有利于学习的顺利进行。
2.
用单片机控制点阵动态扫描显示字形,在单片机P0口和P2口分别接入一只8×8 LED点阵显示屏(列共阴极、行共阳极显示屏),在P0口接入显示屏的8列管脚、在P2口接入显示屏的8行管脚,如图3。采用动态扫描显示方式在显示屏上显示字形为学习任务,让学生很直观地学习查表,调用延时子程序等相关指令。
3.
用单片机模拟音频信号输出,使用图1单片机实验板中音频信号驱动电路,其中三极管驱动电路如图4,以单片机模拟警笛音频信号输出、单片机模拟消防车音频信号输出和用单片机模拟音阶音频信号输出(单片机音乐编程)等为学习任务,让学习在快乐、有趣中学习单片机相关指令。
4.
用单片机控制改造继电—接触器控制系统,通过单片机控制继电器电路板,以电力拖动控制线路基本环节为任务,如电动机正反转控制、星—三角降压启动及多台电动机联锁控制等,配置为完成该任务而必须掌握的指令、中断、定时器及查表程序的应用,为学生搭建弱电控制强电的桥梁,如图5为用单片机控制电动机星—三角降压启动控制I/O硬件接线示意。以往单片机教学就是写汇编语言,枯燥无味,现从实际应用的角度来学习单片机,而且是学生正在学习的感受较深的电力拖动控制中的应用,通过横向联系、比较学习,加深对电力拖动控制线路、PLC控制和单片机控制的理解。
唯有实际地做了才能学得更多,通过建立单片机模拟实验平台,拓展了实训空间,让单片机技能实训能人人参与。
摘要:《微机控制技术及应用》 (单片机技术) 是中等职业学校“机电技术应用专业”的主干课程, 单片机难学难教在中职教学中尤为突出。通过单片机模拟实验平台的建立, 提出实验设备、教学内容、教学方法三位一体的解决方案, 探索适合现代职业教育的新路子。
关键词:单片机技术,任务驱动教学法,单片机实验
参考文献
[1]姜大源.单片机技术[M].北京:高等教育出版社, 2005.
[2]周坚.单片机轻松入门[M].北京:北京航空航天大学出版社, 2004.
3.单片机实验教学模式改革及研究 篇三
摘要:单片机实验是一门重要课程,优化其教学模式具有重要意义。首先分析了單片机实验教学中存在的问题,提出了加强实践教学认识,优化实验项目,进行开放化、自由化、游戏化教学模式的探索。经过实践,发现改革后的教学模式,提高了教学效果,培养了学生的实践能力。
关键词:单片机实验,教学模式,强能力,重应用
中图分类号:G642.423 文献标识码:A 文章编号:1007-0079(2014)32-0123-02
单片机课程是众多电类专业所必修的专业实验课程,涉及的专业课程众多。通过单片机的实验教学,才能够让学生熟练的运用汇编语言进行编程,设计出满足某种特定功能的单片机应用电路[1],今天各高校充分认识到对学生实践能力培养的重要性,传统的教学理念已不能满足当今行业企业的对应用型人才的需求。因此,如何优化单片机实验教学模式,提升单片机实验教学质量是相关专业改革的重点。
一、传统单片机实验教学存在的问题与不足
1.重理论轻实践
实验教学是高校人才培养的重要环节,是理论学习与创新能力培养的桥梁,同时也是企业对人才需求的要求。[2]今天,衡量一个学生能力的标准已经不再是卷面成绩,企业最关注的也不再是一纸成绩单,而是学生实践创新能力与动手探索能力。当今和许多综合性和理工类院校对实验课程的设置存在一定的不足,许多专业课程没有实验环节,个别课程实验课时少之又少,单独开设的实验课程屈指可数。可见,大部分院校依然偏重于理论的教学,在单片机试验的实践性教学环节重依然采用的是偏重验证性和演示性的实验,仅仅是为了完成实验环节而设立的实验课程,为了做实验而做实验,长期下来会导致学生对实践能力的掌握严重不足,学生发现问题、理解问题、解决问题的实践能力严重欠缺。
2.学生对实验的感性认识不足
大部分学生由于受到传统的教学模式的影响,以及今天的考研模式的推动,把大部分时间和精力投入到理论学习中,远远超过对实验课程的重视程度,甚至很多学生认为实验就是玩玩而已,只要按流程操作完成就可以了,缺乏主动的探索意识。
3.实验教学滞后现象严重
由于实验设备和实验教师等软件和硬件等原因,导致今天各高校的实验课程教学严重滞后于理论教学,尤其作为单片机实验,滞后性尤为明显,这里既有客观原因也有主观因素。首先,由于教学手段、实验设备的落后,明显不能满足日益先进的试验程序;其次,实验教师的观念未能与时俱进,及时更新,依然依靠多年的实验项目和教学案例以及固有的经验进行教学,不能结合社会行业需求安排实验项目及程序;第三,电工与电子技术发展迅猛,出现许多新工艺新技术,理论教学中及时增加了新的内容,而实验教学并未更新,内容长期不变,成为实验教学的瓶颈。上述因素均造成理论与实验脱节,对于更新的技术和内容来说变成了纸上谈兵,学生的实践能力不能适应日益发展变化的市场需求。
二、单片机实验教学优化方案
随着社会对行业需求人才要求的日益提高,高校对工程类专业人才的培养渐渐开始从理论型、学术型人才转向技术型、应用型高技能人才。这就要求高校课堂中对实验、实践环节要越来越重视,尤其在单片机实验中的投入应力度加大,不断更新实验内容,运用各种现代化教学手段,这样才能提高学生的动手能力和实践分析能力。[3]这就要求单片机实验要改变传统软件、硬件分离的状态,提高软件和硬件的结合。为了加强能力型、应用型人才的培养,应该从以下几方面进行改善:
1.加强对实践教学的认识
提高对单片机实践教学的认识要从根本做起,从学校对实验硬件设备的投入,到学院对培养方案计划的修改,再到实验教师对单片机实验的设置,最后到学生对实验兴趣的提升,通过优化实践课程,让实践不再是一种形式,而是与企业需求项目有密切关联的必经过程。只要从软、硬件同时改善单片机实验,学生一定会对实验课程引起很大兴趣,同时可以用企业来说话,往往企业人员的影响力远远大于老师和课堂的说服力度,这样学生从根本上认识到实践的重要性。
2.优化实验项目,建立单片机实验数据库
单片机实验项目要做到以设计性、创新性为主,系统的在经典理论的实验基础上融入设计行为和创新意识,将原本纯粹的验证性实验变成学生自主参与、自主设计与开发的创新型项目,提高学生的主观性即主动的设计创新能力,同时适当的引入企业项目编程,利用学校的硬件接线与程序的编写相结合,完成各种电路的绘制与搭接。学生对企项目的兴趣比虚拟的课程实验兴趣更大,因此可以通过建立以项目为载体的单片机实验数据库,根据学生对不同项目的兴趣点有选择性的进行试验训练,这种方式对学生主观能动性的提高有极大的帮助,不但加强了学生对技能的操作能力和创造力,也提前培养了学生对企业行业知识技能的掌握力。
3.开放化、自由化单片机实验教学模式的尝试
当代大学生存在不喜欢受约束、受限制的性格特点,对课堂教学有着更强烈自由的渴望。对于单片机实验来说,仅限在课程安排的限制时间内完成实验过程,对于很多学生来说是比较局限的,时间不充足,不能更好的达到实验目的。因此,会存在有些学生为了在下课前能够完成实验而匆忙操作,导致出现错误现象。[4]因此开放性实验教学模式可以让学生随时可以来实验室完善它们的作品,也可以让更加有兴趣的同学利用课余时间创造开发他们自己的产品,这样可以促进学生大胆地去创造,去改革,去实践。这种模式有助于实验室设备利用率的提高,充分利用实验室的资源,为学生创造更多的机会提高他们学习的能力及操作技能。在学院的支持下建立了开放性实验室,由任课教师及学生统一管理,购买单片机及常规的元器件,并配备单片机实验箱;任课教师都不定时地进行指导,并组织学生讨论。
4.让单片机实验“游戏化”
以“游戏性”为驱动力可以有效提升学生的创造能力,以学生感兴趣的方向为切入点,让学生在有兴趣的“游戏”中完成任务。游戏化实验教学在最大程度激发学生的学习兴趣上很有效果,渗透性强,现在的学生不喜欢枯燥的学习模式,在实验过程添加“游戏”的成分——学生感兴趣的实验项目。单片机实验打破传统的集成式的实验板,让学生根据自己的兴趣去实验数据库自行选择实验项目,改变传统单片机实验教学中只注重学生动手能力培养、注重某一个单一功能的电路设计的教学方法。这种“游戏”模式可以让学生自己动脑对自己的兴趣项目进行电路设计,自己思考采用何种方案、何种结构、何种功能的电路来实现预期目标。根据自己选择的项目和制定的方案选定具体元器件设计具体电路。这种模式就像学生们在根据自己的思维去完成一个游戏一样,整个实验成为有交互、有自主权的游戏过程。既锻炼了他们手脑结合的能力,同时激发了学生主观能动性和创造性。[5]
三、效果分析
在经过2个学期的教学实践,效果较以前有较大提高。首先,学生从本质上认识到单片机实验的重要性。课堂上不清楚的、不太明白的,很多同学课后主动去单片机开放性实验室做实验,在实验过程中寻求帮助,加强对新知识的理解。其次,学生对单片机实验有了极大的兴趣。学生经常讨论实验过程及结果,甚至有一定的创新思维,积极思考,进行探索。最后,新教学模式下的学生,单片机方面的理论知识、动手能力都比传统模式的学生要强,而且给学生主动学习单片机知识的提供了动力。
四、结语
单片机实验是一项综合性、设计性较强的实验教学模式,学生在实验过程中真正做到理解实验目的,了解行业需求,自己动手、动脑,不依赖老师,试验中学生能根据具体项目需求自主完成实验方案的选择和设计,这种强能力、重应用的单片机实验教学模式不仅提升了学生的理论与实践相结合的能力,提高了学校培养创新人才的效率,同时使学生毕业后能尽快的融入社会,为学生进行高层次的研究和工作打下良好的基础。
参考文献:
[1]凌忠兴.基MCS-51单片机实践教学平台的构建[J].实验室科学,2012,(1).
[2]高庆华.单片机实验教学模式改革探索[J].实验室科学,
2013,(10).
[3]瓮嘉民.周成虎.电子创新开放实验室建设的探索研究[J].实验技术与管理,2012,(1).
[4]田运生.刘维华,王景春.综合性设计性实验项目建设的探索与实践[J].实验技术与管理,2012,(2).
[5]周家婕.浅谈优化单片机实验教学提高实验教学质量[J].计算机光盘软件与应用,2012,(13).
4.单片机实验报告大全 篇四
学校:合肥工业大学
班级:计算机科学与技术
学号:
姓名:
验报告
第一章MC51 单片机原理及应用软件实验
实验1:系统认识实验
1. 实验目的
(1)了解ZY15MCU12BC2单片机实验开发装置的接线与安排。掌握实验箱内拨位开关KF,KC的使用方法。(2)通过实例程序的编辑、编译、链接及调试,熟悉Keil C51软件的使用方法和基本操作。(3)教育学生爱抚实验装置,养成良好的实验习惯。
2. 试验设备
(1)ZY15MCU12BC2单片机实验开发装置一台。(2)PC系列微机及相关软件。
3. 试验内容
(1)使用串行通讯电缆将实验开发装置与PC机相连。
(2)开启PC机及实验开发装置,启动Keil C51软件进入uVision2集成开发环境。(3)确认拨位开关KF的开关为A端,确认89C51处于仿真状态。(4)在uVision2开发平台上建立并编辑示例程序:
计算N个数求和程序。其中N个数分别放在片内RAM区50H到55H单元中,N=6,求和的结果放在片内RAM区03H(高位)和04H(低位)单元中。
题目:
1)32H+41H+01H+56H+11H+03H=? 2)895H+02H+02H+44H+48H+12H=?(5)编译连接源程序。
(6)在Keil uVision2主菜单窗口进入DEBUG调试环境,打开存储器窗口输入数据至片内RAM区50H到55H单元中,全速运行程序,并检查程序的运行结果,即观察在存储器窗口片内RAM区03H(高位)、04H(低位)单元中的数据是否正确。(7)实验结束,撤出接线,将一切整理复原。
4.实验源程序
ORG 0000H LJMP MAIN ORG 1000H MAIN: MOV R2,#06H MOV R3,#03H MOV R4,#04H MOV R0,#50H L1: MOV A,R4 ADD A,@R0 MOV R4,A INC R0 CLR A ADDC A,R3 MOV R3,A DJNZ R2,L1 END
5.实验结果截图
6.实验总结
这次试验,熟悉了单片机开发的基本流程,对于实验的两道题目 1)32H+41H+01H+56H+11H+03H=? 2)895H+02H+02H+44H+48H+12H=? 实验结果如上图所示50H~54H存放数据,第一道题计算出来是0x00DEH,第二道题目 计算出来是0x0137H,实验结果和预期相符,成功的完成了实验。这次试验对硬件开发有了基本的认识,特别是对于单片机的存储器有了进一步的认识,在程序中把数据放入RAM中,结果存放在R3和R4中,实验时不知道R3和R4的地 址,后来了解到R3和R4可以直接用他的地址03H和04H,这样进一步深化了书本上 的知识。另外通过这次试验,对于51单片机的几种寻址方式也有了具体的认识。总之,还是要多动手虽然程序不是自己写的,但是阅读理解了还是有点收获的。
实验六.数据排序实验
1. 实验目的
(1)理解并掌握排序程序的设计方法。(2)掌握减法指令的功能,并联系其使用。
(3)逐步提高调试程序的能力及编写程序的能力。
2. 试验设备
(1)ZY15MCU12BC2单片机实验开发装置一台。(2)PC系列微机及相关软件。
3. 试验内容
(1)使用串行通讯电缆将实验开发装置与PC机相连。
(2)开启PC机及实验开发装置,启动Keil C51软件进入uVision2集成开发环境。
(3)编写程序,实现从平台连续输入六个数,数码管将马上从小到大的顺序显示这六个数。要求被排序的数放在70H到7FH单元中。(4)编译连接源程序。
(5)调试程序,在存储器窗口输入被排序数放在70H到7FH单元中,全速运行程序,并检查程序员的运行结果,观察是否正确。
(5)若程序中出现错误,则可以采用单步分段调试,排除程序错误,直到正确为止。
4.实验源程序
MAIN:
LOP2:
LOP1:
LOP5:
ORG 0000H LJMP MAIN ORG 0030H MOV R2,#70H MOV R3,#71H MOV R4,#0FH ACALL LOP1 DJNZ R4,LOP2 LJMP LOP6 MOV A,R2 MOV R0,A MOV A,R3 MOV R1,A MOV A,@R0 CLR C SUBB A,@R1 JC LOP4 MOV A,@R0 XCH A,@R1
LOP4:
LOP6:
MOV @R0,A INC R1 INC R0 MOV A,@R0 CJNE
R1,#80H,LOP5 RET END 5.实验结果截图
6.实验总结
本次试验是在冒泡排序算法实现对70H~7FH中的数据进行排序,如上第一张图所示RAM中70H~7FH存放了数据,第二张图显示的是通过冒泡排序整理过的数据。成功完成了实验,收到了预期效果。
对于习惯了使用高级语言编程的我,看这些绕来绕去的汇编还是有些头大,觉得这个例子写的不太好,跳来跳去,程序层次不分明,可读性很差,冒泡不应该有内外两层吗,看书上有一个例子就写得很好,跟用高级语言写差不多,然而实验的这个好像是要考我们对各种跳转指令的了解,所以读起来晕头转向的。从另一方面来说,通过这次试验,我也熟悉了汇编的跳转与分支指令。另外,所以ORG 0000H
LJMP MAIN
ORG 0030H,这三句ljmp这句跳到了main,那么还要后面一句干嘛。不甚理解。
总之,这次实验让我了解了各种分支与跳转,还是有所收获的。
第二章MC51 单片机原理及应用硬件实验
实验一:广告灯实验
1. 实验目的
(1)熟悉ZY15MCU12BC2单片机实验开发装置的试验箱,学会选用其功能电路,连接成实验需要的系统。掌握实验箱内拨位开关KFKC使用。(2)加深了解MCS-51单片机P1端口的应用方法。(3)学习编写接口应用程序。
2.试验设备
(1)ZY15MCU12BC2单片机实验开发装置一台。(2)PC系列微机及相关软件。
3. 试验内容
(1)使用串行通讯电缆将实验开发装置与PC机相连,确认拨位开关KF的位置。(2)开启PC机及实验开发装置,启动Keil C51软件进入uVision2集成开发环境,确认89C51处于仿真状态。
(3)用试验箱上的发光二极管L0到L7模拟外界各种场合的动态广告灯,将试验箱上的发光二极管L0到L7分别与单片机的P1.0到P1.7相连。
(4)编写程序,实现从P1口输出信号驱动发光二极管L0到L7模拟外界广告灯动态点亮的功能。
(5)在uVision2开发平台上输入程序,编译、连接程序,调试通过后将拨位开关KF拨至B端。
(6)单步执行程序,观察是否进入表格首地址。
(7)单步执行程序,观察发光二极管L0到L7的变化。
(8)全速运行程序,观察发光二极管L0到L7的变化,并注意程序将循环下去。(9)实验结束,撤除接线,将一切整理复原。
4.实验源程序
ORG 0000H MAIN: MOV DPTR,#TAB
MOV R5,71H LOOP: MOV A,#00H
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
ACALL DELAY
INC DPTR
DJNZ R5,LOOP
LJMP MAIN DELAY: MOV R7,#00H
MOV R6,#00H DE:
DJNZ R7,$
DJNZ R6,DE
RET TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH
DB 0FFH,7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH
DB 80H,00H,80H,0C0H,0E0H,0F0H,0F8H,0FCH
DB 0FEH,0FFH,7FH,3FH,1FH,0FH,07H,03H
DB 01H,00H,01H,03H,07H,0FH,1FH,3FH
DB 7FH,0FFH,7EH,3CH,18H,00H,18H,3CH
DB 7EH,0FFH,0FEH,0FCH,0FCH,0F9H,0F3H,0E7H
DB 0CFH,9FH,3FH,7FH,0FFH,7FH,3FH,9FH
DB 0CFH,0E7H,0F3H,0F9H,0FCH,0FEH,0FFH
DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H
DB 80H,40H,20H,10H,08H,04H,02H,01H,00H
DB 01H,02H,04H,08H,10H,20H,40H,80H,00H
DB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH
END
5.实验结果
6.实验总结
广告灯按照程序所给的效果循环的有序的点亮,如果应用到广告霓虹灯,的确可以到达璀璨的效果,程序的最后的TAB是最纠结的,你要按照效果一点一点的编写十六进制的数字,换算出效果,可见真正的商业广告的效果的确是很麻烦的一件事,通过这个实验,我清楚地认识到了单片机的控制的灵活性,另外对于查表指令也有所理解。实验二:P1端口应用实验
1.实验目的
(1)进一步熟悉ZY15MCU12BC2实验箱上的资源,掌握实验箱内拨位开关KF,KC使用。(2)加深了解MCS-51单片机P1端口的应用方法。(3)学习编写接口应用程序。
2.试验设备
(1)ZY15MCU12BC2单片机实验开发装置一台。(2)PC系列微机及相关软件。
3. 试验内容
(1)使用串行通讯电缆将实验开发装置与PC机相连,确认拨位开关KF的位置。(2)开启PC机及实验开发装置,启动Keil C51软件进入uVision2集成开发环境,确认89C51处于仿真状态。
(3)将试验箱上的L0到L3接到P1.0到P1.3,开关K0到K3接到P1.4到P1.7。(4)编写程序实现如下功能: 拨动K0到K3,使L0到L3出现以下组合变化。K3 K2 K1 K0 L3 L2 L1 L0 0 0 0 0 全亮 0 0 0 1 全暗
0 0 1 0 一灯亮其余灯暗并左环依 0 0 1 1 一灯亮其余灯暗并右环依 0 1 0 0 一灯暗其余灯亮并左环依 0 1 0 1 一灯暗其余灯亮并右环依 ? ? ? 显示开关状态Ki为0,Li灯亮 要求:
1)设40H单元为标志单元,(40H)=0时开关状态无变化,(40H)=FFH时开关状态发生变化。
2)设41H单元为开关状态缓冲器,读入开关状态和41H单元内容比较,相同时开关状态无变化,不同是开关状态有变化。3)设42H单元为当前指示灯状态。
(4)在uVision2开发平台上输入程序,编译、连接程序,调试通过后将拨位开关KF拨至B端。
(5)根据准双向口的特性,对P1口写操作使灯L0到L7的状态随写入P1.0到P1.3的内容而变化;读P1口的高四位,读出内容随开关状态的变化而变化。如不对,则检查开关K0到K3的接线,检查K0到K3的电平是否随开关状态变化而变化。
(6)从开始运至BK1处,检查A的内容是否对应开关状态,接着单步运行程序,检查是否转到相应入口使L0到L3状态产生相应的变化。(7)全速运行程序至BK2,在检查A的内容是否与开关状态一致,如不对,则检查前面对P1口的操作指令。
(8)全速运行程序实现所要求的功能。
4.实验源程序
ORG 0000H STRL: MOV A,P1
SWAP A
ANL A,#0FH
MOV 41H,A
MOV 40H,#0FFH MLP0: CJNE A,#6,$+3
JNC PK6
MOV DPTR,#CTAB
MOV R1,A
RL
A
ADD A,R1
JMP @A+DPTR CTAB: LJMP PK0
LJMP PK1
LJMP PK2
LJMP PK3
LJMP PK4
LJMP PK5 PK6:
MOV 42H,A
LJMP MLP1 PK5:
MOV A,40H
CJNE A,#0FFH,PK51
MOV 42H,#01
LJMP MLP1 PK51: MOV A,42H
LCALL RR7
ANL A,#0FH
JNZ PK52
MOV A,#1 PK52: MOV 42H,A
LJMP MLP1 PK4:
MOV A,40H
CJNE A,#0FFH,PK41
MOV 42H,#1
LJMP MLP1 PK41: MOV A,42H
LCALL RL9
ANL A,#0FH
JNZ PK42
MOV A,#1 PK42: MOV 42H,A
LJMP MLP1 PK3:
MOV A,40H
CJNE A,#0FFH,PK31
MOV 42H,#0F7H
LJMP MLP1 PK31: MOV A,42H
LCALL RR9
ANL
A,#0FH
CJNE A,#0FH,PK32
MOV
A,#0F7H PK32: ORL
A,#0F0H
MOV
42H,A
LJMP MLP1 PK2:
MOV
A,40H
CJNE A,#0FFH,PK21
MOV
42H,0FEH
LJMP MLP1 PK21: MOV
A,42H
RL A
ANL A,#0FH
CJNE A,#0FH,PK22
MOV A,#0FEH PK22: ORL A,#0F0H
MOV 42H,A
LJMP MLP1 PK1:
MOV 42H,#0FH
LJMP MLP1 PK0:
MOV 42H,#0 MLP1: MOV A,42H
ORL A,#0F0H
MOV P1,A
MOV R7,#0
MOV R6,#0 DEL1: DJNZ R6,DEL1
DJNZ R7,DEL1
MOV
A,P1
SWAP A
ANL A,#0FH
CJNE A,41H,MLP2
MOV 40H,#0
LJMP MLP0 MLP2: MOV 41H,A
MOV 40H,#0FEH
LJMP MLP0 RR9:
RR A
RR A RR7:
RR A
RR A
RR A
RR A
RR A
RR A
RR A
RET RL9:
RL A
RL A RL7:
RL A
RL A
RL A
RL A
RL A
RL A
RL A
RET
END
5.实验结果截图
6.实验结论
试验中我们把P1口作为输入输出口来测试以下的内容 1.P1 口做输出口,接八只发光二极管循环点亮。2.P1 口低四位接四只发光二极管L1-L4, P1 口高四位接开关K1-K4,编写程序,将开关的状态在发光二极管上显示出来。
在这次试验中我认识到课本上的关于P1口的介绍的知识 P1 口为准双向口,P1 口的每一位都能独立地定义为输出线或输入线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。8031中所有口锁存器在复位时均置为“1”,如果后来往口锁存器写入过“0”,再作为输入时,需要向口锁存器对应位写入“1”。延时程序的编写可以用两种方法,一种是用定时器来实现,一种使用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。
实验三:串转并实验
1.实验目的
(1)掌握51系列单片机串口工作方式0的应用。
(2)学习8位串行输入和并行输出的同步移位寄存器74LS164和8位并行输入和穿行 输出的同步移位寄存器74LS165两个接口芯片的应用性能。(3)研究单片机串行口如何用于扩展并行I/O口。
2.试验设备
(1)ZY15MCU12BC2单片机实验开发装置一台。(2)PC系列微机及相关软件。
3. 试验内容
(1)使用串行通讯电缆将实验开发装置与PC机相连,确认拨位开关KF的位置。(2)开启PC机及实验开发装置,启动Keil C51软件进入uVision2集成开发环境,确 认89C51处于仿真状态。(3)实验步骤:
1)通过单片机串口用一片8位串行输入/并行输出的同步移位寄存器74LS164扩展 8位并行输出口。
2)通过单片机串口用一片8位并行输入/串行输出的同步移位寄存器74LS165扩展 8位并行输入口。(4)将单片机的RXD端与74LS164的串行输入端SERIAL(PA)相连,将单片机的TXD 端与74LS164的脉冲CLOCK(PB)相连,74LS164的输出Q0到Q7接发光二极管 L8到 L15。(5)调试程序:
1)实验采用终端方式调试,既目标程序装入仿真器后,使操作界面进入终端方式。2)单步进入执行程序,打开Keil的寄存器窗口,观察串口数据缓冲区SBUF里的值有何变化。
3)单步执行程序,注意中断标志T1的变化以及所亮的发光二极管的位置。
4.实验源程序
ORG 0000H SJMP MAIN ORG 0023H SJMP SBV MAIN: MOV SCON,#00H SETB EA SETB ES MOV A,#80H MOV SBUF,A MOV SBUF,A MOV SBUF,A SJMP $ SBV: ACALL DELAY CLR T1 RR A MOV SBUF,A RETi DELAY: MOV R7,#00H MOV R6,#00H DEL: DJNZ R7,$
5.实验结果截图
6.实验结论
5.基于单片机的实验报告 篇五
学生姓名 学 号 所在学院 专业名称 班 级 指导教师 成 绩
四川师范大学成都学院 二O一五年十二月
基于AT89C52的电子时钟设计
摘要:
单片机在电子产品中的应用越来越广泛,特别是51系列的单片机,由于其使用方便、价格 低廉等优势,在市场上占有很大的份额。AT89C52就是51系列中的一个比较成熟的型号。本设计是一个多功能的实时时钟,带秒表、整点报时、闹铃、调整时间等功能。可按键直接设置闹铃时间。由AT89C51单片机、DS1302、LCD1602等模块组成。现代社会,时间就是金钱,时钟是每个人的必备品。本设计实现了所需功能,给大家带来方便,整体性好、人性化强、可靠性高,实现了时钟的多功能应用。
关键词:电子时钟;DS1302;LCD1602;
Abstract: Single-chip computer is finding wider and wider application in the electronic products, especially the 51 series microcontroller, due to its convenience, price is low wait for an advantage, holds a large share in the market.AT89C52 is 51 series of a more mature model.This design is a multi-function real-time clock, stopwatch, adjusting time of the hour, alarm, etc.Can be directly set alarm time button.Composed of AT89C51, DS1302 and LCD1602 module.Modern society, time is money, the clock is an essential for everyone.This design can realize the function needed, bring convenience, integral sex is good, human nature is strong, high reliability, realize the multifunctional application of clock.Keywords: electronic;clock;DS1302
II
目录
引言:..............................................................1 1.设计要求与方案....................................................1 1.1 设计要求:....................................................1 1.2 系统基本方案选择..............................................1
1.2.1单片机芯片的选择方案和论证.............................1 1.2.2 显示模块选择方案和论证.................................2 1.2.3时钟芯片的选择方案和论证...............................2
2.设计方案的选择....................................................3 2.1计时方案.....................................错误!未定义书签。2.2 单片机的基本结构.............................错误!未定义书签。2.3数字钟的构成..................................................4 2.4数字钟组成框图................................................4
2.4.1晶体振荡器电路.........................................4 2.4.2 整点报时电路...........................................4
3.系统的软件设计...................................................4 3.1程序流程图....................................................4 3.2程序的设计....................................................6 4.实验箱调试结果....................................................8 5.总结心得体会:....................................................9
III
引言:
随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子时钟采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该设计以AT89C51单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
综上所述,此电子时钟具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
1.设计要求与方案
1.1 设计要求:
(1)启动时显示制作的年、月、日、制作者的学号等信息。(2)24小时计时功能(精确到秒)(3)整点报时功能。(4)秒表功能
(5)省电功能模式(未设计)1.2 系统基本方案选择
1.2.1单片机芯片的选择方案和论证 方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:
采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时 也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具
有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增
功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。相比之下,我们在实验箱实际仿真时选择采用AT89S52作为主控制系统,由于proteus库中没有AT89S52,在原理图仿真时采用了AT89C51 1.2.2 显示模块选择方案和论证 方案一:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高所以也不用此种作为显示.方案二:
采用LCD液晶显示屏,液晶显示屏的显示功能强大,显示多样,清晰可见 本设计采用LCD1602 1.2.3时钟芯片的选择方案和论证 方案一:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、时、分、秒计
数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。
方案二:
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对
秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM 做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA.综上各方案所述,对此次作品的方案选定: 采用AT89C52作为主控制系统,DS1302提供时钟计时,LCD1602屏幕显示.2 2为一个分频器来使用。对于芯片的使用,我们应该在了解它的各项功能的前提条件下,灵活巧妙地运用。具体的芯片资料和图片我们通过查阅相关的书籍,在网上能够很方便的查找。
经过这次电子钟作品设计与制作让我收获很多:
一、让我明白了“三个臭皮匠顶一个诸葛亮”和“团结就是力量”等名言名句的道理,让我明白只要我们团结协作没有什么困难是战胜不了的,团结让我们成功,团结让我们胜利,团结让我们的力量更大;
二、增进我和老师同学之间的友谊情感,在与老师互动学习的过程中使我体会了老师解决问题的方法与思路,让我领会了解决问题精髓,使我们学习更有活力更有信心更有自信,培养了我们的协助合作能力;
三、培养了我们的动手能力和独立解决问题的能力;
四、培养了我们的自主学习能力和利用网上这个广阔平台的学习能力;
五、使我学会了用专用的画图工具和画图软件Protel99SE画电路图的能力,通过这次作品的制作使我对Protel99SE原来的不熟悉到现在的比较熟练,画的图也比原来更合理,速度更快了;
六、锻炼了我们的焊接技术和焊接工艺,使我的焊接能力上了一个台阶;
七、培养了我管理和协调各项工作的能力,在制作的过程中也有不协调的一面但我都能一一克服了,这也使我在管理等方面能力的提高。2.3数字钟的构成
数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。2.4数字钟组成框图 2.4.1晶体振荡器电路
晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。一般输出为方波的数字式晶体振荡器电路通常有两类,一类是用TTL门电路构成;另一类是通过CMOS非门构成的电路,本次设计采用了后一种。如图(b)所示,由CMOS非门U1与晶体、电容和电阻构成晶体振荡器电路,U2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容C1、C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。(f)带有消抖电路的校正电路
2.4.2 整点报时电路
电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号。
当时间在59分50秒到59分59秒期间时,分十位、分个位和秒十位均保持不变,分别为5、9和5,因此可将分计数器十位的QC和QA、个位的QD和QA及秒计数器十位的QC和QA相与,从而产生报时控制信号。报时电路可选74HC30来构成。74HC30为8输入与非门。
3.系统的软件设计
3.1程序流程图
图-A 主程序流程图
图-B 整程序流程图
间调
时 3.2程序的设计 程序
#include
#define uchar unsigned char #define uint unsigned int #define TIME(0X10000-50000)#define FLAG 0xf4 //闹钟标志
sbit rst=P1^2;//DS sbit clk=P1^0;sbit dat=P1^1;sbit rs=P2^0;//LCD sbit rw=P2^1;sbit e=P2^2;sbit beep=P1^3;sbit mbkey=P1^4;
uchar k;uchar flag;uchar i=20,j,time1[16];uchar alarm[2],time2[15],time[3];time5[3];uchar code Day[]={31,28,31,30,31,30,31,31,30,31,30,31};//12个月的最大日期(非闰年)uchar //ms秒表进数,mbmiao.mbfe秒表的秒.分,key2num是key5的计数
key2num,ms=0,mbmiao=0,mbfen=0,mbkeynum,num;uchar code table[]=“ 32210324 GYY”;uchar code table1[]=“ 32210326 GLQ”;uchar code table4[]=“ 00:00:00 MB ”;
void delay(uint z){ uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}
delay1ms(uchar time)//延时1ms { uchar i,j;for(i=0;i