单片机原理及应用实验报告模板
- 格式:doc
- 大小:569.50 KB
- 文档页数:33
单片机原理及应用实验报告(一)姓名:###学号:*********班级:0902501班指导教师:###院系:信息与电气工程学院实验一熟悉菊阳JY2X00仿真开发系统一、实验目的1、了解单片机开发系统的作用、功能;2、了解、掌握单片机开发系统的窗口结构及菜单命令的使用;3、观察 P1 口的锁存功能。
二、实验内容1、了解主菜单的结构及使用;2、观察、修改内部/外部数据存储器、工作寄存器、特殊功能寄存器的内容;3、观察P1口的锁存功能。
三、实验设备及仪器1、单片机实验装置及开发系统一套;2、PC 机一台。
四、实验步骤1、启动菊阳开发系统运行应用程序JY2X00 IDE,在仿真器设置中选择‘使用软件仿真’。
进入菊阳单片机集成开发环境界面,该界面包括:主菜单、主窗口及观察窗口等。
2、观察、修改内部数据存储器的内容①观察内部数据存储器的内容主窗口左侧的观察窗口中,点击Idata选项,显示内部数据存储器单元的内容。
点击其它选项,可观察通用寄存器,特殊功能寄存器,外部存储器,可位寻址位等内容。
②修改内部数据存储器、工作寄存器、部分特殊功能寄存器将光标移至要修改的单元,,可以在选中的数据上直接修改设置某地址的数据值(十六进制)。
用同样的方法可以修改工作寄存器、特殊功能寄存器。
3、了解主菜单的功能与使用下面通过输入、修改、调试一个简单的程序,熟悉、掌握主菜单命令的功能和使用方法。
①建立/打开程序用鼠标单击主菜单“文件”命令,选择“新建…”,集成开发环境将打开一个编辑窗口。
在该窗口中可输入一个新程序。
对于新建程序,要在编辑完成后保存程序,“文件”栏中选择“保存文件”并输入文件名称(扩展名为.ASM),如:TEST.ASM。
②汇编程序建立工程文件,用‘添加模块到工程’将新建文件加入到当前工程中。
单击主菜单中“编译”命令,选择“编译”或“全部编译”命令。
汇编当前打开的编辑窗口中的汇编程序。
如果程序中存在错误,修改后再次汇编,直至汇编成功。
单片机原理与应用实验报告单片机是一种集成电路,可以在内部集成处理器、内存、输入/输出接口和时钟等多种功能,同时也可以通过编程实现各种应用。
单片机已经广泛应用于工业控制、家电控制、汽车电子、医疗设备等领域。
本实验旨在深入探究单片机的原理和应用,通过实验来加深对单片机的理解和认识。
实验原理单片机由CPU、存储器、I/O接口和时钟四个部分组成。
其中,CPU是单片机最核心的部分,它负责处理各种指令。
存储器包括ROM和RAM,ROM用于存储程序和常量数据,而RAM用于存储变量数据。
I/O接口用于连接外部设备,如传感器、执行器等,时钟用于提供CPU的时钟信号。
实验器材本实验采用的单片机为AT89S52,其主要特点包括:1. 8位CPU,运行频率为12MHz;2. 8KB Flash存储器,可存储程序和常量数据;3. 256字节RAM存储器,用于存储变量数据;4. 32个I/O口,可连接外部设备;5. 两个定时器/计数器,可用于计时和计数;6. 串口通信接口,可用于与PC机通信。
实验内容本实验共包括四个部分,分别是LED闪烁、数码管显示、按键输入和串口通信。
下面分别介绍每个部分的实验内容。
1. LED闪烁LED闪烁是单片机应用中最基本的实验之一。
本实验采用的是P0口控制LED的亮灭。
具体步骤如下:(1)设置P0口为输出口;(2)每隔一定时间,将P0口的值翻转一次,即可实现LED的闪烁。
2. 数码管显示数码管显示是单片机应用中比较常见的实验之一。
本实验采用的是P2口控制数码管的显示。
具体步骤如下:(1)设置P2口为输出口;(2)编写程序将要显示的数值转换成相应的数码管编码;(3)将编码输出到P2口,即可实现数码管的显示。
3. 按键输入按键输入是单片机应用中比较常见的实验之一。
本实验采用的是P3口控制按键输入。
具体步骤如下:(1)设置P3口为输入口;(2)编写程序检测P3口的状态,判断是否有按键按下;(3)如果有按键按下,则执行相应的操作。
实训报告课程:单片机原理及应用实训报告组长组员所在专业所在年级年月日一、团队构成及分工合作情况组长:学号:负责:设计绘图组员:学号:负责:改错整理二、单片机原理及应用系统开发步骤1.原理及应用单片机由运算器、控制器、存储器、输入输出设备构成。
单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。
为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。
存储器由许多储存单元(最小的储存单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。
程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。
2.系统开发步骤单片机应用系统是指以单片机芯片为核心,配以一定的外围电路和软件,能实现某种或几种功能的应用系统。
单片机应用系统的开发工作主要包括应用系统硬件电路的设计和单片机控制程序设计两个部分,其中又以单片机控制程序的设计为核心。
《单片机原理及应用》实验报告姓名:学号:班级:应用物理指导教师:日期:实验1 计数显示器一、实验目的熟悉51单片机的基本输入输出应用,掌握Proteus模块的原理图绘图方法及单片机系统仿真运行方法二、实验原理由共阴极数码管LED1和LED2、P0口、P2口,上拉电阻RP1及Vcc组成的输出电路;由按钮开关BUT、P3.7和接地点组成的输入电路,该电路在编程软件的配合下,可实现计数显示功能:可统计按钮BUT的按压次数,并将按压结果以十进制数形式显示出来;当显示值达到99后可自动从1开始,无限循环。
三、实验内容(1)观察Proteus模块的软件结构,熟悉菜单栏、工具栏、对话框等基本单元功能(2)学会选择元件、画导线、修改属性等基本操作(3)学会可执行文件加载及程序仿真运行方法(4)验证计数显示器的功能四、实验要求提交实验报告并包括如下内容:电路原理图、电路原理分析、仿真运行截图及实验小结1.实验原理图2.仿真运行截图3.实验小结通过这次实验让我认识了kell和proteus软件的基本功能,学会了用kell编写程序用proteus仿真运行。
在这次实验中同时也遇到了很多问题。
比如因为第一次使用这两个软件对界面还不太熟悉,浪费了很多的时间也产生了很多错误,但之后与同学们的交流过程中,慢慢的对这两个软件有了更深入的了解,在后期仿真的时候才能得心应手的处理问题。
这个计数显示器的实验让我进一步了解了单片机与数码管的魅力,看到了电子元件的神奇之处,只要按动按键就能让数码管的数字逐次加一,这大大激发了我的学习单片机兴趣,这次实验也会成为我以后学习单片机的奠基石,因为它打开了我认识单片机的大门,让我认识到了单片机的魅力,并让我沉浸其中。
实验2 指示灯开关控制器一、实验目的学习51单片机I/O口基本输入输出功能,掌握汇编语言的编程与调试方法。
二、实验原理输入电路由外接在P1口的8只拨动开关组成;输出电路由外接在P2口的8只低电平驱动的发光二极管组成。
单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。
二、实验器材及原理1.实验器材:STC89C52单片机、电源、晶振、按键、LED灯、蜂鸣器等。
2.实验原理:单片机是一种微处理器,能够完成各种复杂的功能。
通过学习单片机的工作原理和编程方法,可以控制各种外围设备,实现不同的功能。
三、实验内容及步骤1.实验一:点亮LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,点亮LED灯。
2.实验二:按键控制LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将按键和LED灯与单片机相连。
(3)编写程序,实现按下按键控制LED灯亮灭。
3.实验三:数码管显示步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将数码管与单片机相连。
(3)编写程序,将数字输出到数码管上显示。
4.实验四:定时器应用步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,实现定时器功能。
四、实验结果及分析1.实验一:点亮LED灯LED灯成功点亮,证明单片机与外部设备的连接正常。
2.实验二:按键控制LED灯按下按键后,LED灯亮起,松开按键后,LED灯熄灭。
按键控制LED 灯的效果良好,说明单片机的输入输出功能正常。
3.实验三:数码管显示数码管成功显示数字,说明单片机能够实现数字输出功能。
通过程序设计,可以实现数码管显示不同的数字。
4.实验四:定时器应用定时器正常运行,能够实现精确的定时功能。
通过调节定时器的参数,可以实现不同的定时功能。
五、实验总结通过本次实验,我们学习了单片机的基本原理和使用方法。
通过掌握单片机的编程技巧,我们能够实现各种复杂的功能,如控制LED灯、按键控制、数码管显示等。
这些技能对于日常生活和工程设计都具有很大的实用性。
在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。
单片机原理及应用的实验报告1. 引言在现代电子领域中,单片机技术的应用越来越广泛。
单片机(Microcontroller)是一种集成电路芯片,具有完整的处理器系统和外围设备。
它拥有小巧、灵活和强大的特点,适用于各种嵌入式系统的设计和应用。
本实验报告旨在介绍单片机的原理及其在实际项目中的应用。
2. 单片机的原理单片机是一种嵌入式微处理器,通常由中央处理器(CPU)、存储器、输入输出接口(I/O)、定时器、串行通信接口等部分组成。
其原理如下:•中央处理器(CPU):单片机的核心部件,负责执行各种指令和算术逻辑运算。
•存储器:包括随机存储器(RAM)和只读存储器(ROM),用于存储程序和数据。
•输入输出接口(I/O):用于与外部设备进行数据交互,如控制LED 灯、读取传感器数据等。
•定时器:用于产生精确的时间延时和定时触发操作。
•串行通信接口:用于和其他设备进行串行数据通信。
3. 单片机的应用单片机具有广泛的应用领域,下面列举了几个常见的应用实例:1.家电控制系统:使用单片机可以实现对家电设备的智能控制,如空调温度控制、灯光调节等。
2.汽车电子系统:单片机在汽车电子控制单元(ECU)中,用于控制发动机、变速器、制动系统等。
3.工业自动化:单片机可以应用于工业自动控制系统,如生产线上的自动化控制、温度监控等。
4.电子游戏机:单片机在电子游戏机中用于处理游戏逻辑和玩家输入。
5.智能穿戴设备:使用单片机可以实现智能手表、智能眼镜等穿戴设备的功能。
4. 单片机实验为了更好地理解单片机的原理和应用,我们进行了以下实验:4.1 LED闪烁实验这个实验旨在通过编程控制单片机,使LED灯以一定的频率闪烁。
实验步骤: 1. 连接单片机和LED灯,将LED的正极连接到单片机的IO口,负极连接到接地。
2. 编写程序,配置IO口为输出模式,并设置IO口的高低电平来控制LED的亮灭。
3. 将程序下载到单片机,运行程序。
4. 观察LED是否按照预期频率闪烁。
《单⽚机原理及应⽤》实验报告本科⽣实验报告实验课程XXXXX学院名称XXXXXXXXXXXXXXX专业名称XXXXXXXXX学⽣姓名XXXX学⽣学号XXXXXXXXXXXX指导教师XXXXXX实验地点XXXXXX实验成绩⼆〇⼀六年四⽉⼆〇⼀六年六⽉《单⽚机原理及应⽤》实验报告摘要《单⽚机原理及应⽤》是电⼦科学与技术、电⼦信息⼯程、计算机科学与技术、⾃动控制等专业⼯程应⽤能⼒和创新能⼒培养的⼀门重要专业基础课。
课程重点讲授:单⽚机存储器体系结构、指令系统与编程技术、中断系统及应⽤、定时器及应⽤、外围设备与单⽚机的接⼝技术,单⽚机应⽤系统设计。
因为单⽚机这门课是⼀门实践性很强的课程,单纯学习课本不能掌握这门知识,必须要经过试验课程才能更加具体和深⼊地学会这门课。
通过试验课的学习,使学⽣掌握单⽚机技术及其在⼯业控制、经济建设和⽇常⽣活中的应⽤,培养学⽣实践能⼒、创新能⼒和新产品设计开发能⼒,为将来从事电⼦电器新产品设计开发,电⼦产品的检测和维护等⼯作奠定坚实的基础。
本实验板可以实现的实验内容:(1)单⽚机开发软件及仿真器的使⽤和P1⼝实验(2)I/O⼝实验(交通灯实验,温度传感器,蜂鸣器、I2C)(3)定时器实验(流⽔灯、交通灯、数码管等)(4)总线实验(流⽔灯LED、外部RAM)(5)系统扩展(包括:LCD、ADC、DAC、RAM等)(6)通信实验(RS232与计算机之间的串⼝实验)(7)传感器实验(1-Wire温度实验)(8)键盘实验(扫描接⼝)(9)电机实验(四相六线式步进电机)(10)时钟实验(RTC—PCF8563)(11)软件实验(多个数求和、排序等)(12)中断实验(外部中断、定时器、UART)本实验设计主要完成了数码管、流⽔灯、键盘、蜂鸣器等实验,与实验指导书结果符合,了解了部分功能的使⽤。
关键词:单⽚机 LED数码显⽰键盘串⼝第⼀章单⽚机集成开发环境应⽤⼀实验⽬的1.熟悉单⽚机集成开发软件(Keil);2.掌握单⽚机实验板的使⽤;3.掌握单⽚机P1⼝使⽤;⼆实验内容1、集成开发环境Keil介绍及开发流程Keil µVision4集成开发环境(Integrated Development Environment,IDE)是⼀个基于Windows的开发平台,它包含⾼效的源代码编辑器、项⽬(Project)管理器和程序⽣成(MAKE)⼯具。
一、实验名称单片机原理及应用实验二、实验目的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口输出高低电平,控制数码管显示数字。
单片机原理及应用实验报告2单片机原理及应用实验报告2实验报告:单片机原理及应用实验一、实验目的1、了解单片机的基本工作原理;2、掌握单片机的编程方法和编写汇编语言程序的能力;3、学习单片机的应用实验。
二、实验原理单片机是一种集成电路,内部包含了中央处理器、存储器和各种输入输出端口。
单片机的工作原理是通过对输入信号的处理和对输出信号的控制来实现各种功能。
单片机的编程方法一般采用汇编语言编写程序。
汇编语言是一种低级语言,可以直接对单片机进行操作。
通过编写汇编语言程序,可以实现各种功能,如控制LED灯的亮灭、控制电机的转动等。
本次实验主要通过控制LED灯的亮灭来演示单片机的应用。
在实验中,我们将使用汇编语言编写程序,通过编程来控制LED灯的亮灭。
三、实验步骤2、编写汇编语言程序:打开编程软件,进入编程界面,编写程序代码;3、编译程序:将编写好的程序进行编译,生成机器码;4、烧录程序:用编程工具将编译好的机器码烧录到单片机中;5、连接电路:使用面包板将单片机与LED灯连接起来;6、测试程序:将单片机的电源接通,观察LED灯的亮灭情况。
四、实验结果与分析经过以上步骤,我们成功地编写了汇编语言程序,并将程序烧录到了单片机中。
在实验中,我们观察到LED灯根据程序的控制产生了相应的亮灭效果。
实验结果表明,通过编程可以实现对单片机的控制,从而实现各种功能。
单片机在嵌入式系统、自动控制系统、家电等方面有着广泛的应用。
五、应用实例1、家居智能化控制:通过编程控制单片机,可以实现对家电的智能化控制。
例如,可以根据日出日落时间控制窗帘的开闭,根据室内温度控制空调的开关等。
2、工业自动化:在工业生产中,单片机可以用来控制各种设备和机械,实现生产线的自动化控制。
例如,可以根据产品的规格和数量,自动调整机械的工作速度和工作时间。
3、智能交通系统:在交通领域,单片机可以用来控制信号灯、道闸等设备,实现交通流量的控制。
例如,可以根据道路的拥堵程度和车辆的行驶速度,调整信号灯的红绿灯时间,从而达到交通畅通的目的。
目录一、设计目的--------------------------------------1二、设计课题--------------------------------------1三、课题分析--------------------------------------1四、硬件原理--------------------------------------2五、源程序清单-----------------------------------3六、实验过程及报告-----------------------------5七、设计体会--------------------------------------7一、设计目的1、熟悉单片机应用系统的开发、研制过程。
2、能运用MCS-51单片机进行简单的单片机应用系统的硬件设计。
3、能采用MCS-51单片机汇编语言进行简单的单片机应用系统的软件设计。
4、掌握单片机应用系统的硬件、软件调试方法。
5、熟悉单片机仿真开发系统的作用,基本掌握运用单片机仿真开发系统进行在线仿真、调试和目标程序固化的方法。
6、为今后从事单片机应用系统的开发、生产和维护工作奠定基础。
二、设计课题模拟霓虹灯控制系统的设计与制作用一个Φ5发光二极管代表一个灯。
将16个红、黄、绿3色灯排成一排或排成一个环行,如:红1-黄2-绿3-红4-黄5-绿6-红7-黄8-绿9-红10-黄11-绿12-红13-黄14-绿15-红16,其中数字1—16为各灯的编号,让各灯循环交替显示,从而获得街上霓虹灯的显示效果。
三、课题分析程序实现的功能如下:①用一个Φ5发光二极管代表一个灯。
将16个红、黄、绿3色灯排成一排或排成一个环行,如:红1-黄2-绿3-红4-黄5-绿6-红7-黄8-绿9-红10-黄11-绿12-红13-黄14-绿15-红16,其中数字1—16为各灯的编号。
下面的叙述中用此编号表示不同的灯。
单片机的原理及应用实验报告一、引言单片机(Microcontroller Unit,简称MCU)是集成了微处理器核心、存储器、输入输出接口及其他外围设备的一种特殊集成电路芯片。
它具有存储能力、运算能力和控制能力,广泛应用于各种电子设备和系统中。
本实验旨在探究单片机的工作原理,并通过实际应用实验来进一步理解其使用技术与方法。
二、实验目的1.了解单片机的基本结构和工作原理;2.学习如何使用单片机进行控制和数据处理;3.掌握单片机的简单编程技巧;4.探索和实现基本的单片机应用。
三、实验仪器和材料•单片机开发板•USB数据线•LED灯•电阻、电容等基本电子元件四、实验步骤1.硬件连接步骤:–将单片机开发板连接到电脑上,通过USB数据线进行供电和通信。
–将LED灯接入单片机的IO引脚。
–连接其他所需的电子元件,如电阻、电容等。
2.单片机编程步骤:–打开开发环境,使用C语言编写所需的程序。
–确定需要使用的IO引脚和控制方式。
–编译并下载程序到单片机开发板上。
3.实验运行步骤:–按照程序设计的要求,进行相应的操作和观察。
–通过观察LED灯的亮灭、闪烁等情况,验证单片机的控制和运算能力。
五、实验结果与分析在实验过程中,我们成功地编程控制了单片机开发板上的LED灯。
通过修改程序代码中的控制参数,我们可以实现LED灯的不同状态,例如常亮、闪烁、呼吸灯等效果。
这验证了单片机的控制和运算能力。
六、实验总结通过本实验,我们对单片机的原理和应用有了初步的了解。
单片机作为一种功能强大的集成电路芯片,在各种电子设备和系统中都有广泛的应用。
掌握单片机的编程技巧和使用方法对于电子领域的学习和研究都是至关重要的。
七、参考文献无以上是本次实验的实验报告,通过本次实验,我们深入理解了单片机的原理和应用,并成功完成了LED灯的控制实验。
希望通过这次实验的学习,能够对单片机的应用有更深入的认识,并为未来的学习和研究打下基础。
单片机原理及应用实验报告一、引言单片机(Microcontroller Unit,简称MCU)是一种集成电路芯片,内部集成了微处理器、存储器、输入输出接口和定时器等功能模块,广泛应用于各种电子设备和控制系统中。
本实验报告将介绍单片机的基本原理以及其在实际应用中的实验。
二、单片机的基本原理单片机的核心是微处理器,它负责执行程序指令。
单片机的存储器包括程序存储器(Program Memory)和数据存储器(Data Memory)。
程序存储器用于存储程序指令,数据存储器用于存储数据和中间结果。
单片机通过输入输出接口与外部设备进行通信,通过定时器来控制程序的执行时间。
三、单片机的应用实验1. LED闪烁实验LED闪烁实验是单片机入门实验的经典案例。
通过控制单片机的输出口,周期性地改变LED的状态,从而实现LED的闪烁效果。
这个实验可以帮助初学者了解单片机编程的基本概念和操作。
2. 温度测量实验温度测量实验可以通过连接温度传感器和单片机的输入口,实时地获取环境温度,并通过数码管或LCD显示器来显示温度数值。
这个实验可以帮助学生掌握单片机输入输出口的使用方法,以及模拟信号的处理和显示。
3. 蜂鸣器控制实验蜂鸣器控制实验可以通过连接蜂鸣器和单片机的输出口,实现对蜂鸣器的控制。
通过编写程序,可以使蜂鸣器发出不同的声音,如单调的蜂鸣声、警报声等。
这个实验可以帮助学生学习单片机的数字输出和PWM(脉冲宽度调制)技术。
4. 电机控制实验电机控制实验可以通过连接电机和单片机的输出口,实现对电机的控制。
通过编写程序,可以控制电机的转动方向和速度。
这个实验可以帮助学生理解单片机输出口的电流和电压特性,以及电机的控制原理。
5. 红外遥控实验红外遥控实验可以通过连接红外接收器和单片机的输入口,实现对红外遥控信号的解码和处理。
通过编写程序,可以实现对各种红外遥控器的解码和按键处理。
这个实验可以帮助学生学习单片机输入口的中断处理和红外通信原理。
单⽚机原理及应⽤实验报告单⽚机原理及应⽤实验报告⼀、选题意义 (2)⼆、单⽚机AT89C52结构介绍 (2)三、实验内容 (3)四、实验步骤 (3)五、在uvision环境下软件程序设计 (4)六、Proteus仿真 (6)七、实验器件 (9)⼋、焊接电路实物图 (10)九、实验⼼得 (10)⼀、选题意义1.熟悉使⽤AT89C52单⽚机进⾏系统设计;2.通过对单⽚机⼯作原理的深⼊理解,运⽤所学知识解决实际问题;3.通过实际系统的设计,加深对单⽚机的微计算机系统设计的理解和掌握。
⼆、单⽚机AT89C52结构介绍AT89C52是⼀个低功耗,⾼性能CMOS 8位单⽚机,⽚内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采⽤ATMEL公司的⾼密度、⾮易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,256×8bit内部RAM,低功耗空闲和省电模式,32个双向I/O⼝,3个16位可编程定时/计数器,全双⼯UART串⾏中断⼝线,2个外部中断源。
图2-2是AT89C52引脚图。
图2-2 A T89C52引脚图三、实验内容本实验利⽤单⽚机的计数器原理,通过采⽤protuas仿真软件来模拟实现。
利⽤AT89C52单⽚机芯⽚实现计数功能(0~10)并显⽰当前计数值,还能够实现秒表的启动/暂停,复位功能。
四、实验步骤1、先确定好设计的内容,⽤protuas设计电路图。
2、编写代码,编译并调试正确。
将⽣成的.hex⽂件加载到单⽚机中,运⾏电路并调试使电路功能正确。
3、设计完成后,制作计数器实物,并使得运⾏正确。
五、在uvision环境下软件程序设计#include#define uchar unsigned char#define uint unsigned intsbit K1 = P3^7;uchar i, Second_Counts, Key_Flag_Idx;bit Key_State;char DSY_CODE[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; // delayvoid DelayMS(uint time){while(time--){uchar t;for(t=0;t<120;t++);}}// handle button events ,处理按键事件void Key_Event_Handle(){if(Key_State == 0) //Trigger key function when key pressed{Key_Flag_Idx = (Key_Flag_Idx + 1) % 3;switch(Key_Flag_Idx){case 1: EA = 1;ET0 = 1; TR0 = 1; break;case 2: EA = 0;ET0 = 0; TR0 = 0; break;case 0: P0 = 0x3f; P2 = 0x3f;i = 0;Second_Counts = 0;}}}// main ,主程序void main(){P0 = 0x3f; //initial state of LED 显⽰00P2 = 0x3f;i = 0;Second_Counts = 0;Key_Flag_Idx = 0; //times of the press (Firstr, second, third respectively stand for different meanings)按键次数Key_State = 1; // 按键状态TMOD = 0x01; //T0 work in mode 1 定时器0⽅式1TH0 = (65536 - 50000) / 256; //Set 50ms timer 定时器0:50msTL0 = (65536 - 50000) % 256;while(1){if(Key_State != K1) //Key is pressed or released{DelayMS(10);Key_State = K1; //update key stateKey_Event_Handle();}}}// T0 interrupt functionvoid DSY_Refresh() interrupt 1{TH0 = (65536 - 50000) / 256; //恢复定时器0初值TL0 = (65536 - 50000) % 256; if(++i == 2) //100ms //50ms*2=0.1s转换状态{i = 0;Second_Counts++;P0 = DSY_CODE[Second_Counts / 10];P2 = DSY_CODE[Second_Counts % 10];if(Second_Counts == 100)Second_Counts = 0; //满100(10s)后显⽰00 }}六、Proteus仿真1、初始值2、按下第⼀次按钮,记时截图3、按下第⼆次按钮,计数器停⽌4、按下第三次按钮,数值清零初始七、实验器件⼋、焊接电路实物图九、实验⼼得通过这次试验,让我对单⽚机有了新的认识。
《单片机原理及应用》实验报告一、实验目的本次实验旨在深入理解单片机的工作原理,掌握其基本的编程和应用方法,通过实际操作提高我们对单片机系统的设计和调试能力。
二、实验设备1、计算机一台2、单片机开发板一套3、下载线一根4、相关软件,如 Keil C51 等三、实验原理单片机是一种集成在一个芯片上的微型计算机,它包含了中央处理器(CPU)、存储器(ROM、RAM)、输入输出接口(I/O 口)等基本组件。
通过编写程序,可以控制单片机的各个引脚输出高低电平,实现对外部设备的控制和数据采集。
单片机的工作原理是基于时钟信号,按照程序指令的顺序依次执行操作。
程序通常使用 C 语言或汇编语言编写,经过编译后下载到单片机的存储器中,由单片机的 CPU 读取并执行。
四、实验内容1、点亮单个 LED 灯首先,我们将单片机的一个 I/O 口与一个 LED 灯相连。
通过编写程序,设置该 I/O 口输出高电平,使 LED 灯点亮;输出低电平,使 LED 灯熄灭。
程序代码如下:```cinclude <reg51h> //包含 51 单片机的头文件void main(){P1_0 = 1; //设置 P10 口为高电平,点亮 LED 灯while(1);//无限循环,保持 LED 灯常亮}```2、流水灯实验在这个实验中,我们使用多个 LED 灯,通过依次控制每个 LED 灯的点亮和熄灭,实现流水灯的效果。
程序代码如下:```cinclude <reg51h>void delay(unsigned int i) //延时函数{unsigned int j, k;for (j = 0; j < i; j++)for (k = 0; k < 125; k++);}void main(){unsigned char led ={0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f};//定义 LED 灯的控制码unsigned char i;while (1){for (i = 0; i < 8; i++){P1 = ledi; //依次输出控制码,点亮相应的 LED 灯delay(500);//延时一段时间}}}```3、按键控制 LED 灯我们将一个按键连接到单片机的一个I/O 口,通过检测按键的状态,控制 LED 灯的亮灭。
单片机原理及应用实验报告实验课程:单片机原理及应用实验项目:单片机控制LED灯亮灭专业班级:学号:姓名:实验日期:实验一单片机控制LED灯实验.一、实验目的1、进一步掌握Keil的使用,熟悉单片机C语言编程。
2、学习I/O口的使用方法。
二、实验原理发光二级管是半导体二极管的一种,可以把电能转化为光能,常简写为LED。
发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
只要加在发光二极管两端的电压超过它的导通电压(一般为1.7V-1.9V)它就会导通,而当流过它的电流超过一定电流时(一般2-3mA)它就会发光。
LED常用在MCS-51单片机中指示单片机的某个开关量的状态。
对单片机的控制,其实就是对I/O口(单片机引脚)的控制。
单片机共四个端口,P0、P1、P2、P3;每个端口分别有8个引脚P0.0-P0.7、P1.0-P1.7、P2.0-P2.7、P3.0-P3.7;这32个引脚既可以作输出脚,又可以作输入脚。
作输出脚时,单片机可以控制指示灯、数码管、电机等外部器件;作输入脚时,可以“感受”按键、开关、传感器等外部器件(例如接收数据-此就是作为输入脚的),单片机的每个引脚都是可以分开控制的,即独立的给高或者低电平。
想要点亮一个小灯,首先要将小灯与单片机的一个I/O 口连接好,然后将此引脚给高或者低电平,接着这个小灯就可以按照你给的电平实现点亮或熄灭了。
三、硬件电路设计LED模块排线接口如图3-1所示。
依据实验原理,只要将所需控制的LED 对应排线引脚连接到单片机一个I/O口即可。
1、连接方法:JP11(P2)和JP1和LED灯的JP1用8PIN排线连接起来。
2、硬件说明:使用单片机的P2口来驱动8个LED,发光二极管的阳极接高电平,故P2口为低电平时,就可以驱动其点亮。
四、软件设计1.单灯D3闪烁#include<reg51.h>void delay(void) //延时程序{unsigned int i;for(i=0;i<20000;i++);}void main(void){while(1){}2、双4只 LED 灯(D1、D3、D5、D7 与D2、D4、D6、D8)交替闪烁#include<reg51.h> P2=0xfb; //灯亮delay(); //延时P2=0xff; //灯灭 delay(); //延时 }#define uint unsigned int#define uchar unsigned charvoid delay();void main(){while(1)}void delay() //延时程序{}3、8只LED灯(D1、D2、D3、D4、D5、D6、D7、D8)流水灯显示 #include<reg51.h>void delay(void){unsigned char i,j;for(i=0;i<250;i++) } for(j=0;j<250;j++); uint x,y; for(x=100;x>0;x--) for(y=600;y>0;y--); { } P2=0xaa; //1010 1010 delay(); P2=0x55; //0101 0101 delay();void main(){while(1)} { P2=0xfe; delay(); P2=0xfd; delay(); P2=0xfb; delay(); P2=0xf7; delay(); P2=0xef; delay(); P2=0xdf; delay(); P2=0xbf; delay(); P2=0x7f; delay(); }三、实验结果分析:刚开始不是很熟悉,无法按照老师所讲的进行试验,反复操作后,完成了试验。
单片机原理及应用实验报告单片机是一种集成了微处理器核心、存储器、输入输出接口和时钟电路等基本功能于一芯片上的微型计算机系统。
它具有体积小、功耗低、性能强大、易于编程等特点,广泛应用于电子产品中。
本文将介绍单片机的原理及应用,并通过实验来验证其功能。
一、单片机的原理单片机的主要组成部分包括:1.CPU(中央处理器):负责执行指令、控制程序运行和数据处理等任务。
2.存储器:包括程序存储器(ROM)和数据存储器(RAM),用于存放程序指令和数据。
3.输入输出接口:负责与外部设备进行信息交换,包括数字输入输出口、模拟输入输出口和通信接口等。
4.时钟电路:提供时钟信号,用于控制指令的执行速度和计算机的工作节奏。
5.系统总线:用于连接CPU、存储器和输入输出接口等组件,实现数据传输和控制信号的传递。
单片机的工作原理如下:1.时钟信号通过时钟电路提供给CPU,指令从程序存储器中读取,经过解码后执行相应的操作。
2.CPU根据指令给出的地址从存储器中读取数据并进行运算,运算结果存放在数据存储器中。
3.输入输出接口负责将输入设备的信号转换为数字信号输入到CPU,将CPU的输出信号转换为合适的形式输出给外部设备。
4.单片机通过系统总线进行内部各组件的协调与控制,实现数据传输、地址传递和控制信号的传递。
二、单片机的应用单片机具有广泛的应用领域,包括电子产品、工业控制、通信系统、汽车电子、医疗仪器等。
下面以LED灯控制实验为例进行应用介绍。
1.实验目的:通过控制单片机的输出口控制LED灯的亮灭。
2.实验原理:单片机的输出口可以输出高电平(5V)和低电平(0V),通过控制输出口的电平来控制LED灯的亮灭。
3.实验器材:单片机开发板、面包板、LED灯、电阻等。
4.实验步骤:(1)将单片机开发板连接到电脑上,并用编程软件编写控制LED灯亮灭的程序。
(2)将LED灯的正极连接到单片机的输出口,负极接地。
(4)通过程序控制单片机的输出口电平,实现LED灯的亮灭。
单片机原理及应用实验报告1单片机原理及应用实验报告1摘要:本实验通过对单片机的原理及应用进行探究,掌握单片机的工作原理和基本应用。
实验中使用Keil C编译器和STC89C52单片机开发板进行编程和实验。
实验结果表明,单片机具有功能强大、用途广泛的特点,能够应用于各种实际场景中。
一、引言单片机是一种集成电路芯片,其内部包含了存储器、时钟、输入输出端口以及中央处理器等功能模块,具有自主控制能力。
单片机被广泛应用于各种电子设备和系统中,例如家电控制、工业自动化、智能交通等领域。
本实验旨在通过对单片机原理及应用的学习与实验,深入了解单片机的工作原理和基本应用,并利用所学知识完成一系列实际操作和程序设计。
二、实验目的1.了解单片机的基本原理和架构;2.掌握单片机的基本编程方法和语法规则;3.实践掌握单片机的IO端口操作、模拟量输入输出等基本应用。
三、实验内容1.学习单片机的工作原理和基本构成;2.熟悉Keil C编译器的使用方法和环境配置;3.利用Keil C编写简单的程序,实现单片机的IO端口操作;4.学习模拟量输入输出的基本概念和实现方法;5.设计并实现一个简单的单片机应用程序。
四、实验仪器和设备1.STC89C52单片机开发板;2.计算机;3.Keil C编译器。
五、实验原理单片机是由CPU、存储器、输入输出接口以及系统总线等构成的嵌入式微处理器系统。
在本实验中,我们使用的是STC89C52单片机,其主要特点如下:1.CPU部分:采用8051内核,具有5个通用寄存器、2个堆栈指针、1个程序计数器等;2.存储器部分:具有8KBROM和256B的RAM;3.输入输出部分:具有32个IO口、3个定时器、1个串口等;4.中断部分:具有6个中断源和2个中断请求端。
六、实验步骤1.学习Keil C编译器的使用方法和环境配置;2.熟悉STC89C52单片机开发板的引脚分布和接口规范;3.编写一个简单的程序,实现单片机的IO端口初始化和输入输出操作;4.验证程序功能的正确性,观察LED灯的亮灭情况;5.学习模拟量输入输出的基本概念和实现方法;6.设计并实现一个简单的单片机应用程序,例如温度检测、灯光控制等。
实验报告课程名称单片机原理及应用学院信息工程学院实验报告一实验报告二实验名称简单I/O口扩展实验实验时间2014年月日同组人员专业班级实验类型验证性实验地点学时 2一、实验要求1、P1口做为输入口,接8个扭子开关,以实验台上74LS273做输出口,编写程序读取开关状态,将此状态,在发光二极管上显示出来。
二、实验目的1.学习在单片机系统中扩展简单I/O接口的方法。
2.学习数据输出程序的设计方法。
3.学习模拟交通灯控制的实验方法。
三、实验说明P1口为准双向口,P1的每一位都能独立地定义为输出线或输入线,作为输入的口线,必须向锁存器的相应位写入“1”,该位才能作为输入。
8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写入过“0”,在需要时应写入一个“1”使它再成为一个输入。
可以用第二个实验做一下试验。
先按要求做好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1做输入口,会有什么结果。
再来看一下延时程序的实现。
现常用的有两种方法,一是用定时器中断来实验,一是用指令循环来实现。
在系统时间允许的情况下可以采用后一种方法。
四、实验电路五、实验程序#include<reg51.h>sbit CLK=P3^0;void main(){ CLK=0;WR=1;while(1){ unsigned int temp=8;P2=P1;CLK=1;while(temp--);CLK=0;}}六、实验中遇到的问题及解决办法批阅成绩签字:年月日实验报告三实验名称交通灯控制实验实验时间2014年月日1234131024同组人员专业班级实验类型综合性实验地点学时 2一、实验要求用汇编和C51编写模拟交通灯的控制程序。
二、实验目的1.学习汇编和C51程序的编写方法。
2.学习模拟交通灯控制的实现方法。
三、实验说明要完成本实验,首先必须了解交通路灯的亮灭规律。
假设交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的红灯亮,南北路口的绿灯亮,南北方向通车,延时一段时间后,南北路口绿灯灭,黄灯开始闪烁。
闪烁若干次后,南北路口红灯亮,而同时东西路口的绿灯亮,东西方向开始通车,延时一段时间后,东西路口的绿灯灭,黄灯开始闪烁。
闪烁若干次后,再切换到南北路口方向,重复上述过程。
四、实验电路五、实验程序#include<at89x51.h>unsigned char segdata[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsigned char s=0,q=0;实验报告四实验名称外部中断实验实验时间2014年月日同组人员专业班级实验类型验证性实验地点学时 2一、实验要求在上一实验(交通灯控制实验)内容的基础上增加允许急救车优先通过的要求。
有急救车到达时,各方向交通灯信号为全红,以便让急救车通过,假定急救车通过路口的时间为10秒,急救车通过后,交通灯恢复中断前的状态。
本实验以单脉冲为中断申请,表示有急救车通过。
二、实验目的1.学习外部中断技术的基本使用方法。
2.学习中断处理程序的编程方法。
三、实验说明本实验中断处理程序的应用,最主要的地方是如何保护进入中断前的状态,使得中断程序执行完毕后能回到交通灯中断前的状态。
要保护的地方,除了累加器ACC、PSW外,还要注意:一是主程序中的延时程序和中断处理程序中延时程序不能混用,本实验中,主程序中的延时用的寄存器和中断延时用的寄存器应不相同。
第二,主程序中往端口输出数据操作要先保存再输出。
四、实验电路五、实验程序#include<at89x51.h>unsigned char code segdata[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char n;void delay(unsigned char k){unsigned char i,j;for(i=0;i<k;i++)for(j=0;j<110;j++);}void dxshanshuo(){unsigned char a;for(a=0;a<6;a++){P2=0x80;delay(100);P2=0x00;delay(100);}}void nbshanshuo(){unsigned char b;for(b=0;b<6;b++){实验报告五五、实验程序#include<at89x51.h>#define uchar unsigned char#define uint unsigned int uchar a;void delay(){ uchar i,j;for(i=0;i<20;i++)for(j=0;j<110;j++);}void main(){ P1=0xff;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;EA=1;TR0=1;while(1)实验报告六实验名称8255A可编程并行接口实验实验时间2014年月日同组人员专业班级实验类型综合性实验地点学时 2一、实验要求利用8255A可编程并行接口芯片,B口作为输入口接8个开关,A口作为输出口接8只发光二极管,开关控制相应发光二极管。
二、实验目的1.了解8255A芯片的结构及编程方法。
2.掌握通过8255A读取开关数据的方法。
三、实验说明先根据电路设计确定各端口的地址,向控制口写入方式控制字,设置好各端口的工作方式,实验中A、B、C都应工作在方式0,B口输入,A口输出。
方式字为82H。
四、实验电路五、实验程序#include<at89x51.h>#include<absacc.h>#define COM XBYTE[0xbfff]#define PA XBYTE[0xb3ff]#define PB XBYTE[0xb7ff]void main(){ unsigned char temp;PB=0xff;COM=0x82;while(1){temp=PB;PA=temp;}}六、实验中遇到的问题及解决办法批阅成绩签字:年月日实验报告七实验名称数码显示实验实验时间2014年月日同组人员专业班级实验类型综合性实验地点学时 2一、实验要求用共阳极7段显示器显示按键的键值,要求用74LS164做为显示接口,用矩阵式键盘,至少识别16个按键,键值能在7段显示上显示。
二、实验目的1.理解LED七段数码管的显示控制原理。
2.掌握数码管与单片机的接口技术,能够编写数码管显示驱动程序。
3.熟悉接口程序调试方法。
三、实验说明用74LS164作为显示接口,单片机串行口工作在方式0。
可将共阳极7段显示器的段码放在数组中,根据键值查数组,通过串口送出段码并显示。
四、实验电路五、实验程序#include<at89x51.h>unsigned char code segdata[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char a,key;unsigned char temp;unsigned char i,j,k;void delay(unsigned char z){ while(z--){for(i=0;i<10;i++)for(j=0;j<250;j++);}实验报告八五、实验程序#include<at89x51.h>#define uchar unsigned charuchar code lcd[]={"0123456789ABCDEF"}; sbit RS=P2^6;sbit RW=P2^5;sbit E=P2^7;void delay(uchar z){ uchar x,y;for(x=0;x<z;x++)for(y=0;y<110;y++);}void wr51(uchar j){ delay(20);E=0;RS=0;RW=0;E=1;P0=j;E=0;delay(5);}void wd51(uchar j){ delay(20);E=0;RS=1;RW=0;实验报告九实验名称串—并转换实验实验时间2014年月日同组人员专业班级实验类型综合性实验地点学时 2一、实验要求利用单片串行口和串入并出移位寄存器74LS164扩展输出口,在数码显示器上循环显示0-9这10个数字。
二、实验目的1.掌握单片机串行口方式0工作方式及编程方法。
2.掌握利用串行口扩展I/O口的方法。
三、实验说明串行口工作在方式0时,可通过外接移位寄存器实现串并转换。
在这种方式下,数据为8位,从RXD端输入/输出,TXD端用于输出移位同步时钟信号,波特率为f osc/12。
编程时,先由软件设置SCON,在CPU将数据写入SBUF后立即启动发送,待8位数据接收完后硬件将TI置1,必须由软件将其清零。
四、实验电路五、实验程序#include<reg51.h>#include<stdio.h>sbit P1_0=0x90;unsigned char code segdata[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsigned char a,x;void delay(unsigned int k)实验报告十五、实验程序#include<at89x51.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned int#define ADC0808 XBYTE[0x7ff8] sbit EOC=P3^2;void delay(){ uchar x,y;for(x=50;x>0;x--)for(y=200;y>0;y--);}void main(){ uchar a,bai,shi,ge;ADC0808=0;while(1){if(!EOC){a=ADC0808;bai=a/100;shi=a%100/10;ge=a%10;P2=bai;P1=shi<<4|ge;ADC0808=0;}。