单片机实习报告

时间:2024.3.31

广东工贸业技术学院

20##~20##学年第二学期

51

单片机实习报告

专业班级:

学生学号:

学生姓名:

指导老师:

课题名称:

实习时间:

一、设计目的

在城市中,我们可以看到各式各样的广告流水灯。所谓“广告流水灯”,就是将一系列有颜色的广告灯串接在一起,然后令这些灯按一定的次序逐个(或几个)依次点亮和熄灭。由于各灯点亮产生的效果就像流动的水一样,因此将这类广告等称为“广告流水灯”。

生活中广告流水灯的形式和点亮的次序是多种多样的。有单一颜色的几个灯按固定的次序来点亮的,有多个不同颜色的灯构成某一图案依次点亮的,也有多排广告灯按多种组合好的次序循环点亮的。

为本次设计的广告流水灯,是其中最简单的类型,目的是使学生初步掌握单片机系统的设计方法,从了解设计要求,运用所学 知识并查阅有关技术资料进行系统设计,到模拟调试,然后整理有关技术资料,编写设计说明书,使学生得到一次系统的训练,从而对本课程理解更深刻,更清楚,更重要的是提高应用理论知识和解决实际问题的能力。

二、电路设计

本设计采用8个发光二极管代表广告灯,由单片机的P2口来控制这8个发光二极管按下面的规律循环工作。

1.主程序的功能

①先实现广告灯从右至左,单个灯每0.2秒左移点亮。即点亮的次序如下所示:

P2.7亮←P2.6亮←P2.5亮←P2.4亮←P2.3亮←P2.2亮←P2.1亮←P2.0亮。

②再实现广告灯从左至右,单个灯每0.2秒移动点亮。即点亮的次序如下所示:

P2.7亮→P2.6亮→P2.5亮→P2.4亮→P2.3亮→P2.2亮→P2.1亮→P2.0亮。

③之后再使所有的广告灯闪烁两次,即先将所有灯点亮,然后熄灭,如此反复两次。

2.中断服务程序功能

设置两个中断服务程序,分别是外部中断0中断服务程序和外部中断1的中断服务程序,要求外部中断1的优先权高于外部中断0,它们的触发方式采用电平触发。

①外部中断0中断服务程序实现的功能是:先使相邻两个广告灯从右至左,左移点亮,再让其从左至右,右移点亮,循环2次。

②外部中断1中断服务程序实现的功能是:8只广告灯从中间开始向两边依次点亮,然后熄灭,再从两边开始向中间依次点亮,然后熄灭,循环2次。

①时钟电路

本设计可采用AT89C51作为处理器,采用12MHz的晶振,时钟电路如图1。其中X1、X2分别于单片机芯片的两个时钟管脚连接。

 

图1

  ②发光二极管电路

8个发光二极管用于模拟“流水灯”,由P2口驱动,需接限流电阻,其电路如图2所示。

 

图2

  ③外部中断触发电路

由于外部中断采用电平触发方式,在初始化时,必须将专用寄存器TCON的IT0和IT1位设置为0。这样只需在(P3.2脚)和(P3.3脚)各接一个按钮开关,开关另一端接地即可。当开关按下时,就可触发相应中断。

三、设计分析

  1.主程序

在端口控制的程序设计中,可以采用两种方法。一种是将移动前的显示初值通过程序来给定,然后逐次运行左移或右移指令,从而实现显示值的移动点亮;另一种是将所有显示数据编写成一个表,在程序中通过查表方式来逐个输出各个显示数据。

单片机指令中,查表指令是由两条指令来构成的:“MOV DPTR,#data16”和“MOVC A @A+ DPTR”。前一条指令是将数据所在表的表头地址(即data16)赋值于DPTR,从而使数据指针寄存器指到数据表的表头;后一条指令是将累加器A和数据指针寄存器DPTR内容之和作为地址,然后利用程序计数器PC将该地址上的数据(即数据表中的数据)存储到累加器A中。

程序流程图如下:

  采用左移和右移指令来实现的程序流程图如图3所示。

 

图3

  采用查表法实现的程序流程图如图4所示。

IMG_0001

图4

  2.中断服务程序

  ①外部中断0服务程序

