单片机实验9报告_陈南博
实验4报告_陈南博

实验4 定时器的使用
实验人:陈南博班级:09计科A2 学号:20113430110 1.实验目的
掌握定时器的使用方法,能根据定时时间正确设置定时器相关的寄存器,能正确编写定时器终端服务程序。
2.实验要求
通过定时器实现精准的控制LED灯每个一秒亮灭一次。
3.程序设计
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP INTT0
MAIN: MOV TMOD,#01H //设置定时器TMOD的工作方式1
MOV TH0,#0C3H // 0C3H送入高八位计数
MOV TL0,#0FFH // 0FFH送入低八位计数
SETB EA //CPU中断允许
SETB ET0 //定时计数器T0中断允许
SETB TR0 //定时计数器T0开始工作
MOV R0,#00H
SJMP $
INTT0: MOV TH0,#0C3H
MOV TL0,#0FFH
INC R0 //R0加1
CJNE R0,#60,RT //判断R0是否为60,不为60跳RT
MOV R0,#00H
CPL P1.0 //P1.0取反
RT: RETI
END
4.实验心得
方式1 的高计数为数位16位,TL0为低8位,TH0为高8位,组成了16位加1计数器。
设定计数器初值,一旦溢出,则中断计数,跳转到中断入口,然后执行中断程序,因为是方式1,计数器被重新赋值,判断R0是否为60,若是则重置0,p0.1取反,中断返回。
编程中,错误将#60输入为#60H导致计数时间错误。
第一次变成没有写中断入口,导致程序报错。
单片机(arm9)实验报告

实验一数码管实验一、实验目的1. 了解数码管的显示原理;2. 掌握JXARM9-2440 中数码管显示编程方法二、实验原理7段LED由7个发光二极管按“日”字形排列,所有发光二极管的阳极连在一起称共阳极接法,阴极连在一起称为共阴极接法。
LED显示器的接口一般有静态显示与动态显示接口两种方式。
本实验中采用的是动态显示接口,其中数码管扫描控制地址为0x20007000,位0-位5每位分别对应一个数码管,将其中某位清0 来选择相应的数码管,地址0x20006000 为数码管的数据寄存器。
数码管采用共阳方式,向该地址写一个数据就可以控制LED 的显示,其原理图如图所示。
三、实验内容1、六个数码管同时正向显示0-F ,然后反向显示F-0。
2、在六个数码管上依次显示“HELLO”,可分辨出轮流显示。
3、在六个数码管上依次显示“HELLO”,分辨不出轮流显示。
4*、在每个数码管上递增显示0-9 。
步骤同上。
四、实验程序1、六个数码管同时正向显示0-F ,然后反向显示F-0。
/****************************************************************************/ /*文件名称:LEDSEG7.C */ /*实验现象:数码管依次显示出0、1,2、……9、a、b、C、d、E、F */ /****************************************************************************/ #define U8 unsigned charunsigned char seg7table[16] = {/* 0 1 2 3 4 5 6 7*/0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8,/* 8 9 A B C D E F*/0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e,};void Delay(int time);/****************************************************************************/ /* 函数说明: JXARM9-2410 7段构共阳数码管测试*//* 功能描述: 依次在7段数码管上显示0123456789ABCDEF */ /* 返回代码: 无*/ /* 参数说明: 无*/ /****************************************************************************/ void Test_Seg7(void){int i;*((U8*)0x20007000)=0x00;for( ; ;){for(i=0;i<10;i++){*((U8*)0x20006000)=seg7table[i];Delay(5000);}for(i=0xf;i>=0;i--){*((U8*)0x20006000)=seg7table[i];Delay(5000);}}}/****************************************************************************/ /* Function name : 循环延时子程序*//* Description : 循环'time' 次*//* Return type :void *//* Argument : 循环延时计数器*//****************************************************************************/ void Delay(int time) {int i;int delayLoopCount=1000;for(;time>0;time--);for(i=0;i<delayLoopCount;i++);}2、在六个数码管上依次显示“HELLO”,可分辨出轮流显示。
单片机实验报告

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

