单片机优秀实习报告(精选6篇)
1.单片机优秀实习报告 篇一
重庆城市管理职业学院
信息工程学院
单片机实习报告
专业班级电子A0801
学号0401080112
姓名吕爽
组号第一组
实 验 室 单片机实训室
成绩评定
老师签名
2009年 12月 25日
实训课题:99数字跑表
实训目的:通过实验掌握显示的接口电路及程序设计,熟悉各种操作指令,子程序的调用以及中断知识和计数器的计数
实训原理:通过把设计好的程序利用软件将编译得到HEX格式文件加载到单片机芯片中,实现仿真电路,得到仿真电路结果。
实验仪器:电脑,Keil软件,Proteus软件
实训要求:(1)四位LED数码管动态显示,显示最小时间为0.01秒,最多显示时间99秒;
(2)由按键控制,第一次按下键,开始计时,第二次按下键,停止计时,第三次按下键,清零。
在Keil软件中,新建一个项目,命名为跑表,然后根据程序流程图和仿真电路图编写程序。调试程序,检查程序是否有误,保存。得程序如下:
编写程序
ORG0000H
LJMPMAIN
ORG0003H
LJMPL1
ORG0030H
/*开始程序*/
MAIN:SETBIT0
SETBP1.0;至高电频
SETBEA;开中断控制位
SETBEX0;开外部中断0
MOVDPTR,#TAB;将TAB所代表的地址送入DPTR
MOV30H,#0
MOV40H,#0
MOVR1,#0
/*判断R1,然后进行判断*/
L4:JBP1.0,L14;P1.0的值为1,则转移至L14
INCR1;R1加1
SETBP1.0
L14:MOVR3,#2
/*使时间达到0.01秒*/
L9:ACALLL3;绝对调用L3程序
ACALLL2
DECR3;寄存器减1
CJNER3,#0,L9
/*当按一次开关时进行跑秒*/
CJNER1,#1,L5;寄存器R1中的值不为1,则转移到L5
MOVA,30H
ADDA,#1
DAA
CJNEA,#99H,L6
ACALLL7
CLRA
L6:MOV30H,A
/*当再一次按键时,暂停*/
L5:CJNER1,#2,L10
SJMPL4;转移到L4
/*当继续按键时,清零*/
L10: CJNER1,#3,L11
MOV30H,#0
MOV40H,#0
MOVR1,#0
L11: SJMPL4
/*跑秒显示后两位*/
L2:
CLRP2.3
MOVA,30H
ANLA,#0FH
MOVCA,@A+DPTR
MOVP0,A
LCALLL3
SETBP2.3
CLRP2.2
MOVA,30H
SWAPA
ANLA,#0FH
MOVC A,@A+DPTR
MOVP0,A
LCALLL3
SETBP2.2/*跑秒显示前两位*/
CLRP2.1
MOVA,40H
ANLA,#0FH
MOVCA,@A+DPTR
MOVP0,A
LCALL L3
SETB P2.1
CLRP2.0
MOVA,20H
SWAP A
ANLA,#0FH
MOVCA,@A+DPTR
MOVP0,A
LCALLL3
SETBP2.0
RET
/*显示用的时间*/
l3: MOVR7,#250
J0: NOP;延迟一个机器周期的时间
NOP
DJNZR6,J0;寄存器减1不为0,转移到J0
RET
/*终端打开*/
L1: CLR EA
CLR P1.0
SETBEA
RETI
/*秒位显示*/
L7: MOVA,40H
ADDA,#1
DAA
CJNEA,#99H,L8
CLR A
L8: MOV40H,A
RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
四:检查程序是否有误,然后修改,并将无误的程序保存编译为HEX格式文件,然后加载到单片机芯片中,查看电路,观看仿真电路结果.得到课题要求的结果。
五、实训小结
1)通过实训,我们自己动手分析设计程序加深了对知识的理解和对指令的运用。
2)通过对程序的编译和电路的仿真,使我们能够更直观得看到程序运行的结果。
3)通过实训与所学知识的结合,提高我们动手的能力和对技能的熟悉。强化了我们得专业技能,能更好的运用所学知识。
2.单片机优秀实习报告 篇二
关键词:单片机,开发板,综合实习
单片机技术已经渗透到我们生产、生活的各个方面,在工业控制、仪器仪表、家用电器等众多领域有着广泛应用。掌握单片机技术以及相应的程序设计语言是完成微处理器系统软、硬件设计和功能开发的基础,也是作为电子工程领域高级工程技术人员必须具备的基本能力。
目前,各高校已将单片机教学纳入电子工程专业的教学计划中,设置了单片机原理与应用、C语言程序设计等多门相关课程。其中,单片机综合实习是单片机教学的重要组成部分,如果能够通过综合实习激发学生对单片机应用的兴趣,让学生对电路设计和程序设计有系统的认识和掌握,则能为学生今后从事基于单片机的嵌入式系统开发打下坚实的基础[1]。基于上述目的,通过几年来教学经验的总结,我们设计了一款低成本、多功能的单片机实验开发板以及配套的综合实习教学方法,应用于教学实践并取得了良好的效果。
1 单片机综合实习实验板的设计
实验板包含单片机最小系统、信号处理电路、串行通信接口以及键盘、显示电路等,同时实验板在电路板尺寸、成本等因素允许的情况下预留了功能扩展接口,以适应更多的设计需要,方便使用者自行开发其他功能。单片机实验开发板的功能框图如图1所示。
1.1 实验板电路原理图
(1)图2为单片机的最小系统[2]。选用与8051系列单片机指令集完全兼容的可在线编程STC系列单片机作为核心处理器,程序下载不需要编程器,可以利用计算机及专用软件(如STC-ISP)直接通过串口完成。
(2)图3为电源电路,由于实际应用中9 V直流电源使用比较普遍,所以电路中需要三端稳压器LM7805产生芯片工作时所需的+5 V电压。
(3)图4为键盘电路,按键与单片机I/O口直接相连。
(4)图5为显示电路。该部分使用译码器74LS138节省单片机I/O口,使用7407驱动数码管。
(5)图6为模拟信号处理电路,用于频率测量实验。待测信号通过比较器LM311比较整形后转化为单片机可以识别的高、低电平,进而完成脉冲计数或计时,实现频率测量。
(6)图7为串行通信电路,应用MAX232实现TTL电平和RS232电平之间的转换。
1.2 印制电路板设计
实验电路板图如图8所示。不难看出,印制电路板充分利用空间,尺寸小巧,结构紧凑。同时设计者将单片机一些闲置的I/O口引到了电路板上,并预留了功能扩展接口,方便使用者根据自己的思路进行程序设计或加入元器件开发其他功能。例如,可以在电路板最左端的焊盘位加入温度传感器(DS18B20),实现环境温度信息采集的功能;在LM311左侧的8引脚双列直插空位加入模拟/数字转换器(ADC0809),实现由单片机采集模拟电压信号的功能等。
2 综合实习的教学方式
我院综合实习的内容是利用上述实验板设计基于单片机的数字频率计。近年来,随着计算机技术的不断发展,各种应用软件的功能不断强大,使用仿真软件可以改善教学效果,提高学生的学习效率。因此,我们在数字频率计设计的过程中加入了绘图软件Protel99se和单片机仿真软件Proteus的学习要求。综合实习为20个学时,分电路设计、程序设计和整体调试3个环节。
2.1 硬件电路设计
Protel99se是一款电子设计自动化(EDA)软件,包含了电路原理图绘制、多层印制电路板(PCB)设计、模拟和数字电路混合信号仿真、可编程逻辑器件设计等功能[3]。Protel99se与其升级版软件DXP是目前电子产品的研发和设计领域完成电路原理图、PCB图制作的常用软件之一[4]。掌握该软件应用对电子工程专业的学生具有一定的实际价值。
在第一个环节中,首先,以讲座的形式向学生介绍Protel99se绘图软件的功能、硬件电路的设计方法以及设计过程中应注意的问题。其次,要求学生利用课余时间通过查找资料和适当的练习初步掌握Protel99se绘图软件的基本功能,自行设计数字频率计的硬件电路,并在Protel99se软件中绘出电路原理图,完成自动生成印制电路板图,手动布局、自动布线,输出元件清单的全过程,以作业的形式上交打印版的电路原理图。最后,由教师向学生介绍上述单片机实验开发板的电路结构,并组织学生完成电路焊接。由于此时学生对硬件电路设计已经做了充分的了解和运用,所以对知识的掌握会更牢固,对电路功能的理解也更深刻。
由于没有经验,学生会在电路设计中出现很多错误,指导教师可以通过检查学生绘制的原理图发现问题,加以讲解。虽然使用了现成的实验开发板,但经过前面的教学步骤,学生在电路设计方面得到了必要的锻炼,对设计过程也有了切身体会,避免了学生“只动手,不动脑”的教学弊端。
2.2 程序设计
Proteus是英国Labcenter公司推出的电路分析实物仿真系统,包含键盘、数码管、74系列等多种常用电子元器件,AVR,MCS8051和ARM等多种微处理器以及信号源、示波器、逻辑分析仪等各种虚拟仪器仪表,均可直接用于仿真设计。因此,Proteus是一款很好的模拟单片机及其外围电路的仿真工具,可以在没有硬件电路的情况下,仅利用计算机实现单片机软、硬件系统的模拟仿真[5,6]。
在第二个环节中介绍Proteus仿真软件的功能,要求学生通过练习掌握添加仪器、元件,调用Keil C51中的程序进行仿真的方法。在讲解中,一般以单片机I/O口控制和流水灯程序为例演示整个调试过程。由于应用Proteus的编程和调试过程非常简单、方便,无形中激发了学生的自信心和学习兴趣,使其主观上愿意通过努力完成较复杂的程序设计,减少了学生直接剽窃别人的程序蒙混过关的情况。
Proteus软件还可以解决学生在频率计设计过程中仪器设备短缺带来的问题。其库中提供的信号源、示波器等虚拟测试仪器,让学生可以随时验证频率计的测量结果。仿真器是程序调试时的辅助工具,如果没有仿真器想要发现程序设计中存在的问题就十分困难,但其价格较高,一般的学生没有购买能力。而Keil C51与Proteus结合使用可以像拥有仿真器一样调试程序,极大地方便了学生查找程序中的错误,提高了程序设计的效率,保证了编程调试的顺利完成。
2.3 系统调试和撰写实习报告
最后一个环节的主要内容是对频率计进行实际调试。在计算机软件仿真调试通过的情况下,程序下载到单片机中,由于时序不准和噪声影响,实际的频率测量过程仍然可能出现一些问题,学生要针对这些问题对程序进行修改和完善。在此环节中,实验室全天开放,提供函数信号发生器、示波器、万用表等仪器设备,方便学生实际测试,发现、解决问题,教师也会给予必要的帮助和指导。频率测量的功能实现后,学生需要完成一份实习报告总结整个设计过程。报告中应包括的具体内容有:主要元件及其典型工作电路的介绍;信号频率测量的程序设计思想;学习各种软件使用方法的心得体会;设计过程中遇到的问题、解决方法和得到的经验教训等。撰写实习报告的过程是学生理清设计思路、总结提高的过程,有利于培养学生科学严谨的工作作风[7]。
3 结束语
针对实验教学,如果将每个学生设计的硬件电路都制作成印制电路板,给每个学生配备仿真器会大大增加教学成本,造成资源浪费。单片机综合实习将Protel99se和Proteus软件的使用加入到教学任务中,很好地解决了学生不能进行电路设计和程序调试的问题。在综合实习的上课时间主要由教师介绍相关知识或总结答疑,具体的设计任务则由学生利用课余时间完成,这样,每个学生可以根据自己对知识的接受和掌握程度,投入不同的时间和精力,这显然是一种开放、自主、高效的教学方法,能够充分激发学生的学习兴趣。此教学方式要求学生通过查找资料和实验实践掌握并运用一些新知识;设计任务多样化,也突出了对学生自学能力和创新能力的培养。可见,该教学方法科学合理,教学过程高质高效。
通过本次综合实习,学生可以掌握很多实用的技能以及分析处理实际问题的方法,对系统设计也有了更深入的认识。在综合实习结束后,不时有学生利用此实验板练习程序设计,开发各种功能软件。目前的综合实习显然让学生得到了更全面的锻炼,发挥了更大的优势,带来了更理想的教学效果,符合新时期培养具有创新能力工程技术人员的要求,为学生今后从事电子工程领域的设计工作打下了良好的基础。
本次设计的实验开发板,成本低、体积小、功能完善,能实现如键盘、显示、频率计、数字钟、信号采集、串行通信等多种功能,便于学生或其他单片机学习者进行程序设计和功能开发,是掌握单片机技术时一款廉价高效的学习工具;该实验板也可用于科研,作为辅助基于单片机的嵌入式系统设计初期实验调试时的硬件电路,节约开发成本,节省设计时间,具有一定的推广价值。
参考文献
[1]袁锋伟,赵立宏,朱慧玲.基于Proteus的单片机课程教学与实验改革[J].实验室研究与探索,2007,26(12):75-78.
[2]孙涵芳,徐爱卿.单片机原理及应用[M].北京:北京航空航天大学出版社,2004.
[3]梁恩主,梁恩维.Protel99SE电路设计与仿真应用[M].北京:清华大学出版社,2000.
[4]倪泽峰,江中华.Protel DXP典型实例[M].北京:人民邮电大学出版社,2003.
[5]刘心红,郭福田,孙振兴.PROTEUS仿真技术在单片机教学中的应用[J].实验技术与管理,2007,24(3):96-98.
[6]侯玉宝.基于PROTEUS的51系列单片机设计与仿真[M].北京:电子工业出版社,2008.
3.教你做一份优秀的销售报告 篇三
但是,最近的一件事情却让他轻松不起来:公司在一周前突然任命他做北京营业部的销售经理。肩上的责任和担子固然沉重许多.更“要命”的是,做了营业部经理就要每个月到公司总部去开销售月会了!
对一直在销售一线奋战的何伟而言,什么困难没见过?什么苦没吃过?他并不怕业绩的压力。但是一想到要开始经常性地写各种报告和总结他就犯难了:销售报告怎样写?应该有哪些内容?应该注意什么?如何才能在各位领导面前顺利”过关”呢?
笔者在这里就把个人多年来的经验同大家分享一下,希望能对像何伟这样有“报告恐惧症”的一线人员有所帮助。
要写好销售报告,必须特别注意三个环节:一是平时一定要关注市场竞争状况和销售数据的收集;二是在撰写报告前要有充分的时间进行分析、讨论;最后要考虑如何将报告的内容呈现出来、争取上级领导的支持。这些环节一个都不能少I否则就很可能将自己置于“当众出丑”的尴尬境地。
市场竞争状况和
销售数据的收集
无论是文字报告或者口头报告,最令人“无地自容”的就是被上级领导问时一问三不知,满口“也许”、“可能”、“应该”。“大概”和“似乎”。
笔者曾见过销售主管因为太不了解“数据”而被老总在营销会议上当场撤职的事例。
一位刚刚升任营业部经理的“老业务”,因为一向业绩不俗,又同经销商的关系处得不错,在业务弟兄中的人缘也颇好,当然自我感觉非常“良好”。可是有一点,此人是一个典型的“电脑盲”,而且非常不习惯看数据、读报告;有业绩压力或市场问题通常宁可“亲历亲为”,亲自帮业务代表密集拜访经销商,压货等。
几个月下来,虽然他的营业部销售业绩有所起色,但是产品品类发展严重滞后,而且各通路间的销售比例也极不均衡,同其他区域的差距逐步拉大。到第三个月的时候,总部召集季度营销例会,总经理在听取了他关于营业所的销售报告之后一口气问了他十几个问题:
“你有没有注意到白银市的经销商连续三个月没有出货?”
“你知道我们刚刚上市的新产品成品库存、在途、经销商库存、零售店库存还有多少?”
“你知道你负责区域内一共有多少个可能买我们产品而你又没有铺货的零售店?”
“你知道你一年总的预算促销费用是多少?而现在的促销费用还剩多少?”
“你知道竞争产品正在做的‘大力度促销活动’是在哪个通路?哪个区域?效果怎样?”
“你的‘业绩回顾’中每个品项的销售数字相加为什么不等于总计的数字?”
当听完最后一个问题的时候,该营业部经理的脸已经煞白了.因为他根本就不知道!在众目睽睽之下.他开始回答问题:“我的区域比较大,白银市的问题以前真没注意到……”“新产品到货、库存具体的数量记不太清了,好像还没到吧……”“竞品的促销活动感觉效果不错,在什么通路和商场做我回去再查查……”“报告里面的时间确实有问题,可能是助理搞错了我又没来得及看……”
后面发生的事情可想而知.这位老兄还没有回答一半,总经理的巴掌就狠狠拍在了会议桌上:“你认为、你觉得、应该、可能、不知道.你还知道什么?这样的水平怎么可以做如此重要的工作?!……”
第二天,总经理就签署了人事令.重新任命了一名高级业代做这个区域的营业部经理。
像这位销售经理的“悲惨”经历在我们周围经常会发生。因此,一定要注意平时销售数据和竞争者资料的收集,将是制作一个优秀报告的基础,有了它才可能实现“让数据说话”。
那么接下来的问题就是如何全面、充分地收集市场资料。一份标准的销售报告可能用到的数据有:
1.市场规模。市场容量以及增长率;
2.主要竞争产品(最好是分品项)的销量和增长率;
3.自己产品各品项的销售目标。实际销售量和增长率;
4.主要竞争品牌最近的新产品上市、促销及陈列动态(越细越好.至少把活动的通路、区域、产品和活动效果搞清楚);
5.各经销商各产品的进货、销售和库存状况(别忘了把在途的产品也考虑进去);
6.各经销商和直营客户的账款情况明细:
7.报告期区域内主要促销活动、陈列活动、铺货行动的执行状况、效果评估;
8.辖区内的营销预算及实际使用、节余状况。
真是好大一堆资料呀!难怪很多一线销售主管反映:不怕跑断腿、就怕做报告。
其实,以上这些数据收集起来并没有那么困难,关键是个习惯问题,因为很多资料根本就不用自己去整理。有些“老道”的销售主管会在销售会议前很早就把需要的资料、表格列一个单子,交给内勤或副手“打理”,甚至可以让他们进行一些初步的分析,他们可能比你更清楚怎么搞定这些“烦人”的东西,到准备报告的时候直接向他们要就行了。
数据分析和报告准备
好了,现在一定有一堆报表、资料堆在“何伟”面前了。接下来的工作就是对这些看似杂乱的资料进行分析和总结,变成可以表达自己区域策略主张的“销售报告”,让看或听你报告的人了解你都做了些什么、为什么这么做、结果怎样、未来打算怎么做以及有什么困难和需要公司支持的地方。
实际上这就是撰写销售报告的全部内容和目的。
为了更加全面地在一份销售报告里阐述对区域销售工作的总结和计划,你需要一个全面而实用的报告“模版”(或叫“标准格式”)。实际上,不管是像康师傅、可口可乐这样运作比较规范的大企业,还是刚刚起步的小公司,在向上一级领导做报告的时候总有一定“格式”和要求。否则,每一个区域主管在做报告时各说各话、内容不一样、时间不一样,就没有可比性了;这样的报告也很难让领导拍板、决策。
建议可以采用以下的报告结构:
1.本期销售达成状况(各产品,各区域的实际销售及其与销售目标、去年同期的对比);
2.达成异常分析(说明没有达成的区域或产品的原因);
3.铺货率达成异常分析(为什么没有达成公司要求的铺货指标);
4.新产品上市追踪(各通路各区域的铺货点数、铺货率。市场价格,以及促销活动执行效果):
5.通路建设达成分析(各通路各区域的经销商,分销商和直营客户的数量变化):
6.主要竞争者促销活动分析;
7.本期促销活动检讨(本公司促销活动执行状况,以及目标与实际达成的差异。原因分析);
8.本期重要工作检讨及下期重要工作计划(重点分析前期工作的问题、下一期的计划,以及需要上级支持和协助的事项)。
结构和内容有了,如何把这些内容清晰地表现出来还是一个问题,这就需要一套比较实用的报告格式帮助我们。文中表格是一个销售报告的实用模型,我们可以按这样的格式进行销售报告的撰写。(见表)
这样,当所有的数据和分析全都填到这套标准表格中以后,一份完整的销售报告就完成了!
临门一脚——销售报告如何精
彩纷呈
销售报告的呈现一般有两种方式:一种是书面报告,就是将写好的报告经报告人审核确认后,以书面的形式向上级部门提交;另一种就是召开专门的销售或营销工作会议,报告人(通常就是省区经理或大区销售经理)以口头的方式当面向上级领导进行工作汇报。
书面报告比较简单,可是,偏偏在最简单的环节上容易发生一些最“致命“的错误:
1.低级错误。内勤或助理人员粗心大意,报告时间写错了、数据加减乘除算错了、报告内容的前后次序搞错了、错别字满篇,甚至直接将上月的销售报告当成这个月的提交上去……而你呢,又恰恰特别“放心”部属的工作,随便翻翻、签上你的名字就交给领导了,这样的报告后果可想而知。
2.简单空洞。一份优秀的销售月报除了要结构严谨、数据准确之外,还要言之有物、逻辑清楚、观点明确。可是我们经常会在报告里发现这样的问题:
(1)“因为去年的销售达成较高所以今年没有达成销售目标……”
(2)“由于淡季的到来.本月的销售量大幅下降……”
(3)“由于市场部的海报没有及时到位,造成新产品推动不利……”
(4)满篇都是数据和资料的罗列,根本看不见分析和销售主张。
(5)提出了一大堆的“构想”、建议,就是找不到任何数据和分析去说明为什么要这么做而不是那么做。
以上的错误实际上都可以通过提交报告之前的审核过程及时纠正和避免,因此绝对不要轻视报告审核工作,应该给自己留出充足的时间进行“纠错”,否则,当报告交到领导那里,怕是后悔都来不及!
至于同上级领导、其他同事进行“面对面”的口头报告,就更有“挑战性”了,它对销售经理的语言表达能力、沟通能力、临场应变能力以及“形象气质”等综合素质都提出了较高的要求。
虽然像语言表达能力等基本素质不是一年半载就能够获得的;而且作为销售主管,这方面的水平也不是最重要的考察指标(当然是业绩和渠道管理最重要)。但是,我们还是可以通过一些基本方法和技巧的训练,使自己少犯错误。
首先,要有自信。在向上级领导报告工作的时候,特别是那些刚刚走上“领导岗位”的销售主管,最容易出现的问题就是缺乏自信。在会议中,我们经常会碰到这样的销售经理:眼神闪闪烁烁、面无表情,说话吞吞吐吐、不知所云。这就是缺乏自信的典型表现。在报告中务必做到:
1.面对听众。眼睛不要总盯着自己的讲稿和PPT,要习惯领导和几十双眼睛一起看你。
2.不要念稿子。其实,你的记性并不差。只要在报告前有充足的时间看报告,自己先把报告“预演”几遍,就应该没问题。要养成用自己的语言和逻辑去说话,千万不要只是将那些表格中的数字一个个都念出来!
其次,要学会使用“报告语言”,避免低级错误的发生。以下一些不“专业”、领导“不中听”的话.虽然可能陈述“事实”,但是最好不要说:
1.“某某品牌实在是太厉害了……”应该说“虽然我们的产品在整体上具有优势,通路的信心也很足。但是……”。
2.“因为竞争对手增加了促销力度,我品市场接受度有所下表八x x营业部x月工作计划降……”应该说“我们的市场接受度有所下降,一个原因是竞争对手……”。
3.“由于公司对我们区域不够重视……”应该说“非常感谢公司给了我们很大支持.但是……”。
4.“至于去年的问题,我那时还没来这里,不太清楚“应该说”非常抱歉,虽然我去年没有负责这个区域,但是还是有责任……”。
5.还有就是诸如“可能”、“也许”、“应该”、“感觉”等模棱两可的话.少说为妙没有把握的事情,最好干脆提都别提,或趁领导”打盹”的机会一带而过。
最后,就是建议每个有条件的销售经理都能够熟练地操作“PPT” (Power Point)文件。因为,PPT是现在最好的报告演示工具,即使报告不是你亲自制作的.但是在向老板报告的时候可能需要你自己去操作、演示;如果老板都会操作你倒不会,丑就出大了!
4.单片机实习报告 篇四
设计制作产品的背景、目的、好处
1。设计背景
在大二的上半个学期我们开了一门叫《单片机技术与应用》的课程,在期末考试之前有一个两个星期的实训,就是用平时所学的知识在自我的板子上实现一个功能,比如说:实现一个交通灯、万年历、密码锁或计算器等等,或者自我根据实际状况自我设计题目实现一个功能。设计当中最多三个人一个小组,最少自备一台电脑。不仅仅如此,我们还能把以前所学的数字电路、模拟电路、电路基础、PCB等知识在这次实训过程中得到用用。在做中学,在学中作。
2、设计目的
1。 透过本次课程设计进一步熟悉和掌握单片机的结构及工作原理,巩固和加深“单片机原理与应用”课程的基本知识,掌握电子设计知识在实际中的简单应用。
2。 综合运用“单片机原理与应用”课程和先修课程的理论及生产实际知识去分析和解决电子设计问题,进行电子设计的训练。
3。 学习电子设计的一般方法,掌握AT89C52芯片以及简单电子设计过程和运行方式,培养正确的设计思想和分析问题、解决问题的潜力,个性是总体设计潜力。
4。 透过计算和绘制原理图、布线图和流程图,学会运用标准、规范、手册、图册和查阅有关技术资料等,培养电子设计的基本技能。
5。 透过完成一个包括电路设计和程序开发的完整过程,了解开发单片机应用系统全过程,为今后从事的工作打基础。
3、设计好处:交通灯的控制系统对于维持城市交通稳定有序的运转有着至关重要的作用。思考到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,本人拟采用AT89C52单片机来实现十字路口交通信号灯的模拟控制,透过模拟系统的设计来了解交通灯系统的工作原理和一些基本功能是如何透过单片机来实现的。
此次设计基于本人在校期间所学的有关单片机等相关知识,透过设计基于AT89C52单片机的交通灯控制系统,将所学知识运用到实践中并得以深化,进一步加强单片机知识的理解,掌握单片机的基本原理和各种基本功能的应用,并且透过交通灯控制系统的设计能够进一步认识单片机在控制系统中的重要性。
设计制作产品的设计要求
1、在万能板上组装焊接一个十字交通模拟路口
2、利用学习板上的单片机最小系统、数码管、按键等资源与组装焊接的模拟路口组成简易交通灯控制器硬件系统。
3、编写软件实现下表及下图所示交通路口的相位规则,循环显示交通信号指挥交通。
4、 数码管倒计时显示当前相位剩余时光。
5、 时光控制基于定时器实现。
扩展功能要求:
1、 在各路口绿灯变黄灯之前加上3秒钟绿闪,即实现6相位。
2、 增加各方向绿时时光设定功能。
⑴、增加设定键、增加键、减少键、确认键
⑵、按下设定键进入更改绿时状态,数码管最左面的一位显示0,右边两位显示当前东西方向绿时时光,再次按下设定键数码管最左面的一位显示1,右边两位显示当前南北方向绿时时光,依次循环。
⑶、在设定状态下,按下增加按键和减少按键能够增加或减少当前方向绿时时光,绿时时光范围10-99秒。
⑷、调整好绿时时光后,按下确认按键存储并更新新的绿时设定。
设计文档要求:
1、绘制系统原理图及PCB图。
2、编写元器件清单
3、上交完整的源程序并对程序进行注释
4、完成电子产品设计及制作总结报告
分工状况、工作计划及本人所总结工作
1、了解交通灯控制系统的各项功能要求
1。 根据功能要求设计不一样设计方案并择优选取
2。 选取材料并根据所选设计方案进行硬件电路的设计,包括主控制系统、通行灯输出控制、时光显示模块、电源电路等
3。 根据功能要求进行主要程序的设计,包括初始化程序、主程序、外中断1中断服务程序、定时中断服务程序等
4。 使用PROTEUS软件仿真,检查是否实现所需功能并在系统上进行调试以到达预期效果
本课题的基本资料、重点及难
1、基本资料:交通灯控制系统的功能要求;制定不一样的设计方案并择优选取;系统硬件电路的设计(包括主控制系统、通行灯输出控制、时光显示模块、电源电路等);系统主要程序的设计(包括初始化程序、主程序、外中断1中断服务程序、定时中断服务程序等);软件仿真(使用PROTEUS软件仿真)及系统运行调试(检查能否实现功能并改善)。
2、重点:根据交通灯控制系统的功能要求制定出不一样的设计方案并择优选取;根据设计方案进行硬件电路部分的设计(包括主控制系统、通行灯输出控制、时光显示模块、电源电路等)。
3、难点:根据交通灯控制系统的功能要求进行主要程序的设计(包括初始化程序、主程序、外中断1中断服务程序、定时中断服务程序等);使用PROTEUS软件仿真并在系统上进行调试。
二、正文:
实验原理
1。基本原理
主体电路:交通灯自动控制模块。这部分电路主要由80C51单片机的I/O端口、定时计数器、外部中断扩展等组成。
本设计先是从普通三色灯的指示开始进行设计,用P0口作为输出。程序的初始化是南北绿灯亮30秒,同时东西红灯亮30秒;之后南北黄灯亮3秒,东西红灯亮3秒;之后南北红灯亮15秒,东西绿亮15秒;之后南北红灯亮3秒,东西黄灯量3秒,之后重复执行。倒计时用到定时器T0,用P2口作为LED的显示。二位一体的LED重复执行30秒、3秒、15秒的倒计时。作为突发事件的处理,本设计主要用到外部中断EX0。用一模拟开关作为中断信号。实际中能够接其它能够产生中断信号的信号源。
2。芯片AT89C52
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您带给许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52能够按照常规方法进行编程,也能够在线编程。其将通用的微处理器和Flash存储器结合在一齐,个性是可反复擦写的Flash存储器可有效地降低开发成本。
主要功能特性:
? 兼容MCS51指令系统
? 8k可反复擦写(>1000次)Flash ROM
? 32个双向I/O口
? 256x8bit内部RAM
? 3个16位可编程定时/计数器中断
? 时钟频率0-24MHz
? 2个串行中断
? 可编程UART串行通道
? 2个外部中断源
? 共6个中断源
? 2个读写中断口线
? 3级加密位
? 低功耗空闲和掉电模式
? 软件设置睡眠和唤醒功能
实验流程图
(一)实现方法
(1)在设计中利用软件程序延时的方法来控制红(绿)的亮的时光。思考延时时光较长所以先用T0产生终端然后透过计数的方法来实现延时。利用P1口的P1。1、P1。2、P1。3作为红绿灯控制端口。
(2)南北向的绿灯连在一块,东西向的红灯连在一块,他们一块与P1。1相连。同样南北向的红灯连在一块,东西向的绿灯连在一块,他们一块与P1。 2相连,四个黄灯连在一块与P1。3相连。
(二)流程图
硬件设计
1。单片机的结构
单片微机(Single-Chip Microputer)简称为单片机。它在一块芯片上集中成了中央处理单元CPU、随机存储器RAM、只读存储器ROM、定时/计数和多功能输入/输出I/O口,如并行口I/O、串行口I/O和转换A/D等。就其组成而言,一块单片机就是一台计算机。由于它具有体积小、功能强和价格便宜等优点,因而被广泛地应用于产品智能化和工业控制自动化上。
2。主要元器件选取
(1)。 开关管的选取:BUTTON按钮
(2)。 LED发光二极管 LED-RED, LED-YELLOW ,LDE-GREEN
(3)。 二位一体数码管 7SEG-MPX2-CAT-RED:数码管(红色)
(4)。 PN4249:驱动三极管
(5)。 AT89S51系列单片机
3。设计显示部分
LED数码显示部分。LED数码显示部分由七段数码显示管组成。
发光二极管显示原理:
发光二极管是采用砷化镓、镓铝砷和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性。发光二极管在制作时,使用的材料不一样,那么就能够发出不一样颜色的光。
当定时器定时为1秒,时程序跳转到时光显示及信号灯显示子程序,它将依次显示信号灯时光 ,同时一向显示信号灯的颜色,这时在回到定时子程序定时一秒,在显示黄灯的下一个时光,这样依次把所有的灯色的时光显示完后在重新给时光计数器赋初值 ,重新进入循环。
软件设计
1。单片机中断系统基本结构
中断是一项重要的计算机技术,是处理正常工作与紧急状态的好办法,是实现人机实时交互的重要途径,在单片机应用系统中,中断技术得到了广泛应用。下方详细介绍单片机中断系统基本结构、与中断相关的特殊寄存器的设置及中断应用系统编程方法。
当CPU查询到系统有中断请求时,如果系统处于中断允许状态,CPU将停止当前的工作,响应中断请求,转向中断服务,中断服务完成后,回到原程序继续执行当前任务,这叫单片机中断。
8051系列单片机中断系统结构如图3。7所示。能让CPU产生中断的信号源叫中断源。8051单片机有NT0、INT1、T0、T1、TI、RI六个中断源,但只有EX0、ET0、EX1、ET1、ES五个向量,
INT0、INT1:外部中断源,由P3。2和P3。2引脚输入。具有低电平和脉冲两种触发方式,在每个机器周期的S5P2采样引脚信号,如有效则由硬件将它的中断请求标志IE置1,请求中断。当CPU响应中断时,由硬件复位。
T0、T1:定时/计数器中断,当定时/计数器产生溢出时,置位中断请求标志TF请求中断处理。
RI、TI:串行中断,RI是接收,TI为发送。单片机串行口接收到一个字符后RI置1,发送完一个字符TI置1。值得注意的是,RI、TI在响应中断后,务必由用指令将其复位。
中断响应:
CPU在执行程序的过程中,在每个机器周期的S5P2对中断标志位按中断优先级进行查询,一旦查询到有中断请求,CPU只要不在执行同级或高级的中断服务程序和当前指令(RETI指令或访问IE、IP的指令除外)执行完毕两种状况,则响应中断。如果当前正在执行的指令是RETI或访问IE、IP的指令,则当前指令执行完毕后,CPU才可响应中断。中断响应时光可
以从中断信号被查询开始算起,中断响应时光在以下三种状况下,响应时光还会更长:
① CPU正在执行一个比要响应的中断源优先级相等或更高的中断源的中断服务程序,此时须等到中断服务程序执行完毕才可中断响应。
② 正在执行的当前指令不是在最后一个机器周期,只有指令执行完后才响应中断。
③ 如果当前执行的是RETI或访问IE、IP的指令,则当前指令执行完毕后,CPU需再执行一条指令才能够中断响应,因此附加等待响应时光不会超过5个机器周期。
中断入口:
单片机响应中断后,将转向特定的入口进行中断服务,从表中能够看出,两相邻中断源的入口地址间隔为8个单元。这意味着如果要把中断源对应的中断服务程序从入口地址开始存放,则程序的长度不能超过8个字节,否则会影响到下一个中断源的入口地址的使用。而通常的状况下,中断服务程序的长度不止8个字节,因此,常见的处理方法是:在入口地址处存放一条无条件转移指令,透过这条转移指令转向对应的中断服务程序入口,中断服务程序以RETI为结束。
中断请求的撤销:
CPU响应中断请求,在中断回到(RETI)之前,该中断请求应被撤除,否则会引发另一次中断。
定时/计数器中断请求撤销:CPU在响应中断后,由硬件自动清除中断请求标志TF。 外部中断请求撤销:如果采用脉冲触发方式,CPU在响应中断后,由硬件自动清除中断请求标志IE;对于电平触发方式的外部中断请求,中断标志的撤销是自动的,由于造成中断请求的低电平继续存在,所以在响应中断后再次会产生中断请求,为此响应中断后要撤销外部信号。
2。每秒钟的设定
延时方法能够有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时光,另一种是采用软延时的方法。
3。计数器初值计算
定时器工作时务必给计数器送计数器初值,这个值是送到TH和TL中的。我们能够把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式: TC=M-C
C语言程序
#include“reg52。h” //宏包含MCS-52系列单片机的头文件
#define uchar unsigned char
#define uint unsigned int
uchar code duanmatable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//数码管段码数组
uchar code weima[]={0x7f,0xbf,0xdf,0xef};//位码数组
uchar code xiangwei[]={0xdb,30,0x7b,3,0xbd,15,0xb7,3}; //实现相位的切换,数码管的倒计时与
交通灯的相位切换巧妙结合。
void delay (uint z); //延时程序声明
uchar n50ms,greentime;
uchar xianshi[2]={10,10}; //显示数组
void intital;
main()
{ intital();
while(1)
{
uchar i,j;
for(;greentime==0&&j<8;j+=2) //for语句决定,透过j的变化送不一样的值。
{
greentime=xiangwei[j+1]; //送显相位对应的时光
P0=xiangwei[j]; //相位段码
}
if(j==8)
{
j=0;
}
xianshi[0]=greentime%10;//更新显示数组
xianshi[1]=greentime/10; //更新显示数组
if(n50ms>=20) //定时器精确延时
{ n50ms=0;
greentime-=1;
}
for(i=0;i<2;i++)//送显示
{
P3=weima[i];
P2=duanmatable[xianshi[i]];
delay(5);
}
}
}
/*********延时子程序**********/
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=122;y>0;y--);
}
/********延时子程序结束*******/
void timer0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
n50ms++;
}
void intital()
{
TMOD|=0X01; //定时器1,方式0
TMOD&=0XF1;
TH0=(65536-50000)/256; //赋初值
TL0=(65536-50000)%256;
ET0=1; //开定时器中断
EA=1; //开总中断
TR0=1; //开总中断
}
2、连线说明 三、结论: 硬件平台:I51学习板。 1、硬件平台及用到的资源 用到的资源:数码管显示、发光二极管等。 3。1设计制作过程中遇到的问题及如何解决的 交通灯电路图简易交通灯硬件接线说明 单片机P0。1-P0。3、P0。5-P0。7依次控制东西方向的绿红黄,南北方向的绿红黄。 在接线时总接反,有时候还接错。在编程时,有时忘记生成机器码,忘记保存。最大的问题就是编程了,我在网上也找了许多相关程序但是许多都看不懂,但是老师也给了一些程序数码管显示电路:段码控制接口P8用8P杜邦线连接单片机P2口;位码控制接口P9用4P杜邦线用4P杜邦线接单片机P3。4-P3。7。
但是还是都看不懂。前面一些问题在同学和老师的帮忙下我都一一解决,但是在编程这一块还存在很大问题。
3。2透过设计制作过程有哪些提高还有哪些不足及今后学习提高计划
在这次的实训过程中我懂得了无论大事还是小事都就应注意细节,在硬件连接、keil开发平台已经熟练掌握。但是在c语言编程、pcb制图、画电路图在今后的学习中就应进一步提高。 四、心得体会:
在实验过程中,单片机作为核心控制元件,使得电路的可靠性比较高,功能也比较强大、多变。而且能够随时的更新系统,下载新的文件进行不一样状态的切换,进行不一样状态的组合。一开始感觉很好奇,于是产生浓厚兴趣,梦想成为电子产品中的魔术师!
在一开始硬件连线的过程中从在问题:杜邦线不明白该往哪插,接线时顺序总结反。在编程时有时忘记保存,有时忘记生成机器码,编译之后的错误很多。但是在设计和调试过程中,也发现一些问题,譬如红绿灯的切换速度不够,绿灯时而亮时而不亮,红绿灯规则效率偏低等,亮度不够是因为在焊接硬件时把排阻接错了,就应是排阻的阻值用的较大了。在焊接外接电路时没按照老师的步骤走,最后导致接错、焊错。交通灯的外接电路虽然只有几个电阻、三极管、发光二极管和几个接线口以及一个接线板,但是到了自我的手里却无从下手没有头绪,最后在同学的帮忙下最后完成了焊接。
还有,老师说我的外接电路排版不是很好,例如电阻,因为我是用手折弯的,而不是用镊子,所以这是我以后需要注意的地方。还有一个晶振焊接的不是很整齐,就应从新焊一下,但因为我怕麻烦,也怕重焊后会影响美观,所以就没再去重试了。另外,由于画PCB时,我漏画了一条线,以至于转化为板时那边出了问题,之后我就得自我对照着PCB再用导线把遗漏的导线连接上,花了不少时光,增加了许多工作量,所以说这些都还需要我们在实践中继续加强改善,得到进一步的完善。
这次课程设计,我发现单片机原理应用性很强,只在老师的课堂讲解是远远不够的,老师经常说:“只有清华的学生用上课时光才能听懂,而且课余时光不用练习,就上课的时光就够了。”当然我们不属于他们其中的一部分,要想做到的话只有自我多下功夫勤于动手去做才有可能做到,才能不断的发现自我的不足之处,从而有针对性的去学习,去查资料。许多的余力和程序看似简单,但真正去做才明白知识并没有自我想的那样扎实,就拿编程来说吧,有些程序看似好像懂了,但自我在keil软件一编程就一塌糊涂、手忙脚乱、不知所措了,可想结果如何。
在此,从而懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学理论与实际结合起来,才能真正提高自我的动手潜力与思考潜力,树立自我的工作信心。相信会对今后的学习工作和生活有十分重要的影响
在设计过程中我们还得到了老师的帮忙与意见。在学习、实训过程中不是每个问题都能自我解决,向老师请教或向同学讨论也是一个解决问题,让自我更快进步和增强学习潜力很好的办法。
在此,我还想多说几句,就说说咱们的实训老师吧。在他的帮忙下我学到了许多东西,最后完成了实训。此外,在实训期间还讲一些激励我们的话让我们从迷茫中走出来,给我们导航指引方向,从而使我们得到进步,勇往直前。在课余之时老师还讲一些有关技能大赛的事情,有全国性的电子产品设计技能大赛、天津市的许多赛事等等,从而使我们从中了解许多有关大赛的信息。不仅仅如此,老师还经常教育一些上课不认真听讲、不做实训的同学,这些都让我深受感动、值得深思。
5.单片机课程实习报告 篇五
一、实习目的 《单片机原理与接口技术》课程实习安排在该课程理论教学结束后进行。其目的是通过实习,使学生进一步弄懂所学到的课本知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/计数控制、程序设计、应用开发等基本理论知识的理解,提高单片机应用技术的实践操作技能,掌握单片机应用系统设计、研制方面的一般方法,培养利用单片机进行科技革新、开发和创新的基本能力、为毕业后从事和单片机相关的工作打下一定的基础。
二、实习内容要求 要求能输出4种花型,并能由人工进行花型的切换。可以使用按键,也可以使用波动1)开关来实现切换,方法不限。参考花型:(1)使彩灯从右到左逐一循环点亮。(2)使彩灯交替闪烁。(3)使彩灯从左到右逐一点亮,当全部点亮后同时闪烁一次。(4)使彩灯从两边到中间顺序点亮,直至全部点亮;再将彩灯从中间到两边熄灭,直至全部熄灭。2)循环彩灯的循环速度可调。按键要求:(1)启动/暂停。按动一次启动,再按一次暂停。是一个双态转换键。(2)花型变化。按一次,立即停止当前花型的显示,转换为下一种花型。4种花型可以循环切换。(3)速度+。按键一次,速度略加快一点。(4)速度-。按键一次,速度略减慢一点。(5)在LED显示器上显示相应的花型号。利用TDN86/51二合一微机实验教学系统设计一个用8051单片机控制的循环彩灯控制系统。
三、程序设计
1、程序分模块设计 1)基本程序模块:延时程序、设置按键处理程序、主程序初始化及初值设定 2)LED控制程序
3)取消按键抖动程序 4)控制程序
2、设计流程图
开始
字型码赋值 8155初始化字位码初始值 总控制开关 字位码 C口 花型控制开关 显示数据
查表字形码
C口 花型 显示字形 显示 选择花型 结束
调速 P3.4=0? 否 P3.2=1? 是 否 是 P3.3=1? 加速 P3.1=0? P3.0=0? 是 否 是 否 减速 00 01 10 11 花型1 花型2 花型3 花型4
3、总体设计
充分利用TDN86/51二合一微机实验教学系统的硬件资源来实现循环灯的功能,因此:(1)利用8051的P1端口接发光二极管,以模拟彩灯控制。(2)利用8051的P3端口接拨动开关;利用拨动开关提供逻辑0和逻辑1,模拟按键操作,以实现4种花型之间的切换、加快循环速度、减慢循环速度以及暂停循环灯循环等操作,具体定义如表1.1和表1.2所示。表1.1 拨动开关与对应的花型
K1 K2 花型 0 0 花型1 0 1 花型2 1 0 花型3 1 1 花型4 表1.2 拨动开关功能表 K3 K4 K5 功能 功能 功能 0 0 0 加速无效 减速无效 暂停 1 1 1 加速 减速 启动(3)8051通过8155对LED显示器控制显示相应的花型编号。(4)利用软件子程序或单片机内部的定时/计数器实现定时功能,以模拟循环速度的基准值。
4、设计程序如下: ORG 0000H SETB ET0 LJMP MAIN SETB EX0 ORG 0003H SETB ET1 LJMP JIAN SETB EX1 ORG 0013H SETB EA LJMP JIA LOOP:LCALL KEY ORG 1000H LJMP
LOOP MAIN: MOV
SP, #60H JIAN:JNB P3.2,$ MOV 20H,#8 INC 20H MOV P1,#0FFH INC 20H
MOV
A,20H JIA: JNB
P3.3,$
CJNE A,#14,YY DEC 20H MOV A,#14 DEC 20H YY: MOV 20H,A MOV A,20H RETI JNZ YY MOV A,#02 MOV DPTR, #SEGTAB MOV 20H,A MOVC
A, @A+DPTR
RETI MOV
DPTR, #8002H KEY:MOV A,P3 MOVX @DPTR, A ANL A,#03H MOV A, R2 MOV 19H,A MOV DPTR, #8001H CJNE A,#00H,L1 MOVX @DPTR, A LJMP LP0 MOV R3, #00H L1: CJNE A,#01H,L2 DISP3: DJNZ R3, DISP3 LJMP LP1 INC R0 L2: CJNE A,#02H,L3 RR A LJMP LP2 MOV R2, A L3: LJMP LP3 JB ACC.7, DISP1 DISP: MOV A,#03H RET MOV DPTR,#8000H PUTT: MOV R1,A MOVX @DPTR,A ANL A, #0FH MOV R0,#4FH MOV @R0, A MOV A,27H RET ACALL PUTT LP0: MOV 27H, #01H MOV R0,#4FH LCALL DISP MOV R2,#0FEH MOV DPTR, #TABLE DISP1: MOV DPTR,#8002H MOV R4, #09 MOV A,#00H L6:MOV A, #09 MOVX @DPTR,A SUBB A, R4 MOV A,@R0 LCALL XX
DJNZ R4, L6 MOV A, #09H RET LCALL XX LP1: MOV 27H, #02H MOV A,#10 LCALL DISP LCALL XX MOV DPTR, #TABLE RET LP2: MOV 27H, #03H CJNE A , 19H, PP LCALL DISP MOV R2, 20H MOV DPTR, #TABLE D1:MOV R3, #30 MOV R5, #11 D2:MOV R1, #120 L7: MOV A, #22 DJNZ R1, $ SUBB A, R5 DJNZ R3, D2 LCALL XX DJNZ R2, D1 DJNZ R5, L7 RET RET PP:LJMP LOOP LP3:MOV 27H, #04H SEGTAB:
LCALL
DISP DB 3FH,06H,5BH,4FH,66H
MOV DPTR, #TABLE TABLE: MOV R6, #09 DB 0FFH L8:MOV A, #30 DB 0FEH ,0FDH ,0FBH ,0F7H ,0EFH ,0DFH ,0B SUBB A, R6 FH ,07FH
LCALL
XX
DB 0AAH,55H DJNZ
R6, L8
DB
RET 7FH,3FH,1FH,0FH,07H,03H,01H,00H,0FFH, 00H XX: MOVC A, @A+DPTR
DB
MOV
P1, A 7EH,3CH,18H,00H,18H,3CH,7EH,0FFH LCALL DEL1S DB 00H RET END DEL1S: JNB P3.4, $ MOV A, P3 ANL A, #03H
四、软、硬件调试 将程序装载进MD51,用U命令调试检查有没有错误,生成HEX文件,装载进8031内,装载成功后,输入G=0000按回车运行,看LED数码显示器显示花形号,二极管按花型的设计亮起。没有装载成功按复位键重装。
五、设计仿真图
六、实习总结与心得 通过这次的实习设计使我认识到我对单片机方面的知识学习得不够透彻,对书本上的很多知识还不能灵活的运用,有很多我们必须的知识没有掌握,还需要在以后的学习中弥补所缺失的知识。了解和掌握了一些编程思想和对I/O口的使用。本次实习的设计是以单片机8051为核心,结合相关的元器件(共阴极LED数码显示器、通用I/O接口芯片8155等),再加上装载设计的汇编程序,以达到LED二极管实现多种花样彩灯的功能及实习设计要求的功能。在实习准备前期,对编程设计不懂,就查阅了很多有关资料,最后还是没能解决实习要求控制彩灯“加减速”的功能,仿真图及程序见附页。实习的时候,“加减速”程序不符合要求,就拿其他程序进行调试,在实习调试的过程
中,遇到很多困难,插线没插好,导致“加减速”按键没能正常工作,还有就是数码管没能正常显示相应花样样式以及运行一段时间后会卡机;最后卡机问题还是没能解决。最后就是觉得自己对本次实习的态度不够认真。附页:
1、设计准备阶段仿真图:
2、设计程序: ORG 0030H JNB P3.2,STAR3 MOV A,#03H LJMP STAR4 MOV DPTR,#8000H STAR0:JNB P3.2,STAR1
MOVX @DPTR,A
SJMP STAR2 MOV R5,#7FH STAR1:MOV R0,A MOV R3,#00H MOV A,#00H MOV R2,#0FEH MOV DPTR,#TAB MOV A,#0FEH MOVC A,@A+DPTR LOOP:JNB P3.1,STAR0 MOV DPTR,#8002H
MOVX @DPTR,A MOVX @DPTR,A MOV R2,#0FEH MOV A,R0 MOV A,R2 MOV P1,A MOV DPTR,#8001H JB P3.5,$ JNB P3.3,NEXT0 RR A LCALL DELAY SWAP A RL A
SJMP LOOP
SJMP LOOP NEXT2:JNB P3.4,NEXT3 NEXT0:JNB P3.4,NEXT1 LCALL DELAY LCALL DELAY1 LCALL DELAY1 RL A RR A SJMP LOOP SWAP A NEXT1:LCALL DELAY SJMP LOOP LCALL DELAY NEXT3:LCALL DELAY RL A LCALL DELAY SJMP LOOP RR A STAR2:MOV R0,A SWAP A MOV A,#01H
LJMP LOOP
MOV DPTR,#TAB STAR3:MOV A,#02H MOVC A,@A+DPTR MOV DPTR,#TAB MOV DPTR,#8002H MOVC A,@A+DPTR MOVX @DPTR,A MOV DPTR,#8002H
MOV A,R2
MOVX @DPTR,A
MOV DPTR,#8001H
MOV A,R2
MOVX @DPTR,A
MOV DPTR,#8001H MOV A,R0 MOVX @DPTR,A MOV P1,A MOV A,R5 JB P3.5,$ MOV P1,A JNB P3.3,NEXT2 JB P3.5,$ LCALL DELAY JNB P3.3,NEXT4
LCALL DELAY MOV R1,A LCALL DELAY1 CJNE R1,#0FFH,TWO
INC A
MOV P1,#00H
LCALL DELAY LJMP LOOP TWO: MOV A,R5 STAR4:MOV A,#03H RR A MOV DPTR,#TAB MOV R5,A MOVC A,@A+DPTR LJMP LOOP MOV DPTR,#8002H NEXT4:JNB P3.4,NEXT5
MOVX @DPTR,A LCALL DELAY1
MOV A,R2
LCALL DELAY1
MOV DPTR,#8001H LCALL DELAY1 MOVX @DPTR,A INC A MOV A,R3
MOV R1,A
MOV DPTR,#TAC
CJNE R1,#0FFH,TWO MOVC A,@A+DPTR MOV P1,#00H MOV P1,A
LCALL DELAY
JB P3.5,$
MOV A,R5
JNB P3.3,NEXT6 RR A LCALL DELAY;加速 MOV R5,A MOV A,R3 LJMP LOOP INC A NEXT5:LCALL DELAY CJNE A,#08H,ZOU LCALL DELAY MOV A,#00H INC A ZOU:MOV R3,A
MOV R1,A
LJMP LOOP
CJNE R1,#0FFH,TWO NEXT6:JNB P3.4,NEXT7 MOV P1,#00H LCALL DELAY;减速 MOV A,R5 LCALL DELAY RR A LCALL DELAY MOV R5,A MOV A,R3 INC A
MOV R3,A
CJNE A,#08H,ZOU LJMP LOOP MOV A,#00H NEXT7:LCALL DELAY;正常 LCALL DELAY MOV A,R3 INC A CJNE A,#08H,ZOU MOV A,#00H MOV R3,A LJMP LOOP DELAY:MOV R7,#02H D1: MOV R6,#0FFH D2: DJNZ R6,D2
DJNZ R7,D1
RET DELAY1:MOV R7,#04H
D3:MOV R6,#0FFH
6.实习报告-单片机秒表设计 篇六
第1章 单片机系统硬件电路.................................................................................1
1.1 实习目的..............................................................................................1 1.2 单片机型号及特性..............................................................................1 1.3 单片机开发板......................................................................................2
第2章 单片机应用系统软件.................................................................................5
2.1 STC下载软件......................................................................................5 2.2 Keil软件...............................................................................................5 2.3 外部电路驱动......................................................................................6
第3章 00-59秒计时器设计..................................................................................7
3.1 电路原理图..........................................................................................7 3.2 设计原理..............................................................................................7 3.3 实现方法..............................................................................................8
第4章 实习总结.....................................................................................................9
4.1 实习体会..............................................................................................9 4.2 设计硬件体会......................................................................................9
参考文献.................................................................................................................10 附录1 实物图........................................................................................................11 附录2 系统主要程序............................................................................................12
I
东北石油大学生产实习总结报告
第1章 单片机系统硬件电路
1.1 实习目的
了解单片机最小系统;
了解keilc软件操作,程序下载及调试方法; 掌握单片机外部电路使用; 掌握键盘和数码管显示编程方法; 应用单片机开发板进行实验开发;
1.2 单片机型号及特性
1、AT89S51单片机功能及特点
5l系列单片机中典型芯片(AT89S51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时/计数器TO和T1,4个8 b的I/O端I:IP0,P1,P2,P3,一个全双功串行通信口等组成。特别是该系列单片机片内的Flash可编程、可擦除只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。5l系列单片机提供以下功能:4 kB存储器;256 BRAM;32条I/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。空闲方式:CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。掉电方式:保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。ATMEL的AT89S51是一种高效微控制器,AT89S2051是它的一种精简版本。AT89S单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2、STC89C52单片机功能及特点
STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory)的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业
东北石油大学生产实习总结报告
标准的MCS-51指令集和输出管脚相兼容。
STC89C52完全兼容AT89C51 AT89C52 AT89S51 AT89S52 而且加入了更多新功能, 它内部有1280字节的SRAM、8-64K字节的内部程序存储器、2-8K字节的ISP引导码、除P0-P3口外还多P4口(PLCC封装)、片内自带8路8位AD(AD系列),片内自带EEPROM、片机自带看门狗、双数据指针等。
1.3 单片机开发板
1、复位电路
图1-1复位电路图
复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用频率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。
东北石油大学生产实习总结报告
2、晶振电路
图1-2晶振电路图
简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。
对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒,往往用低电压以求低功耗的系统,这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振,这一现象在上电复位时并不特别明显,原因是上电时电路有足够的扰动,很容易建立振荡,在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易,在振荡回路中,晶体既不能过激励,容易振到高次谐波上,也不能欠激励不容易起振,晶体的选择至少必须考虑、谐振频点、负载电容、激励功率、温度特性长期稳定性。
8051的时钟周期即CPU的晶振的振荡频率的振荡周期(频率的倒数)当振荡频率为10MHZ时,振荡周期=1/10MHZ=0.1us机器周期是完成一个基本操作的时间单元,一个机器周期=12个时钟周期,当振荡频率为10MHZ时,机器周期=12x0.1=1.2us 8051的指令周期,指取出并执行一条指令的时间。一般为1-4个机器周期
3、键盘和中断
矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这一点是识别矩阵按键是否被按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。
按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平,显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平,只有这样,当有键按下时,该键所在的东北石油大学生产实习总结报告
行电平才会由高电平变为低电平。CPU根据行平电的变化,便能判定相应的行有键按下。8号键按下时,第2行一定为低电平,然而,第2行为低电平时,能否肯定是8号键按下呢?回答是否定的,因为9、10、11号键按下同样使第2行为低电平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依次循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。
外部中断请求源:即外中断0和1,经由外部管脚引入的,在单片机上有两个管脚,名称为INT0、INT1,也就是P3.2、P3.3这两个管脚。在内部的TCON中有四位是与外中断有关的。IT0:INT0触发方式控制位,可由软件进行置位和复位,IT0=0,INT0为低电平触发方式,IT0=1,INT0为负跳变触发方式。IE0:INT0中断请求标志位。当有外部的中断请求时,这位就会置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。IT1、IE1的用途和IT0、IE0相同。内部中断请求源TF0:定时器T0的溢出中断标记,当T0计数产生溢出时,由硬件置位TF0。当CPU响应中断后,再由硬件将TF0清0。TF1:与TF0类似。TI、RI:串行口发送、接收中断,中断允许寄存器IE在MCS-51中断系统中,中断的允许或禁止是由片内可进行位寻址的8位中断允许寄存器IE来控制的。
图1-3矩阵式键盘的结构
东北石油大学生产实习总结报告
第2章 单片机应用系统软件
2.1 STC下载软件
图2-1 总体方案原理框图
2.2 Keil软件
目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:μVision IDE集成开发环境(包括工程管理器①、源程序编辑器②、程序调试器③,C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及 Monitor-
51、RTX51实时操作系统。
东北石油大学生产实习总结报告
应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-Open…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜Project-New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group „Source Group1‟”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。加入文件后点close返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-Option forTarget „Target1‟(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡内容一般可取默认值。工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。
2.3 外部电路驱动
1、串口
2、定时器
3、中断
东北石油大学生产实习总结报告
第3章 00-59秒计时器设计
3.1 电路原理图
图3-1电路原理图
3.2 设计原理
在设计过程中我们用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加 1,当秒计数达到 60 时,就自动返回到 0,从新秒计数。
对于秒计数单元中的数据要把它十位数和个数分开,方法仍采用对 10 整除和对 10 求余。
东北石油大学生产实习总结报告
在数码上显示,仍通过查表的方式完成。
一秒时间的产生在这里我们采用软件精确延时的方法来完成,经过精确计算得到 1 秒时间为 1.002 秒。
图3-1 程序流程图
3.3 实现方法
系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:
(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;
(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;
(3)绘制程序流程图;(4)合理分配系统资源;
(5)为程序加入注释,提高可读性,实施软件工程;
东北石油大学生产实习总结报告
第4章 实习总结
4.1 实习体会
大约20天的的实习已经结束了,通过这次的实习锻炼了我们的实践能力,也是对我们以后的实际工作能力的具体训练和考察过程。现在是一个高科技的时代,单片机已经成为当今计算机应用中空前活跃的领域。因此对于我们这一专业的同学来说,学好单片机,并正确应用单片机是非常重要的。
此次单片机课程设计,从选题到定稿,从理论到实践,学到了很多的东西。同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,要把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。这次的课程设计还让我学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。更重要的是,我在这一设计过程中,学会了坚持不懈,不轻言放弃。
4.2 设计硬件体会
设计过程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。在整个设计中也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。
单片机实习虽然结束了,但通过实习所学到的东西将长久存在。相信这次单片机设计带给我们的严谨的学习态度和一丝不苟的科学作风将会给我们未来的工作和学习打下一个更坚实的基础。
东北石油大学生产实习总结报告
参考文献
[1] 张占松,孙时生,伍言真.电路和系统的仿真实践.北京:科学出版社电路.2000年1月
[2] Akagi H.Kanazawa Y ,Nabe A.Instantaneous reactive power compensators comprising switching devices without energy storage components.IEEE Trans.Ind.Applicat.,1984,20(3).625-630 [3] Peng F Z, Akagi H,A H;Nabae A.A novel harmonic power filter.PESC Record,1988,1151-1159 [4] 朱东起,姜新建,马大铭.无源和有源滤波器构成的并联型综合电力滤波系统.北京:清华大学学报(自然科学版),1999,39(3):49-52 [5] 邓肖粤、胡晓云《EDA在电子技术教学中的应用》 《实验与探索》 2000年12月
[6] 张占松,孙时生,伍言真.电路和系统的仿真实践.北京:科学出版社电路.2000年1月
[7] 郑春龙.Pspice在数模混合电路分析中的应用. 电子技术.1999(12)[8] 纪良文,蒋静坪.机器人超声测距数据的采集与处理.电子技术应用.2001(4)
东北石油大学生产实习总结报告
附录1 实物图
东北石油大学生产实习总结报告
附录2 系统主要程序
#include
code unsigned char tab[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};// 0-9
unsigned char Shiwei;//定义十位 unsigned char Gewei;//定义个位 void delay(unsigned int cnt){ while(--cnt);} main(){ TMOD |=0x01;//工作在模式1,16位定时 TH0=(65535-45872)/256;TL0=(65535-45872)%256;IE= 0x82;//打开中断 TR0=1;
//打开定时开关
while(1)
{
P0=Shiwei;//显示十位
P1=0xdf;
delay(300);
//短暂延时
P0=Gewei;//显示个位
P1=0xef;
delay(300);
} }
/*
定时器中断函数
*/
东北石油大学生产实习总结报告
void tim(void)interrupt 1 using 1 { static unsigned char second,count;TH0=(65535-45872)/256;TL0=(65535-45872)%256;
count++;
if(count==20)
{
count=0;
second++;
//秒加1
if(second==60)
second=0;Shiwei=tab[second/10];//十位显示值处理
Gewei=tab[second%10];//个位显示处理
}
}
【单片机优秀实习报告】推荐阅读:
单片机应用实践报告09-12
单片机交通灯设计报告08-03
有关单片机AD转换的实验报告11-11
单片机课程中单片机实验教学探究论文11-17
单片机的发展概况09-05
单片机实验12级09-30
单片机小课设10-05
串行通信单片机设计10-12
单片机编程经验集锦10-25
51单片机电子时钟程序09-15