外部中断0服务程序实现8只广告灯从中间开始向两边依次点亮,然后熄灭,再从两边开始向中间依次点亮,然后熄灭,循环3次的功能。可采用查表的方法,将每次显示时P2口的值用一个8位二进制数表示,这样一轮循环需要十个数,它们分别是:0FFH、0E7H、0C3H、81H、00H、0FFH、7EH、3CH、18H、00H,将它们编为一个数据表格,在表格的最后添加一个数“0AAH”,用指令MOVC A,@A+DPTR查到数后,使用CJNE A,#0AAH    ,DISP指令判断是否结束一个循环。

  ②外部中断1服务程序

外部中断1服务程序实现的功能是:先使相邻两个广告灯从右至左,左移点亮,再让其从左至右,右移点亮,循环3次。可采用循环移位或查表的方式,使用循环移位时,应将第一个数据设置为0FCH,并赋给A,再使用RL A指令实现左移,左移次数应为7次,左移结束后设置右移次数为6次,使用RR A实现右移,每次显示时间为0.2秒;使用查表方式时,将相应数据形成表格,再用MOV DPTR,#data16和MOVC A @A+ DPTR指令查表。

3.电路图

 

4.源程序

ORG 0000H伪指令,指示下一条指令由0000H单元开始存放

               AJMP START短转移指令(转移到“START”入口)

               ORG 0003H伪指令,指示下一条指令由0003H单元开始存放

               AJMP EXT1短转移指令

               ORG 0013H伪指令,指示下一条指令由0013H单元开始存放

               AJMP EXT0短转移指令

         START:MOV IE,#85H将85H赋给IE(设定中断控制允许IE)

               MOV IP,#04将04H赋给IP(设定中断优先级IP H

               MOV TCON,#00H将00H赋给TCON(设定控制寄存器TCON)

               MOV SP,#70H将70H赋给堆栈指针SP

        START1:MOV A,#0FFH将0FFH赋给累加器A

               MOV P2,A将累加器A的值传送给P2口输出

               LCALL DELA长调用指令(调用延时子程序“DELAY”)Y

               MOV R1,#01H将01H赋给让R1

            M1:MOV R2,#08H将08H赋给让R2

               MOV A,#0FEH将0FEH赋给累加器A

          LOOP:MOV P2,A将累加器A的值传送给P2口输出

               RL A左移指令(累加器的数值左移一位)

               LCALL DELAY长调用指令(调用延时子程序“DELAY”)

               DJNZ R2,LOOP减1不为零转移指令(转移到“LOOP”入口)

               DJNZ R1,M1减1不为零转移指令

               MOV A,#0FFH将0FEH赋给累加器A

               MOV P2,A将累加器A的值传送给P2口输出

               LCALL DELAY长调用指令(调用延时子程序“DELAY”)

               MOV R1,#01H将01H赋给让R1

            M2:MOV R2,#08H将08H赋给让R2

               MOV A,#7FH将7FHH赋给累加器A

         LOOP1:MOV P2,A将累加器A的值传送给P2口输出

               RR A右移指令(累加器的数值左移一位)

               LCALL DELAY长调用指令(调用延时子程序“DELAY”)

               DJNZ R2,LOOP1减1不为零转移指令(转移到“LOOP1”入口)

               DJNZ R1,M2减1不为零转移指令

               MOV R1,#02H将02H赋给让R1

            M3:MOV P2,#0FFH将累加器0FFH的值传送给P2口输出

               LCALL DELAY长调用指令(调用延时子程序“DELAY”)

               MOV P2,#00H

               LCALL DELAY

               DJNZ R1,M3

               AJMP START1短转移指令

         DELAY:MOV R5,#10

            D1:MOV R6,#50

            D2:MOV R7,#248

               DJNZ R7,$

               DJNZ R6,D2

               DJNZ R5,D1

               RET

               EXT0:PUSH ACC

               PUSH PSW

               SETB RS0将RS1置1(选择工作寄存器组)

               CLR RS1将RS0置0(选择工作寄存器组)

               MOV R3,#02

               MOV DPTR,#TABLE

         LOOP6:MOV R1,#00H

         LOOP7:MOV A,R1

               MOVC A,@A+DPTR

               CJNE A,#0AAH ,DISP

               DJNZ R3,LOOP6

               AJMP ZDHH

          DISP:MOV P2,A

               LCALL DELAY

               INC R1加一指令

               AJMP LOOP7

          ZDHH:POP PSW出栈指令(对断点地址的保护)

               POP ACC

               RETI

               DJNZ R7,$

               DJNZ R6,D2

               DJNZ R5,D1

         TABLE:DB 0FFH,0E7H,0C3H,81H,00H,0FFH,7EH,3CH,18H,00H,0AAH伪指令DB:从标号指定的地址单元开始,将数据表中的字节数据按顺序依次输入

         EXT1:PUSH ACC

               PUSH PSW

               SETB RS1

               CLR RS0

               MOV R3,#02

         LOOP3:MOV A,#0FCH

               MOV R2,#07

         LOOP4:MOV P2,A

               LCALL DELAY

               RL A

               DJNZ R2,LOOP4

               MOV A,#3FH

               MOV R2,#06

         LOOP5:RR A

               MOV P2,A

               LCALL DELAY

               DJNZ R2,LOOP5

               DJNZ R3,LOOP3

               POP PSW

               POP ACC

               RETI

               DJNZ R7,$

               DJNZ R6,D2

               DJNZ R5,D1

               RET

               END

