首页 > 精品范文库 > 1号文库
单片机实训报告
编辑:雪域冰心 识别码:10-993116 1号文库 发布时间: 2024-05-12 15:59:36 来源:网络

第一篇:单片机实训报告

单片机原理及应用

实训报告

班级: 学号: 姓名: 指导教师: 实训总成绩:

一、节日彩灯设计

题目:8位逻辑电平模块上的LED小灯从左向右呈现“鞭甩”的实验现象,状态间隔为0.25秒;按键1开始,按键2结束。

原理图

程序代码:

#include #define uchar unsigned char uchar tab[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};sbit S1=P1^4;sbit S2=P1^7;unsigned char i,j;delay(unsigned int x){ for(j=0;j

单片机原理及应用实训报告

管及驱动电路的连接,从而构成一个完整的硬件电路。然后通过对单片机的ROM进行编程,实现对彩灯闪烁的控制。

二、定时器实现流水灯

题目:利用定时器/计数器T0产生2秒钟的定时,每当2秒定时到来时,更换指示灯点亮,依次循环点亮。

原理图

程序代码

#include #include int lamp = 0xfe;int cnt = 0;main(){P2 = 0xfe;TMOD = 0x01;TL0 =(6553650000)/ 256;TR0 = 1;ET0 = 1;

50000)% 256;TH0 =(65536

单片机原理及应用实训报告

程序代码

#include unsigned char seg[]={0xf9,0xa4,0xb0,0x99,0x92};unsigned char i,j;sbit P1_7=P1^7;delay(unsigned int x){ for(j=0;j

单片机原理及应用实训报告

实训总结

通过本次单片机实训使得我更深层次的学习单片机原理与应用技术这门专业课程,同时对KEIL软件进行复习。这次实训是我看到了我最薄弱的一点那就是编程,对于编程有很大的困难。对以往学习过的编程知识没有好好掌握,特别是编程这方便的知识很薄弱。学习过的知识在实际应用中仿佛是冰山一角,完全不够用,需要通过查阅很多资料才能解决到碰到的相关问题。而且实训中出现的问题都是实际应用出比较典型的问题。这次实训还让我深刻的体会了结构化程序设计的优势,让我懂得当我们要进行一个复杂的程序设计时应该先将其分解为多个不同的功能模块再分别编程实现,这样做不仅降低了编程的难度,也容易让编程者思路更加清晰,避免出现不必要的错误。在做仿真时,仿真图正确也不一定就是说明一定正确。

第二篇:单片机实训报告范文

四川电子机械职业技术学院

单片机原理及应用

实 训报告1

班级:应电14.2班 姓名:刘华利 学号:140302058 指导教师:向兵

四川电子机械职业技术学院

摘要:

《单片机应用系统设计项目化教程》这本书根据教育部新的教学改革要求和企业岗位技能需求,以高技能应用型人才专业能力培养为目标,结合作者多年的教学经验与课程改革成果进行编写。全书通过6个典型项目任务,着重介绍单片机基本原理及应用系统的设计方法与技巧,包括流水灯控制系统设计、简易数字时钟设计、数字电压表设计、低频信号发生器设计、数据存储及回放系统设计和窗帘智能控制系统设计等。本书采用“理实一体、项目化教学”模式进行内容编排,将单片机原理及应用系统设计的相关知识点融入项目中进行讲解,易教易学,效果良好。

目录

摘要········································ 2 目录········································ 2 实训名称···································· 3 实训地点···································· 3 实训时间···································· 3 实训目的···································· 3 实训项目···································· 3 项目1·······································3 项目2·······································4 项目3·······································5 项目4·······································6 实训总结····································· 7

四川电子机械职业技术学院

实训名称:单片机原理及应用 实训地点:行政楼523 实训时间:202_.6.27—6.30 实训目的:1、2、3、4、5、6、7、掌握结构化程序设计的基本方法,基本掌握面向对象程序设计的基本思路和方法。

掌握C的基本概念和基础知识。

通过训练能够读懂较为复杂的C语言源程序并具备基本C语言程序设计的能力。

熟练掌握各种常用类的定义继承文件的应用,为更好的理解面向对象打下更好的基础。

掌握面向对象的基本原理,提高学生综合程序设计的能力。

培养自己独立解决问题,找资料的能力。同学之间相互帮助、相互交流、相互合作的团队精神。

通过实训检查自己学习上的不足,达到熟练掌握C语言的基本知识和技能。

实训项目: 项目1 点亮一个LED,每隔一定时间循环熄灭、点亮…

设计思路:端口送高电平,led熄灭,延时1s,端口送低电平,led点亮,延时1s,就这样一直循环。

程序

#include } typedef unsigned char UINT8;void main(void)typedef unsigned int UINT16;{ void DelayMs(UINT16 Ms)while(1){ { UINT8 i;

L2 = 1;

while(Ms--)

DelayMs(1000);

{

L2 = 0;

for(i = 0;i < 114;i+

DelayMs(1000);+);} } }

