单片机原理实验1
- 格式:doc
- 大小:57.00 KB
- 文档页数:5
单片机实验原理单片机(Microcontroller)是嵌入式系统中常用的一种微型计算机系统,它集成了处理器、存储器、输入/输出接口以及各种外围设备接口等功能于一芯片之中。
单片机实验原理是指通过实验来研究和验证单片机的工作原理和应用。
一、单片机的基本原理单片机原理的核心是其内部结构,它主要分为中央处理器(CPU)、存储器、输入/输出(I/O)接口和定时/计数器等模块。
1. 中央处理器(CPU)中央处理器是单片机的核心,负责执行各种指令和数据处理操作。
它包括运算器、控制器和寄存器等组成部分,通过解码和执行内存中的指令来实现计算和控制功能。
2. 存储器存储器用于存储程序和数据。
单片机通常具有不同类型的存储器,如闪存(Flash Memory)用于存储程序代码,静态随机存取存储器(SRAM)用于数据存储等。
3. 输入/输出接口(I/O)输入/输出接口用于与外部设备进行数据交换。
常见的输入设备包括键盘、按键、传感器等,输出设备包括LED、数码管、液晶显示屏等。
通过输入/输出接口,单片机可以与外界进行数据交互。
4. 定时/计数器定时/计数器广泛应用于计时、脉冲计数、频率测量等。
通过定时/计数器,单片机可以进行时间控制和精确计数。
二、单片机实验方法与步骤进行单片机实验需要按照一定的步骤进行,以确保实验的顺利进行和结果的准确性。
1. 实验目的与设计在进行单片机实验之前,首先确定实验的目的。
根据实验要求和目的,设计实验的硬件连接电路和软件程序。
2. 准备实验材料与工具根据实验设计,准备所需的单片机开发板、传感器、按键、显示屏等硬件设备,以及相应的软件工具,如编译器和下载工具等。
3. 连接硬件电路按照实验设计,将各个硬件设备按照连接图连接到单片机开发板上。
确保电路连接正确可靠。
4. 编写程序代码根据实验设计,使用相应的编程语言,编写实验所需的程序代码。
代码应该符合单片机的编程规范,并考虑实验的特殊要求。
5. 下载程序到单片机使用下载工具将编写好的程序代码烧录到单片机中。
《单片机原理及应用》软件开发工具Keil与虚拟仿真平台Proteus的使用实验实验目的(1)了解Keil和Proteus软件的基本特点和功能。
(2)学会使用Keil软件进行单片机中断应用和定时器/计数器应用的编程。
(3)学会使用Proteus软件进行单片机中断应用和定时器/计数器应用的原理图的绘制和程序实现。
(4)学会使用Keil和Proteus两种软件的联调。
实验指导一、Keil C51的使用1.创建项目编写一个新的应用程序前,首先要建立项目(Project)。
(1)在编辑界面下,单击菜单栏中的[Project],出现下拉菜单,再点击选择中的“New Project”。
(2)单击“New Project…”选项后,就会弹出“Create New Project”窗口。
在“文件名(N)”中输入一个项目的名称,保存后的文件扩展名为“.uvx”,即项目文件的扩展名,以后可直接单击此文件就可打开先前建立的项目。
在“文件名(N)”窗口中输入新建项目文件的名字后,在“保存在(I)”下拉框中选择项目的保存目录,单击“保存(S)”即可。
(3)选择单片机,单击“保存(S)”后,会弹出“Select Device for Target”(选择单片机)窗口,按照提示选择相应的单片机。
搜索“AT89C52”并选择。
(4)单击“确定”按钮后,会出现对话框。
如果需要复制启动代码到新建的项目,选择单击“是”。
如选择单击“否”,启动代码项“STARTUP. A51”不会出现,这时新的项目已经创建完毕。
2.新建文件新的项目文件创建完成后,就需要将用户源程序文件添加到这个项目中,添加用户程序文件通常有两种方式:一种是新建文件,另一种是添加已创建的文件。
(1)单击快捷按钮,这时会出现一个空白的文件编辑画面,用户可在这里输入编写的程序源代码。
(2)单击中快捷按钮,保存用户程序文件,这时会弹出窗口“Save As”的对话框,在“保存在(I)”下拉框中选择新文件的保存目录,这样就将这个新文件与刚才建立的项目保存在同一个文件夹下,然后在“文件名(N)”窗口中输入新建文件的名字,如果使用C51语言编程,则文件名的扩展名应为“.c”。
电子信息学院实验报告书课程名:《单片机原理及应用实验》题目:实验一数据排序实验软件实验实验类别:【设计】班级:学号:姓名:评语:(1)电路连接调试:□正确□基本正确□不正确(2)实验程序编写:□正确□基本正确□不正确(3)数据测量分析:□准确□基本准确□不准确成绩:□A □B □C □D ,指导教师:批阅时间:年月日1、实验内容或题目题目:数据排序实验实验内容:用冒泡法将内存RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。
2、实验目的与要求实验目的:(1)熟悉51指令系统,掌握程序设计方法;(2)掌握汇编语言设计和调试方法实验要求:将RAM 50H~5AH 中放入不等的数据,编写并调试一个排序子程序,按从小到大的次序重新排列。
3、实验仪器(1)DJ-598K三合一单片机微机试验仪1块(2)PC微机1台4、实验程序框图(供参考)6、实验程序(实验程序清单作为附件放在最后)7、实验步骤将RAM 50H~5AH 中放入不等的数据,运行实验程序后检查50H~5AH中的内容是否按从小到大的次序排列。
8、实验数据RAM 50H~5A中依次放置如下数据:55,66,AA,44,77,22,88,00,33,55,99;程序运行后RAM 50H~5A中的数据依次为:9、思考题本题中,如何修改程序把50H~5AH中内容从大到小排列?答:ORG 0000HMOV DPTR,#2000HMOVX A,@DPTRMOV B,ASWAP AANL A,#0FHINC DPTRMOVX @DPTR,ANC DPTRMOV A,BANL A,#0FHMOVX @DPTR,ASJMP $END<附件> 实验程序清单ORG 0000HLJMP QUEORG 09B0HQUE: MOV R3,#50HQUE1: MOV A,R3MOV R0,AMOV R7,#0AHCLR 00HMOV A,@R0QL2: INC R0MOV R2,ACLR CMOV 22H,@R0CJNE A,22H,QL3 SETB CQL3: MOV A,R2JC QL1SETB 00HXCH A,@R0INC R0QL1: MOV A,@R0DJN2 R7,QL2JB 00H,QUE1 LOOP: SJMP LOOPEND。
软件实验报告软件实验一一、实验目的1.熟悉软件实验的基本步骤和汇编程序的调试方法;2.了解内存块的移动方法;3.了解将十六进制数转换成ASCII值的方法。
二、实验原理用MOV和MOVX指令可以进行数据的赋值和移动,用循环可以完成大量数据的复制。
三、实验内容及步骤1、软件设置为模拟调试状态,在所建的Project文件中添加例程1的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。
打开CPU窗口,观察CPU窗口各寄存器的变化。
打开View菜单中的Memory Window,可以观察内部RAM、外部RAM的数据和程序存储器中的程序。
在Address窗口输入X:8000H后回车,观察8000H-800FF起始的256个字节单元的内容。
2、新建一个Project文件,添加例程2的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。
打开View菜单中的Memory Window,在Address 窗口的Memory#1输入X:3000H后回车,点击运行按钮后, 在Memory#2输入X:4000H后回车,观察外部RAM3000H和4000H中的内容。
3、添加将片内30H-3FH单元的内容复制片外片外1030H~103FH中的源程序,编译运行,观察比较30-3FH单元中的内容和片外1030H-103FH中的内容。
4、添加将30H、31H单元中的十六进制数,转换成ASCII码,存放到40H开始的4个单元中的源程序,编译运行,观察结果。
5、添加求内部RAM 30H—37H单元中8个无符号数的算术和的源程序,8个无符号数设定为25H,36H,4AH,65H,7FH,82H,9BH,1DH,观察39H,38H中的数字是否分别为02H,C3H。
四、实验结果1.步骤1的结果为8000H-80FFH的内容都为1.2.步骤2的结果为3000H起始的256个字节存储块与4000H起始的256个字节存储块各单元内数据对应相同。
单片机实习报告六篇单片机实习报告篇1一实习目的1. 通过对单片机小系统的设计、焊接、装配,掌握电路原理图及电子线路的基本焊接装配工艺、规范及注意事项;2. 通过对系统板的测试,了解系统板的工作原理及性能,掌握元器件及系统故障的排除方法;3. 掌握程序编制及调试方法,完成系统初始化、存储器操作、端口操作、键盘显示等程序的编制及调试(汇编语言、C语言均可);4. 通过单片机系统的组装,调试以及程序编制、调试及运行,与理论及实验的有机结合和指导教师的补充介绍,使学生掌握控制系统的工作原理、开发方法和操作方法。
5. 培养学生解决实际问题的能力,提高对理论知识的感性认识。
二实习意义通过本实习不但可以掌握单片机软、硬件的综合调试方法,而且可以熟练掌握电路原理图,激发对单片机智能性的探索精神,提高学生的综合素质,培养学生应用单片机实现对工业控制系统的设计、开发与调试的能力。
在制作学习过程中,不但可以掌握软、硬件的综合调试方法,而且可以使学生对单片机智能性产生强烈的欲望。
达到最大限度地掌握微机应用技术,软件及接口设计和数据采集与处理的技能,培养电综合实践素质的目的。
三系统基本组成及工作原理1 系统基本组成系统以单片机STC89C52作为控制核心,各部分基本组成框图如图1所示。
流水灯部分由单片机、键盘模块等组成;四位数码显示,编程实现30秒倒计时部分由单片机、键盘模块、液晶显示模块等组成;按键功能部分通过按键控制流水灯部分、四位数码显示部分;电子钟部分由单片机、键盘模块、液晶显示模块等组成;使用功能键实现相应的功能组合部分通过流水灯部分、30秒倒计时部分实现;模数转换部分由单片机、ADC0809转换模块、键盘模块、液晶显示模块等组成。
2 系统工作原理本设计采用STC89C52RC单片机作为本系统的控制模块。
单片机可把由ADC0809及单片机中的数据利用软件来进行处理,从而把数据传输到显示模块,实现阻值大小的显示。
单片机原理实验原告
单片机是一种集成了微处理器、存储器和各种输入输出接口的微型计算机系统,广泛应用于各种电子设备中。
在单片机的设计和应用过程中,原理实验起着非常关键的作用,可以帮助我们更深入地理解单片机的工作原理和应用方法。
本文将介绍几个常见的单片机原理实验,帮助读者更好地理解单片机技术。
我们来看一个简单的LED灯控制实验。
在这个实验中,我们使用单片机控制一个LED灯的亮灭。
接下来,我们来看一个温度传感器实验。
在这个实验中,我们使用单片机连接一个温度传感器,实时监测环境温度并将数据显示在数码管上。
通过这个实验,我们可以了解单片机如何与外部传感器进行通信,以及如何处理传感器采集到的数据。
这对于许多需要温度监控的应用非常有用。
我们还可以进行蜂鸣器控制实验。
在这个实验中,我们使用单片机控制一个蜂鸣器发出不同频率的声音。
通过编写不同频率的控制程序,我们可以实现不同的音乐效果或报警功能。
这个实验可以帮助我们了解单片机如何生成不同频率的脉冲信号,并控制外部设备。
除了以上这些实验,还有许多其他有趣的单片机原理实验,如数码管显示、按键输入、PWM输出等。
通过这些实验,我们可以逐步掌握单片机的原理和应用技巧,为以后的项目开发和实践打下坚实的
基础。
总的来说,单片机原理实验是学习和掌握单片机技术的重要途径,通过实际操作和实验验证,我们可以更深入地理解单片机的工作原理和应用方法。
希望本文介绍的几个实验能够对读者有所帮助,激发大家对单片机技术的兴趣,进一步深入学习和应用。
单片机原理实验报告班级:姓名:学号:实验日期:成绩:实验一基本操作实验目的:熟悉伟福仿真机软件的基本操作,熟悉MCS-51指令。
实验内容A:数据传送程序实验程序:实验步骤:(1)从起始地址开始全速运行程序Ⅰ,检查运行结果, 外部数据窗口中7000H~700FH单元的内容皆为00H;(2)按要求修改程序如Ⅱ,用单步/跟踪运行程序, 查看寄存器和外部数据窗口;(3)在PLUS处设置断点,从起始地址开始全速运行程序,查看寄存器和外部数据窗口;(4)清除断点,用运行到当前行方式将程序运行到PLUS的下一条指令,查看运行结果是否正确。
实验内容B: 1 , 当X>0时求符号函数Y= 0 , 当X=0时-1 , 当X<0时实验程序:实验步骤:(1)准备好三个有代表性的数据,分三次用单步/跟踪方式运行程序,注意PC指针的变化;当(40H)= _____(X>0) 时,ACC.7= 0 , 运行后(41H)= _01H_____(Y= 1),当(40H)= _00H____(X=0) 时,ACC.7= 0 , 运行后(41H)= __00H____(Y= 0),当(40H)= _____(X<0) 时,ACC.7= 1 , 运行后(41H)= FFH (Y=﹣1)(2)思考:能否用“JC POSI ”指令替代“JB ACC.7, POSI ”指令, 修改运行程序,验证结果。
注意“CJNE A, #00H, NZEAR”执行后CY位为0/1 ?单片机原理实验报告班级:姓名:学号:实验日期:成绩:实验二输入/输出控制实验实验目的:掌握单片机I/O口输入输出的控制方法,学会编写数码管的显示程序。
实验内容A:P1 口做输出口,接8只发光二极管L1~L8(高电平时发光二极管点亮),编写程序,使L1~L8流水闪烁。
ORG 0000HSTART: MOV A,#01HMOV R2,#08HLOOP:MOV P1,ALCALL DELAYRL ADJNZ R2,LOOPAJMP STARTDELAY:MOV R5,#40 ;延时1秒D1:MOV R6,#50D2:MOV R7,#248D3:DJNZ R7,D3DJNZ R6,D2DJNZ R5,D1RETEND实验内容B:P1 口做输入口,接拨动开关K1~K8。
实验一纯软件类模拟实验
1、拆字程序
1.实验方式:
模拟调试
2.实验目的:
(1) 掌握汇编语言设计方法;学习编辑程序的方法;
(2) 学习在调试环境中查看RAM、XDATA的方法;学习程序调试方法。
3.实验过程与结果:
(1)按流程图编写程序,可借KEIL集成调试环境中的编辑器输入程序,存盘并编译,按提示的内容进行排错。
(2)点击工具栏中“”打开Memory窗口,在“Address”位置上输入“X:8000H”,显示如上图1,把光标移到8000H的单元上,点鼠标右键,在开出的窗口中选择“Modify Memory at X:0X008000”,然后出现如图2的窗口,在这里边输入一个数据,如95H。
运行程序,观察外部数据存储器8001H,8002H单元数据变化。
程序代码:
org 0000h
mov dptr,#8000h
movx a,@dptr
mov b,a
swap a
anl a,#0fh
inc dptr
movx @dptr,a
inc dptr
mov a,b
anl a,#0fh
movx @dptr,a
loop:sjmp loop
end
截图:
2、拼字程序
1.实验方式:
模拟调试
2.实验目的:
(1) 掌握汇编语言设计方法;学习编辑程序的方法;
(2) 学习在调试环境中查看RAM、XDATA的方法;学习程序调试方法。
3.实验过程与结果:
(1)编写程序并编译通过。
(2)点击工具栏中“”打开Memory窗口,在“Address”位置上输入“X:8000H”,显示如上图1,把光标移到8000H的单元上,点鼠标右键,在开出的窗口中选择
“Modify Memory at X:0X008000”,然后出现如图2的窗口,在这里边输入一个
数据,如95H。
同样的方法,修改8001H单元的内容,运行程序,观察外部数据存储
器8003H单元中数据的变化。
程序代码:
org 0000h
mov dptr,#8000h movx a,@dptr anl a,#0fh swap a
mov b,a
inc dptr
movx a,@dptr anl a,#0fh
inc dptr
orl a,b
movx @dptr,a loop:sjmp loop end
截图:
3、数据区传送子程序
1.实验方式:
模拟调试
2.实验目的:
(1) 掌握汇编语言设计方法;学习编辑程序的方法。
(2) 学习在调试环境中查看和设置RAM、XDATA、R0-R7的方法。
学习程序调试方法。
3.实验过程与结果:
(1) 编写程序并编译通过。
(2) 进入调试状态, 点击工具栏中“”打开Memory窗口,在Memory1“Address”
位置上输入“X:8000H”,显示如上图1,把光标移到8000H的单元上,点鼠标右键,在开出的窗口中选择“Modify Memory at X:0X008000”,然后出现如图2的窗口,在这里输入一个数据,如95H。
同样方法,修改8001H-8010H单元内容。
(3) 在Memory2“Address”位置上输入“I:00H”,如上图3,把光标移到02H的单元上,
点鼠标右键,在开出的窗口中选择“Modify Memory at I:0X02”,出现“Enter Bytes
at I:0X02”窗口,在里边输入数据,如80H。
同样,修改03H单元为00H,04H单
元为80H,05H单元为80H,06H单元为00H,06H单元为0FFH。
(4) 单步执行程序:注意Memery1窗口中8080H开始地址上内容变化情况。
(5) 实时执行程序,中断程序执行,此时,请观察8080H-80FFH之间的内容是否与
8000H-807FH之间的内容一致。
程序代码:
org 0000h
loop0: mov dpl,r3
mov dph,r2
movx a,@dptr
mov dpl,r5
mov dph,r4
loop: movx @dptr,a
cjne r3,#0ffh,loopa
inc r2
loopa: inc r3
cjne r5,#0ffh,loop1
inc r4
loop1:inc r5
cjne r7,#00h,loop2
cjne r6,#00h,loop3
loop4:sjmp loop4
loop2:dec r7
sjmp loop0
loop3:dec r7
dec r6
sjmp loop0
end
截图:。