最新单片机实验报告实验目的:1. 熟悉单片机的基本结构和工作原理。
2. 掌握单片机编程语言和开发环境的使用。
3. 通过实验加深对单片机控制逻辑的理解。
4. 实现简单的单片机控制项目,提高动手能力。
实验设备和材料:1. 单片机开发板一套(包含单片机芯片、电源模块、接口电路等)。
2. 连接线若干。
3. LED灯、蜂鸣器、按键开关等外围设备。
4. 电脑一台,安装有单片机编程软件。
实验步骤:1. 首先,连接单片机开发板到电脑,确保电源模块和接口电路正确无误。
2. 安装并打开单片机编程软件,创建一个新的项目。
3. 编写程序代码,实现LED灯的闪烁功能。
代码中需要定义LED灯所连接的端口和控制逻辑。
4. 将编写好的程序通过编程软件下载到单片机芯片中。
5. 测试程序是否按预期工作,即LED灯能够进行闪烁。
6. 在原有程序基础上,增加蜂鸣器的控制代码,实现按键控制蜂鸣器响铃的功能。
7. 再次下载并测试程序,确保所有功能正常运行。
实验结果:1. 成功编写并下载了控制LED灯闪烁的程序,LED灯能够按照设定的时间间隔进行闪烁。
2. 在程序中增加了蜂鸣器的控制逻辑,通过按键开关能够控制蜂鸣器的启动和停止。
3. 所有编写的功能均能稳定运行,达到了实验的目的。
实验分析:通过本次实验,我们了解了单片机的基本操作和编程方法。
在实验过程中,我们也遇到了一些问题,比如程序下载不成功、LED灯不闪烁等,但通过检查电路连接和程序代码,我们最终解决了这些问题。
实验让我们认识到了理论与实践相结合的重要性,也提高了我们解决实际问题的能力。
实验建议:1. 在编写程序时,应该注意代码的规范性和可读性,便于后续的检查和修改。
2. 在实验过程中,应该养成记录和备份程序代码的习惯,防止数据丢失。
3. 可以尝试更复杂的控制项目,比如温度控制、电机驱动等,以提高对单片机的掌握程度。
单片机实验报告

单片机实验报告1. 实验背景单片机(Microcontroller Unit,简称MCU)是一种集成了微处理器核心、内存、计时器、I/O接口等功能的集成电路芯片。
它具有体积小巧、功耗低、性能高等优点,在嵌入式系统中应用广泛。
本实验旨在通过对单片机的实际操作,加深对单片机原理及应用的理解。
2. 实验目的本次实验的主要目的是:- 掌握单片机的基础知识,包括单片机的结构、工作原理等;- 学习单片机的编程方法,初步掌握单片机的编程技巧;- 进行简单的单片机应用实验,提高对实际应用的理解。
3. 实验设备与材料实验所需的设备和材料包括:- 单片机开发板;- 计算机;- 连接线等。
4. 实验过程与结果在本实验中,我们使用XXX型单片机开发板作为实验平台,通过连接计算机进行编程。
具体的实验过程如下:4.1 硬件连接将单片机开发板与计算机通过连接线连接,并确保连接正常。
接下来,将我们设计好的电路按照要求连接到开发板的相应引脚上。
4.2 编程使用XXX软件对单片机进行编程。
根据实验要求,编写相应的程序代码,并将代码下载到单片机开发板中。
验证代码是否编译通过,并将运行结果显示在数码管、液晶显示屏等外设上。
4.3 实验结果实验结果根据不同的实验要求而定,可以是对某个外设的控制、信号的采集、数据的处理等。
在实验过程中需记录实验结果,并进行分析。
5. 实验总结通过本次实验,我对单片机的基本原理及应用有了更深入的了解。
掌握了单片机的硬件连接方法和编程技巧,并成功完成了实验要求。
实验结果表明,单片机在各个领域都有广泛的应用前景,对于嵌入式系统的开发起着重要作用。
当然,本次实验只是单片机应用的初步探索,还有很多更深入的研究和应用值得去探索。
在今后的学习与实践中,我将进一步深化对单片机的理解,并将其灵活应用于各种项目中。
6. 参考文献[参考文献1][参考文献2][参考文献3](文章内容仅供参考,具体实验过程和结果以实际情况为准。
)。
单片机实训实验报告