四川电子机械职业技术学院

原理图

项目2 点亮一个LED,让它每隔一定时间循环左移(课使用delay函数进行延时)

设计思路:在项目1的的基础上,用dalay函数进行延时,用<<来表示左移,添加一个左移的函数。通俗一点的讲的话,就如天天天同一些人排队领东西,领完了返回队位继续排(当然一只是这几个人排)。

程序

#include void delay(unsigned int z){ unsigned intj,i;for(i=0;i

}

while(1){

for(i=0;i<7;i++){

delay(100);

LED=(LED<<1)|0x01;P3=LED;} }

四川电子机械职业技术学院

原理图

项目3 将任务二中delay延时改用定时器延时,且延时一秒

设计思路:在项目2的的基础上,用定时器来进行延时,首先设置定时器工作方式 也就是TMOD,在设置TH0/1,TL0/1的初值,也就是定时时间的设置,然后设置中断允许,并开中断。用中断来控制。

程序

#include char j=0,i=0;void main(){ TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;while(1);} void T0_time()interrupt 1

{ TH0=(65536-50000)/256;TL0=(65536-50000)%256;j++;if(j==5){

j=0;

P1=~(0x01<

if(++i==8)i=0;

} }

四川电子机械职业技术学院

原理图

项目4 四位数码管并排显示,从左到右依次为分、秒十位、秒各位、0.1秒,相当于移动可计时9分59.9秒,使用一个按键,当按键第一次按下,启动秒表,第二次按下,停止,第三次按下,清零。(数码管可选共阴极、共阳极,至于对应数字的段选可参考教材)

设计思路:用delay函数来进行延时,用内部中断来控制T1,用外部中断来实现计数、暂停、清零这三个功能。

程序

#include #define uint unsigned int #define uchar unsigned char sbitdp=P0^7;uchar code Tab[]={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90};ucharxiao,miao,fen;uchart,swnum=0;void delay(uint z){

uintx,y;

for(x=100;x>0;x--)

for(y=z;y>0;y--);}

void dihplay(){

P1=0xfd;

四川电子机械职业技术学院

P0=Tab[xiao%10];

delay(1);

} void display(){

P1=0xfb;P0=Tab[miao/10];delay(1);

P1=0xfe;P0=Tab[miao%10];dp=0;delay(1);}

void dimplay(){

P1=0xf7;P0=Tab[fen%10];dp=0;delay(1);}

void main(){

EA = 1;EX0 = 1;IT0 = 1;

ET0=1;TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TR0=0;xiao=0;miao=0;fen=0;

while(1)

{

display();delay(1);dimplay();delay(1);dihplay();delay(1);

} }

void timer0()interrupt 1 {

xiao++;

if(xiao==10)

{

xiao=0;miao++;

if(miao==59)

{ miao=0;

fen++;

if(fen==10)

{ fen=0;

}

}

} }

void ex0_int0()interrupt 0 { swnum++;if(swnum == 1){

TR0= 1;} if(swnum == 2){

TR0 = 0;} if(swnum == 3){

xiao = 0;

miao = 0;

fen = 0;

swnum=0;} }

四川电子机械职业技术学院

原理图

实训总结:

通过今次单片机实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用C语言编程,通过对led灯控制到用数码管实现秒表功能、中断控制功能,能实现本设计题目的基本要求和发挥部分。由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。

踉踉跄跄地忙碌了一周,我的程序终于编译成功。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

但在这次实训中同时使我对C语言有了更深的认识。当我第一次接触C语言就感觉很难,特别是今次实训要用到C语言,尽管困难重重,可我们还是克服了。这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。

这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。

第三篇:单片机实训报告

目录

一 方案设计说明:............................................................................................2 二 硬件设计说明:............................................................................................4

(一)电路图:..........................................................................................4(二)单片机AT89S51的I/O口分配使用情况........................................4

(三)元器件的参数及规格:....................................................................5 三 软件设计说明:............................................................................................6

