单片机工程实践
- 格式:doc
- 大小:130.00 KB
- 文档页数:18
关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。
系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。
由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。
例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。
踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。
当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。
我相信其中的酸甜苦辣最终都会化为甜美的甘泉。
但在这次实训中同时使我对汇编语言有了更深的认识。
当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。
这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。
这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。
希望这次的经历能让我在以后学习中激励我继续进步。
【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。
了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。
LED显示器:LED显示器是由发光二管组成显示字段的器件。
通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。
有段选码和和位选码。
当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。
LED显示器的显示方式有动态和静态两种。
7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。
一、前言单片机作为一种微型的计算机系统,因其体积小、功耗低、功能强、成本低等特点,在工业控制、智能家居、通信等领域得到了广泛的应用。
为了提高学生的实践能力,培养创新精神和工程实践能力,我们进行了单片机实训。
本文将对本次实训进行总结,分析实训过程中遇到的问题及解决方法,并对实训成果进行展示。
二、实训目的1. 熟悉单片机的基本原理和组成,掌握单片机的开发环境。
2. 学习单片机编程,了解C语言在单片机中的应用。
3. 学会使用单片机外围电路,实现基本的功能。
4. 培养学生的动手能力、团队协作能力和创新精神。
三、实训内容1. 单片机硬件电路搭建在本次实训中,我们搭建了基于51单片机的最小系统,包括单片机、晶振、复位电路、电源电路等。
通过搭建电路,使学生了解单片机的硬件组成,为后续编程打下基础。
2. 单片机编程使用C语言对单片机进行编程,实现以下功能:(1)LED流水灯:通过控制LED灯的亮灭,实现流水灯效果。
(2)按键控制LED灯:通过按键控制LED灯的开关。
(3)数码管显示:将当前时间显示在数码管上。
3. 单片机外围电路应用(1)使用继电器控制外部设备:通过单片机控制继电器,实现外部设备的开关。
(2)使用蜂鸣器发出声音:通过单片机控制蜂鸣器,实现不同频率的声音。
四、实训过程及问题解决1. 电路搭建过程中,遇到电路连接错误、元器件损坏等问题。
通过查阅资料、请教老师,逐一解决了这些问题。
2. 编程过程中,遇到程序运行不稳定、功能实现不完善等问题。
通过分析程序逻辑、修改代码,使程序运行稳定,功能完善。
3. 在单片机外围电路应用过程中,遇到继电器控制不灵敏、蜂鸣器声音不稳定等问题。
通过调整电路参数、优化代码,使继电器控制灵敏,蜂鸣器声音稳定。
五、实训成果1. 完成了基于51单片机的最小系统搭建。
2. 编写并调试了LED流水灯、按键控制LED灯、数码管显示等程序。
3. 应用单片机外围电路,实现了继电器控制和蜂鸣器发声等功能。
千里之行,始于足下。
单片机实习报告单片机实习报告》一、引言在大学期间,我有幸参加了一次单片机实习。
单片机作为一种嵌入式系统的重要组成部分,具有广泛的应用前景和重要的理论和实践意义。
通过此次实习,我更深入地了解了单片机的原理和应用,并培养了解决实际问题的能力。
本报告将详细介绍我的实习经历和所学到的知识。
二、实习背景单片机实习是我大学电子信息工程专业中的一门实践课程,旨在将课堂学习到的理论知识与实际应用相结合。
实习内容主要包括单片机基本原理的学习、单片机编程技术的掌握以及实际项目的设计与实现。
三、实习内容1. 单片机基本原理的学习在实习开始前,我们首先学习了单片机的基本原理。
通过理论课的学习,我们对单片机的工作原理、片内资源和寄存器等有了基本的了解。
同时,我们也学习了单片机的编程语言、开发环境和常用的编程技巧。
2. 单片机编程技术的学习第1页/共3页锲而不舍,金石可镂。
为了熟悉单片机的编程技术,我们学习了汇编语言和C语言两种单片机编程语言。
通过编写一些简单的程序,我们逐渐掌握了程序的编写和调试方法,提高了自己的编程能力。
3. 实际项目的设计与实现在实习的最后阶段,我们需要根据老师的要求设计并实现一个实际项目。
在项目的设计过程中,我们需要考虑项目的功能、硬件的选择和电路的设计。
在实际实施中,我们需要根据设计的要求,编写相应的程序,并将其烧录到单片机中进行测试和验证。
四、实习反思通过此次实习,我收获了许多。
首先,我对单片机的原理有了更深入的理解。
以前,我只是了解到单片机具有微型计算机的功能,但具体的实现方式和原理并不清楚。
而通过实习,我学习到了单片机内部的结构和工作原理,明白了单片机是如何通过执行指令来实现功能的。
这对于我今后的学习和工作具有重要的指导意义。
其次,我学会了如何编写单片机程序。
在实习过程中,我们需要不断地编写程序来验证我们的设计。
通过这个过程,我逐渐掌握了单片机编程的技巧和方法,提高了自己的编程水平。
单片机实习心得体会范文
在本次单片机实习中,我深刻体会到了单片机的强大功能和广泛应用。
通过实际操作和学习,我对单片机的工作原理、编程语言和常见的应用场景有了更深入的了解。
首先,在实习的过程中,我学习了单片机的基本原理和工作方式。
单片机是一种集成电路,内部包含了处理器、存储器和各种输入输出接口。
通过编程,我们可以控制这些接口,实现各种功能。
我学习了单片机的内部结构和寄存器的使用方法,掌握了如何编写简单的程序来控制单片机的各个功能模块。
其次,我深入学习了单片机的编程语言。
在实习中,我主要使用C语言来编写单片机的程序。
C语言作为一种通用的高级编程语言,非常适合用来编写单片机程序。
通过实际的编程练习,我学会了如何使用C语言来控制单片机的各个模块,如LED灯、数码管和按键等。
我了解了C语言在单片机编程中的特点和注意事项,掌握了如何使用C语言来实现各种单片机的功能。
最后,我还了解了单片机的广泛应用场景。
在实习中,我实际操控了一些常见的单片机应用,如传感器控制、电机控制和通信控制等。
这些实践让我更加深入地了解到了单片机在各个领域的应用,如智能家居、工业自动化和智能交通等。
单片机具有体积小、功耗低、成本低等优点,使其在嵌入式系统中得到了广泛应用。
通过本次单片机实习,我不仅学到了丰富的专业知识,还掌握了实际操作的技能。
我深刻体会到了单片机的强大功能和广泛应用,并且对单片机的工作原理、编程语言和常见的应用场景有了更深入的认识。
我相信这些知识和技能对我的未来学习和工作都有很大的帮助。
单片机实训报告优选范文5篇分享单片)是一种集成电路芯片,是具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
下面就是小编给大家带来的单片机实训报告优选范文5篇分享,希望大家喜欢!单片机实训报告范文(一)前言一周的单片机实训很快就结束咯,在这一周的时间里,我学到了很多关于单片机各方面的知识。
老师在实训课中也教会咯我们很多关于单片机软件编程与硬件设施的知识。
一周的实训中我们一共实训咯好几个项目,通过这几个项目的实训,我们掌握咯一些单片机的汇编语言和硬件调试,达到了很好的效果。
一周时间实训过后,我把之前在课堂上不懂的知识点,通过实际操作的练习,我都搞明白咯。
当然在实训过程中也遇到咯很多问题,就是有时在调试方面不能调试成功,有时程序是没有错误,但是就是调试不好,一直找原因也找不出是什么原因。
希望以后能够拥有更多的实训时间和机会学习单片机。
实训任务一一、实验目的熟悉Keil C51集成开发环境的使用方法二、实验设备及器件IBM PC机三、实验内容按照本书的第2章的2.1节到2.4节内容进行Keil C51集成开发环境的安装和使用练习。
然后按照以下内容建立文件并编译产生HEX文件。
ORG 8000HLJMP MainORG 80F0HMain:MOV R7,#0LOOP:MOV R6,#0DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R7,LOOP ;延时一台CPL P1.0CPL P1.1CPL P1.2CPL P1.3CPL P1.4CPL P1.5CPL P1.6CPL P1.7SJMP MainEND ;P1.0取反 ;P1.1取反 ;P1.2取反 ;P1.3取反 ;P1.4取反 ;P1.5取反 ;P1.6取反 ;P1.7取反通过该程序实现八盏灯的同时亮和同时灭的功能,更好的掌握汇编指令。
单片机课程设计实习报告(共6篇)ok3w_ads(“s004”);ok3w_ads(“s005”);精选范文:单片机课程设计实习报告(共6篇)实训任务:一、实训目的和要求:(1)熟练掌握keil c51集成开发环境的使用方法(2)熟悉keil c51集成开发环境调试功能的使用和dp?单片机仿真器、编程器、实验仪三合一综合开发平台的使用。
(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。
(4)了解掌握单片机芯片的烧写方法与步骤。
(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。
(6)掌握利用protel 99 se绘制电路原理图及pcb图。
(7)了解pcb板的制作腐蚀过程。
二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v 10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)dp?单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(2)将流水灯程序编写完整并使用tkstudy ice调试运行。
(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。
(6)制板。
首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb 板上布线图外的铜全部后,将其取出,清洗干净。
(7)焊接。
将所给元器件根据原理图一一焊至pcb板相应位置。
(8)调试。
先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。
(流水灯控制器原理图)四、流水灯控制器程序的主程序:org 0000hsjmp startorg 0030hstart: mov a,#0ffhmov r0,#1chmov r2,#12hclr cloop1: acall delaydjnz r0,loop2sjmp loop4loop2: mov p1,arlc ajnc loop3sjmp loop1loop3: acall delaymov p1,arrc ajnc loop1sjmp loop3loop4: acall delaydjnz r1,loop5sjmp loop6loop5: mov p1,arrc a[单片机课程设计实习报告(共6篇)]篇一:单片机实习报告课程设计专业综合实习总结专业班级:学生学号:学生姓名:指导教师:实习时间:机电工程学院目录1.实习目的和意义 21.1实习目的 (2)1.2实习意义 (2)2.实习内容 2 3. 硬件介绍 23.1 总原理图 (3)3.2 LED显示模块............................................................... 6 3.3 数码管显示模块............................................................ 7 3.4 键盘模块 (9)3.5 A/D转换模块............................................................... 10 3.6 D/A转换模块 (13)3.7 中断嵌套模块 (14)3.8 时钟日历芯片模块 (15)4. 程序流程图 174.1 LED显示模块……………………………………………………… 17 4.2 数码管显示模块…………………………………………………… 19 4.3 键盘模块……………………………………………………………21 4.4 A/D转换模块.................................................................. 23 4.5 D/A转换模块 (23)4.6 中断嵌套模块 (24)4.7 时钟日历芯片模块 (24)5. 实习心得体会………………………………………………… 26 附录:程序清单……………………………………………………271、实习目的和意义1.1 实习目的1、熟悉本专业自己设计的“单片机课程实习”电路板,领会、掌握该电路板的设计原理及硬件布局。
单片机设计实践总结
一、引言
单片机,也被称为微控制器,是一种集成电路芯片,它集成了中央处理器、随机存储器、只读存储器、输入/输出接口等必要组件。
单片机广泛应用于各种嵌入式系统,如智能家居设备、工业自动化设备、医疗设备等。
通过本次实践,我对单片机设计有了更深入的理解和体验。
二、实践内容
在这次实践中,我主要完成了以下几个任务:
1. 单片机选型:根据项目需求,选择了合适的单片机型号。
例如,如果需要处理大量数据,可以选择具有更快处理速度的单片机;如果需要低功耗,可以选择低功耗单片机。
2. 单片机编程:使用C语言或汇编语言对单片机进行编程,实现所需功能。
在这个过程中,我学习了如何使用Keil软件进行编程和调试。
3. 单片机外围电路设计:根据项目需求,设计单片机外围电路,如电源电路、输入输出接口电路等。
4. 单片机测试:对设计好的单片机进行测试,确保其功能正常。
三、实践收获
通过这次实践,我收获颇丰:
1. 深入理解了单片机的原理和工作方式,掌握了单片机编程技巧。
2. 学会了如何根据项目需求选择合适的单片机型号。
3. 提高了自己的动手能力和解决问题的能力。
4. 加深了对嵌入式系统开发流程的理解。
四、实践总结
总的来说,这次单片机设计实践是一次非常宝贵的学习经历。
通过实践,我不仅掌握了单片机的相关知识,还提高了自己的实践能力。
在未来的学习和工作中,我将继续深入学习嵌入式系统开发的相关知识,不断提高自己的技能水平。
同时,我也希望能够有更多的机会参与到类似的实践中,以便更好地将理论知识应用到实际工作中。
单片机毕业实习报告600字(精选5篇)第一篇:计算机毕业实习报告单片机实习报告本文由遥遥爱文贡献doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
这次我们实习的单位是陕西圣弘科技有限责任公司,陕西圣弘科技有限责任公司是专门从事计算机及电子类产品的研发、生产企业。
近十年来已成为西安市及周边地区八十多所高校定点实习实训基地。
圣弘实训从计算机企业化生产、电子生产装配、计算机网络工程到单片机嵌入式开发、软件产品、数码产品的研制等多个层面对学员进行技能训练,培养了多批一专多能、复合型的适用人才。
圣弘科技的研发团队研发出几十种用单片机实现控制的产品,全部用于学员的开发训练之中,为学员日后从事电子产品、数码产品、控制类产品研发生产打下了一定的基础。
在这次的实习之前我不知道室温工作是怎么回事,不知道随处可见的交通灯是怎么控制的,不知道点阵屏广告牌怎样显示的,不知道洗衣机洗衣服时长的控制,不知道万年历是怎么控制的等。
在这次的实习中我基本上了解到了它们所用的东西及其工作原理及程序的编写。
在这次实习中我们主要学习的是单片机,最后,我们会利用单片机的知识去完成我们的项目设计。
我的项目课题是基于单片机的点阵屏电子广告牌的设计,我们需要了解点阵屏的结构及单片机和点阵屏之间的关系。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
单片机实训报告单片机实训报告「篇一」为了锻炼学生的动手能力及激发学生的创新能力,我们班于第十五周在单片机实验室行了单片机实训。
在实训过程中首先我们要明确实训目的:1、熟悉单片机应用系统的开发、研制过程。
2、能运用MCS-51单片机行简单的单片机应用系统的硬件设计。
3、能采用MCS-51单片机汇编语言行简单的单片机应用系统的软件设计。
4、掌握单片机应用系统的硬件、软件调试方法。
5、熟悉单片机仿真开发系统的作用,基本掌握运用单片机仿真开发系统行在线仿真、调试和目标程序固化的方法。
6、为今后从事单片机应用系统的开发、生产和维护工作奠定基础。
在实训的第一天我们经过指导老师,XX老师和xx老师详细的为我们讲解了实训指导书,让我们了解实训当中所学的内容与一些元器件和我们要实验的课题。
在实验中主要有三个课题。
第一是十字路口交通信号灯的设计与制作。
课题2、比赛用秒表的设计与制作。
课题3、模拟霓虹灯控制系统的设计与制作。
为了能让我们更好的掌握知识我们把全班31人分成10组,我们在小组里也分工合作,也可以培养我们同学之间的合作能力。
在此有做硬件的,有做软件的,这样能够更好的加强自己的动手操作能力。
第一个课题是我们必须做的,在做完的第一个的基础下才能选择第二个或底三个,第一个课题在同学们的认真操作下很快就完成了,几乎在第二天大部分小组都可以完成。
这也证明同学们是很认真的投入到实训当中和知识的牢固性。
在第三天,正是实训的高潮,每个同学都投入到这种氛围当中,在实训操作中把不懂的记下,然后问指导老师,在老师的细心指导及时的解决问题。
看到我们的不足之处。
理论与实践相结合是最好的效果。
时光飞逝,一转眼,一个周又尾声了,实训就这样过去了,但真正的实训还未开始,我将要继续努力,继续奋斗。
俗话说“好的开始是成功的一半”。
说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。
其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。
单片机实习报告(精选12篇)大文斗范文网会员为你整理了“单片机实习报告”12篇范文,希望对你有参考作用。
篇1:单片机实习报告课程设计任务书学生姓名:专业班级:指导教师:工作单位:武汉理工大学题目: 单片机原理与应用初始条件:STC89C52 温度采集芯片DS18B20 数码管MAX232 开关74LS04 仿真软件要求完成的主要任务:1)利用PROTEL等软件进行硬件设计;2)利用Keil uV2软件完成应用系统软件设计;3)利用PROTEUS软件进行仿真设计;4)完成单片机最小系统和应用系统电路板的焊接;5)对电路进行调试;6)利用stc-isp软件完成在系统编程、下载,并完成系统软件调试;7)题目由指导教师提供;8)要求每个学生单独完成硬件软件设计、仿真、焊接、调试任务;9)写出实习报告,实习报告主要包括以下内容:目录、摘要、关键词、基本原理、方案论证、硬件设计、软件设计(带流程图、程序清单)、仿真结果、实物运行结果照片、结论、参考文献等;10)实习完成后通过答辩;11)答辩时交实习报告电子文档,通过答辩后根据修改意见修改并打印、装订成册。
时间安排:实习时间20xx年12月17日---20xx年12月30日。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (3)Abstract (4)1 基本原理 (5)1.1基本原理及原理框图 (5)1.2 STC89C52结构功能介绍 (5)2 方案论证 (7)2.1 数字温度计方案 (7)3 硬件设计 (8)3.1复位电路 (8)3.1.1上电复位 (8)3.1.2按键复位 (8)3.2振荡电路 (9)3.3 单片机最小系统单片机 (10)3.4 显示电路 (10)3.5矩阵键盘电路 (11)3.6 温度采集电路 (11)3.7串口通信电路 (12)3.8总设计电路 (13)4 软件设计 (14)4.1 软件介绍 (14)4.1.1设计软件Protel (14)4.1.2 程序编写软件Keil (14)4.1.3仿真软件Proteus (15)4.2 数码管显示 (15)4.3数字温度计的设计 (16)4.4串口通信的设计 (17)5仿真结果 (18)5.1数字温度计仿真 (18)5.2键盘扫描仿真 (18)6 实物调试结果 (19)7元件列表 (20)8参考文献 (22)9实习日记 (23)10附录 (40)摘要单片微型计算机简称单片机,又称为微型控制器,是微型计算机的一个重要分支。
设计目的:通过一个以8 位单片机为核心的模拟量数字表的硬件调试过程,掌握具有七段LED 显示、键盘、蜂鸣器等接口电路的单片机应用系统的设计思想和方法。
学习应用系统软件的模块化设计方法,通过源程序的编辑、汇编或编译、链接、仿真调试,完成给定的任务。
提高工程实践能力和素质。
一、 设计任务:设计内容:模拟全自动洗衣机的功能: (1)用显示器表示工作进程和电机正反转 (2)工作过程与全自动洗衣机相同任务分工:①蜂鸣器自检(李二冬主编) ②键盘自检 (郑晓军主编) ③LED 自检 (董振主编) ④洗衣机:a 框图编写(董振)b 启动、进水(郑晓军)c 洗涤、排水(董振)d 甩干(李二冬)e 汇总(董振、李二冬、郑晓军)f 打字,制作实践报告书(董振)三、框图(包括自检和任务的框图):1、 硬件编程框图及相关说明(图1)2、主程序框图、子程序框图及相关说明(图2,图3,图4,图5,图6,图7)硬 件 框 图图1单片机89C 5174LS245K1——K4 拨盘P2.5 P2.6 P2.7P1P2 74LS138 LED 位选P0 ULN2803LED 段选主程序框图开始反转延时,显示正转置正反转总循环次数注水延时,显示启动?水满?Y YNN检测K2洗涤检测K1图2置正转次数放水正转次数减1后为0?水空?次数减1后为0?NYNNY Y甩干检测K3图3开始查表1查表3正转显示查表次数减1后为0?YN倒计时显示查表2反转显示查表次数减1后为0?查表3倒计时显示循环次数减1为0?循环次数减1置循环总数NYN图4键盘自检程序框图图5开始 是否有键按下?蜂鸣器响子程序 YN开始置循环次数查表依次选位后并显示段减为0?循环次数减一指针加一NY子程序框图图6蜂鸣器子程序开始关闭蜂鸣器延时delay N 打开蜂鸣器减一后为0?结束YN蜂鸣器自检程序框图(两个声音)图7开 始R1=20H喇 叭 响延 时1喇叭停延 时1R1—1等于0?R1=20H喇 叭 响延 时2喇叭停延 时2R1-1等于0?NY NY四、程序清单(一)模拟全自动洗衣机程序MOV P0,#0H ;关显示START1: LCALL SEL8 ;打开245MOV P1,#0FFH ;P1口输入MOV A,P1 ;采集key1的状态LCALL SEL7 ;关闭245CJNE A,#0FEH,START1 ;判key1是否按下CLR P2.3 ;蜂鸣LCALL DELAY ;延时SETB P2.3START2: LCALL SEL8 ;打开245MOV P1,#0FFH ;P1口输入MOV A,P1 ;采集key1的状态LCALL SEL7 ;关闭245CJNE A,#0FDH,START2 ;判key2是否按下MOV P0,#0FFH ;p0口输入MOV P0,#9EH ;字型3送p0口ACALL QWE4 ;选位ACALL DELAY ;延时MOV P0,#7EH ;字型0送p0口ACALL QWE5 ;延时ACALL DELAY ;选位XIDI: MOV R0,#0H ;赋初值MOV R1,#06H ;置正(反)传次数MOV R2,#0H ;赋初值MOV R3,#014H ;置正反转总循环次数MOV P0,#0FFH ;p0口输入LOOP: MOV A,R0 ;正传MOV DPTR,#TAB1MOVC A,@A+DPTRMOV P0,AACALL QWE2ACALL DELAYINC R0DJNZ R1,LOOPMOV R0,#0HMOV R1,#06HACALL STOP1LOOP1: MOV A,R0 ;反转MOV DPTR,#TAB2MOVC A,@A+DPTRMOV P0,AACALL QWE3ACALL DELAYINC R0DJNZ R1,LOOP1MOV R0,#0HMOV R1,#06HACALL STOP2STOP1: MOV A,R2 ;倒计时显示MOV DPTR,#TAB3MOVC A,@A+DPTRMOV P0,AACALL QWE4ACALL DELAYINC R2DJNZ R3,LOOP1STOP2: MOV A,R2 ;倒计时显示MOV DPTR,#TAB3MOVC A,@A+DPTRMOV P0,AACALL QWE5ACALL DELAYINC R2DJNZ R3,LOOPCLR P2.3ACALL DELAYSETB P2.3START3: LCALL SEL8 ;打开245 MOV P1,#0FFH ;P1口输入MOV A,P1 ;采集key3的状态LCALL SEL7 ;关闭245CJNE A,#0FCH,START3 ;判key3是否按下CLR P2.3 ;蜂鸣LCALL DELAY ;延时SETB P2.3SHUAI: MOV R0,#0H ;甩干MOV R1,#06HMOV R4,#0AH ;置循环次数MOV P0,#0FFHLOOP2: MOV A,R0MOV DPTR,#TAB1MOVC A,@A+DPTRMOV P0,AACALL QWE2ACALL DELAYINC R0DJNZ R1,LOOP2MOV R0,#0HMOV R1,#06HDJNZ R4,LOOP2SJMP START1TAB1: DB 02H,04H,08H,10H,20H,40H ;表1TAB2: DB 40H,20H,10H,08H,04H,02H ;表2TAB3: DB 0B6H,0DEH,0B6H,0FEH,0B6H,0EH,0B6H,0FAH,0B6H,0DAH,0B6H,0CCH,0B6H,9EH, 0B6H,0B6H,0B6H,0CH,0B6H,7EH ;表3DELAY: MOV R5,#05H ;延时LOOP5: MOV R6,#0FAHLOOP6: MOV R7,#0FAHLOOP7:DJNZ R7,LOOP7DJNZ R6,LOOP6DJNZ R5,LOOP5RETQWE1: CLR P2.5 ;选第一位CLR P2.6CLR P2.7RETQWE2: CLR P2.5 ;选第二位CLR P2.6SETB P2.7RETQWE3: CLR P2.5 ;选第三位SETB P2.6CLR P2.7RETQWE4: CLR P2.5 ;选第四位SETB P2.6SETB P2.7RETQWE5: SETB P2.5 ;选第五位CLR P2.6CLR P2.7RETSEL7: CLR P2.7 ;关闭三态门SETB P2.6SETB P2.5RETSEL8: SETB P2.7 ;打开三态门SETB P2.6SETB P2.5RET(二)键盘自检程序MAIN: LCALL SAMPLE ;检测有无按键按下CPL AJZ MAINLCALL BEEP ;如果检测到按键则调用蜂鸣器SJMP MAINSAMPLE: MOV P0,#0 ;键采样LCALL SEL8MOV P1,#0FFHMOV A,P1LCALL SEL7RETSEL7: CLR P2.7SETB P2.6SETB P2.5RETSEL8: SETB P2.7SETB P2.6SETB P2.5RETBEEP: CLR P2.3 ;蜂鸣器子程序ACALL DELAY1SETB P2.3ACALL DELAY1RETDELAY1: MOV R3,#5H ;延时子程序LOOP1: MOV R4,#3CHLOOP2: DJNZ R4,LOOP2DJNZ R3,LOOP1RET(三)蜂鸣器自检的具体程序:START: SETB P2.3 ;蜂鸣器的主程序ACALL DELAY1CLR P2.3ACALL DELAY1SETB P2.3ACALL DELAY2CLR P2.3ACALL DELAY1SJMP STARTDELAY1: MOV R6,#20H ;延时子程序1 LOOP1: MOV R7,#20HLOOP2: NOPDJNZ R7,LOOP2DJNZ R6,LOOP1RETDELAY2: MOV R6,#015H ;延时子程序2 LOOP3: MOV R7,#015HLOOP4: NOPDJNZ R7,LOOP4DJNZ R6,LOOP3RET(四)LED自检程序ST: SETB P2.3 ;关蜂鸣器MOV P0,#0FFH ;p0口输入MOV DPTR,#TAB ;表头地址放寄存器MOV A,#0H ;赋初值MOV R4,#08H ;置循环次数START: MOVC A,@A+DPTR ;查表,依次选位并显示相同字段MOV P0,AACALL QWE1ACALL DELAYMOV P0,AACALL QWE2ACALL DELAYMOV P0,AACALL QWE2ACALL DELAYMOV P0,AACALL QWE3ACALL DELAYMOV P0,AACALL QWE4ACALL DELAYMOV P0,AACALL QWE5ACALL DELAYINC DPTR ;指针加1MOV A,#0HDJNZ R4,START ;循环次数减1SJMP STTAB: DB 01H,02H,04H,08HDB 10H,20H,40H,80HDELAY: MOV R5,#02H ;延时LOOP5: MOV R6,#0FFHLOOP6: MOV R7,#0FFHLOOP7:DJNZ R7,LOOP7DJNZ R6,LOOP6DJNZ R5,LOOP5RETQWE1: CLR P2.5 ;选第一位CLR P2.6CLR P2.7RETQWE2: CLR P2.5 ;选第二位CLR P2.6SETB P2.7RETQWE3: CLR P2.5 ;选第三位SETB P2.6CLR P2.7RETQWE4: CLR P2.5 ;选第四位SETB P2.6SETB P2.7RETQWE5: SETB P2.5 ;选第五位CLR P2.6CLR P2.7RET五、设计体会短短两周的单片机课程训练虽然已经结束了,但它带给我了很多的启示和体会,同时也遇到了许多问题,在本次事件中我主要负责编写主程序及其框图,以及连接了各个子程序。
在这过程中我主要遇到了以下几个问题:一、如何使程序简单而调用最少的子程序;二、如何在连接时避免各个标号,因为其延时了程序的重复出现;三、通过这次试训,我感受到了团队合作的重要意义,而且明白了只有通过真正的实践活动才能把课本知识彻底地领悟。
作为组长,我也明白了如何根据每个队员的能力和兴趣合理分工才能每个人都忙起来从而共同完成任务。
李二冬短短两个星期的单片机工程实训让我发现想要真正的去掌握一门技术,不去付出一些艰辛和努力是不可能有收获的。