单片机实验报告六(何俊儒)

合集下载

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。

系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。

由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。

例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。

踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。

当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。

我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

但在这次实训中同时使我对汇编语言有了更深的认识。

当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。

这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。

这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。

希望这次的经历能让我在以后学习中激励我继续进步。

【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。

了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。

LED显示器:LED显示器是由发光二管组成显示字段的器件。

通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。

有段选码和和位选码。

当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。

LED显示器的显示方式有动态和静态两种。

7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。

单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇实训报告是展示本身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。

单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我理解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。

通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要英勇的迈出第一步,不要总找借口说没有学习过就总推脱。

凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。

可以从建工程开始,然后可以找一个简单的小程序先把它敲进单片机内然他运转起来,感受一下单片机的运转,让本人理解单片机整个运转。

第二:关于知识点,学过的要掌握结实,关于没有学的和临时用不到的先不用学习。

比方:小灯得点亮就没有用到中断可以先不用看。

如此可以防止知识过多记不住的苦恼。

关于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进展学习如此才能掌握的特别牢靠,当用到哪里的知识点不记得了可以去看书,关于用不到的可以不去看。

第三:程序不要只是看别人得,一定要本人写过才是本人的。

开始不明白可以参考别人的,看看每一句代表着什么意思,可以实现什么现象。

明白之后本人再重新写一遍,你会觉观察别人的能明白到本人写的时候特别困难。

当你本人能写出来的时候说明你真明白了。

第四:一定要学会程序调试的方法。

有时候把程序写完了然后运转时不能实现理想的现象。

这时有人就晕了不知该如何办,然后就去征询别人。

当别人找出征询题出在哪里时就会恍然大悟。

事实受骗遇到征询题一定要本人尝试着处理,不能遇到征询题就去征询别人。

本人一定要掌握处理征询的方法和思路。

第五:在学习初期看别人的代码,学习别人的思路这个特别有用。

通过看别人的代码特别是有多年编程经历的人的程序,可以迅速提高本人的编程水平。

单片机实习报告

单片机实习报告

千里之行,始于足下。

单片机实习报告单片机实习报告》一、引言在大学期间,我有幸参加了一次单片机实习。

单片机作为一种嵌入式系统的重要组成部分,具有广泛的应用前景和重要的理论和实践意义。

通过此次实习,我更深入地了解了单片机的原理和应用,并培养了解决实际问题的能力。

本报告将详细介绍我的实习经历和所学到的知识。

二、实习背景单片机实习是我大学电子信息工程专业中的一门实践课程,旨在将课堂学习到的理论知识与实际应用相结合。

实习内容主要包括单片机基本原理的学习、单片机编程技术的掌握以及实际项目的设计与实现。

三、实习内容1. 单片机基本原理的学习在实习开始前,我们首先学习了单片机的基本原理。

通过理论课的学习,我们对单片机的工作原理、片内资源和寄存器等有了基本的了解。

同时,我们也学习了单片机的编程语言、开发环境和常用的编程技巧。

2. 单片机编程技术的学习第1页/共3页锲而不舍,金石可镂。

为了熟悉单片机的编程技术,我们学习了汇编语言和C语言两种单片机编程语言。

通过编写一些简单的程序,我们逐渐掌握了程序的编写和调试方法,提高了自己的编程能力。

3. 实际项目的设计与实现在实习的最后阶段,我们需要根据老师的要求设计并实现一个实际项目。

在项目的设计过程中,我们需要考虑项目的功能、硬件的选择和电路的设计。

在实际实施中,我们需要根据设计的要求,编写相应的程序,并将其烧录到单片机中进行测试和验证。

四、实习反思通过此次实习,我收获了许多。

首先,我对单片机的原理有了更深入的理解。

以前,我只是了解到单片机具有微型计算机的功能,但具体的实现方式和原理并不清楚。

而通过实习,我学习到了单片机内部的结构和工作原理,明白了单片机是如何通过执行指令来实现功能的。

这对于我今后的学习和工作具有重要的指导意义。

其次,我学会了如何编写单片机程序。

在实习过程中,我们需要不断地编写程序来验证我们的设计。

通过这个过程,我逐渐掌握了单片机编程的技巧和方法,提高了自己的编程水平。

单片机实验报告

单片机实验报告

单片机实验报告第一篇:单片机实验报告单片机实验报告一、实验目的1.熟练使用Keil、Protues两款软件2.通过上机操作,增强个人动手实践能力3.加深对理论知识的理解4.培养运用汇编语言进行初步编写程序的能力二、实验内容1.将片外RAM3050-306FH中数据转移至片内70-8FH中。

要求:可以从Keil或Protues上看到RAM的数据转移结果。

2.设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮。

要求:开发板或Prrotues演示3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术。