(一)软件设计思路及流程图:................................................................6

(二)程序的总体框架结构说明:............................................................8

(三)重要程序段的功能,作用及思路简介:........................................8 四 制作调试说明:..........................................................................................13

(一)程序调试过程:..............................................................................13

(二)硬件调试:......................................................................................13 五 电路实拍:.....................................................................................................14 六 总结心得体会:..........................................................................................15 七 参考文献:.....................................................................................................16

一 方案设计说明:

设计方案之前,得先分解设计任务。本次的设计任务是篮球记分牌,据常识,篮球记分牌应有分别给两队加分,减分,能交换显示分数。在进行设计之前,应自己提出几个问题,待问题回答之后。基本功、的设计方案就出来了。在设计之前我提出了一下几个问题:

a:硬件部分如何控制给A对B对加分,场地交换的时候又是如何实现分数显示交换的?应该如何连接硬件,在硬件上设置控制端,控制端与单片机各引脚之间的连。

b:单片机只有一个CPU,如何实现即要扫描按键,又要显示比分。数码管工作的本质是将要显示的数据的字型码送给他,如何采集到变化的分数送给数码管。用查表吗?

c:加分与倒计时在程序中最本质的东西是什么,如何用程序来说明这样的事件,各事件之间又是如何联系的。

虽然这些问题看似很普通,似乎在设计过程中都要面对这样的问题,何不事先就解决这些问题呢,在逐一回答这些问题的同时,该任务的设计方案已见雏形。以下就是该方案的详细内容以及我问题的答案。

系统原理图如下图一所示:

LED数码显示管外部按键AT89S51驱动电路 3

二 硬件设计说明:

(一)电路图:

(二)单片机AT89S51的I/O口分配使用情况

图中P3.0,P3.1,P3.2,P3.3分别是加一分、加两分、加三分、减一分。P3.4与P3.5口是外部中断,其中断服务程序的功能是实现比分交换的切换显示和加分减分切换。电路中选择共阳极的数码管,可以省去输入端的驱动电路,使电路更简洁。P0口作为字形码的输出口,与数码管的八只管教相连。

(三)元器件的参数及规格:

主要元器件有单片机芯片AT89S51,共阳极数码管,9012PNP三极管。其中单片机承载程序,实现电路功能,三极管起开关及驱动数码管显示作用。数码管显示比分。

三 软件设计说明:

程序的总体思路是主程序一直在扫描按键,比分显示,比分交换,加减分队伍切换都在中断服务程序中完成。其具体内容如下所示。

(一)软件设计思路及流程图:

中断程序流程图(如:图一)

程序初始化,给存储器赋初值按键扫描程序,扫描到由按键控制的中断就执行其对应程序外部中断1,加减外部中断0,A、B分队伍切换中断程序两队比分切换图一

按键扫描程序流程图(如:图二)按键扫描入口,检测软件标志位F0,为1调用分数显示程序程序,为0调用加减分切换程序,同时扫描按键是扫描P3.0,并去抖,是否有键按下加一分否是扫描P3.1,并去抖,是否有键按下加两分否是扫描P3.2,并去抖,是否有键按下加三分否是扫描P3.3,并去抖,是否有按键按下减一分否按键扫描程序结束图二

分数显示程序流程图(如:图三)

将A对B对的分数首先进行BCD码转换,再保存到相对应的寄存器中把各分数分别赋给寄存器A,查表送往要显示的数码管由P2口的位状态控制子程序调用结束,返回主程序,RET 图三

其中时间显示的子程序流程图与分数的大同小异,此处就不再一一列出。

(二)程序的总体框架结构说明:

程序包含按键扫描程序,不断地扫描按键,一旦有控制中断的按键按下,就执行中断程序,交换比分。中断服务程序,INT_0交换A对与B对的总分,INT_1改变软件标志位就可以切换加减分队伍,同时扫描按键。

(三)重要程序段的功能,作用及思路简介:

按键扫描程序是本程序中最重要的程序段,其连接了所有的子程序,子程序的调用都是在其中完成。下面就对该程序段的功能,作用及编写思路做详细说明。各部分关键程序 按键控制程序

org 0060h ajcx: jnb p3.0,s0

jnb p3.1,s1

jnb p3.2,s2

jnb p3.3,s3

jnb p3.4,s4

jnb p3.5,sz5

ljmp ajcx sz5: ljmp s5 s0:

lcall del

jb p3.0,s01