四·编译·试调·仿真

1. 用Keil对程序进行编译、试调。

2. 用Proteus对系统进行仿真。

3. 将编译后生成的hex文件下载到实验板,观察运行效果。

五·实习心得

一个星期的单片机实习,我通过查阅资料,请教老师和同学,基本上完成了硬件设计,程序设计。但是其中有很多问题值得我去思考。1、学习作风不好,不能积极对待,注意力不够集中;2、学习效率不高,发现自己单片机课程功底较差,实践动手能力不够强;3、独力解决问题的能力较差。以是是值得我去反思的,本次实习体现了自己那些不足希望能在今后得到改进。

六·实验总结

   本次实实习过程主要分为三部分。分别是绘制硬件原理图,编写程序,撰写实习报告。

1. 绘制硬件原理图:用Proteus绘制硬件原理图,要我们熟悉软件的使用,那些元件大部分是可以在元件库找到的。

2. 编写程序:用Keil编写程序,这是一难点。程序往往不是一次可以编写好的,要我们要耐心和细心去编写、修改。这样才可以保证程序是可用的,精简的。同时程序编写是我们提高单片机学习能力的好方法。

3. 撰写实习报告:实习报告可以让我们系统地了解这此次实习的目的,让我们更好地学习这门课程。


第二篇:计算机毕业实习报告单片机实习报告


本文由遥遥爱文贡献doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。这次我们实习的单位是陕西圣弘科技有限责任公司, 陕西圣弘科 技有限责任公司是专门从事计算机及电子类产品的研发、生产企业。 近十年来已成为西安市及周边地区八十多所高校定点实习实训基地。 圣弘实训从计算机企业化生产、电子生产装配、计算机网络工程 到单片机嵌入式开发、软件产品、数码产品的研制等多个层面对学员 进行技能训练,培养了多批一专多能、复合型的适用人才。 圣弘科技的研发团队研发出几十种用单片机实现控制的产品, 全 部用于学员的开发训练之中,为学员日后从事电子产品、数码产品、 控制类产品研发生产打下了一定的基础。 在这次的实习之前我不知道室温工作是怎么回事,不知道随处可 见的交通灯是怎么控制的,不知道点阵屏广告牌怎样显示的,不知道 洗衣机洗衣服时长的控制,不知道万年历是怎么控制的等。在这次的 实习中我基本上了解到了它们所用的东西及其工作原理及程序的编 写。 在这次实习中我们主要学习的是单片机,最后,我们会利用单片 机的知识去完成我们的项目设计。 我的项目课题是基于单片机的点阵 屏电子广告牌的设计, 我们需要了解点阵屏的结构及单片机和点阵屏 之间的关系。 目前单片机渗透到我们生活的各个领域, 几乎很难找到哪个领域 没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算 机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理, 广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录象机、 摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些 都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗 器械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航 天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范 畴: 1.在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和 使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器, 可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角 度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得 仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路 更加强大。例如精密的测量设备(功率计,示波器,各种分析仪) 。 2.在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工 厂流水线的智能