要求:在Keil或Protues上看到数据转换结果。

4.各使用中断方式和查询方式设计一个方波发生器,频率为50HZ。

要求:Protues使软件间示波器显示方波。

三、实验程序1.将片外RAM3050-306FH中数据转移至片内70-8FH中ORG 0000H AJMP MAIN 上电,转向主程序ORG 0030H 主程序入口MAIN: MOV DPTR,#3050H 数据指针指向地址3050H MOV A,#04H 将立即数04H送A寄存器MOV R0,#20H NEXT: MOVX @DPTR,A INC DPTR 数据指针DPTR自加一DJNZ R0,NEXT 判断是否跳转到NEXT或继续向下执行MOV DPTR,#3050H MOV R0,#70H MOV R2,#20H NEXT1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R2,NEXT1SJMP $ 等待END 2.设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮ORG 0000H SJMP MAIN 上电,转向主程序ORG 0003H 外部中断0向量入口AJMP INSER ORG 0030H 主程序入口MAIN: SETB EX0 SETB IT0SETB EA CPUHERE: SJMP HERE ORG 0200H INSER: MOV R2,#08H MOV A,#01H NEXT: MOV P2,A LCALL DELAY RL A DJNZ R2,NEXT NEXT或继续向下执行RETI DELAY: MOV R3,#0FFH DEL2: MOV R4,#0FFH DEL1: NOP 允许外部中断0中断选择边沿触发方式开中断等待中断设置循环次数赋初值,设置高电平亮将初值送往P2口延时左移一位判断循环次数,是否跳转到中断返回延时程序DJNZ R4,DEL1 DJNZ R3,DEL2 RET END 3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术 ORG 0000H LJMP MAIN ORG 0030H主程序起始地址 MAIN: MOV 80H,#05H 将立即数50H转送内存单元80H MOV A,80H 将内存单元80H中的内容送寄存器A MOV DPTR,#TAB MOVC A,@A+DPTR A寄存器内容加指针偏移量后送A寄存器 MOV 80H,A RET TAB: DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H 4.1中断方式产生50HZ方波ORG 0000HAJMP MAINORG 0030H 主程序入口 MAIN: MOV TMOD,#10H 设置定时器工作模式为模式1 MOV TH1,#0D8H 装入T1计数初值MOV TL1,#0F0HSETB ET1 开中断SETB EA CPU开中断SETB TR1 启动定时器T1 HERE: SJMP HERE 等待中断ORG 001BH T1中断向量地址CLR TF1 将TF1清零CPL P2.0 P2.0取反输出MOV TH1,#0D8H 重装初值MOV TH0,#0F0HRETI;中断返回END 4.2 查询方式产生50HZ方波ORG 0000HAJMP MAINORG 0030H 主程序入口MAIN: MOV TMOD,#10H 设置定时器的工作模式为模式1 SETB TR1 启动定时器T1 LOOP: MOV TH1,#0D8H 装入T1计数初值MOV TH0,#0F0H JNB TF1,$ T1没有溢出则等待CLR TF1产生溢出,清标志位CPL P2.0 P2.0取反输出SJMP LOOP 循环END四、实验结果截图1.23.4.14.2第二篇:单片机实验报告实验四、中断交通灯实验林立强1000850116一、实验目的1、了解MCS-51单片机的组成、中断原理,中断处理过程、外部中断的中断方式。

单片机实习报告8篇

单片机实习报告8篇