ljmp ajcx s01: jnb p1.0,s02

mov a,30h

inc a

mov 30h,a

ljmp tzcx s02: mov a,31h

inc a

mov 31h,a

ljmp tzcx s1:

lcall del

jb p3.1,s11

ljmp ajcx s11: jnb p1.0,s12

mov a,30h

add a,#02h

mov 30h,a

ljmp tzcx s12: mov a,31h

add a,#02h

mov 31h,a

ljmp tzcx s2:

lcall del

jb p3.2,s21

ljmp ajcx s21: jnb p1.0,s22

mov a,30h

add a,#03h

mov 30h,a

ljmp tzcx s22: mov a,31h

add a,#03h

mov 31h,a

ljmp tzcx s3:

lcall del

jb p3.3,s31

ljmp ajcx s31: jnb p1.0,s32

mov a,30h

dec a

mov 30h,a

ljmp tzcx s32: mov a,31h

dec a

mov 31h,a

ljmp tzcx s4:

lcall del

jb p3.4,s41

ljmp ajcx s41: push 30h

push 31h

pop 30h

pop 31h

lcall jscx

ljmp ajcx s5:

lcall del

jb p3.5,s51

ljmp ajcx s51: cpl p1.0

cpl p1.1

ljmp ajcx 加分程序: org 0120h tzcx: lcall jscx

ljmp ajcx org 0130h del: mov tl1,#00h

mov th1,#0bh

setb tr1

jnb tf1,$

mov tl1,#00h

mov th1,#0bh

clr tf1

ret 加减分队伍切换程序: org 0150h

dscx: mov th0,#0fch

mov tl0,#18h

mov a,r2

rl a

mov r2,a

cjne r2,#11h,d1

mov r1,#32h

lcall jscx

reti d1:

cjne r2,#22h,d2

mov r1,#33h

lcall jscx

reti d2:

cjne r2,#44h,d3

mov r1,#34h

lcall jscx

reti d3:

mov r1,#35h

lcall jscx

reti 比分切换程序: org 0190h jscx: mov a,30h

mov b,#0ah

p ab

mov 33h,b

mov 32h,a

mov a,31h

mov b,#0ah

p ab

mov 35h,b

mov 34h,a

mov p2,r2

mov dptr,#tab

mov a,@r1

movc a,@a+dptr

mov p0,a

ret

org 0220h tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h

db 80h,90h end 12

四 制作调试说明:

(一)程序调试过程:

程序调试我花了两天的时间,此程序虽然不复杂,由于我平时学习的不够深入,也没用心学。对于我这样的基础来说调试过程真的很痛苦。刚开始调试时程序有两处让我感觉很乱,按键扫描程序中的中断程序如何调用。当寄存A对或B对的分数累加到99的时候,就清零,但还没有累加到99的时候,程序应该跳往何处执行,我最初的是跳了继续累加。在仿真中的现象就是分数一直显示99,加不了。我真的是太大意了,调试的时候不踏实。

(二)硬件调试:

此次的硬件焊接很成功,电路布局很清晰,虽然在调试时也发现错误,但用万用表很容易就检测出来了,其中有几根线的皮包线熔了,肉眼看不到。重新整理电路后,功能明显成功。至此,本次的单片机课程设计圆满结束。

五 电路实拍: 电路板正面:

电路板背面:

六 总结心得体会:

通过这一次的单片机实训,让我对单片机这一门知识有了更深的认识,更锻炼了我独立解决问题独立思考的能力,在电路设计和程序设计的过程中我们遇到了很多问题和困难,但通过大家的讨论和老师的指点之后,一切的问题都一一被解决,但单片机的学习并不是那么的简单,在最后也是最关键的程序调试的过程中,我们又遇到了很多更难的更棘手的问题,电路焊接完好也会出现诸多类似于不实现功能或是出现混乱显示的情况,真的很让人头疼,但,大家都还是咬牙坚持了下来,最后很多电路虽然依旧还是没能实现功能,但我们努力顽强克服重重困难的精神,是大家有目共睹的,就算是失败了,也依旧是很值得的一次经历.,与此同时,也有很多同学试验成功,看着大家脸上洋溢的笑容,大家无论失败成功都从这次的实训中学到了很多很多的东西

七 参考文献: 胡健

主编 《单片机原理及接口技术》

张大明 主编 《单片机控制实训指导及综合应用实例》李勋、林广艳《单片机微型计算机大学读本》

机械工程出版社 机械工业出版社