化管理,电梯智能化控制、各种报警系统,与计算机 联网构成二级控制系统等。3.在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电 饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电 子秤量设备,五花八门,无所不在。 4.在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口, 可以很方便地与计算机进行数 据通信,为在计算机网络和通信设备间的应用提供了极好的物质条 件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话 机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到 日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5.单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种 分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域 都有着十分广泛的用途。 一个点阵基本模块是由多个 LED 单元组合而成的。 LED 的应用 而 领域有那么广,它主要应用于显示屏、交通讯号、广告业多媒体、 城市亮化显示光源。鉴于它们的应用领域及特征,以及单片机是 靠程序的,并且可以修改,通过不同的程序实现不同的功能,尤其是 特殊的独特的一些功能这个特点,我们可以通过编写程序到单片机 内去控制点阵屏上的汉字及汉字的移动。 我知道要完成这个项目,仅仅有程序是不够,还要有电路图、 电路板等硬件,要在硬件和软件的完美结合下,我们才能成功的 完成这个项目。由于我是编写程序的成员,并且在整个实习的过 程中,我主要是进行编程的,所以对这次实习中所遇到的问题的 总结,我只能从软件方面进行总结。 在项目设计前的培训中, 由于对单片机知识掌握的不多、 不系统, 所以在实现秒表中断及复位功能的过程中,我不能将定时器/计数器 和中断的知识连接在一起,当实现秒表计数的功能时,我不能通过按 键将它中断,同样,我也不能将它复位。最后,通过翻看笔记和老师 的指导,要实现的功能我几乎可以完成了,但是由于时间的原因,我 未能全部完成。 在项目设计的过程中,由于这次要实现的功能比较多,所以遇到 的问题相对来说就比较多了。刚开始在实现静态显示的功能时,显示 的汉字闪烁的特别快, 还有就是在实现上下移动时汉字移动的速度和 闪烁的速度特别快。经过查阅资料和老师的提醒,我分别通过增加整 体的刷新次数和增加每行的刷新次数来解决闪烁速度快和移动速度 快的问题。

在实习期间我学到了很多东西,通过理论联系实际,不断的学习 和总结经验,巩固了所学的知识,提高了处理实际问题的能力,为毕 业设计的顺利进行总结了经验。 第一、 毕业实习的顺利进行得益于扎实的专业知识。 用人单位在招聘员工时第一要看的就是专业技能是否过硬。 在上 次伟创力的应聘中, 我们未被录上的同学就是因为在专业知识的掌握 上比别人逊色一点而落选。 因为对于用人单位来说如果一个人有过硬 的专业知识,他在这个特定的岗位上就会很快的得心应手,从而减少 了用人单位要花很大的力气来培训一个员工。 第二、 在工作中要有良好的学习能力, 要有自己的一套学习知识的系 统,遇到问题自己能通过相关途径自行解决能力。 因为在工作中遇到问题各种各样,并不是每一种情况都能把握。 在这个时候要想把工作做好一定要有良好的学习能力, 通过不断的学 习从而掌握相应技术,来解决工来中遇到的每一个问题。这样的学习 能力,一方面来自向师傅们的学习,向工作经验丰富的人学习。另一 方面就是自学的能力,在没有别人帮助的情况下自己也能通过努力, 寻找相关途径来解决问题。比如在我们进行项目设计的过程中,刚开 始时由于我对 16*64 的点阵屏的内部结构不是很了解, 就连简单的静 态显示的功能都实现不了,最后在老师的帮助下,我不仅实现了静态 显示的功能,还实现了左右移动的功能。还有,在我实现上下移动功 能的过程中,我遇到了很多阻碍,最后经过上网查资料,分析别人编 滚动显示程序时的思路,我终于找到了方法去实现上下移动功能。 第三、 良好的人际关系是我们顺利工作的保障。 在工作之中不只是同技术、同设备打交道,更重要的是同人的交 往。所以一定要掌握好同事之间的交往原则和社交礼仪。这也是我们 平时要注意的, 和谐的人际关系, 能为顺利工作创造良好的人际氛围。 另外在工作之中自己也有很多不足的地方。 例如: 缺乏实践经验, 缺乏对相关技能知识的标准掌握等。 所在我常提醒自己一定不要怕苦 怕累,在掌握扎实的理论知识的同时加强实践,做到理论联系实际。 另一方面要不断的加强学习, 学习新知识、 新技术更好的为人民服务。 通过这次毕业实习, 把自己在学校学习的理论知识运用到社会的 实践中去。一方面巩固所学知识,提高处理实际问题的能力。另一方 面为顺利进行毕业设计做好准备, 并为自己能顺利与社会接轨做好准 备。毕业实习是我们从学校走向社会的一个过渡,它为我们顺利的走 出校园,走向社会为国家、为人民更好服务做好了准

