dickus单片机实验
- 格式:doc
- 大小:3.18 MB
- 文档页数:46
单片机实验总结引言单片机是一种集成电路,具有计算、存储和控制功能,并可编程。
在学习单片机的过程中,进行了一系列的实验。
本文旨在总结我在单片机实验中的经验和收获,并对实验中遇到的问题和解决方法进行归纳。
实验一:LED闪烁在第一个实验中,我们学习了如何通过单片机控制LED实现闪烁效果。
这个实验使我对单片机的基本结构和工作原理有了更深的理解。
通过编写简单的程序,我成功实现了LED的闪烁,并通过修改程序中的参数实现了不同频率和节奏的闪烁效果。
实验二:数码管显示计数器实验二是在实验一的基础上进一步学习了数码管的控制。
通过编写程序,我们能够将实验一中的计数器的结果显示在数码管上。
在这个实验中,我学会了如何控制多个数码管的显示,以及如何实现数字的动态显示效果。
这个实验提高了我对单片机编程的熟练程度。
实验三:蜂鸣器发声实验三是学习如何通过单片机控制蜂鸣器发声。
通过对蜂鸣器的控制,我们可以发出不同的音调和节奏。
在这个实验中,我学会了如何使用单片机的PWM功能控制蜂鸣器,以及如何编写程序实现不同的音调和节奏。
这个实验加深了我对单片机的理论与实践的联系。
实验四:温度传感器数据采集实验四是学习如何通过单片机采集温度传感器的数据。
通过编写程序,我们可以获取温度传感器的输出值,并将其显示在数码管上。
在这个实验中,我学会了如何接口温度传感器,以及如何读取和处理传感器的输出值。
这个实验让我更深入地了解了单片机在数据采集方面的应用。
实验五:红外遥控器实验五是学习如何通过单片机接收红外遥控器的信号,并解析出其中的指令。
通过编写程序,我们可以控制LED的亮灭,实现对电器的遥控。
在这个实验中,我学会了如何接口红外接收头,并如何解析红外遥控器发送的信号。
这个实验为我进一步了解单片机在无线通信方面的应用提供了基础。
实验六:电机控制实验六是学习如何通过单片机控制电机的转速和方向。
通过编写程序,我们可以实现电机的正转、反转和调速功能。
在这个实验中,我学会了如何接口电机驱动器,并使用PWM信号控制电机的转速。
μVision2 支持所有的Keil 80C51 的工具软件,包括C51 编译器、宏汇编器、链接器/定位器、软硬件调试器和目标文件到HEX 格式文件转换器等,μVision2 可以自动完成编译、汇编、链接程序等操作。
μVision2 具有强大的软件环境、友好的操作界面和简单快捷的操作方法。
双击桌面上的Keil μVision2 快捷图标,可以进入如图1-1 所示的集成开发调试环境,各种调试工具、命令菜单都集成在此开发环境中。
菜单栏提供了各种操作菜单,如编辑器操作、工程维护、程序调试、窗体选择以及操作帮助等。
工具栏按钮和快捷键可以快速执行μVision2命令。
常用的菜单栏及相对应的工具栏按钮与快捷键介绍如表1-1~表1-6所列。
图1-1μVision2 集成环境界面表1-1 文件菜单和文件命令(File)表1-2 编辑菜单和编辑器命令(Edit)表1-3视图菜单(View)表1-4工程菜单和工程命令(Project)表1-5 调试菜单和调试命令(Debug)表1-6外围器件菜单(Peripheral)第2章单片机原理实验通过本章的实验,旨在使学生掌握Keil C51 的操作方法,学习80C51 的指令系统及汇编语言的程序设计方法。
2.1系统认识实验2.1.1实验目的1. 学习Keil C51 集成开发环境的操作;2. 熟悉TD-51 系统板的结构及使用。
2.1.2实验设备PC机一台2.1.3实验内容编写实验程序,将00H~0FH共16个数写入单片机内部RAM的30H~3FH空间。
通过本实验,学生需要掌握Keil C51软件的基本操作,便于后面的学习。
2.1.4实验步骤1. 创建Keil C51 应用程序在Keil C51 集成开发环境下使用工程的方法来管理文件,所有的源文件、头文件甚至说明性文档都可以放在工程项目文件里统一管理。
下面创建一个新的工程文件C51.Uv2,以此详细介绍如何创建一个Keil C51 应用程序。
《单片机应用实验》实验指导书目录实验一Keil µVision的使用 (1)实验二汇编语言程序设计 (5)实验三C51程序设计与Proteus仿真 (9)实验四中断与定时/计数器 (13)实验一 Keil µVision 的使用一、实验目的掌握Keil µVision 的使用; 掌握单片机汇编程序的调试方法。
二、实验原理Keil µVision 是美国Keil Software 公司出品的单片机集成开发环境,具有单片机C 语言或汇编语言程序编辑、编译或汇编、连接、调试等功能,允许设置断点,查看程序存储器、数据存储器和SFR 的内容,以图形的方式显示SFR 或变量内容随时间的变化,是目前单片机开发最常用的软件工具。
运行Keil µVision 后,程序窗口如图1-1所示。
其中项目窗口用于管理工程项目所包含的文件,源程序窗口用于程序编辑,编译信息窗口输出编译或汇编的状态信息。
各个窗口可以悬浮(Floating )在主窗口之上,也可以停泊(Docking )在主窗口中,单击程序主窗口Window 菜单的Rest View to Defaults 命令,将窗口恢复成默认状态。
图1-1 Keil µVision 程序窗口三、实验环境Windows XP ; Keil µVision 4;四、实验内容1.建立项目双击桌面Keil µVision 图标或单击开始菜单的Keil µVision 命令运行程序,出现图1-1所示的程序窗口。
在主程序菜单栏单击Project 菜单的New µVision Project 命令,出现创建新文件对话框,为项目文件命名并选择存放路径(建议为每一个项目建立独立的文件夹)。
单击保存按钮,出现图1-2所示器件选择对话框,在Data base 列表中选择Atmel 公司的A T89C52,作为项项目窗口源程序窗口编译信息窗口目使用的单片机。
《单片机原理与应用》课程实验指导书电子、机电及电气项目与自动化专业适用吴茂屈莉莉王飞编佛山科学技术学院二00 九年十月前言以往我校的单片机实验教案通常是使用启东DAIS 系列单片机微机仿真实验系统进行单片机实验教案的,DAIS 系统可以做二十多项实验,系统机构十分复杂,功能非常强大,但是在使用过程中也发现了一些不足的地方那个: 厂家为了技术保密,把核心电路都屏蔽了,我们不能了解实验系统的工作原理,另外系统庞大,不方便学生带回宿舍实验,不方便学生课外学习。
根据我校学生对单片机课程学习的需求, 我们在参考其他公司的产品的基础上,结合课程的实际情况,开发了适合学生入门学习的单片机学习板,FD-51 学习板,该学习板设置了包括LED数码管、LCD1602液晶、AD\DA转换器件等单元电路,可以做几十个单片机实验,而且本实验板我们是以配件的形式提供给学生,让学生自己焊接调试线路板。
学生不但可以学习软件编程技术,还可以学习硬件焊接及调试技术,可以更好地锻炼学生的动手操作能力。
目录系统介绍 (2)软件实验:实验一清零程序............. (4)实验二拆字程序.................... .. (5)实验三拼字程序.................... .. (5)实验四数据区传送子程序 (6)实验五查找相同数个数 (6)硬件实验:实验A 工业顺顺序控制 (7)实验B 简单IO口扩展实验 (8)实验一P1 口输出流水灯实验 (11)实验二P1 口输出交通灯实验 (11)实验三八段数码管显示实验 (12)实验四键盘实验.................. . (12)实验五遥控解码实验 ............. .. (12)实验六计数器实验..................... .. (13)实验七继电器控制实验 .................... (13)实验八定时器实验 (14)实验九单片机串行口通讯实验 (14)实验十电子时钟 (14)实验十一外部中断实验<急救车与交通灯) (15)实验十二AT24C02读写实验...... .......... . (15)实验十三93C46读写实验....... ........... (16)实验十四LCD1602字符型液晶控制显示实验 (16)实验十五LCD12864点阵型液晶控制显示实验 (17)实验十六A/D转换(数字电压表>实验 (17)实验十七D/A转换(波形发生器>实验 (18)实验十八计算机温度数据采集与处理 ............... . (19)系统介绍一、FD-51单片机学习板简介为了适应我校单片机课程教案的需要,我们在参考其他厂家学习板的基础上,再根据我校单片机课程教案大纲的要求,基于简单、使用的原则,开发了FD-51 单片机实验板。
1.实验目的(1)了解单片机的原理及其应用,加强对单片机的I/O口控制及中断原理的理解,掌握单片机的最小系统设计及扩展技术,掌握单片机的C51语言。
(2)了解I2C总线结构的原理及51系统中对I2C器件的使用和控制原理,了解带有I2C总线接口的字符液晶驱动芯片PCF8576的工作原理,掌握其使用和编程方法。
(3)通过编程仿真熟悉Keil软件的使用,掌握其使用方法,并学会运用Protues等仿真软件进行单片机控制系统的仿真。
(4)通过上机调试,熟悉程序调试过程,培养调试程序的能力,学习摸索调试程序的各种技巧。
2.实验设备单片机综合仿真实验仪一台,PC机一台。
3.实验要求实验一学会使用KEIL C51的仿真调试环境以及仿真器的使用,并能使4个灯全亮。
实验二I/O口实验:循环定时(用定时器做)点亮8个灯,即每2秒闪烁点亮(亮1秒,灭1秒)一个灯,循环往复(或叫跑马灯实验)。
实验三选作其中任意一个实验:(1)PCF8576驱动的字符液晶上显示“BENG”;(2)能对TLC549芯片的内部寄存器进行操作,输入电压变化是给出相应的值。
本组选择的是第一个即PCF8576驱动的字符液晶上显示“BENG”。
4.实验原理4.1 51单片机的最小工作系统单片机最小系统“最小”就是指一个单片机能开始独立工作所需的最基本的外部电路连接。
具体是指Vcc脚接电源,GND接地,接好晶振,连上RC复位电路,另外勿忘EA脚接高电平。
最直观的理解最小系统就是,当把上述这些连好后,单片机烧上程序,单片机程序就可以跑起来了。
下图为51单片机的最小工作系统接线图:图一 LED最小系统接线示意图4.2 点亮LED实验和跑马灯实验的原理P1口作为准双向口,每一位可独立定义为输入输出。
CPU对P1口的操作可以是字节操作,也可以是位操作。
实验中P1.0-P1.7接发光二极管,编写程序,通过P1口控制LED 状态,熟悉CPU对P1口操作指令。
4.2.1 单片机接口控制LED导通原理如图一在单片机的P1.0口接上LED灯D1 ,串联上200欧姆电阻R1,再接到高电平+5V上(最小工作系统已省略)。
一、前言随着电子技术的飞速发展,单片机作为嵌入式系统的核心,已经广泛应用于各个领域。
为了提高我们的实践能力和对单片机技术的深入理解,我们进行了为期两周的单片机实训。
通过本次实训,我们不仅巩固了理论知识,还学会了单片机的实际应用,为今后的学习和工作打下了坚实的基础。
二、实训目的1. 熟悉单片机的硬件结构和基本原理。
2. 掌握Keil C51集成开发环境的使用方法。
3. 学会编写简单的单片机程序,实现基本的功能。
4. 培养团队合作精神和解决实际问题的能力。
三、实训内容1. 单片机硬件认识- 认识单片机的各个引脚及其功能。
- 了解单片机的内部结构,如CPU、存储器、定时器、中断系统等。
2. Keil C51集成开发环境的使用- 安装Keil C51集成开发环境。
- 创建新项目,编写源程序。
- 编译、调试和下载程序到单片机。
3. 基本程序设计- 编写简单的单片机程序,实现LED灯的闪烁、按键控制等基本功能。
- 学习子程序、中断程序的设计方法。
4. 综合应用- 设计并实现一个基于单片机的交通信号灯控制系统。
- 设计并实现一个基于单片机的温度控制系统。
四、实训过程1. 第一阶段:理论学习- 首先我们学习了单片机的基本原理和硬件结构,了解了单片机的各个引脚及其功能。
- 接着学习了Keil C51集成开发环境的使用方法,包括创建项目、编写源程序、编译和调试等。
2. 第二阶段:实践操作- 我们开始编写简单的单片机程序,实现LED灯的闪烁、按键控制等功能。
- 通过实际操作,我们熟悉了单片机的编程方法,掌握了程序调试技巧。
3. 第三阶段:综合应用- 我们设计并实现了基于单片机的交通信号灯控制系统和温度控制系统。
- 在这个过程中,我们学会了如何将理论知识应用到实际项目中,提高了解决实际问题的能力。
五、实训成果1. 交通信号灯控制系统- 该系统通过单片机控制红、黄、绿三个LED灯,实现交通信号灯的循环显示。
- 系统具有定时功能,可以根据实际需要调整信号灯的显示时间。
单片机原理实验报告实验一计数显示[目的]熟悉Proteus仿真软件,掌握单片机原理图的绘制方法【实验内容】(1)熟悉Proteus仿真软件,了解软件的结构和功能(2)学习如何使用ISIS模块,学习设置图纸、选择元件、画线、修改属性等基本操作(3)了解如何加载可执行文件和运行程序仿真(4)了解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制[实验步骤](1)观察Proteus软件的基本结构,如菜单、工具栏、对话框等。
(2)Proteus中绘制电路原理图,并根据表A.1将组件添加到编辑环境中(3)在Proteus中,观察仿真结果,检查电路图绘制的正确性【实验示意图】【实验源程序】#include <reg51.h>位 P3_7=P3^7;无符号字符 x1=0;x2=0 ;无符号字符数=0;无符号字符 idata buf[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};无效延迟(int时间){整数 k,j;for(;time<0;time--)for(k=200;k>0;k--)for(j=500;j<0;j--);}无效初始化(){P0=buf[x1];延迟(10);P2=buf[x2];延迟(10);}无效的主要(){在里面();而(1){x1=计数/10;x2=计数%10;P0=buf[x1];延迟(10);P2=buf[x2];延迟(10);如果(P3_7==0)// {延迟(10);而(!P3_7);如果(计数==99)计数=0;别的计数=计数+1;}}}[实验结果]阐明计数器的作用是按下K1后,数码管LED1和LED2会显示按键的按下次数, LED1代表一位, LED2代表十位。
当计数器达到99时,再次按下K1键,显示值再次从0开始。
实验2指示灯开关控制器[目的]学习如何编程和调试汇编语言【实验内容】(1)熟悉Proteus仿真软件,了解软件的结构和功能(2)学习如何用汇编语言编程(3)ISIS 模块中输入、编译和调试汇编程序(4)了解MCU程序控制原理,实现指示灯/开关控制器的预期功能[实验步骤]( 1 ) 在ISIS中画出电路原理图, 并在编辑环境中添加相应的元器件 .( 2 )在ISIS中编写汇编语言程序( 3 ) 利用ISIS 的汇编调试功能检查程序的语法和逻辑错误( 4 )观察仿真结果,检查程序和电路的正确性【实验示意图】【实验源程序】#include <reg51.h> 无效延迟(int时间){整数 k,j;for(;time<0;time--) {for(k=100;k<0;j--) for(j=500;j<0;j--); }}无效初始化(){P1=0x00;延迟(20);P1=0xff;延迟(20);P1=0x00;延迟(20);P1=0xff;延迟(20);P1=0x00;延迟(20);P1=0xff;延迟(20);}无效的主要(){在里面();P1=0x00;延迟(20);P1=0xff;延迟(20);而(1){P1=P2 ;}}[实验结果]阐明点击运行,8个LED 一起闪烁3次。
一、实验目的1. 熟悉单片机的硬件组成和基本工作原理。
2. 掌握单片机最小系统的搭建方法。
3. 学习使用单片机编程软件进行程序编写和调试。
4. 通过实际操作,加深对单片机应用的理解。
二、实验环境1. 实验设备:MCS-51单片机实验板、电源模块、面包板、连接线、LED灯、蜂鸣器、按键等。
2. 软件环境:Keil uVision5、Proteus仿真软件。
三、实验内容1. 点亮LED灯(1)实验目的:掌握单片机I/O口的使用,实现LED灯的点亮。
(2)实验步骤:① 将LED灯的阳极连接到单片机的P1.0口,阴极连接到GND。
② 在Keil uVision5中新建工程,编写程序如下:```cvoid main() {while (1) {P1 = 0xFF; // 点亮LED灯delay(500000); // 延时P1 = 0x00; // 熄灭LED灯delay(500000); // 延时}}③ 将程序编译并下载到单片机中,观察LED灯的点亮效果。
2. 蜂鸣器控制(1)实验目的:掌握单片机I/O口的使用,实现蜂鸣器的控制。
(2)实验步骤:① 将蜂鸣器的正极连接到单片机的P1.1口,负极连接到GND。
② 在Keil uVision5中编写程序如下:```cvoid main() {while (1) {P1 = 0x02; // 使能蜂鸣器delay(100000); // 延时P1 = 0x00; // 禁止蜂鸣器delay(100000); // 延时}}```③ 将程序编译并下载到单片机中,观察蜂鸣器的鸣叫效果。
3. 按键扫描(1)实验目的:掌握单片机I/O口的使用,实现按键的扫描和识别。
(2)实验步骤:① 将两个按键分别连接到单片机的P1.2和P1.3口。
② 在Keil uVision5中编写程序如下:void main() {while (1) {if (P1 & 0x04) { // 检测按键1是否按下// 执行按键1按下后的操作}if (P1 & 0x08) { // 检测按键2是否按下// 执行按键2按下后的操作}}}```③ 将程序编译并下载到单片机中,观察按键的扫描和识别效果。
一、实验名称单片机原理及应用实验二、实验目的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口输出高低电平,控制数码管显示数字。
单片机c语言程序设计---单片机实验报告实验目的:1.掌握单片机的中断的原理、中断的设置,掌握中断的处理及应用2.掌握单片机的定时器/计数器的工作原理和工作方式,学会使用定时器/计数器实验内容:一.定时器/计数器应用程序设计实验1.计数功能:用定时器1方式2计数,每计数满100次,将P1.0取反。
(在仿真时,为方便观察现象,将TL1和TH1赋初值为0xfd,每按下按键一次计数器加1,这样3次就能看到仿真结果。
)分析:外部计数信号由T1(P3.5)引脚输入,每跳变一次计数器加1,由程序查询TF1。
方式2有自动重装初值的功能,初始化后不必再置初值。
将T1设为定时方式2,GATE=0,C/T=1,M1M0=10,T0不使用,可为任意方式,只要不使其进入方式3即可,一般取0。
TMOD=60H。
定时器初值为X=82-100=156=9CH,TH1=TL1=9CH。
程序:#include<REGX51.H>void main(){P1_0=0;TMOD=0x60;TH1=0xFD;TL1=0xFD;ET1=1;EA=1;TR1=1;while(1){}}void timer1_Routine()interrupt3{P1_0=~P1_0;}实验2.中断定时使用定时器定时,每隔10s使与P0、P1、P2和P3端口连接的发光二极管闪烁10次,设P0、P1、P2和P3端口低电平灯亮,反之灯灭。
分析:中断源T0入口地址000BH;当T0溢出时,TF0为1发出中断申请,条件满足CPU响应,进入中断处理程序。
主程序中要进行中断设置和定时器初始化,中断服务程序中安排灯闪烁;TL0的初值为0xB0,TH0的初值为0x3C,执行200次,则完成10s定时。
实验要求:完成计数实验和中断计数实验。
具体包括绘制仿真电路图、编写c源程序、进行仿真并观察仿真结果,需要保存原理图截图,保存c源程序,对仿真结果进行总结。
程序:#include<REGX51.H>#include"Delay.h"int i;int j=0;void main(){ P1=0; P2=0;P3=0; P0=0; TMOD=0x01;TH0=0x3C;TL0=0xB0;ET0=1;EA=1;TR0=1;while(1) {}}void timer0_Routine()interrupt1 {TH0=0x3C;TL0=0xB0;j++;if(j>=150){ j=0; for(i=0;i<20;i++){P1=~P1;P2=~P2;P3=~P3;P0=~P0;Delay(200); } }}实验分析:心得体会:。
单片机实验报告(例文)单片机实验报告(范文)第 \Arab 1 页第 \Arab 1 页评阅评阅姓名学号时间地点计算机楼708机房实验题目 C51单片机汇编程序编制和运行实验目的与要求1、学习单片机汇编程序的编制方法。
2、研究用单片机实现简单事务的软件程序。
二.实验环境在Keil uVision2下实验。
三.实验内容1. 编制两个无符号八位二进制数相加的汇编程序要求:①两个数和结果分别放在自己定义的三个不同变量中。
②程序从0000h地址开始运行,并且不能影响各中断的入口地址。
③预测每一条指令后PC、ACC寄存器的值,写好预测表。
④记录单步运行程序时PC、ACC寄存器在每一步后的实际值。
⑤ 比较③和④的值,判断程序有无问题。
2. 研究用软件延时1秒的方法和程序要求:①用某种方式表征延时的开始和结束。
注意模拟器的时钟频率和实际单片机频率的差别。
系统实施(1)实验内容一:数据段起始地址定位为0030H(为了不和中断地址冲突);在数据段内定义DATA1,DATA2,DATA3,将DATA1,DATA2分别放到0030H和0031H中,将相加的和数放到0033H中(为了使用DATA3)。
(2)实验内容二:子程序中要实现延时1秒的功能,首先要知道一条指令的执行时间。
因为51单片机得晶振为12MHZ,所以一个机器周期要用1μs。
利用条件转移指令djnz (为两机器周期指令,即2μs),让程序循环执行djnz指令1s/2μs=500000次即可。
用R0、R1、R2设置循环的次数,使得三个存储器中所放数据的乘积为500000,例如2520__0;而当延时结束后,它们中的内容均为0。
程序测试报告实验内容一:输入数据11H,22H,起始地址为0030H。
实验数据与预测数据一致,表明程序是正确的。
(注:此实验以PHILIPS的P87C522为目标器件)实验记录表格:指令PCACCmov 30h,data10030Hmov a,30h0033Hmov 31h,data20035H11add a,31h0038H11mov data3,a003aH33实验内容二:编程按下Run让程序自动运行至停止,延时时间大约为1min,见左侧面板的sec显示约为1S,而R0、R1、R2内容都为0。
单片机实验报告范文单片机(Microcontroller)是指一种封装了微处理器(Microprocessor)、存储器和各种输入输出接口电路功能的集成电路。
单片机在电子设计与开发中有广泛应用,可以用于控制和监测各种系统和设备。
本实验报告将介绍在实验中使用单片机所进行的实验步骤和实验结果。
实验目的:1.理解单片机的基本工作原理和功能。
2.掌握单片机的编程和调试方法。
3.应用单片机实现简单的控制功能。
实验仪器和材料:1.单片机开发板2.计算机B数据线4.电源适配器5.LED灯6.麦克风模块7.温度传感器实验步骤:1.准备工作:将单片机开发板与计算机连接,接通电源适配器。
2.熟悉开发工具:安装单片机开发软件,并了解软件的基本功能。
3.学习编程语言:了解单片机的编程语言,例如C语言或汇编语言,并编写简单的程序。
4.硬件连接:将LED灯、麦克风模块和温度传感器连接至开发板的相应引脚。
5.编程实现:根据实验要求,编写相应的程序,控制LED灯、获取麦克风模块的声音信号或获取温度传感器的温度值。
7.实验结果:根据实验要求,记录LED灯的亮灭状态、麦克风模块的声音信号强度或温度传感器的温度数值。
实验结果:通过实验,我们成功地控制了LED灯的亮灭状态,获取了麦克风模块的声音信号强度和温度传感器的温度数值。
在编程实现过程中,我们学会了使用单片机编程语言,了解了一些常用的语法和函数。
在调试测试中,我们可以通过相关的输出或显示结果来判断程序的正确性,及时发现和修复错误。
实验总结:本实验通过单片机开发板和相应的硬件以及编程实现了简单的控制和监测功能。
通过实验,我们深入了解了单片机的基本工作原理和功能,并掌握了一些基本的编程和调试方法。
实验结果表明,我们成功实现了实验要求,并对单片机的应用有了更加深入的理解。
通过这次实验,我们不仅提高了动手实践能力,也增加了对科技发展的看法。
单片机实训报告范文写实训报告要用最简练的语言反映实训的内容。
下面是小编为大家整理的:单片机实训报告范文,欢迎阅读,仅供参考,更多内容请关注MON51程序就开始运行了。
此时,TKSMonitor51仿真器进入调试状态。
4、用户使用Keil C51集成开发环境建立工程、编辑与编译“实验内容”所列的程序。
然后按照本书的第2章节的第2点器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
主要功能特性:•兼容MCS51指令系统• 8k可反复擦写(>1000次)Flash ROM• 32个双向I/O口• 256x8bit内部RAM• 3个16位可编程定时/计数器中断•时钟频率0-24MHz• 2个串行中断•可编程UART串行通道• 2个外部中断源•共6个中断源• 2个读写中断口线• 3级加密位•低功耗空闲和掉电模式•软件设置睡眠和唤醒功能实验流程图(一)实现方法(1)在设计中利用软件程序延时的方法来控制红(绿)的亮的时间。
考虑延时时间较长所以先用T0产生终端然后通过计数的方法来实现延时。
利用P1口的、、作为红绿灯控制端口。
(2)南北向的绿灯连在一块,东西向的红灯连在一块,他们一块与相连。
同样南北向的红灯连在一块,东西向的绿灯连在一块,他们一块与P1. 2相连,四个黄灯连在一块与相连。
(二)流程图硬件设计1.单片机的结构单片微机(Single-Chip Microcomputer)简称为单片机。
一、实验目的和要求1、掌握定时器/计数器定时功能的使用方法。
2、掌握定时器/计数器的中断、查询使用方法。
3、掌握Proteus软件与Keil软件的使用方法。
4、掌握单片机系统的硬件和软件设计方法。
二、实验内容或原理1、利用单片机的定时器/计数器以查询方式在单片机口线上产生连续周期性矩形波。
2、利用单片机的定时器/计数器以中断方式在单片机口线上产生连续周期性矩形波。
三、设计要求1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,在P1.0口线上产生周期为200μS 的连续方波,在P 1.0口线上接示波器观察波形。
2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,在P1.1口线上产生周期为240μS 的连续方波,在P 1.1口线上接示波器观察波形。
C程序#include<reg52.h>#include<intrins.h>#define uint unsigned int #define uchar unsigned charsbit f1=P1^0;void main(){ TMOD=0x01;TH0=0xff;TL0=0x9c;TR0=1;while(1){while(TF0){ f1=!f1;TH0=0xFF;TL0=0x9C;TF0=0;}}}2、产生240us的方波汇编ORG 0000HLJMP MAINORG 001BHAJMP TC1 MAIN: MOV SP,#60HMOV IE,#88hMOV TMOD,#20HMOV TH1,#88HMOV TL1,#88HSETB TR1 LOOP: LJMP LOOPTC1: CPL P1.1RETI开始初始化关中断启动定时重装初值100us到了么?P1.0取反结束NYTF0清零开始堆栈初始化中断、定时器初始化启动定时等待P1.0取反结束重装初值TC1返回主程序子程序ENDC程序#include<reg52.h>#include<intrins.h>#define uint unsigned int #define uchar unsigned charsbit f1=P1^1;void main(){ SP=0x60;EA=1;ET1=1;TMOD=0x10;TH0=0xff;TL0=0x88;TR1=1;while(1);}void TC1() interrupt 3 { f1=!f1;TH1=0xFF;TL1=0x88;}开始初始化装初值启动定时等待P1.0取反结束重装初值TC1返回装初值3、思考题在P1.0口线上产生周期为500微秒,占空比为2:5的连续矩形波。
数据传送实验 实验项目类型:设计型 实验时间:2012.10.15 一、实验目的 1、掌握单片机的汇编指令系统及汇编语言程序设计方法。 2、掌握单片机的存储器体系结构。 3、熟悉Keil软件的功能和使用方法。 4、掌握单片机应用程序的调试方法。
二、设计要求 1、编写程序将00H~0FH 16个数据分别送到单片机内部RAM 30H~3FH单元中。 2、编写程序将片内RAM 30H~3FH的内容传送至片内RAM 40~4FH单元中。 3、编写程序将片内RAM 40H~4FH单元中的内容传送到外部RAM 4800H~480FH单元中。 4、编写程序将片外4800H~480FH单元内容送到外部RAM 5800H~580FH单元中。 5、编写程序将片外RAM 5800H~580FH单元内容传送回片内RAM 50H~5FH单元中。
三、实验程序流程框图和程序清单。
流程图
程序一 程序二 程序三 程序四 程序五 程序清单 ORG 0000H
MAIN: MOV R0, #30H MOV A, #00H T1: MOV @R0, A INC R0 INC A CJNE A, #10H, T1
MOV R0, #3FH MOV R2, #10H MOV R1, #4FH T2: MOV A, @R0 MOV @R1, A DEC R0 DEC R1 DJNZ R2, T2
MOV R2, #10H MOV R1, #4FH MOV DPTR, #480FH T3: MOV A, @R1 MOVX @DPTR, A DEC R1 DEC A MOV DPL, A DJNZ R2, T3
MOV DPL, #00H MOV R2, #10H T4: MOV DPH, #48H MOVX A, @DPTR MOV DPH, #58H MOVX @DPTR, A INC DPTR DJNZ R2, T4
MOV R0, #50H MOV DPTR, #5800H MOV R2, #10H T5: MOVX A, @DPTR MOV @R0, A INC R0 INC A MOV DPL, A DJNZ R2, T5 END
四、实验总结 通过此次实验,熟悉了kille开发软件的使用,对单片机理解更深刻。 学会了设计简单的程序,把课堂上的理论内容与实践相结合,学习起来更加有效率。 五、实验思考 1、说明MCS-51系列单片机对片内RAM和片外RAM存贮器各有哪些寻址方式? 答: 片内RAM存储器的寻址方式:1、寄存器寻址 2、直接寻址 3、寄存器间接寻址 4、位寻址方式 片外只能通过累加器A使用间接寻址 2、说明指令MOV A,20H和MOV C,20H中的20H含义有什么不同?传送指令中的助记符 MOV,MOVX,MOVC各适用于访问哪个存储器空间? 答:1、MOV A, 20H 把20H单元中的内容送往累加器A中, MOV C, 20H 把20H位的状态送往进位C MOV 适用于内部的RAM存储空间 MOVX 适用于外部的RAM存储空间 MOVC 适用于程序存储空间 实验名称:单片机并行I/O口的应用实验 实验类型:设计型 时间:2012年11月6日 设计性实验 一、实验目的 1、熟悉Proteus软件和Keil软件的使用方法。 2、熟悉单片机应用电路的设计方法。 3、掌握单片机并行I/O口的直接应用方法。 4、掌握单片机应用程序的设计和调试方法 二、设计要求 1、用Proteus软件画出电路原理图。要求在P1.0至P1.7口线上分别接LED0至LED7八个发光二极管,在P3.0口线上接一蜂鸣器。 2、编写程序:要求LED0至LED7以秒速率循环右移。 3、编写程序:要求LED0至LED7以秒速率循环左移。 4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警 三、电路原理图 4、实验程序流程框图和程序清单 一、循环右移
ORG 0000H MAIN: MOV P1, #0FFH MOV A, #7FH LOOP: MOV P1, A CLR P3.0 LCALL DELAY CPL P3.0 LCALL DELAY RR A LJMP LOOP DELAY: MOV R7, #17H DL1: MOV R6, #98H DL0: MOV R5, #46H DJNZ R5, $ DJNZ R6, DL0 DJNZ R7, DL1 RET END
开始初始化给P1送7FH将P3.0口置零延时0.5s将P3.0口置1延时0.5sP1右移 二、循环左移 ORG 00H MAIN: MOV P1, #0FFH MOV A , #0FEH LOOP: MOV P1, A CLR P3.0 LCALL DELAY SETB P3.0 LCALL DELAY RL A LJMP LOOP DELAY: MOV R7, #17H DL1: MOV R6, #98H DL0: MOV R5, #46H DJNZ R5, $ DJNZ R6, DL0 DJNZ R7, DL1 RET END
开始初始化给P1送0FEH将P3.0口置零延时0.5s将P3.0口置1延时0.5sP1左移 四、实验总结 通过本次试验,加深了对延时程序的理解,熟练了对keil和protues的使用。更加熟悉了单片机实验课的节奏,加强了自己的动手能力,收获很多.
五、思考题 1、编程实现LED0至LED7以十六进制计数规律亮灯? ORG 0000H
MOV P1, #0FFH MOV A, #0FFH
MOV R7, #16 LOOP: MOV P1, A LCALL DELAY1S DEC A DJNZ R7, LOOP LJMP MAIN DELAY1S: MOV R7, #0A7H DL1: MOV R6, #0ABH DL0: MOV R5, #10H DJNZ R5, $ DJNZ R6, DL0 DJNZ R7, DL1 NOP RET END
开始将P1初始化给A赋初值0FFH
延时1s设立循环判断数R1为16
将A的值传送给P1口
将R1自减判断是否为零Y
将A自减N 实验三、定时器/计数器应用实验一 实验性质、设计性实验 一、实验目的 1、掌握中断系统外部中断源的使用方法。 2、掌握延时程序的编程及使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法 二、设计要求 1、用Proteus软件画出电路原理图,在单片机的P1.0口线上接按键K0 ,作为外部中断源0使用,用于开启波形,在单片机的 P1.1口线上接按键K1,作为外部中断源1使用,用于关闭波形。 2、在单片机的P1.2口线上产生周期50mS的连续方波,在P1.2口线上接示波器观察波形。 3、电路原理图。
三、实验程序流程框图和程序清单 ` ORG 0000H START: LJMP MAIN ORG 0030H MAIN: MOV TMOD, #10H MOV TH1, #0FFH MOV TL1, #9CH MOV IE, #00H SETB TR1 LOOP: JNB TF1, LOOP MOV TH1, #0FFH MOV TL1, #9CH CLR TF1 CPL P1.0 LJMP LOOP END
ORG 0000H LJMP MAIN ORG 001BH LJMP LOOP1 ORG 0030H MAIN: MOV SP, #3FH MOV TMOD, #20H MOV TH1 , #88H MOV TL1, #88H SETB EA SETB ET1 SETB TR1 HERES: LJMP $ LOOP1: CPL P1.1 RETI END
开始TMOD初始化计数初值初始化中断初始化启动定时器
定时重置计数初值清计数溢出标志P1.0口线取反
YN
开始TMOD初始化计数初值初始化中断初始化启动定时器等待中断
开始计数初值初始化
中断返回输出取反