北京航空航天大学出版社16

第四篇:单片机实训报告

沧州职业技术学院单片机实训报告

原理图

沧州职业技术学院单片机实训报告

双位数码管显示控制程序及说明

START: MOV R0,#0;清零

MOV DPTR,#TABLE;指定查表起始地址 LOOP: ACALL DISPLAY;调用子程序DISPLAY INC R0;R0加1 CJNE R0,#100,LOOP JMP START DISPLAY: MOV A,R0

MOV B,#10 DIV AB

MOV 20H,A MOV 21H,B MOV R3,#50;LOOP1: MOV A,21H

ACALL CHANG CLR P2.4;ACALL DLY SETB P2.4 MOV A,20H ACALL CHANG CLR P2.5;ACALL DLY SETB p2.5 DJNZ R3,LOOP1 RET CHANG: MOVC A,@A+DPTR MOV P0,A;RET;R0未到100则转换;跳转

;把R0里的数据送入A;把10送入B;a b相除;十位送入20H;个位送入21H 把50送入R3;取个位数

;调用子程序CHANG 开个位显示;调用子程序DLY;关闭个位显示;取十位数

;调用子程序CHANG 开十位显示;调用子程序DLY;关闭十位显示;循环50次;子程序返回;查表 查表结果送入P0;子程序返回 沧州职业技术学院单片机实训报告

DLY: MOV R6,#20;典型延时子程序延时

D1: MOV R7,#248;10ms DJNZ R7,$ DJNZ R6,D1 RET TABLE: DB 0C0H,0F9H,0A4H DB 0B0H,99H,92H,82H DB 0F8H,80H,90H END

;表数据共阳极数码管显示代码

沧州职业技术学院单片机实训报告

心得体会

为期一周的单片机实训结束了,真是让我受益匪浅啊!学到了很多东西,不管怎么样,先感谢学校给我的这么多机会,真正的学到了东西。

随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,我们就学习了单片机这门课程,感觉是有点难。也不知道整个学习过程是怎么过来得,可是时间不等人。不过在学习中,我才发现学习单片机不仅仅需要软件的知识,还需要硬件的知识。我买了一个单片机在实践中就是一个活生生的例子,没有相应的硬件知识,我连单片机怎么和电脑相连都不知道,我为我当初的想法感到羞愧。单片机是一门很好的学问,需要我去钻研它。

不过在学习中,我才发现学习单片机不仅仅需要软件的知识,还需要硬件的知识。我买了一个单片机在实践中就是一个活生生的例子,没有相应的硬件知识,我连单片机怎么和电脑相连都不知道,我为我当初的想法感到羞愧。单片机是一门很好的学问,需要我去钻研它。

说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。

沧州职业技术学院单片机实训报告

在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费我我们学到了很多知识,也让我们对单片机有了更深一步的了解,虽然最后结果是出来了,可这与老师的精心指导是分不开的她引导我们的思路,本来一窍不通的我们经过老师的点拨基本上通了,所以老师是功不可没的。

总而言之,单片机课程设计对于我们有很大的帮助,我们从中受益匪浅。

参考文献

[1]李广弟等

单片机基础[M] 北京航空航天出版社,202_.[2]王东峰等

单片机C语言应用100例[M] 电子工业出版社,202_.[3]陈海宴

51单片机原理及应用[M] 北京航空航天大学出版社,202_.[4]刘守义等

单片机技术基础[M] 西安电子科技大学出版社,202_.[5]钟富昭等

8051单片机典型模块设计与应用[M] 人民邮电出版社,202_.[6]李平等

单片机入门与开发[M] 机械工业出版社,202_.[7]李全利

迟荣强编著 单片机原理及接口技术 高等教育出版社,202_ [8] 楼然苗等

51系列单片机设计实例 北京航空航天出版社,202_ [9]唐俊翟等

单片机原理及应用

冶金工业出版社,202_ 5

沧州职业技术学院单片机实训报告

[10]刘瑞新等

单片机原理及应用教程

机械工业出版社,202_

第五篇:单片机实训报告样本

实训报告

实训题目:_ 专业:_ 班级:姓名:指导教师:

2实训目的:

掌握汇编语言程序设计和调试方法,熟悉键盘操作。掌握RAM中的数据操作。熟悉MCS-51指令系统,掌握程序设计方法。掌握简单的数值转换算法。基本了解数值的各种表达方法。掌握MCS-51串行口方式0工作方式及编程方法。掌握利用串行口扩展I/O通道的方法。熟悉数字温度传感器DS18B20的使用方法和工作原理,了解单总线的读/写控制方法。