一、实验名称单片机原理及应用实验二、实验目的1. 熟悉单片机的基本结构和原理,了解单片机在电子系统中的应用。
2. 掌握单片机编程语言C的基本语法和编程技巧。
3. 学会使用单片机进行简单控制,实现LED流水灯、数码管显示等基本功能。
4. 提高动手实践能力,培养团队合作精神。
三、实验仪器与设备1. 单片机实验箱:包括单片机、电源、按键、LED灯、数码管等。
2. 电脑:用于编程和仿真。
3. 编程软件:Keil uVision5或IAR EWARM等。
四、实验原理单片机是一种集成度高、功能强大的微控制器,具有运算速度快、功耗低、体积小等优点。
本实验以51单片机为例,介绍其基本原理和编程方法。
51单片机主要由以下几个部分组成:1. 中央处理器(CPU):负责执行指令,控制整个单片机系统。
2. 存储器:包括程序存储器(ROM)和数据存储器(RAM),用于存储程序和数据。
3. 输入/输出接口:用于与外部设备进行数据交换。
4. 定时器/计数器:用于实现定时和计数功能。
5. 中断系统:用于处理中断事件。
本实验主要涉及以下几个方面:1. 单片机基本结构和工作原理。
2. 单片机编程语言C的基本语法和编程技巧。
3. 单片机I/O口的使用和驱动能力。
4. 定时器/计数器的使用和编程。
5. 中断系统的使用和编程。
五、实验内容1. 实验一:LED流水灯(1)实验目的:掌握单片机I/O口的使用,实现LED流水灯效果。
(2)实验原理:通过单片机I/O口输出高低电平,控制LED灯的亮灭,实现流水灯效果。
(3)实验步骤:① 连接实验箱电路,将LED灯连接到单片机的P1口。
② 编写程序,设置P1口为输出模式,通过循环改变P1口输出电平,实现LED流水灯效果。
③在电脑上编译、下载程序,观察实验效果。
2. 实验二:数码管显示(1)实验目的:掌握单片机I/O口的使用,实现数码管显示功能。
(2)实验原理:通过单片机I/O口输出高低电平,控制数码管显示数字。
单片机实验报告总结
单片机实验报告总结单片机实验报告总结引言:单片机是一种集成电路,具有微处理器核心、存储器、输入输出接口等功能。
在现代电子技术领域中,单片机被广泛应用于各种电子设备中,如家电、汽车、通信设备等。
本文将对我在单片机实验中的学习和实践进行总结,分享我在实验中的收获和心得体会。
实验一:LED灯闪烁实验在这个实验中,我们学习了如何使用单片机控制LED灯的闪烁。
通过编写简单的程序,我们成功地实现了LED灯的闪烁功能。
这个实验让我深刻体会到了单片机的强大和灵活性。
通过控制单片机的GPIO口,我们可以实现各种各样的功能,这让我对单片机的应用前景充满了信心。
实验二:数码管显示实验在这个实验中,我们学习了如何使用单片机控制数码管进行数字的显示。
通过编写程序,我们成功地将数字从0到9依次显示在数码管上。
这个实验让我了解了数码管的工作原理和控制方式。
在实验过程中,我遇到了一些问题,如数字显示不清晰、显示不准确等,但通过不断的调试和优化,最终解决了这些问题。
这个实验让我明白了实践中的问题和挑战,并培养了我解决问题的能力。
实验三:按键控制实验在这个实验中,我们学习了如何使用单片机实现按键控制。
通过编写程序,我们成功地实现了按下按键时LED灯亮起,松开按键时LED灯熄灭的功能。
这个实验让我了解了按键的原理和使用方法。
在实验过程中,我遇到了一些问题,如按键抖动、按键误触等,但通过添加软件消抖和优化程序,最终解决了这些问题。
这个实验让我明白了软件的重要性和优化的必要性。
实验四:PWM调光实验在这个实验中,我们学习了如何使用单片机实现PWM(脉宽调制)调光功能。
通过编写程序,我们成功地实现了LED灯的亮度可调节。
这个实验让我了解了PWM的原理和应用。
在实验过程中,我遇到了一些问题,如PWM频率调节不准确、亮度不连续等,但通过调整参数和优化程序,最终解决了这些问题。
这个实验让我明白了硬件和软件的协同工作的重要性。
实验五:温度检测实验在这个实验中,我们学习了如何使用单片机实现温度检测功能。
2024年单片机实习报告总结模版(2篇)
2024年单片机实习报告总结模版____字2024年,我有幸参加了一家知名科技公司的单片机实习项目,并在项目中获得了丰富的实践经验。
在这次实习中,我深入学习了单片机的原理和应用,并通过实际操作掌握了单片机相关技术和工具的使用。
下面是我的实习报告总结:一、实习背景及目标本次实习的背景是为了提高我们对单片机原理和应用的理解,并能够熟练运用单片机技术解决实际问题。
实习的目标是通过项目实践,加深对单片机的认识,并培养我们的动手能力和团队合作精神。
二、实习内容在实习期间,我主要参与了一个基于单片机的智能家居系统的开发。
该系统包括智能灯控、温湿度监测、门禁系统等功能。
我负责了智能灯控的设计和开发。
具体的工作内容包括:1. 硬件设计:我学习了单片机的接口原理和外围电路的设计方法,根据实际需求设计了灯控模块的硬件电路。
在设计过程中,我充分考虑了稳定性、可靠性和安全性等因素,确保了灯控系统的正常运行和安全使用。
2. 软件开发:在硬件设计完成后,我开始进行软件的开发。
我使用C语言编写了单片机的程序,实现了灯的开关、亮度调节和定时控制等功能。
在开发过程中,我注意到了一些技术细节,如处理中断、优化代码和调试错误等,最终实现了功能完备且稳定的灯控系统。
3. 系统集成:在软件开发完成后,我将灯控系统与其他功能模块进行了集成测试,确保了整个智能家居系统的各个功能正常协同工作。
在测试过程中,我不断排查和修复了一些问题,最终确保了系统的稳定性和可靠性。
三、实习收获通过这次实习,我对单片机技术和应用有了更深入的了解,并获得了以下收获:1. 熟悉单片机的原理和应用:我通过实践操作,深入学习了单片机的工作原理、接口特性和指令系统等,对单片机的运行机制有了更深入的认识。
同时,我还学习了单片机在各种应用场景中的具体技术和方法,对于如何灵活运用单片机解决实际问题有了一定的经验。
2. 掌握了单片机的设计和开发技能:在实习期间,我学习了单片机的硬件设计和软件开发技术。
单片机实验报告汇总
单片机实验报告汇总一、引言单片机是一种嵌入式系统中的重要组成部分。
通过单片机可以实现各种控制功能,包括自动控制、测量和数据处理等。
在本次实验中,我们就对单片机进行了一系列实验,包括基本IO口控制、定时器和中断、串口通信等内容。
通过这些实验的学习和掌握,我们对单片机的原理和应用有了更深入的理解。
二、实验目的1.掌握单片机的基本操作和编程方法;2.理解单片机的IO口控制原理;3.学习单片机的定时器和中断功能;4.掌握单片机的串口通信原理和操作方法。
三、实验过程与结果1.基本IO口控制实验在此实验中,我们使用单片机控制LED灯的亮灭。
首先,将LED灯连接到单片机的一个IO口上,然后编写相应的程序来控制该IO口的电平变化。
实验结果显示,当程序中对该IO口输出高电平时,LED灯亮起;反之,当输出低电平时,LED灯熄灭。
2.定时器和中断实验定时器和中断是单片机的重要功能之一、在此实验中,我们使用定时器和中断来实现一个简单的计数器。
我们先设置定时器的计数周期,然后在中断函数中对计数器进行加一操作。
实验结果表明,LED灯随着时间的推移不断闪烁,计数器的值也在不断增加。
3.串口通信实验串口通信是单片机与外部设备进行数据交换的一种通信方式。
在此实验中,我们通过串口通信将单片机与计算机相连,并实现数据的发送与接收。
我们使用UART通信协议来建立通信连接,并编写相应的程序来控制通信的发送与接收。
实验结果显示,当单片机向计算机发送数据时,计算机会接收到相应的数据,并进行处理;反之,当计算机向单片机发送数据时,单片机也能够正确接收并进行相应的操作。
四、实验总结通过本次实验,我们对单片机的基本操作和编程方法、IO口控制、定时器和中断、串口通信等内容有了更深入的了解和掌握。
我们通过实践操作,对单片机的原理和应用有了更为直观的认识。
通过编写程序,我们实现了对LED灯的控制、计数器的实现以及与计算机的数据交互等功能。
这些实验不仅提升了我们的动手能力,也加深了我们对单片机技术的理解。
单片机实训报告范本精选5篇
单片机实训报告精选5篇Record the situation and lessons learned, find out the existing problems andform future countermeasures.姓名:___________________单位:___________________时间:___________________编号:FS-DY-20685 单片机实训报告精选5篇单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。
通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。
凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。
可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。
第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。
比如:小灯得点亮就没有用到中断可以先不用看。
这样可以避免知识过多记不住的麻烦。
对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。
第三:程序不要只是看别人得,一定要自己写过才是自己的。
开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。
明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。
当你自己能写出来的时候说明你真懂了。
第四:一定要学会程序调试的方法。
有时候把程序写完了然后运行时不能实现理想的现象。
这时有人就晕了不知该怎么办,然后就去问别人。
当别人找出问题出在哪里时就会恍然大悟。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验9 A/D 转换器的使用2
实验人:陈南博班级:09计科A2 学号:20113430110 1.实验目的
掌握ADC0809的工作原理
2.实验要求
编写0809 A/D转换程序,每个1秒将A/D转换的结果显示在DS3和DS4 两位上,以十六进制形式显示,并将此值传给PC机,在超级终端上显示出来。
3.程序设计
ORG 0000H
LJMP START
ORG 0003H
LJMP PINT0
ORG 000BH
LJMP PPT0
ORG 0013H
LJMP PINTS
ORG 0023H
LJMP PINTS
ORG 0100H
START:
SETB IT0
SETB IT1
SETB EX1
SETB EA
SETB EX0
MOV TMOD,#01H
MOV TH0,#0FH
MOV TL0,#00H
SETB ET0
SETB PT0
SETB TR0
SETB P3.6
SETB P1.4
CLR P3.6
CALL DELAYIMS
SETB P3.6
MOV 20H,#50H
MOV R7,#20
CLR ET1
SETB ES
ANL TMOD,#0FH
ORL TMOD,#20H
MOV TH1,#0FDH
MOV TL1,#0FDH
SETB TR1
MOV SCON,#50H
MOV PCON,#00H
LOOP:
CALL DISPLAY
AGAIN1: AJMP LOOP
DELAYIMS:
MOV R0,#100
LOOP1:MOV R1,#10
LOOP2:DJNZ R1,LOOP2
DJNZ R0,LOOP1
RET
DISPLAY:
MOV DPTR,#DPDA TA
MOV A,20H
ANL A,#0FH
CLR P2.1
MOVC A,@A+DPTR
MOV P0,A
CALL DELAYIMS
SETB P2.1
MOV A,20H
ANL A,#0F0H
SWAP A
CLR P2.0
MOVC A,@A+DPTR
MOV P0,A
CALL DELAYIMS
SETB P2.0
RET
DPDA TA: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H DB 0F8H,80H,98H,88H,83H,0E2H,0A1H,86H,8EH
PINT0:
CLR P3.7
MOV P0,#0FFH
MOV A,P0
SETB P3.7
MOV 20H,A
RETI
PPT0:
MOV TH0,#0FH
MOV TL0,#00H
CLR TF0
DJNZ R7,RETN
MOV R7,#20
SETB P3.6
SETB P1.4
CLR P3.6
CALL DELAYIMS
SETB P3.6
CPL P3.3
RETN: RETI
PINTS:
MOV A,20H
MOV SBUF,A
JNB TI,$
CLR TI
QT:RETI
END
4.实验心得
这个实验是基于实验7和8的基础上修改的,主要是原先程序已占用了计数器1,要用到串行口,必须把计数器1空出来。
要做的就是把2个计数器的工作放到一个计数器里面。
然后就是通过计数器0翻转p3.3,来触发中断1,跳到串行口执行把数据读到SBUF。