备。

更多相关推荐:
单片机实训报告

单片机实训报告姓名学号班级指导老师实训时间前言一周的单片机实训很快就结束咯在这一周的时间里我学到了很多关于单片机各方面的知识老师在实训课中也教会咯我们很多关于单片机软件编程与硬件设施的知识一周的实训中我们一共实...

单片机实习报告

单片机实习报告1引言11实习目的随着人们生活水平的不断提高单片机控制无疑是人们追求的目标之一它给人们带来的方便也是不可否定的本次实习的目的在于加深AT89C51单片机的理解初步掌握单片机应用系统的设计方法通过本...

单片机实习总结报告

专业综合实习总结专业班级:电子信息工程0801学生学号:***指导教师:实习时间:20XX.6.2020XX.7.15机电工程学院一、实习目的和意义1、实习目的:(1)利用单片机小系统实习板,掌握电路原理图;(…

单片机实习报告

电子与信息工程学院程设计报(20##20##学年第2学期)课程名称:创新课题课程设计班级:电子0801学号:15姓名:指导教师:20xx年03月课告实习报告

单片机实训报告心得

广东轻工职业技术学院实训报告实训项目单片机实训系别:电子通信工程系专业:应用电子技术班级:嵌入式091班姓名:**学号:***指导老师:***实训地点:第三实训楼C309实训时间:20**年1月10日至1月14…

单片机实习报告

单片机实习报告题目姓名学院专业班级学号指导教师交通灯控制系统职称讲师20xx年5月27日内容提要本系统采用AT89S52作为交通灯控制系统的核心控制器件利用单片机的定时器产生秒级信号控制十字路口的红绿黄灯交替点...

单片机实训报告

目录一概述11设计制作产品的背景目的意义12设计制作产品的设计要求13分工情况工作计划及本人所总结工作14本课题的基本内容重点及难点二正文21实验原理22实验流程图23硬件设计24软件设计25C语言程序26简易...

《单片机实习报告温控系统

学院单片机课程设计报告书题目温度控制系统设计院系名称学生姓名专业名称班级时间学院自动化自动20xx年6月7日至6月17日温度控制系统设计一设计目的在现代化的工业生产中电流电压温度压力流量流速和开关量都是常用的主...

c51单片机实习报告

基于单片机实现短距离无线通信设计1引言短距离无线传输具有抗干扰性能强可靠性高安全性好受地理条件限制少安装灵活等优点在许多领域有着广泛的应用前景低功耗微型化是用户对当前无线通信产品尤其是便携产品的实际需求短距离无...

单片机论文、实习报告

单片机课程设计说明书题目数字式温度计的设计系部专业班级姓名学号指导教师起止日期单片机原理及应用课程设计任务书系部电子与通信工程系专业指导教师张刚林刘光灿陈威兵罗朝明冯璐谢志宇20xx650摘要在科学技术不断发展...

基于AT89S52单片机的多模式带音乐跑马灯设计实训报告

实训课题基于AT89S52单片机的多模式带音乐跑马灯设计一实训目的及要求1通过实训理解与掌握单片机系统的开发流程及常见系统的开发设计仿真调试等培养一定的单片机设计与开发能力2掌握按键电路的设计3掌握单片机复位电...

单片机最小系统实训报告

单片机最小系统实训报告一实训目的1掌握并理解单片机最小系统的原理和制作熟悉电子元件的参数以及应用2熟悉PCB板的工业制作流程并且要求会使用protel软件绘制相应的PCB图3复习使用keil51软件编写相应程序...

单片机实习报告(37篇)