实训任务(列出实训期间所有任务的名称):

第一章清零程序

第二章拆字程序

第三章拼字程序

第四章二进制到BCD转换

第五章串并转换实验

第六章数字温度的采集

实训准备(个人的知识准备、硬件与软件器材):

个人知识准备:熟悉实验箱的使用方法,懂得连线的基本操作,熟悉MCS-51单片机开发系统Keil软件操作,懂得编译、装载并运行程序。

硬件:实验箱、电脑

软件:MCS-51单片机开发系统Keil软件

实训要求:

1.2.3.4.5.对硬件设施、软件设施的维护 保持桌面清洁、整齐 保持教室干净 认真听讲,不迟到早退,不大声喧哗 做完实验后整理好实验箱,导线等不要乱放

实训内容(步骤及程序):

步骤:

1.了解实训任务

2.分析实训任务

3.打开MCS-51单片机开发系统软件,编写实训程序

4.打开实验箱,进行连线

5.运行程序

6.如果程序无法正常运行,对程序进行调试之后再运行

7.运行结果:点击单步执行,使程序每走一步查看运行结果

8.在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态,返回监控

程序(至少三个任务的程序):

任务一:清零程序

ORG 0640H

SE01:MOV R0,#00H

MOV DPTR,#2000H;(2000H)送DPTR

LOO1:MOVX @DPTR,A;0送(DPTR)

INC DPTR;DPTR+1

INC R0;字节数加1

CJNE R0,#00H,LOO1;不到FF个字节再清

SJMP $

END

任务二:拆字程序

ORG 0660H

SE02:MOV DPTR,#2000H

MOVX A,@DPTR

MOV B,A;(202_)→A→B

SWAP A;交换

ANL A,#0FH;屏敝高位

INC DPTR

MOVX @DPTR,A;送2001H

INC DPTR

MOV A,B

ANL A,#0FH;(202_)内容屏敝高位

MOVX @DPTR,A;送2002H

SJMP $

END

任务三:拼字程序

ORG 0680H

SE03:MOV DPTR,#2000H

MOVX A,@DPTR

ANL A,#0FH;(2000H)内容屏敝高位

SWAP A;交换

MOV B,A;保存

INC DPTR

MOVX A,@DPTR;(2001H)内容送A

ANL A,#0FH;屏敝高位

ORL A,B;或

INC DPTR

MOVX @DPTR,A;送2002H

SJMP $

END

实训结果(结果分析):

任务一结果分析:实训程序能够正常运行,可以实现。

任务二结果分析:实训程序能够正常运行,可以实现。

任务三结果分析:实训程序能够正常运行,可以实现。

实训总结:

通过一周的实训,我们很好的完成了单片机的实训,期间我学到了很多宝贵的知识和经验。在这次的单片机实训中,我们了解了单片机的用途,掌握了单片机的编译程序和装载并进行运行,在这段时间我学会了硬件和软件的基本操作,熟悉实验箱、电脑,了解运行结果及检查并进行实践操作。

首先,打开实验箱,在实验箱的后背有一根电源线插孔和一根数据线插孔,从实验箱中把电源线和数据线拿出来插在对应的插孔中。其次,打开电脑的电源,电脑打开后,在桌面上有一个MCS-51单片机开发系统keil软件,打开这个软件会出现一个页面,在页面的上方有一个实验指导,打开实验指导就可以看见硬件和软件等字样,在软件那一栏右边菜单点击相应的程序,选中那个程序,再打开实验指导和实验程序,对照着实验指导把导线插在实验箱相应的位置。最后,把实验程序调出来,在电脑上或者是在实验箱上进行装载并运行,也可以点击菜单中的“单步运行”,查看实验箱的结果,是否和实验指导上的一样或者是直接在菜单上按“自动单步”让程序不停的自动运行。

在这期间我深刻的认识到了理论知识和实践操作必须是相结合的,也是教学环节中相当重要的一个环节,只有这样才能提高自己的实际操作能力,并且可以从中培养自己的独立思考,勇于克服困难和团队的协作精神,这次的实训使我学到了很多知识,使我终身受用。

实训建议:

1.有很多电脑是坏的,用一会儿就死机,希望能将其修好

2.有个别实验箱是坏的,希望能修好的。

3.不能联网,希望能把网线联好

学生(签名):

单片机实训报告
TOP