首页 > 工作相关 > 实习 > 实习报告 > 实习总结 > 单片机实训总结范文(汇编2篇)正文

《单片机实训总结范文(汇编2篇)》

时间:

单片机实训总结范文(精选2篇)

单片机实训总结范文 篇1

实训任务:

做单一灯的左移右移,八个发光二极管l1-l8分别接在单片机的p1。0→p1。2→p1。3┅→p1。7→p1。6→┅→p1。0亮,重复循环3次。然后左移2次,右移2次,闪烁2次(延时的时光0。2秒)。

一、实训目的和要求:

(1)熟练掌握keilc51集成开发环境的使用方法

(2)熟悉keilc51集成开发环境调试功能的使用和dp?51pro单片机仿真器、编程器、实验仪三合一综合开发平台的使用。

(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。

(4)了解掌握单片机芯片的烧写方法与步骤。

(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。

(6)掌握利用protel99se绘制电路原理图及pcb图。

(7)了解pcb板的制作腐蚀过程。

二、实训器材:

pc机(一台)

pcb板(一块)

520ω电阻(八只)

10k电阻(一只)

led发光二极管(八只)

25v10μf电容(一只)

单片机ic座(一块)

at89c51单片机芯片(一块)

热转印机(一台)

dp?51pro单片机仿真器、编程器、实验仪三合一综合开发平台(一台)

三、实训步骤:

(1)根据原理图(下图所示),用导线把单片机综合开发平台a2区的j61接口与d1区的j52接口相连。

(2)将流水灯程序编写完整并使用tkstudyice调试运行。

(3)使用导线把a2区j61接口的p1口7个口分别与j52接口的八个led相连。

(4)打开电源,将编写好的程序运用tkstudyice进行全速运行,看能否实现任务要求。

(5)观察运行结果,若能实现功能,则将正确编译过的hex文件透过easypro51编程器写入mcu片内存储器,然后将烧写的芯片a2区的圆孔ic座进行最终实验结果的演示。

(6)制板。首先利用protel99se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb板上布线图外的铜全部后,将其取出,清洗干净。

(7)焊接。将所给元器件根据原理图一一焊至pcb板相应位置。

(8)调试。先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。

(流水灯控制器原理图)

四、流水灯控制器程序的主程序:

org0000h

sjmpstart

org0030h

start:mova,#0ffh

movr0,#1ch

movr1,#12h

movr2,#12h

clrc

loop1:acalldelay

djnzr0,loop2

sjmploop4

loop2:movp1,a

rlca

jncloop3

sjmploop1

loop3:acalldelay

movp1,a

rrca

jncloop1

sjmploop3

loop4:acalldelay

djnzr1,loop5

sjmploop6

loop5:movp1,a

rrca

jncloop4

sjmploop4

loop6:acalldelay

djnzr2,loop7

sjmpzy

loop7:movp1,a

rlca

jncloop6

sjmploop6

zy:acalldelay

mova,#00h

movp1,a

acalldelay

mova,#0ffh

movp1,a

acalldelay

mova,#00h

movp1,a

acalldelay

mova,#0ffh

movp1,a

sjmpstart

delay:movr3,#20

dly1:movr4,#20

dly2:movr5,#248

djnzr5,$

djnzr4,dly2

djnzr3,dly1

ret

;

end

(pcb布线图)

五、实训体会与自我评价

本设计成品是以单片机at89c51芯片为核心部件,实现了单一灯的左移右移重复循环3次。然后左移2次,右移2次,闪烁2次(延时0。2秒)的功能。此次设计在软件、编写程序方面花费时光太多我们上网找资料,上图书馆,尽可能多的了解流水灯控制的相关知识。透过这一周的综合实训(单片机课程设计),熟练掌握了keilc51集成开发环境的使用方法,了解并掌握到单片机芯片的烧写方法与步骤,进一步加深了对单片机常用指令的理解与运用。能够较熟练的运用protel99se绘制电路原理图及pcb图,对pcb板的一般制作过程有了必须的了解。在实训过程中,使我得到了一次用专业知识、专业技能分析和解决问题、全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(个性是汇编语言)的掌握方面都能向前迈了一大步。

同时在老师的悉心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践潜力,单片机领域对我今后进一步学习计算机方面的知识有极大的帮忙。使我们认识到课程的重要性,同时也感受到理论与实践之间的差距,使我们对单片机系统的应用有了更加深刻的认识。

单片机实训总结范文 篇2

实习目的

1. 通过对单片机小系统的设计、焊接、装配,掌握电路原理图及电子线路的基本焊接装配工艺、规范及注意事项;

2. 通过对系统板的测试,了解系统板的工作原理及性能,掌握元器件及系统故障的排除方法;

3. 掌握程序编制及调试方法,完成系统初始化、存储器操作、端口操作、键盘显示等程序的编制及调试(汇编语言、C语言均可);

4. 通过单片机系统的组装,调试以及程序编制、调试及运行,与理论及实验的有机结合和指导教师的补充介绍,使学生掌握控制系统的工作原理、开发方法和操作方法。

5. 培养学生解决实际问题的能力,提高对理论知识的感性认识。

实习意义

通过本实习不但可以掌握单片机软、硬件的综合调试方法,而且可以熟练掌握电路原理图,激发对单片机智能性的探索精神,提高学生的综合素质,培养学生应用单片机实现对工业控制系统的设计、开发与调试的能力。在制作学习过程中,不但可以掌握软、硬件的综合调试方法,而且可以使学生对单片机智能性产生强烈的欲望。达到最大限度地掌握微机应用技术,软件及接口设计和数据采集与处理的技能,培养电综合实践素质的目的。

三 系统基本组成及工作原理

1 系统基本组成

系统以单片机STC89C52作为控制核心,各部分基本组成框图如图1所示。

流水灯部分由单片机、键盘模块等组成;

四位数码显示,编程实现30秒倒计时部分由单片机、键盘模块、液晶显示模块等组成;

按键功能部分通过按键控制流水灯部分、四位数码显示部分;

电子钟部分由单片机、键盘模块、液晶显示模块等组成;

使用功能键实现相应的功能组合部分通过流水灯部分、30秒倒计时部分实现;

模数转换部分由单片机、ADC0809转换模块、键盘模块、液晶显示模块等组成。

2 系统工作原理

本设计采用STC89C52RC单片机作为本系统的控制模块。单片机可把由ADC0809及单片机中的数据利用软件来进行处理,从而把数据传输到显示模块,实现阻值大小的显示。以数码管显示为显示模块,把单片机传来的数据显示出来。在显示电路中,主要靠按键来实现各种显示要求的选择与切换。

对于模数转换部分,单片机89C51通过P0口的I/O线向ADC0809发送锁存地址以及复位、启动转换等信号,并查询转换状态。 ADC0809启动转换后,将0-8个通道一次输入的电压信号转换成相应的数字量,供89c51读取使用,并且将EOC置1供单片机查询转换状态。而滑动变阻器负责将阻值信号转换成电压信号,再送到ADC0809的八个通道。当单片机查询到转换结束后依次读取数据并按照现实的需要进行二进制转BCD码等处理最后控制显示电路显示出数字。 其实现方式是:ADC0809转换来自3通道的阻值变化信号。80c51的P2口与ADC0809的输出相连用于读取转换结果,同时P0.0-P0.6作控制总线,向ADC0809发送锁存、启动等控制信息,并查询EOC状态。ALE经分频后给ADC0809提供时钟信号。P3.0和P3.1口用于向显示电路输出段码,P3.2-P3.7用于数码管的位选。

四 系统硬件设计

结合本设计的要求和技术指标,通过对系统大致程序量的估计和系统工作的估计,考虑价格因素。选定AT89C51单片机作为系统的主要控制芯片,8位模拟转换器ADC0809进行阻值转换。 逐次比较法A/D转换器是目前种类最多、应用最广的A/D转换器,其原理即“逐位比较”,其过程类似于用砝码在天平上称物体重量。它由N位寄存器、A/D转换器、比较器和控制逻辑等部分组成,N位寄存器代表N位二进制码。目前应用最广的逐次比较法A/D转换器有ADC0809。它是一种8路模拟输入8位数字输出的逐次比较法A/D转换器件。其主要性能指标和特性如下:

分表率:8位

转换时间:取决于芯片时钟频率,转换一次时间位64个时钟周期

单一电源:+5v

模拟输入电压范围:单极性0-+5v;双极性-5v-+5v

具有可控三态输出锁存器

启动转换控制位脉冲式,上升沿使内部所有寄存器清零,下降沿使A/D转换开始。

通过以上性能比较,我们不难看出ADC0809满足本设计的要求,所以本设计采用ADC0809作为A/D转换器

1 按键电路设计

利用单片机的P1口扩展一个8位键盘。

2 晶振与复位电路设计

本设计采用的是上电复位的形式,如图3.3所示,上电顺进RST获得高电平,随着电容器C的充电,RST引脚上的高电平将逐渐下降,只要高电平能保持复位所需要的两个机器周期以上时间,单片机就能实现复位操作。 晶振电路为单片机提供工作所需要的时钟信号。震荡频率越高,系统时钟频率也越高,单片机运行的速度就越快。其电路如图3.4所示。89C51的XTAL1和XTAL2两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,就构成了稳定的自激振荡器,本设计的震荡器频率为12MHZ。

3 下载电路设计

4 流水灯模块设计

5 模数转换模块设计

6 显示电路设计

本设计采用六位数码管。本系统采用共阳极动态扫描的方式连接。数码管的段码数据由89C51的P3.0-P3.1口送出,89C51的P3.2-P3.7输出位选通信号,只有被选中的那位数码管才会显示段码

7 整体电路设计

五 系统软件设计

1主程序设计

主程序采用分支结构,以状态号标识系统所处的状态。在上电初始化后即进入状态号的轮询扫描,状态号的值决定了分支程序的入口。其中分支程序分别为:AD转换模块(状态号为0),数字模块状态号为1),倒计时模块(状态号为2),电子钟模块(状态号为3),功能组合模块(状态号为4),流水灯模块(状态号为5)。

2 功能子程序设计

2.1 流水灯模块

流水灯模块利用单片机的P3口,通过给P3口的各位送低电平,相应的实现流水灯有规律的点亮。

2.2 30秒倒计时模块

30秒倒计时模块利用单片机的P3.0与P3.1口送相应的段控数据,P3.2-P3.7口送相应的位控数据。通过程序实现30秒倒计时。

2.3 数字加减模块

利用数码管实现数字显示,通过加一键或者是减一键实现数字变量的加一或者减一,进而实现利用数码管显示加一键、减一键功能。

2.4 电子钟模块

利用数码管实现时间显示,通过加一键或者是减一键实现小时变量或者是分钟变量的加一,从而实现调时功能。

2.5 模数转换模块

对于模数转换部分,单片机89C51通过P0口的I/O线向ADC0809发送锁存地址以及复位、启动转换等信号,并查询转换状态。 ADC0809启动转换后,将0-8个通道一次输入的电压信号转换成相应的数字量,供89c51读取使用,并且将EOC置1供单片机查询转换状态。而滑动变阻器负责将阻值信号转换成电压信号,再送到ADC0809的八个通道。当单片机查询到转换结束后依次读取数据并按照现实的需要进行二进制转BCD码等处理最后控制显示电路显示出数字。 其实现方式是:ADC0809转换来自3通道的阻值变化信号。80c51的P2口与ADC0809的输出相连用于读取转换结果,同时P0.0-P0.6作控制总线,向ADC0809发送锁存、启动等控制信息,并查询EOC状态。ALE经分频后给ADC0809提供时钟信号。P3.0和P3.1口用于向显示电路输出段码,P3.2-P3.7用于数码管的位选。

实习总结、体会

本次单片机实习我们一共完成了个模块的程序设计,包括:led显示模块、数码管显示模块和键盘模块。分别实现了流水灯的循环点亮控制、数码管的静态和动态计数显示,还有矩阵键盘按键控制数码管显示的程序设计。然后我们分别用protues系统仿真软件对各个模块进行了模拟仿真,用keil软件编制了汇编语言程序,验证了我们所设计的程序。 这次实习还使我理解了编写程序的一些技巧。单片机应用系统一般由包含多个模块的主程序和由各种子程序组成。每一模块都要完成一个明确的任务,实现某个具体的功能,如计算、接受、发送、延时、显示等。采用模块化程序设计方法,就是将这些具体功能程序进行独立设计和分别调试,最后将这些模块程序装配成整体程序并进行联合调试。模块化程序设计方法的优点:一个模块可以为多个程序所共享;单个功能明确的程序模块的设计和调试比较方便,容易完成;利用已经编好的成熟模块,将大大缩短开发程序的时间,降低开发成本。采用循环结构和子程序结构可以使程序的容量大大减少,提高程序的效率,节省内存。对于多重循环,要注意各重循环的初值和循环结束的条件,避免出现程序无休止循环的“死循环”现象; 通过这次的实习我发现,只有理论水平提高了,才能够将课本知识与实践相结合,理论知识服务于教学实践,以增强自己的动手能力。这次实习十分有意义,这次实习我们知道了理论和实践的距离,也知道了理论和实践相结合的重要性。 回顾起此次课程设计,感觉受益匪浅,从拿到题目到完成整个编程,从理论到实践,学到很多很多的课堂理论中没学到过的东西,不仅对键盘的识别技术这一章节的知识点有了深刻的认识,而且对这学期开设的单片机这门课程有了更全面的了解,尤其是在学习使用proteus软件片编程和仿真时收获良多。通过这次单片机课程设计,还使我懂得了实践的重要性。同时在程序调试的过程中提高自己的发现问题、解决问题、实际动手和独立思考的能力。 这次课程设计能顺利的完成,除了我们的努力外,当然也离不开指导老师申老师的辛勤指导,致使我在设计的过程中学到了很多实用性的知识。同时,对给过我帮助的所有同学和各位指导老师表示忠心的感谢!