单片机实习报告8篇(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作报告、总结计划、心得体会、演讲致辞、策划方案、合同协议、条据文书、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as work reports, summary plans, insights, speeches, planning plans, contract agreements, documentary evidence, teaching materials, complete essays, and other sample essays. If you would like to learn about different sample formats and writing methods, please pay attention!单片机实习报告8篇难忘的实习生活已经告一段落了,回顾这段时间的实习,知识和能力都得到了很大提高,让我们好好总结一下,写一份实习报告吧。

单片机实验报告

单片机实验报告

单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。

二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。

这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。

2、数码管显示利用单片机驱动数码管,实现数字的显示。

需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。

3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。

例如,通过按键切换不同的显示模式或控制其他外部设备。

4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。

例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。

5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。

四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。

2、编程语言本次实验采用 C 语言进行编程。

C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。

3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。

通过对这些引脚的合理配置和控制,可以实现各种功能。

4、数码管驱动原理数码管分为共阴极和共阳极两种类型。

通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。

5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。

单片机实习报告2篇

单片机实习报告2篇

单片机实习报告单片机实习报告精选2篇(一)实习报告实习单位:XXXX公司实习时间:20XX年X月-20XX年X月一、实习背景在本次实习中,我到了XXXX公司进行单片机相关的实习。

本次实习旨在通过实际操作和实践,深入了解单片机的原理和应用,并提升自己的实践能力和团队合作能力。

二、实习内容1. 学习基础知识在实习开始前,我先通过自学对单片机的基本知识进行了学习,包括单片机的原理、结构、指令系统和编程语言等。

2. 学习开发工具在公司的指导下,我学习了单片机的开发工具,包括Keil开发环境和Proteus仿真软件等。

通过学习和实践,我熟悉了这些工具的基本操作和常用功能。

3. 实际操作在掌握了基础知识和开发工具后,我开始进行实际操作。

根据公司的要求,我完成了一些单片机的应用案例,包括LED灯控制、电机控制、温度测量等。

通过实际操作,我加深了对单片机的理解,并提高了自己的实践能力。

4. 团队合作在实习期间,我积极参与到团队项目中。

与同事合作完成了一个基于单片机的智能家居控制系统的开发,包括温湿度监测、光照控制、门窗报警等功能。

这个项目不仅提高了我的团队合作能力,也进一步加深了我对单片机的应用理解。

三、收获与体会通过这次实习,我对单片机的原理和应用有了更深入的了解。

我不仅学到了书本上没有涉及到的实际操作经验,还学到了与人合作的能力。

在实践中遇到问题时,我学会了积极思考和与他人沟通,寻找解决问题的方法。

同时,我也认识到自己在某些方面的不足,比如对于理论知识的掌握还需要加强,对于一些高级功能的应用还需要进一步学习。

总的来说,这次实习对我来说是一次宝贵的经验,它不仅给我提供了实践机会,也让我认识到自己的不足之处,激发了我进一步深入学习的动力。

我相信,通过不断努力和实践,我能够在单片机领域取得更大的进步。

单片机实习报告精选2篇(二)参加单片机实训课程的心得体会如下:首先,通过单片机实训课程,我对单片机的原理和应用有了更深入的了解。

单片机的实验报告

单片机的实验报告

一、实验目的及要求:(1)学习Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;(2)熟悉TD-51单片机系统板及实验系统的结构及使用;(3)进行MCS51单片机指令系统软件编程设计与硬件接口功能设计;(4)学习并掌握Keil C51与Proteus仿真软件联机进行单片机接口电路的设计与编程调试;(5)完成指定MCS51单片机综合设计题二、实验运行环境软件环境:KEIL uv2, PROTEUS7.4硬件环境:PC机, TD-51系统板三、软件部分实验一清零程序与拆字程序设计(1)清零程序:把7000H-7FFFH的内容清零。

(2)拆字程序:把7000H的内容拆开,高位送7001H低位,低位送7002H低位。

7001H,7002H高位清零,一般本程序用于把数据送显示缓冲区时用。

a)程序流程图图1 清零程序图2 拆字程序b)实验参考程序清零程序:ORG 0000HLJMP MAINORG 0100HMAIN: MOV A, #00HMOV DPTR,#7000H ;赋给首地址MOV R1,#100H ;循环次数,完成对7000H-70FFH的置一MOV R2, #10HLOOP1: MOVX @DPTR,AINC DPTRDJNZ R1,LOOP1DJNZ R2,LOOP1 ; 因为都是先减一之后再做比较,所以0FFH、0FH个数要100H、10H次SJMP $END拆字程序:ORG 0000HLJMP MAINORG 1000HMAIN:MOV DPTR,#7000HMOVX A,@DPTR ;赋值MOV R0,AANL A,#0F0H ;得到高四位SWAP AINC DPTRMOVX @DPTR,A ;高位给7001HMOV A,R0ANL A,#0FH ;得到低四位INC DPTRMOVX @DPTR,A ;低位给7002HSJMP $END实验二拼字程序与数据传送程序设计(1)拼字程序:把 7000H,7001H 的低位相拼后送人 7002H,一般本程序用于把显示缓冲区的数据取出拼装成个字节。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实验目的和要求:
1、掌握单片机与可编程并行接口芯片8255的接口设计方法。

2、掌握Proteus软件与Keil软件的使用方法。

3、熟悉可编程并行接口芯片8255初始化程序的设计方法。

二、设计要求:
1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与8255接口。

2、在8255PA口或PB口的某一口线上产生周期为500μS的连续方波,接示波器观察波形。

3、在8255PC口的PC0-PC3上接4个按键作输入,PC4-PC7上接4个发光二极管作输出,编程实现发光二极管正确指示按键的状态。

