单片机后9个实验2
单片机实验二 拆字程序 实验报告
ORG 30H
00H
00H
30H
MOV A,30H
00H
30H里的数
30H里的数
ANL A,#0FH
30H里的数
高四位清零,低四位不变
高四位清零,低四位不变
MOV 22H,A
22H里的数
A高四位清零,低四位不变
A高四位清零,低四位不变
MOV A,30H
A高四位清零,低四位不变
30H里的数
30H里的数
将累加器A内容送片内RAM的20H单元
赋值:A=30H
将累加器A的高低位互换
将互换高低位后的累加器A高四位清零,低四位不变
将累加器A内容送片内RAM的21H单元
结束
单步运行程序,填写下论分析值
实际运行结果值
ORG 00H
00H
00H
00H
LJMP STAR
00H
00H
SWAP A
30H里的数
30H里的数高低位数转换
30H里的数高低位数转换
ANL A,#0FH
30H里的数高低位数转换
高四位清零,低四位不变
高四位清零,低四位不变
MOV 21H,A
21H里的数
A里面的数
A里面的数
SJMP $
00H
00H
00H
END
00H
00H
00H
思考
如何用断点方式调试本程序。
把光标指向语句左边,然后单击,会出现一个符号。同样的方法对需要在结束语句左边做同样的事情,然后全速运行,按下停止按钮,程序就会在相应的位置停止。
佛山科学技术学院
实验报告
课程名称实验项目拆字程序
专业班级姓名学号
单片机实验心得体会(通用9篇)
单片机实验心得体会(通用9篇)单片机实验篇1时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。
在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。
这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。
将所学知识运用到实践中,在实践中发现问题,强化理论知识。
现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。
第一次是借点亮LED灯来熟悉keil软件的使用和试验箱上器材。
第一次实验体现了一个人对新事物的接受能力和敏感度。
虽然之前做过许多种实验。
但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。
所以第一次试验相对失败。
鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。
在做实验中,第二个问题应该是准备不充分吧。
一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。
后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。
于是我便在上机之前把程序编好,拷到U盘,这样上机时只需调试,解决出现的问题。
这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。
发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。
三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。
于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。
但是编程是一件很严肃的事情,容不得半点错误。
于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。
这也能激发了学习的兴趣。
单片机(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. 培养单片机应用系统的设计能力。
4. 提高实际操作能力和团队协作精神。
二、实验内容本次实验实训主要围绕单片机应用系统展开,包括以下内容:1. 单片机最小系统搭建- 熟悉单片机的最小系统组成,包括复位电路、晶振电路、VCC、GND等。
- 掌握电路板焊接和调试方法。
2. LED流水灯实验- 学习使用51单片机进行简单的单片机应用系统硬件设计。
- 掌握单片机GPIO端口的使用方法。
- 通过编程实现LED灯的流水效果。
3. 按键控制LED灯实验- 学习使用按键输入控制LED灯的亮灭。
- 掌握按键去抖动技术。
4. LCD1602显示屏控制实验- 学习使用LCD1602显示屏显示文字和数字。
- 掌握LCD1602的初始化和显示控制方法。
5. 串口通信实验- 学习使用单片机串口进行通信。
- 掌握串口初始化和通信协议。
6. 温湿度传感器实验- 学习使用温湿度传感器获取环境温度和湿度信息。
- 掌握传感器数据读取和温度湿度计算方法。
7. 多功能密码锁实验- 学习使用单片机实现密码锁功能。
- 掌握按键输入、密码存储和匹配方法。
三、实验步骤1. 实验一:单片机最小系统搭建- 根据实验指导书,准备好实验器材,包括51单片机、电路板、焊接工具等。
- 按照电路图焊接电路,确保电路连接正确。
- 上电测试,观察LED灯是否亮起,确认电路工作正常。
2. 实验二:LED流水灯实验- 编写LED流水灯程序,使用51单片机GPIO端口控制LED灯的亮灭。
- 烧录程序到单片机,观察LED灯的流水效果。
3. 实验三:按键控制LED灯实验- 编写按键控制LED灯的程序,使用按键输入控制LED灯的亮灭。
- 烧录程序到单片机,测试按键控制功能。
4. 实验四:LCD1602显示屏控制实验- 编写LCD1602显示屏显示文字和数字的程序。
- 烧录程序到单片机,观察LCD1602显示屏的显示效果。
单片机实验报告
单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备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 引脚。
stc单片机9位偶校验
stc单片机9位偶校验(原创实用版)目录1.STC 单片机简介2.9 位偶校验的定义和原理3.STC 单片机中的 9 位偶校验实现方法4.9 位偶校验在 STC 单片机中的应用实例5.总结正文【1.STC 单片机简介】STC(Standard Type China)单片机是我国自主研发的一种嵌入式系统芯片,具有高性能、低功耗、多功能、易扩展等特点。
广泛应用于工业控制、通信、家电、医疗设备等领域。
【2.9 位偶校验的定义和原理】9 位偶校验是一种数据校验方法,用于检测数据传输或存储中的错误。
它是通过在数据位之间插入一个校验位,然后接收方在接收到数据后,通过计算校验位来判断数据是否正确。
如果计算出的校验位与接收到的校验位不一致,则说明数据出现了错误。
【3.STC 单片机中的 9 位偶校验实现方法】在 STC 单片机中,可以通过编程实现 9 位偶校验。
具体步骤如下:1.设置需要发送或接收的数据长度,包括数据位和校验位。
2.计算数据位中的偶校验值,将其添加到数据后面,形成一个新的数据。
3.在接收端,将接收到的数据进行偶校验计算,比较计算出的校验值和接收到的校验值,如果一致,则认为数据正确,否则认为数据错误。
【4.9 位偶校验在 STC 单片机中的应用实例】在 STC 单片机中,9 位偶校验常用于串行通信。
例如,单片机与外部设备(如液晶显示器、传感器等)之间通过串行通信传输数据,为了保证数据传输的正确性,可以采用 9 位偶校验方法。
发送方将数据和校验位一起发送给接收方,接收方收到数据后进行偶校验,如果校验位不一致,则说明数据传输出现错误。
【5.总结】STC 单片机作为一种我国自主研发的嵌入式系统芯片,具有较高的应用价值。
在单片机中实现 9 位偶校验,可以有效地检测数据传输或存储中的错误,保证系统的稳定性和可靠性。
MCS-51单片机实验集合(9个实验)
寄存器的初值。
附录A 实 验
二、实验器材 仿真器及附件(电源、仿真头、联机通讯电缆)、直流稳压
电源(最好是单片机专用电源)、逻辑笔、数字万用表各一套。
附录A 实 验
三、实验电路
+ 5V
U2 R1 2 1 7407
附录A 实 验
附录A 实 验
实验一 MCS-51单片机及其开发系统 (仿真器)的认识
实验二 MCS-51指令系统 实验三 MCS-51指令系统综合练习 实验四 中断实验 实验五 显示器与定时中断 实验六 串行通信 实验七 键盘扫描 实验八 A/D转换 实验九 D/A转换
附录A 实 验
实验一 MCS-51单片机及其开发系统(仿真器)的认识
一、实验目的 (1) 了解MCS-51单片机开发常用工具。 (2) 了解仿真器构成、功能及连接。 (3) 掌握MCS-51开发软件(汇编器)安装、功能及基本操作。 (4) 掌握源程序的编辑、汇编、运行(包括连续执行、单步执行和跟踪执
行)。 (5) 掌握汇编语言指令与机器语言指令之间的对应关系。 (6) 掌握ORG、DATA、BIT等伪指令的作用。 (7) 掌握在特定仿真开发系统下浏览、修改特殊功能寄存器、内部RAM、
25 24
23 22
21
U6
+ 5V
1
2 3
4
A0 Vcc A1 WP A2 SCL Vss SDA
8
7 6 P3.4 5 P3.5
33 pF 3.6864 MHZ
8 9C5 2 U4A
1 2
6
INT0
4
74LS21 5
2 4W C0 2
单片机实验程序及流程图
《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义三.程序清单及程序流程框图ORG 0000H Array LJMP MAINMAIN: MOV R0,#30HMOV R2,#10HCLR AA1: MOV @R0,AINC R0INC ADJNZ R2,A1MOV R0,#30HMOV R1,#40HMOV R2,#10HA2: MOV A, @R0MOV @R1,AINC R0INC R1DJNZ R2, A2MOV R1,#40HMOV DPTR ,#4800HMOV R2, #10HA3: MOV A,@R1MOVX @DPTR ,AINC R1INC DPTRDJNZ R2,A3MOV SP,#60HMOV R2,#10HMOV DPTR ,#4800HPUSH DPLPUSH DPHMOV DPTR,#5800HMOV R3,DPLMOV R4,DPHA4: POP DPHPOP DPLMOVX A,@DPTRINC DPTRPUSH DPLPUSH DPHMOV DPL,R3MOV DPH,R4 MOVX @DPTR,A INC DPTRMOV R3,DPLMOV R4,DPHDJNZ R2,A4MOV R0,#50HMOV DPTR,#5800H MOV R2,#10HA5: MOVX A,@DPTR MOV @R0,AINC R0 INC DPTR DJNZ R2,A5POP DPH POP DPL HERE: LJMP HEREEND《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义《单片机技术》实验多媒体讲义三.实验电路四.程序清单及流程图程序一ORG 0000HLJMP MAIN ORG 000BH LJMP IPTO MAIN: MOV SP, #30H MOV TMOD, #01HCLR 00H SETB EA SETB ET0 MOV TH0, #3CH MOV TL0, #0B0H MOV R1, #14H SETB TR0 MOV A, #0feH MOV P1, A NT: JNB 00H, NT RL A MOV P1, ACLR 00H LJMP NT IPTO: MOV TH0,#3CH MOV TL0,#0B0HDJNZ R1, TIOMOV R1, #14HSETB 00HTIO: RETIEND程序二只需将程序一中“RL A”改为“RR A”即可实现其功能。
单片机后9个实验2
实验八P1口应用实验方法一:1.实验任务做单一灯的左移右移,硬件电路如图4.4.1所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。
2.电路原理图3.系统板上硬件连线把“单片机系统”区域中的P1.0-P1.7用8芯排线连接到“八路发光二极管指示模块”区域中的L1-L8端口上,要求:P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。
4.程序设计内容我们可以运用输出端口指令MOV P1,A或MOV P1,#DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。
每次送出的数据是不同,具体的数据如下表1所示:ORG 0START: MOV R2,#8 MOV A,#0FEH SETB CLOOP: MOV P1,A LCALL DELAY RLC A DJNZ R2,LOOP MOV R2,#8 LOOP1: MOV P1,A LCALL DELAY RRC A DJNZ R2,LOOP1 LJMP START DELAY: MOV R5,#20 ; D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END方法二:P1.0---P1.7八个I/O 口接八只LED 发光管 口线状态为”1”LED 亮, 试编程实现每次点亮一只LED 并左循环连续点亮八只假设P1.0在左边。
CYC:MOV A,#01H LOP:MOV P1,A ACALL DELYRL A Array SJMP LOPDELY:MOV R6,#100MOV R7,#250LOP1:NOPNOPDJNZ R7,LOP1MOV R7,#250DJNZ R6,LOP1RET2、实验步骤1)打开PV32编程序。
单片机实验报告二 单片机IO口实验
南昌大学实验报告学生姓名:学号:专业班级:实验类型:⃞验证⃞综合⃞设计⃞创新实验日期:2019.4.16 实验成绩:实验二单片机I/O口实验(一)实验目的1.掌握单片机最小系统的构成,学习如何控制I/O口来驱动发光二极管,掌握移位和软件延时程序的编写。
2.熟练掌握STC型开发板的使用方法和注意事项。
3.掌握应用STC_ISP烧录过程;(二)设计要求利用51单片机及4个LED发光二极管,设计一个单片机流水灯程序,P4.7 /P4.6/ P1.6/ P1.7 来演示跑马灯。
其中流水灯的变化形式多样。
(三)实验原理STC实验箱单片机型号为IAP15W4K32S4-Student,其在线编程与在线仿真可由Keil uVision4集成开发环境和STC系列单片机在线可编程(ISP)电路实现:1.设置STC仿真器:运行STC-ISP在线编程软件,选择“keil 仿真设置”选项,如图1所示,单击“添加型号和头文件到keil中/ 添加STC仿真器驱动到keil中”,弹出“浏览文件夹”对话框,在浏览文件夹中选择keil的安装目录,单击“确定”按钮即完成添加。
根据所用芯片,单击“将IAP15W4K32S4-Student设置为仿真芯片”。
图12.Keil uVision4环境设置:选择菜单命令Project →Options for Target →Debug,选中“STC Monitor-51 Driver”,勾选“Load Application at Startup”选项和“Run to main()”选项,如图2所示。
单击图2右上角的“settings”按钮,弹出硬件参数设置对话框,如图2所示,根据仿真电路所使用的串口号(本机所用为串口5)选择串口端口,如图3所示:图2图33.STC15单击串口TTL电平通信模块结构如图4所示,P1.6、P1.7、P4.6、P4.7所连接的LED灯为共阳极LED,控制对应I/O口为低电平即可点亮LED。
单片机6个必做实验
第一部分软件实验实验一二进制到BCD码转换一、实验目的 123 1 2 3 0000001 00000010 000000111、掌握简单的数值转换算法2、基本了解数值的各种表达方法二、实验说明单片机中的数值有各种表达方式,这是单片机的基础。
掌握各种数制之间的转换是一种基本功。
我们将给定的一个二进制数,转换成二十进制(BCD)码。
将累加器A的值拆为三个BCD码,并存入RESULT开始的三个单元,例程A 赋值#123。
三、实验内容及步骤1、启动计算机,打开伟福仿真软件,进入仿真环境。
首先进行仿真器的设置,选择使用伟福软件模拟器。
2、打开TH2.ASM源程序进行编译,编译无误后,全速运行程序,打开数据窗口(DATA),点击暂停按钮,观察地址30H、31H、32H的数据变化,30H更新为01,31H更新为02,32H更新为03。
用键盘输入改变地址30H、31H、32H 的值,点击复位按钮后,可再次运行程序,观察其实验效果。
修改源程序中给累加器A的赋值,重复实验,观察实验效果。
3、打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
四、流程图及源程序1.源程序RESULT EQU 30HORG 0000HLJMP STARTBINTOBCD:MOV B,#100DIV ABMOV RESULT,A ;除以100得百位数 MOV A,BMOV B,#10DIV ABMOV RESULT+1,A ;余数除以10得十位数 MOV RESULT+2,B ;余数为个位数RETSTART:MOV SP,#40HMOV A,#123CALL BINTOBCDLJMP $END2.流程图实验四程序跳转表一、实验目的1、了解程序的多分支结构2、掌握多分支结构程序的编程方法二、实验说明多分支结构是程序中常见的结构,在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。
单片机原理及应用 实验
单片机原理及应用实验
单片机是指一种集成了微处理器核心、存储器、输入输出功能和系统时钟等组件的微型计算机系统。
它通常由中央处理器(CPU)、存储器、输入输出设备和系统总线等组成。
单片机的工作原理是通过执行储存在存储器中的程序指令来完成特定的计算和操作。
单片机的应用非常广泛,可以应用于各种电子设备中。
以下是一些典型的单片机应用:
1. 控制系统:单片机可以用于工业控制系统、家庭自动化系统等场景中,通过接收输入信号并根据预设的逻辑程序来控制输出设备的状态,实现各种控制功能。
2. 电子设备:单片机可以应用于各种电子设备中,如电视机、音响、空调等。
它可以接收远程控制信号,并根据信号进行相关功能的操作。
3. 信息处理:单片机可以用于数据处理和信息传输领域,如数据采集和传输、数据处理和分析等。
4. 通信系统:单片机可以用于各种通信系统中,如电话、传真机、无线通信设备等。
它可以通过与外部设备的通信来实现相应的通信功能。
5. 汽车电子系统:单片机可以应用于汽车电子系统中,如发动机控制单元(ECU)、车载娱乐系统、车载导航系统等。
它可
以控制汽车各个系统的运行和协调。
6. 医疗设备:单片机可以应用于各种医疗设备中,如心电图机、血压计、血糖仪等。
它可以接收生理信号,并进行相应的处理和分析。
总之,单片机在电子领域有着广泛的应用,可以实现各种控制、处理和通信功能。
它为电子设备的智能化和自动化提供了重要的支持。
单片机原理及应用实验
单片机原理及应用实验
单片机是一种微型计算机,它集成了中央处理器、内存、输入输出端口和其他外设接口等功能模块在一个芯片上。
单片机通过程序控制,能够完成各种处理任务,因此在很多电子产品中得到了广泛的应用。
单片机的工作原理是通过电子信号实现的。
当外部设备或传感器与单片机连接后,单片机可以通过输入输出端口收集、处理和输出数据。
单片机内部的中央处理器执行存储在其内部存储器中的程序,通过运算和逻辑操作控制外部设备或实现其他功能。
单片机的应用实验非常丰富。
下面介绍几个常见的实验:
1. LED闪烁实验:连接一个或多个LED到单片机的输出端口,通过编写程序控制LED的亮灭,实现不同的闪烁效果。
2. 温度测量实验:通过连接温度传感器到单片机的输入端口,采集传感器输出的模拟信号,进行模数转换后得到温度值,并通过输出端口显示或者通过通信接口传输到其他设备。
3. 蜂鸣器控制实验:连接蜂鸣器到单片机的输出端口,通过编写程序控制蜂鸣器的开关,实现不同的声音和音乐效果。
4. 数码管显示实验:连接数码管到单片机的输出端口,通过编写程序控制数码管的显示,实现数字、字符和动画等效果。
5. 无线通信实验:通过单片机的通信接口连接无线模块,实现与其他设备的无线数据传输,可以用于远程控制、传感器网络等应用。
以上是单片机原理及应用实验的简要介绍,单片机在电子技术领域有着广泛的应用前景,通过不断学习和实践,可以进一步掌握其原理和应用。
单片机实验报告范文
单片机实验报告范文单片机(Microcontroller)是指一种封装了微处理器(Microprocessor)、存储器和各种输入输出接口电路功能的集成电路。
单片机在电子设计与开发中有广泛应用,可以用于控制和监测各种系统和设备。
本实验报告将介绍在实验中使用单片机所进行的实验步骤和实验结果。
实验目的:1.理解单片机的基本工作原理和功能。
2.掌握单片机的编程和调试方法。
3.应用单片机实现简单的控制功能。
实验仪器和材料:1.单片机开发板2.计算机B数据线4.电源适配器5.LED灯6.麦克风模块7.温度传感器实验步骤:1.准备工作:将单片机开发板与计算机连接,接通电源适配器。
2.熟悉开发工具:安装单片机开发软件,并了解软件的基本功能。
3.学习编程语言:了解单片机的编程语言,例如C语言或汇编语言,并编写简单的程序。
4.硬件连接:将LED灯、麦克风模块和温度传感器连接至开发板的相应引脚。
5.编程实现:根据实验要求,编写相应的程序,控制LED灯、获取麦克风模块的声音信号或获取温度传感器的温度值。
7.实验结果:根据实验要求,记录LED灯的亮灭状态、麦克风模块的声音信号强度或温度传感器的温度数值。
实验结果:通过实验,我们成功地控制了LED灯的亮灭状态,获取了麦克风模块的声音信号强度和温度传感器的温度数值。
在编程实现过程中,我们学会了使用单片机编程语言,了解了一些常用的语法和函数。
在调试测试中,我们可以通过相关的输出或显示结果来判断程序的正确性,及时发现和修复错误。
实验总结:本实验通过单片机开发板和相应的硬件以及编程实现了简单的控制和监测功能。
通过实验,我们深入了解了单片机的基本工作原理和功能,并掌握了一些基本的编程和调试方法。
实验结果表明,我们成功实现了实验要求,并对单片机的应用有了更加深入的理解。
通过这次实验,我们不仅提高了动手实践能力,也增加了对科技发展的看法。
单片机实验报告 发光二极管
实验二:发光二极管
一、实验目的:
1、实现第一个发光二极管不停闪烁的功能。
2、先进行实验板上的LED1管脚定义:sbit led1=P1^0;//P1^0是我所购买的单片机实验板上的LED1管脚。
用led1代替管脚来控制工作,为了方便。
3、通过for循环控制闪烁。
二、实验原理
当P1^0端为低电平时,发光二极管工作,点亮。
当P1^0端为高电平时,发光二极管不工作,熄灭。
三、实验原理图
四、程序框图
五、实验源程序
#include <reg52.h>
sbit led1=P1^0;
unsigned int a;
void main()
{
while(1)
{
led1=0;
for(a=0;a<50000;a++);
led1=1;
for(a=0;a<50000;a++);
}
}
六、实验总结
在实验过程中,主要问题是在闪烁的问题上,需要了解for循环的作用。
单片机实训教程实验报告
一、实验目的1. 熟悉单片机的基本结构和工作原理。
2. 掌握单片机的编程方法,包括C语言和汇编语言。
3. 学习单片机的接口技术和应用系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验环境1. 单片机开发系统:STC89C52单片机开发板2. 编译器:Keil uVision3. 调试器:Proteus4. 实验指导书:《单片机实训教程》三、实验内容1. 单片机基本原理实验(1)实验目的:了解单片机的结构、工作原理和引脚功能。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与Proteus仿真软件;2)编写程序,设置单片机的工作模式;3)通过Proteus仿真软件观察单片机的运行状态。
(3)实验结果:通过仿真软件,观察到单片机能够按照程序的要求进行运行,实现了实验目的。
2. 单片机C语言编程实验(1)实验目的:掌握单片机的C语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写C语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
3. 单片机汇编语言编程实验(1)实验目的:掌握单片机的汇编语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写汇编语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
4. 单片机接口技术实验(1)实验目的:了解单片机的接口技术,掌握常用接口的编程方法。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与外部设备;2)编写程序,实现单片机与外部设备的通信;3)通过Proteus仿真软件观察通信过程。
(3)实验结果:通过仿真软件,观察到单片机与外部设备能够成功通信,实现了实验目的。
单片机6个必做实验
第一部分软件实验实验一二进制到BCD码转换一、实验目的1、掌握简单的数值转换算法2、基本了解数值的各种表达方法LJMP STARTBINTOBCD:MOV B,#100DIV ABMOV RESULT,A ;除以100得百位数MOV A,BMOV B,#10DIV ABMOV RESULT+1,A ;余数除以10得十位数MOV RESULT+2,B ;余数为个位数1、启动计算机,打开伟福仿真软件,进入仿真环境。
首先进行仿真器的设置,选择使用伟福软件模拟器。
2、打开TH4.ASM源程序进行编译,编译无误后,全速运行程序,打开数据窗口(DATA),点击暂停按钮,观察地址30H、31H、32H、33H的数据变化,30H更新为0,31H更新为1,32H更新为2,33H更新为3。
用键盘输入改变地址30H、31H、32H、33H的值,点击复位按钮后,可再次运行程序,观察其实验效果。
修改源程序中给30H~33H的赋值,重复实验,观察实验效果。
3、打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
FUNCTAB:AJMP FUNC0AJMP FUNC1AJMP FUNC2AJMP FUNC3START:MOV A,#0CALL FUNCENTERMOV A,#1CALL FUNCENTER用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。
1、使用单片机最小应用系统1模块。
关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块。
2、安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,打开仿真器电源。
3、启动计算机,打开伟福仿真软件,进入仿真环境。
首先进行仿真器的设置,选择仿真器型号、仿真头型号、CPU类型。
选择通信端口,点击测试串行口,通信成功既可退出设置,进行仿真。
单片机原理及应用实验的实验总结
单片机原理及应用实验的实验总结实验一:单片机基本原理•实验目的:了解单片机的基本原理•实验内容:–学习单片机的基本结构和工作原理–掌握单片机的基本操作指令•实验步骤:1.搭建实验电路,连接单片机与开发板2.下载并安装开发环境3.编写简单的程序,使用LED等外设进行实验4.烧录程序到单片机,观察实验结果•实验结果:通过实验,我们对单片机的基本原理有了初步了解,能够进行简单的实验操作。
实验二:单片机应用实验•实验目的:掌握单片机的应用实验方法•实验内容:–学习使用单片机控制各种外设–实现对按键、数码管、继电器等设备的控制•实验步骤:1.搭建实验电路,连接单片机与相应的外设2.编写相应的控制程序3.烧录程序到单片机,观察实验结果•实验结果:通过实验,我们能够灵活运用单片机控制各种外设,实现各种应用实验。
实验三:单片机通信实验•实验目的:学习单片机的通信原理与方法•实验内容:–学习串口通信、SPI通信等通信方式–实现单片机与计算机、其他外设的通信•实验步骤:1.搭建实验电路,连接单片机与计算机或其他外设2.编写相应的通信程序3.烧录程序到单片机,观察实验结果•实验结果:通过实验,我们掌握了单片机的多种通信方式,并能够实现单片机与计算机、其他外设的通信。
实验四:单片机应用开发•实验目的:学习单片机应用开发的方法与技巧•实验内容:–学习使用开发板、传感器等进行应用开发–实现具体的单片机应用程序•实验步骤:1.选择合适的开发板和传感器2.编写相应的应用开发程序3.烧录程序到单片机,观察实验结果•实验结果:通过实验,我们能够独立进行单片机应用开发,并实现具体的应用功能。
实验总结通过以上实验,我们对单片机的原理和应用有了全面的了解。
通过实际操作,我们掌握了单片机的基本操作指令、各种外设的控制方法、通信方式以及应用开发的技巧。
这些都为我们今后在单片机项目中的应用打下了坚实的基础。
同时,通过实验,我们培养了动手能力、团队协作精神和解决问题的能力。
单片机00-99计数器实验总结
单片机00-99计数器实验总结
经过这次单片机00-99计数器实验,我对单片机的使用以及数
字电路的基础知识有了更深入的理解。
以下是我的实验总结:
一、实验原理
1. 十进制计数器:通过编号为0~9的数码管显示数字0~9;
2. 二进制计数器:通过10个LED灯表示二进制数字0~9,实
现0~99的计数;
3. 基础知识:单片机端口的输入输出、计数器的基本原理等。
二、实验过程
1. 搭建电路:根据电路图搭建电路,通过开关完成输入控制,让LED灯一次代表1个二进制数,完成计数器的计数功能;
2. 程序设计:通过C语言完成单片机的程序设计,实现计数
器的功能,将计数器的输出显示在LED灯和数码管上;
3. 调试测试:连接单片机和电脑,通过Keil软件进行程序的
编译、下载和调试测试,保证计数器能够正常工作。
三、实验结果
经过多次测试,00-99计数器实验的结果良好,可以顺利计数,LED灯和数码管能够显示出正确的结果。
四、实验心得
1. 理论知识的重要性:在实验中,掌握了数字电路的基本操作,熟悉了单片机的应用,并理解了计数器的工作原理,这对提高理论知识的理解和使用能力有很大的帮助。
2. 注意电路的接线:在实际搭建电路的过程中,注意各个部分的连接,保证电路的正常运行,避免出现因接线不良等问题而导致的错误结果。
3. 合理的编写程序:在程序的编写过程中,需要考虑到各个部分的功能,保证程序的稳定运行,避免出现因程序逻辑错误而导致的计数显示错误等问题。
总之,通过这次实验,我收获了很多,培养了自己的动手实践能力和编程思维能力,同时也提高了自己的专业知识水平。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八P1口应用实验方法一:1.实验任务做单一灯的左移右移,硬件电路如图4.4.1所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。
2.电路原理图3.系统板上硬件连线把“单片机系统”区域中的P1.0-P1.7用8芯排线连接到“八路发光二极管指示模块”区域中的L1-L8端口上,要求:P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。
4.程序设计内容我们可以运用输出端口指令MOV P1,A或MOV P1,#DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。
每次送出的数据是不同,具体的数据如下表1所示:ORG 0START: MOV R2,#8 MOV A,#0FEH SETB CLOOP: MOV P1,A LCALL DELAY RLC A DJNZ R2,LOOP MOV R2,#8 LOOP1: MOV P1,A LCALL DELAY RRC A DJNZ R2,LOOP1 LJMP START DELAY: MOV R5,#20 ; D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END方法二:P1.0---P1.7八个I/O 口接八只LED 发光管 口线状态为”1”LED 亮, 试编程实现每次点亮一只LED 并左循环连续点亮八只假设P1.0在左边。
CYC:MOV A,#01H LOP:MOV P1,A ACALL DELYRL A Array SJMP LOPDELY:MOV R6,#100MOV R7,#250LOP1:NOP+NOPDJNZ R7,LOP1MOV R7,#250DJNZ R6,LOP1RET2、实验步骤1)打开PV32编程序。
汇编正确进入调试界面。
否则修改程序重新汇编直到通过。
2)打开P1口窗口给P1初赋值3)单步调试观察并记禄寄存器、内存的变化。
单步根踪延时程序排除死循环。
观察流水灯是否正确,判断程序是否正确。
若发现问题重返编辑界面,修改、存盘、汇编。
返回调试界面调试通过。
单步调试时可将延时程序缩短令(R6)=1,(R7)=1,4)设断点调试、延时程序恢复为0.5秒、记禄结果。
5)若每次点亮两个灯修改程序再做一遍3.实验报告1.写出程序流程图、程序清单2.根据记渌数据给程序加注解3.调试心得实验九多分支程序设计1、实验内容用P3.0、P3.1控制流水灯的变化P3.0、P3.1=00 灯全灭P3.0、P3.1=01 单灯亮左循环P3.0、P3.1=10 单灯亮右循环P3.0、P3.1=11 双灯亮左循环灯亮的时时为1秒。
用软件延时实现。
*用T0定时选作。
2、实验电路3、实验步骤1)打开PV32编程序。
汇编正确进入调试界面。
否则修改程序重新汇编直到通过。
2)打开P0、P1窗口给3)调试灯全灭、单灯亮左循环、单灯亮右循环、双灯亮左循环程序观察并记禄寄存器、内存的变化。
判断程序是否正确。
若发现问题重返编辑界面,修改、存盘、汇编。
返回调试界面调试通过。
4) 设断点调试主程序观察并记禄寄存器、内存的变化。
判断程序是否正确。
若发现问题重返编辑界面,修改、存盘、汇编。
返回调试界面调试通过。
首先将P1.0、P1.1置00观察P2窗口灯是否全灭,然后改变P1.0、1.1的设置观察流水灯运行是否正确。
5)流水灯运行中改变P1.0、1.1看流灯能否随之变化。
若执行正确程序通过。
否则在每个流水子程序中加入读P1口散转子程序。
3.实验报告1.写出主程序流程图、子程序流程图、程序清单2.根据记渌数据给程序加注解3.调试心得实验十中断实验1、实验内容用T0产生0.5秒定时,定时到,P1口的八个LED两两循环点亮。
T0工作在方式1、允许中断2、实验电路3、实验步骤1)打开PV32编程序。
汇编正确进入调试界面。
否则修改程序重新汇编直到通过。
2)打开P1、T0窗口3) 设断点调试观察并记禄寄存器、内存的变化。
判断程序是否正确。
若发现问题重返编辑界面,修改、存盘、汇编。
返回调试界面调试通过。
○1首先在T0中断入口地址设断点,全速执行若能到达断点证明中断过程正确○2单步执行若能到达中断子程序正确,继续单步执行观察R4的变化,R4-1=0定时时到修做循环代码,观察亮灯是否左移2位。
否则修改中断子程序。
○3消去中断入口地址断点,重新在中断子程序中(送P1口显示语句处)设断点。
全速执行观察灯是否左移2位,每全速执行一次灯左移2位,4次循环一遍。
可以从PV32的P1窗口观察灯的变化。
4)PV32调试通过后在实验仪上接好电路,打开调试通过的程序、汇编、传输、运行。
若实验结果正确,修改程序重新调试。
5) 若没有开发系统,完成1)2)3)之后将程序考贝到EPROM/FLASH上电执行。
若执行结果正确开发成功,否则重来直到成功。
4、实验报告1)画出接口电路图2)画出程序流程图3)记录中断执行的过程4)源程序清单N实验十一广告灯(利用取表方式)1.实验任务利用取表的方法,使端口P1做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒),一直循环下去。
2.电路原理图3.系统板上硬件连线把“单片机系统”区域中的P1.0-P1.7用8芯排线连接到“八路发光二极管指示模块”区域中的L1-L8端口上,要求:P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。
4.程序设计内容在用表格进行程序设计的时候,要用以下的指令来完成(1).利用MOV DPTR,#DATA16的指令来使数据指针寄存器指到表的开头。
(2).利用MOVC A,@A+DPTR的指令,根据累加器的值再加上DPTR的值,就可以使程序计数器PC指到表格内所要取出的数据。
因此,只要把控制码建成一个表,而利用MOVC A,@A+DPTR做取码的操作,就可方便地处理一些复杂的控制动作,取表过程如下图所示:5.汇编源程序ORG 0START: MOV DPTR,#TABLELOOP: CLR AMOVC A,@A+DPTRCJNE A,#01H,LOOP1JMP STARTLOOP1: MOV P1,AMOV R3,#20LCALL DELAYINC DPTRJMP LOOPDELAY: MOV R4,#20D1: MOV R5,#248DJNZ R5,$DJNZ R4,D1DJNZ R3,DELAYRETTABLE: DB 0FEH,0FDH,0FBH,0F7HDB 0EFH,0DFH,0BFH,07FHDB 0FEH,0FDH,0FBH,0F7HDB 0EFH,0DFH,0BFH,07FHDB 07FH,0BFH,0DFH,0EFHDB 0F7H,0FBH,0FDH,0FEHDB 07FH,0BFH,0DFH,0EFHDB 0F7H,0FBH,0FDH,0FEHDB 00H, 0FFH,00H, 0FFHDB 01HEND实验十二单片机与报警电路的设计声音是由震动所产生的,一定频率的震动就产生了一定频率的声音。
本实验是喇叭里发出滴答一长一短的报警声音,送出的端口是p1.0输出1khz,2khz变频信号报警,每一秒交换一次。
接线方法:用一根1PIN数据线一端插入CPU部分P1口的P1.0,另外一端插入小喇叭部分的输入端JP16org 1000hdlv: mov r2,#08h;1kz持续时间dlv1:mov r3,#0fahdlv2:cpl p1.0;输出1khz方波lcall d5ms;调用延时程序1djnz r3,dlv2;持续1秒djnz r2,dlv1mov r2,#10h;2khz 持续时间 dlv3:mov r3,#0fahdlv4:cpl p1.0;输出2khz 方波 lcall d25ms;调用延时程序2 djnz r3,dlv4 djnz r2,dlv3sjmp dlv;反复循环d5ms:mov r7,#0ffh;延时子程序1 loop:nop nop djnz r7,loopretd25ms:mov r6,#0ffh;延时子程序2 lin:djnz r6,lin ret end实验13、串并转换实验一、实验目的1、掌握8031串行口方式0工作方式及编程方法。
N2、掌握利用串行口扩展I/O通道的方法。
二、实验内容利用0831串行口和串行输入并行输出移位寄存器74LS164,扩展一个8位输出通道,用于驱动一个数码显示器,在数码显示器上循环显示从8031串行口输出的0—9这10个数字。
三、实验说明串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。
在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率1/ 12。
由软件置位串行控制寄存器(SCON)的REN后才能启动串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。
待8位数据输完后,硬件将SCON寄存器的TI位置1,TI必须由软件清零。
四、实验接线图五、实验程序框图六、实验步骤①将S/P区DATA插孔接BUS 3区P3.0(RXD)插孔。
②将S/P区CLK插孔接BUS 3区P3.1(TXD)插孔。
③将S/P区CLR插孔接MP区/SP插孔,上电时对164复位。
④在DVCC系统处于仿真1态即“P.”状态下,将地址000B内容改为E1B1,作为定时器0的入口地址。
⑤将状态切换为“P.....”状态,从地址0790H开始连续执行程序。
⑥在扩展的一位数码管上循环显示0—9这10个数字。
源程序文件名:H57S.ASMTIMER EQU 01HORG 000BHAJMP INT_T0ORG 0790HSTART: MOV SP,#53HMOV TMOD,#01HMOV TL0,#00HMOV TH0,#4BHMOV R0,#0HMOV TIMER,#20MOV SCON,#00HCLR TICLR RISETB TR0SETB ET0SETB EASJMP $INT_T0: PUSH ACCPUSH PSWCLR EACLR TR0MOV TL0,#0HMOV TH0,#4BHSETB TR0DJNZ TIMER,EXITMOV TIMER,#20MOV DPTR,#CDATAMOV A,R0MOVC A,@A+DPTRCLR TICPL AMOV SBUF,AINC R0CJNE R0,#0AH,EXITMOV R0,#0HEXIT: SETB EAPOP PSWPOP ACCRETICDATA: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09HEND实验14、继电器控制一、实验目的掌握用继电器控制的基本方法和编程。