三、电路原理图:
四、实验程序流程框图和程序清单:
程序流程图:
开始
初始化延时等待8255复位定时器0中断
返回
送控制字读C口低字节写C口高字节
半字节交换保护现场取反C 将C状态写入PA0
汇编程序: ORG 0000H START: LJMP MAIN ORG 000BH LJMP TTC0
MAIN: MOV SP, #7FH MOV TMOD, #02H MOV TH0, #06H
MOV TL0, #06H
LCALL DELAY SETB
EA
SETB ET0
SETB TR0
MOV DPTR, #0300H ;指向控制寄存器
MOV A, #81H ;PA方式0输出,PB方式0输出,PC高输出,PC低输入
MOVX @DPTR, A
MOV DPTR, #0200H ;指向C口
LOOP: MOVX A, @DPTR ;读C口
SWAP A
MOVX @DPTR, A ;写C口
LJMP LOOP
DELAY: MOV R7, #0A7H
DL1: MOV R6, #0ABH
DL0: MOV R5, #10H
DJNZ R5, $
DJNZ R6, DL0
DJNZ R7, DL1
NOP
RET
ORG 0050H
TTC0: PUSH DPH
PUSH DPL
PUSH ACC
CPL C
MOV ACC.0, C
MOV DPTR, #0000H ;指向A口
MOVX @DPTR, A ;写A口
POP ACC
POP DPL
POP DPH
RETI
END
C语言程序:
#include<reg52.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define COM8255 XBYTE [0x0300]
#define PA8255 XBYTE [0x0000]
void main()
{ uchar j;
TMOD=0x02;
TH0=0x06;
TL0=0x06;
COM8255=0x80;
TR0=1;
while(1)
{ do
{
}
while(!TF0);
TF0=0;
PA8255=j;
j=!j;
}
}
end;
#include<reg52.h>
#include<absacc.h>
#define uchar unsigned char #define uint unsigned int #define COM8255 XBYTE [0x0300]
#define PC8255 XBYTE [0x0200] void main()
{ uchar j;
COM8255=0x81;
while(1)
{
j=PC8255;
j=j<<4;
PC8255=j;
}
}
end;
五、实验结果:
PA.0口线上产生周期500us的连续方波,其中高低电平均为25ms,有1um误差。

当按下S1时,D1亮;当按下S2时,D2亮;当按下S3时,D3亮;当按下S4时,D4亮,互不影响。

六、实验总结:
通过本次实验我掌握了8255上电复位时间较单片机长,需要进行等待。

掌握了单片机与可编程并行接口芯片8255的接口设计方法,学会了可编程并行接
口芯片8255初始化程序的设计方法,对C口位置位/复位命令有了初步了解。

掌握了keil软件模拟外部中断的调试方法,掌握了protuse与keil软件的联调,熟练了单片机系统的硬件和软件设计方法。

七、思考题:
1、在8255PC口上外接8个发光二极管,利用8255PC口的置位/复位控制字控制其按某种规律变化。

电路图:
程序流程图:
开始初始化延时等待8255复位送控制字送表格内容到C口
延时1S
送完
N
Y 修改表格地址
结束
定义16进
制数表格
汇编程序:
ORG 0000H
START: LJMP MAIN
MAIN: MOV SP, #7FH
LCALL DELAY
MOV DPTR, #0300H ;指向控制寄存器
MOV A, #80H ;PA方式0输出,PB方式0输出,PC高输出,PC低输出
MOVX @DPTR, A
MOV DPTR, #0200H ;灭灯
CLR A
MOVX @DPTR, A
LOOP: MOV DPTR, #TABLE ;指向表首地址MOV A, R0
MOVC A, @A+DPTR
RL A
SETB ACC.0
MOV DPTR, #0300H ;指向控制口
MOVX @DPTR, A
INC R0
LCALL DELAY
CJNE R0, #0FH, LOOP
MOV R0, #00H
LJMP LOOP
DELAY: MOV R7, #0A7H
DL1: MOV R6, #0ABH
DL0: MOV R5, #10H
DJNZ R5, $
DJNZ R6, DL0
DJNZ R7, DL1
NOP
RET
ORG 0050H
TABLE: DB 00H,01H,02H,03H,04H,05H,06H,07H ;十六进制表格DB 08H,09H,0AH,0BH,0CH,0DH,0EH,0FH
END
C语言程序:
#include<reg52.h>
#include<absacc.h>
#include<intrins.h>
#define uchar unsigned char
#define COM8255 XBYTE [0x0003]
#define PC8255 XBYTE [0x0002]
void delay1s();
void main()
{ uchar n=8;
uchar h=0x01;
COM8255=0x80;
while(1)
{
PC8255=h;
delay1s();
h=_crol_(h,1);
}
}
void delay1s(void)
{
.....
unsigned char a,b,c;
for(c=167;c>0;c--)
for(b=171;b>0;b--)
for(a=16;a>0;a--);
_nop_();
}
end;
实验结果:
用C口位置位/复位命令实现依次循环点亮,每个灯亮一秒。

word格式.整理版。

相关文档
最新文档