51单片机课程设计实验报告
(完整word版)51单片机课程设计实验报告
51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机学习板2.要求:(1)了解并能识别学习板上的各种元器件,会读元器件标示;(2)会看电路原理图;(3)制作51单片机学习板;(4)学会使用Keil C软件下载调试程序;用调试程序将51单片机学习板调试成功。
二、总原理图及元器件清单1.总原理图2.元件清单三、模块电路分析1. 最小系统:单片机最小系统电路分为振荡电路和复位电路,振荡电路选用12MHz 高精度晶振, 振荡电容选用22p和30p 独石电容;图 1 图 2复位电路使用RC 电路,使用普通的电解电容与金属膜电阻即可;图 3当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST为高电平,之后随着时间推移电源负极通过电阻对电容放电,放完电时RST为低电平。
正常工作为低电平,高电平复位。
2. 显示模块:分析发光二极管显示电路:图 4发光二极管显示电路分析:它是半导体二极管的一种,可以把电能转化成光能,常简写为LED。
发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
当给发光二极管加上正向电压后,产生自发辐射的荧光。
图中一共有五个发光二极管其中一个为电源指示灯,当学习板通电时会发光以指示状态。
其余四个为功能状态指示灯,实际作用与学习板有关分析数码管显示电路图 5数码管显示电路分析:数码管按段数分为七段数码管和八段数码管,图中所用为八段数码管(比七段管多了一个小数点显示位),按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管.共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
数码管主要用来显示经电路板处理后的程序的运行结果。
图中使用了八个八段数码管,可以显示八个0-15的数字。
使用数码管可以直观的得到程序运行所显示的结果.也可以显示预置在学习板上的程序,主要通过16个开关来控制。
51单片机实验报告(共五则)
51单片机实验报告(共五则)第一篇:51单片机实验报告51单片机实验报告实验一点亮流水灯实验现象 Led灯交替亮,间隔大约10ms。
实验代码#include 〈reg51、h> void Delay10ms(unsigned int c);voidmain(){)1(elihwﻩ{ ﻩP0= 0x00;Delay10ms(50);;ffx0 =0Pﻩﻩ;)05(sm01yaleDﻩ } } void Delay10ms(unsigned int c){unsigned char a,b;for(;c>0;c-—){)——b;0〉b;83=b(rofﻩ{ ﻩﻩfor(a=130;a〉0;a--);}ﻩﻩ}} 实验原理W W hi i le(1)表示一直循环。
循环体内首先将P0 得所有位都置于零,然后延时约5 5 0*10=500ms,接着 0 P0 位全置于 1 1,于就是 D LED 全亮了。
接着循环,直至关掉电源..延迟函数就是通过多个for r 循环实现得。
实验 2 流水灯(不运用库函数)实验现象起初 led 只有最右面得那一个不亮,半秒之后从右数第二个led也不亮了,直到最后一个也熄灭,然后 led 除最后一个都亮,接着上述过程 #includemain(){unsigned char LED;LED = 0xfe;while(1){ ﻩ;DEL = 0PﻩDelay10ms(50);00x0 == 0P(fiﻩ {;1〈〈 DEL = DELﻩ)ﻩ;efx0 = DELﻩ} ﻩ}ﻩ} void Delay10ms(unsigned int c){unsigned char a,b;for(;c>0;c-—){)—-b;0〉b;83=b(rofﻩ{ ﻩﻩﻩ;)--a;0>a;031=a(rofﻩ} ﻩ} ﻩ} 实验原理这里运用了C语言中得位运算符, , 位运算符左移, , 初始值得二进制为1111 1 110, 之后左移一次变成1111 1 100 0,当变成00000 0000 时通过 f if 语句重置 1 1 11 1 11110、延迟函数在第一个报告已经说出了,不再多说..实验 3 流水灯(库函数版)实验现象最开始还就是最右边得一个不亮,然后不亮得灯转移到最右边得第二个,此时第一个恢复亮度,这样依次循环.实验代码#include 〈reg51、h> #include 〈intrins、h〉void Delay10ms(unsigned int c); void main(void){unsigned char LED;;EFx0 = DELﻩ)1(elihwﻩ{ ﻩP0 = LED;;)05(sm01yaleDﻩﻩ;)1,DEL(_lorc_ = DELﻩ} ﻩ} void Delay10ms(unsigned in t c){unsigned chara, b;for(;c〉0;c——){ ﻩfor(b=38;b〉0;b—-){ ﻩﻩ;)-—a;0〉a;031=a(rofﻩ} ﻩ}}实验原理利用头文件中得函数,_cro l_(,), 可以比位操作符更方便得进行 2 2 进制得移位操作, , 比位操作符优越得就是,该函数空位补全时都就是用那个移位移除得数据, , 由此比前一个例子不需要f if 语句重置操作..数码管实验实验现象单个数码管按顺序显示0-9与 A-F。
51单片机实习报告
51单片机实习报告
本次单片机实习内容主要包括对单片机的基本原理和应用进行学习,并完成了一些简单的实操项目,以及对实习过程中遇到的问题进行分析和解决。
在实习的过程中,我主要学习了单片机的基本结构、工作原理、编程语言和应用技巧等知识,并完成了几个简单的实操项目,如LED灯控制、数码管显示以及按键输入等。
通过这些项目的实操,我对单片机的应用有了更深入的理解和掌握。
在实习过程中,我遇到了一些问题,如编程逻辑不清晰、硬件连接错误等,导致项目无法正确运行。
针对这些问题,我及时查阅资料,向同学和老师请教,并通过反复排查和调试最终解决了这些问题。
通过这些问题的解决,我对单片机的应用有了更深入的理解和掌握,也提高了自己的问题分析和解决能力。
总的来说,本次单片机实习让我对单片机有了更深入的了解和掌握,提高了自己的实操能力和问题解决能力,在未来的学习和工作中,我会更加努力地学习和应用单片机相关知识,为将来的成长打下良好的基础。
51单片机课设报告
目录1、任务书 (2)2、课程设计目的 (2)3、设计方案 (2)4、硬件设计 (3)5、软件设计 (5)6、系统仿真与调试 (5)7、心得体会 (7)附录:程序代码 (8)1、任务书设计题目:E2PROM数据传送要求:单片机I/0口接4个开关、1个数码管和24C02,两个开关用于改变数码管上的显示数字,1个开关用于将数码管上的值写入到24C02,另外1个开关用于将存储在24C02中的值读取上来,并在数码管中显示。
2、课程设计目的《MCS-51单片机》课程设计是与《MCS-51单片机》课程相配套的实践教学环节。
《MCS-51单片机》是一门实践性很强的专业基础课,通过课程设计,达到进一步理解单片机的硬件、软件和综合应用方面的知识,培养实践能力和综合应用能力,开拓学习积极性、主动性,学会灵活运用已经学过的知识,并能不断接受新的知识。
培养大胆发明创造的设计理念,为今后就业打下良好的基础。
通过课程设计,掌握以下知识和技能:1.单片机应用系统的总体方案的设计;2.单片机应用系统的硬件设计;3.单片机应用系统的软件程序设计;4.单片机开发系统的应用和调试能力3、设计方案:图1 设计方案基本功能:单片机扫描四个按键(分别为Ctrl、Shift、R、W)的状态,当Ctrl键按下时数码管显示的数字加1(当数字为9时保持不变);当Shift键按下时数码管显示的数字减1(当数字为0时保持不变);当R键按下时单片机从24C02中读取数据并在数码管中显示;当W键按下时单片机将数码管中显示的数字保存到24C02。
附加功能:当Ctrl和R按下时,启动定时器,数字0-9将每隔1s循环显示在数码管;当Ctrl和W按下时,定时器停止,数码管只显示当前数字;当Shift和R按下时,数码管当前显示的数字将按笔画显示出来并闪烁;当Shift和W按下时,数码管恢复原来的显示状态。
4、硬件设计:本系统的硬件部分主要由键盘、显示和运算部分组成。
51单片机课程设计报告
51单片机课程设计报告一、课程目标知识目标:1. 理解51单片机的硬件结构、工作原理及其功能特点;2. 学会使用51单片机的指令系统进行程序设计;3. 掌握51单片机与外围电路的接口技术,能实现简单的硬件控制功能;4. 了解51单片机在嵌入式系统中的应用及发展趋势。
技能目标:1. 能够运用C语言编写51单片机的程序,实现基础控制功能;2. 能够运用仿真软件对51单片机程序进行调试,分析并解决简单问题;3. 能够设计简单的51单片机硬件系统,进行电路连接和功能测试;4. 培养学生的动手能力、创新能力和团队协作能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学习热情;2. 培养学生严谨、务实的科学态度,提高自主学习能力;3. 培养学生关注社会发展,了解科技在生活中的应用,增强社会责任感;4. 培养学生团队合作精神,尊重他人意见,善于沟通交流。
课程性质:本课程为实践性较强的电子技术课程,以51单片机为核心,结合硬件和软件,培养学生的实际操作能力和创新能力。
学生特点:学生具备一定的电子技术基础知识,对单片机有一定了解,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,提高学生的实际操作能力和解决问题的能力。
通过课程学习,使学生能够独立完成简单的51单片机控制系统设计。
二、教学内容根据课程目标,教学内容分为以下几个部分:1. 51单片机硬件结构及原理- 熟悉51单片机的内部结构、引脚功能;- 掌握51单片机的工作原理及性能特点。
2. 51单片机指令系统与编程- 学习51单片机的指令集,理解各指令的功能和使用方法;- 掌握C语言在51单片机编程中的应用。
3. 51单片机外围接口技术- 学习51单片机与常见外围电路(如LED、LCD、键盘等)的接口技术;- 掌握外围设备的控制原理及编程方法。
4. 仿真软件的使用- 学习使用Keil、Proteus等仿真软件进行51单片机程序设计和调试;- 掌握仿真软件的操作方法,提高程序调试效率。
51单片机实验报告
51单片机实验报告
实验目的:
本实验旨在让学生熟悉并掌握51单片机的基本知识和编程能力,进一步了解单片机的原理和应用。
实验内容:
本次实验主要包括以下几个内容:
1.熟悉51单片机的基本原理和结构;
2.学习51单片机的汇编语言编程;
3.使用51单片机进行简单的I/O控制;
4.学习串口通信的原理和编码。
实验步骤:
1. 配置开发环境:安装Keil C编译器和Proteus电路仿真软件;
2.学习汇编语言编程基础知识,包括寄存器的使用、指令的执行等;
3.编写第一个程序:实现将一个数字显示在数码管上;
4.学习I/O控制:通过按键来控制LED灯的亮灭;
5.学习串口通信:通过串口与计算机进行通信,实现数据的发送与接收。
实验结果:
在实验过程中,我成功编写了几个基本的程序,并在Proteus中进行
了仿真。
通过按键来控制LED灯的亮灭,也成功地使用串口进行了数据的
发送和接收。
通过实验,我更深入地理解了51单片机的工作原理和编程
方法。
实验总结:
通过本次实验,我对51单片机有了更深的理解,并掌握了一些基本
的编程技巧。
通过实际操作,我培养了自己的动手能力和问题解决能力。
作为一门基础课程,51单片机为我今后的学习打下了坚实的基础。
我相信,在今后的学习和实践中,我能够更加熟练地运用51单片机进行各种
应用和项目的设计。
该报告共计1200字。
参考资料:
[1]《单片机技术与应用》.吕春阳、吕立民、钱锋.电子工业出版社,2024年。
C51单片机实验报告
C51单片机实验报告
一、实验内容
本次实验的目的是实现用C51单片机实现简易的闹钟功能:即用户可以设置闹钟时间,当到达闹钟的设定时间的时候,单片机会控制LED灯或者蜂鸣器发出报警信号来提醒用户。
二、实验任务
本次实验任务如下:
1.使用C51单片机读取外部时钟的时间。
2.实现从按键输入闹钟设定的时间。
3.使用定时器实现任务调度,即在每个时刻检查一次外部时钟的时间是否到达闹钟的设定时间,如果到达设定时间,则控制LED灯或者蜂鸣器发出报警信号。
三、实验过程
1.硬件部分:本实验使用的硬件是硬件C51单片机,它具有单片机主频11.059MHz,外部内存2K和内部RAM 128字节。
本次实验采用的C51单片机核心是AT89C51,它具有4K字节的Flash存储器,它有128个8位I/O口和3个定时器/计数器。
本次实验使用到的外设有:LCD1602显示模块、4个4*4的数字键盘、AT24C02的IIC从机存储器、LED灯和蜂鸣器。
2.软件部分:本次实验使用的软件工具是Keil C51编译器,使用它来编写C51单片机程序。
c51单片机实验报告
c51单片机实验报告C51单片机实验报告引言C51单片机作为一种常见的微控制器,广泛应用于各种电子设备中。
本实验报告旨在介绍C51单片机的基本原理、实验过程和结果分析,以及对其在实际应用中的潜力进行探讨。
一、C51单片机的基本原理C51单片机是一种高度集成的微处理器,由中央处理器、存储器、输入输出接口和时钟电路等组成。
其核心是Intel公司开发的8051系列单片机,具有高性能、低功耗和易于编程等优点。
C51单片机采用汇编语言进行编程,可以实现各种功能,如数据处理、控制和通信等。
二、实验过程本次实验选取了LED灯的控制作为示例,通过C51单片机控制LED灯的亮灭来展示其基本功能。
1. 实验材料准备准备工作包括C51单片机开发板、连接线、电源和LED灯等。
确保所有材料齐全并连接正确。
2. 编写程序使用汇编语言编写程序,通过控制特定的IO口来控制LED灯的亮灭。
程序需考虑到时序和逻辑关系,确保正确的控制信号发送到LED灯。
3. 烧录程序将编写好的程序通过烧录器烧录到C51单片机中,确保程序能够正确运行。
4. 运行实验将电源接入开发板,开启电源。
通过按下相应的按键或其他输入方式,触发C51单片机发送控制信号,从而控制LED灯的亮灭。
三、实验结果分析经过实验,我们成功地实现了通过C51单片机控制LED灯的亮灭。
通过改变程序中的控制信号,我们可以实现不同的灯光效果,如闪烁、流水灯等。
这说明C51单片机具有良好的可编程性和控制能力。
此外,我们还发现C51单片机具有较高的稳定性和可靠性。
在实验过程中,单片机能够稳定地工作,并根据程序的要求正确地控制LED灯的状态。
这为其在实际应用中提供了良好的基础。
四、C51单片机在实际应用中的潜力C51单片机作为一种常见的微控制器,广泛应用于各种电子设备中。
其可编程性和控制能力使得它在工业自动化、家电控制、通信设备和电子产品等领域有着广阔的应用前景。
例如,在工业自动化领域,C51单片机可以用于控制机器人、自动化生产线和仪器设备等。
51单片机实验报告
51单片机实验报告51单片机是一款非常流行的单片机芯片,被广泛应用于各种电子产品中。
在这篇文章中,我们来探讨一下51单片机的一些实验,以及对于这些实验的理解和体会。
第一部分:实验内容我们进行的51单片机实验主要包括以下几个方面:1. 闪烁LED灯实验:这个实验是入门级别的,主要是为了熟悉51单片机的基本操作和编程方法。
在这个实验中,我们使用了一块51单片机开发板和几个LED灯,通过控制单片机的IO口信号来实现LED灯的闪烁。
2. 按键控制LED实验:这个实验是在闪烁LED实验的基础上进一步延伸的,主要是为了了解如何通过外部按键来控制单片机的输出。
在这个实验中,我们运用了单片机的外部中断和定时器等功能,实现了按键控制LED灯的亮灭。
3. LCD1602显示屏实验:这个实验是为了让我们熟悉如何在51单片机中使用LCD1602液晶显示屏。
在这个实验中,我们使用了I2C总线来与LCD1602进行通信,通过向LCD1602发送命令和数据来实现字符的显示。
4. 电机驱动实验:这个实验是让我们了解如何使用51单片机来控制电机的运转。
在这个实验中,我们运用了单片机的PWM控制功能,通过改变PWM波的占空比来控制电机的转速和方向。
第二部分:实验体会通过这些实验,我对于51单片机有了更深刻的理解和体会。
在这里,我想分享一下我的一些体会。
首先,我认为51单片机具有非常强大的控制能力和灵活性。
通过编写程序,我们可以控制单片机的各种IO口、定时器、PWM输出等功能,从而实现各种复杂的控制任务。
同时,由于其能够直接操作硬件,所以可以快速响应各种外部事件,对实时性要求较高的应用场景有很好的适应性。
其次,我发现在51单片机开发中,良好的软硬件结合非常重要。
由于51单片机具有丰富的外部中断、定时器等功能,因此我们可以很好地利用这些硬件资源来实现各种功能。
同时,在编写程序时,我们也需要充分发挥51单片机的硬件优势,例如使用定时器来完成计时任务,使用外部中断来完成输入检测等等。
51单片机实验报告
51单片机实验报告
根据所提供的信息,我可以为您提供一个基本的51单片机实验报告的样例。
以下是一个可能的实验报告结构:
实验名称:51单片机的基本使用
实验目的:掌握51单片机的基本使用方法和功能。
实验器材:51单片机开发板、USB接口线、计算机、电源。
实验步骤:
1. 连接电源,将开发板与计算机连接。
2. 打开软件IDE,新建一个工程。
3. 在工程中编写代码,实现将LED灯进行亮灭交替的功能。
4. 将编写好的代码下载到51单片机开发板中。
5. 检查电路连接是否正确,确保没有问题。
6. 启动51单片机开发板,观察LED灯的亮灭情况。
7. 记录实验结果。
8. 关闭开发板和计算机。
实验结果:
通过编写的代码,成功地实现了LED灯的亮灭交替功能。
LED灯每隔一段时间亮起,然后又灭掉,不断循环。
实验分析:
实验结果表明,51单片机因其高性价比和广泛应用领域,可以使用简单的代码实现一些基本功能。
在这个实验中,我们使
用了51单片机的GPIO口控制LED灯的亮灭,通过不断循环的方式实现了交替闪烁的效果。
实验总结:
通过这次实验,我了解了51单片机的基本使用方法,学会了如何编写简单的代码来控制外部设备。
这对于我以后的学习和应用起到了很好的基础作用。
51单片机实验报告
51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。
本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。
二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。
为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。
然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。
三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。
本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。
通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。
四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。
本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。
通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。
五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。
本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。
通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。
六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。
本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。
通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。
七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。
本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。
通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。
八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。
51单片机实验报告
51单片机实验报告51单片机是一种广泛应用于控制领域的微型处理器。
本文将介绍我所进行的两个基础实验,包括实验目的、实验内容、实验原理和实验结果。
实验一——点亮LED灯实验目的:了解51单片机的基本接口和编程方法;学会使用单片机的开发工具和调试器;掌握51单片机控制LED灯的方法。
实验内容:将LED灯连接至51单片机的P1.0引脚,并进行控制。
编写程序,使得LED灯能稳定地点亮。
实验原理:单片机可通过其IO口控制外部设备,使用高低电平来控制LED灯的开关。
P1.0是51单片机的一个输出端口,可通过赋予其电平状态从而控制LED的点灯与熄灭。
当单片机输出高电平时,LED灯会点亮,否则会熄灭。
实验结果:经过编写程序和调试后,成功实现了LED灯的点亮和熄灭。
按下按键即可改变LED的状态。
实验二——数码管计数器实验目的:了解51单片机的数字口和中断响应机制;掌握编写定时器中断程序的方法;学会使用键盘进行输入和外接数码管进行输出。
实验内容:通过对8位数码管控制台的编程,实现对数字的控制,使用定时器中断实现计数器功能,加深对51单片机中断响应机制的理解。
实验原理:单片机中断请求源包括外部中断源、定时器/计数器中断源以及串口中断源。
本次实验使用定时器中断,可实现一定时间间隔内数字的加减;使用键盘进行输入,采用P3口中断请求源实现按键响应,输出则通过数码管接口外设实现。
实验结果:通过定时器计数器、中断响应和数码管接口外设,成功实现一组数字的计数。
按下按键即可进行数字的加减,并通过数码管显示出来。
结语:本文所述实验为51单片机的基础操作,相信可以为读者提供实用的参考和帮助,帮助大家更加深入地理解51单片机的基础知识和使用方法。
51单片机实验报告总结
51单片机实验报告总结51单片机实验是必修课程之一,目的是让学生了解和掌握嵌入式系统开发的基本原理和方法。
本次实验涵盖了单片机的基本操作、输入输出控制、时序控制、通信技术、中断处理、PWM技术等内容,让我们一步步进入嵌入式系统的世界。
通过这些实验,我们深刻体会到嵌入式系统开发的艰辛和复杂程度。
在每个实验中,我们需要认真思考实验目的,设计符合要求的电路,编写精确并且有效的程序。
我们还要学会阅读芯片数据手册,并对不同的芯片进行适配,合理利用芯片的资源。
这些实战经验对我们今后从事嵌入式系统开发会有很大帮助。
在这些实验中,我们学会了使用单片机进行输入输出控制。
通过外部电路(比如数码管、LED灯、按键等),让单片机可以感知外界的状态变化,并根据程序控制输出对应的信号。
我们实现了按键控制LED灯亮灭、数码管显示数字和摆动等功能。
在实验中我们还学习了流水灯和矩阵键盘控制的实现方法,这给我们后续实验和项目提供了很好的思路和解决方案。
在时序控制实验中,我们掌握了计时器和定时器的基本原理和使用方法。
它们可以精确地生成特定频率和宽度的高低电平,也能间歇性地输出脉冲信号,这为摆线电机的控制和PWM驱动电机等实际应用打下了基础。
通过这些实验,我们更加深入地了解到计时器、定时器和中断的运作原理和使用方法。
在串口通信和I2C通信实验中,我们还学习了如何使用串口和I2C通信实现数据传输,可以将单片机与其他设备进行沟通和交流。
在日常工程开发中,这样的应用场景非常广泛,例如单片机与PC的数据传输、I2C总线上多个设备之间的通信等。
在PWM技术实验中,我们学习了如何使用定时器和PWM输出控制电机转速,这些技术可以实现高精度的电机控制和驱动,这是在机器人控制、智能家居等应用中必不可少的技术。
在这些实验中,我们不仅学会了单片机的基本原理和使用方法,而且也经历了从理论到实践的探索和体验。
这些实验的收获在于训练我们的动手实践能力,增强我们的团队合作精神,提高我们的问题解决能力,也让我们更加深入地了解嵌入式系统的精髓。
c51单片机实验报告
c51单片机实验报告
《C51单片机实验报告》
C51单片机是一种广泛应用于嵌入式系统中的微控制器,具有高性能、低功耗和丰富的外设接口,因此在各种电子设备中得到了广泛的应用。
本次实验将以C51单片机为研究对象,通过实验验证其性能和功能。
实验一:LED灯控制实验
首先,我们将C51单片机与LED灯连接起来,通过程序控制LED灯的亮灭。
实验结果表明,C51单片机可以准确地控制LED灯的亮度和闪烁频率,具有良好的稳定性和可靠性。
实验二:蜂鸣器控制实验
接着,我们将C51单片机与蜂鸣器连接起来,通过程序控制蜂鸣器的发声。
实验结果显示,C51单片机可以精准地控制蜂鸣器的音调和音量,具有较高的音频输出质量。
实验三:温湿度传感器实验
最后,我们将C51单片机与温湿度传感器连接起来,通过程序读取并显示温湿度数值。
实验结果表明,C51单片机可以准确地读取传感器的数据,并通过显示屏输出,具有良好的数据处理能力。
通过以上实验,我们验证了C51单片机在LED灯控制、蜂鸣器控制和温湿度传感器应用方面的性能和功能。
C51单片机具有较高的稳定性、可靠性和可编程性,适用于各种嵌入式系统的设计与开发。
希望本次实验报告能够对C51单片机的应用和研究提供一定的参考价值。
51单片机实验报告
实验一数据传送实验实验内容:将8031内部RAM 40H—4FH单元置初值A0H—AFH, 然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。
将程序经模拟调试通过后, 运行程序, 检查相应的存储单元的内容。
源程序清单:ORG 0000HRESET: AJMP MAINORG 003FHMAIN: MOV R0, #40HMOV R2, #10HMOV A, #0A0HA1:MOV @R0, AINC R0INC ADJNZ R2, A1MOV R1,#40HMOV R0, #50HMOV R2, #10HA3: MOV A, @R1MOV @R0, AINC R0INC R1DJNZ R2, A3LJMP 0000H思考题:1.按照实验内容补全程序.2.CP.对8031内部RAM存储器有哪些寻址方式?直接寻址, 立即寻址, 寄存器寻址, 寄存器间接寻址。
3.执行程序后下列各单元的内容是什么?内部RAM 40H~4FH ___0A0H~0AFH______________________内部RAM 50H~5FH___0A0H~0AFH_______________________实验二多字节十进制加法实验实验内容:多字节十进制加法。
加数首地址由R0 指出, 被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。
将程序经模拟调试通过后, 运行程序, 检查相应的存储单元的内容。
源程序清单: ORG 0000HRESET: AJMP MAINORG 0100HMAIN: MOV SP, #60HMOV R0, #31HMOV @R0, #22HDEC R0MOV @R0, #33HMOV R1, #21HMOV @R1, #44HDEC R1MOV @R1, #55HMOV R2, #02HACALL DACNHERE: AJMP HEREDACN: CLR CDAL: MOV A, @R0ADDC A, @R1DA AMOV @R1, AINC R0INC R1DJNZ R2, DALCLR AMOV ACC.0 , CRET思考题:1.按照实验内容补全程序。
51单片机实验报告
51单片机实验报告
摘要
本实验为51单片机模拟实验,在实验中,用单片机程序控制使得
LED灯按一定程序闪烁,以达到模拟的目的。
本实验利用单片机采用闪烁
程序编写实现LED灯和蜂鸣器的模拟输出,实现LED灯按照一定规律闪烁,蜂鸣器产生指定频率。
关键词:51单片机;LED;蜂鸣器;模拟
1实验目的
本实验旨在利用51单片机模拟LED灯和蜂鸣器的闪烁,利用串口助
手模拟输出。
2实验原理
本实验的实验原理主要是利用51单片机程序实现LED的模拟输出,
利用定时器控制LED灯的闪烁,实现LED按规律闪烁;利用PWM控制蜂鸣器,设置频率实现蜂鸣器的模拟输出。
3实验设备
(1)51单片机开发全套组件,包括51单片机主板、串口助手、编
程器;
(2)LED灯;(3)蜂鸣器。
4实验过程
(1)硬件接线:
将51单片机主板的LED0、LED1、LED2和蜂鸣器接到P2口,符合接线图的要求。
(2)编写并烧写程序:
编写程序完成LED灯和蜂鸣器的模拟输出,将程序烧写到51单片机中,实现输出模拟过程。
5实验结果
实验结果表明,实验中所编写的51单片机程序能够正确地控制LED 灯和器的输出,LED灯按一定程序闪烁。
51单片机课程设计报告
51单片机实做课课程设计报告学院:专业班级:学号:姓名:指导教师:设计时间:目录一、设计任务与要求 (3)1.1、概述 (3)1.2、 STC89C52介绍 (3)1.3、引脚功能说明 (4)二、总原理图及元器件清单 (5)2.1、总原理图: (5)2.2、显示部分 (5)2.3、声音部分 (6)2.4、按键部分 (6)2.5、继电器 (7)三、模块电路分析 (7)3.1、硬件模块 (7)3.2、单片机控制系统及基本电路 (8)3.3、按键控制模块 (9)3.4、LED显示模块 (10)3.5、交通灯显示模块 (10)3.6、串口通信模块 (11)3.7、继电器 (11)四、调试及结论 (12)4.1 单元调试 (12)4.2 整体调试 (13)五、实验结果 (14)5.1、PCB图 (14)5.2、布线图 (14)5.3、封装结果图 (15)六、心得体会 (15)七、参考文献 (16)一、设计任务与要求1.1、概述通过交通灯的课程设计,将理论知识和实际操作结合起来,熟悉STC89C52的工作原理,设计出符合要求的交通灯。
利用按键控制数码管时间的显示,实现计时和倒数、显示、调节的基本功能。
利用汇编语言编写程序,熟悉掌握汇编语言的编写,提高动手和思维能力,知道交通灯是怎样运行的,与现实生活相贴切。
1.2、 STC89C52介绍·与MCS-51 兼容·8K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·256*8位内部RAM·32可编程I/O线·三个定时器/计数器·6个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路1.3、引脚功能说明(1).电源引脚Vcc(40脚):典型值+5V。
单片机课程设计报告[5篇]
单片机课程设计报告[5篇]第一篇:单片机课程设计报告《单片机课程设计报告》学校:专业:班级:姓名:学号:指导教师:摘要由于单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制。
通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用。
关键词单片机,程序,流水灯,数码管,温度计,键盘扫描,定时器等。
实验内容一、课程设计的目的以本学期对单片机的学习和认识,并通过本次课程设计加以应用,从而达到一个对所学知识的巩固、更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,再对各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件、各个元件的具体参数、是否能实现应有功能,从而得到一个完整的硬件电路。
在根据该电路设计出软件的功能模块、从而完成程序流程图,在根据流程图完成程序的设计,并通过反复的调试、运行、更正,直至完成既定功能为止,最后将软件、硬件结合进行调试、运行,对其功能进行最终测试,并反复思考其测试中遇到相应问题的原因,并将其一一处理,从而完成本次设计的实验要求,以及本次课程设计的最终目的。
实验一:键盘操作实验实验要求:通过本次实验实现对键盘的控制,操作数码管的显示数字。
实验程序:#include #include #include #include #define WR273 XBYTE[0XC000] #define RD244 XBYTE[0XC000] #define uchar unsigned char #define uint unsigned int sbit DQ =P1^0;uint count=0,x,buf[20],tim,flag;uchar fen,shi;uchar codetable_16_1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80 ,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar codetable_16_2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x0 0,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};voidled_clc(void){ XBYTE[0X8000]=0XFF;XBYTE[0X9000]=0XFF;XBYTE [0XA000]=0XFF;XBYTE[0XB000]=0XFF;}void delay(unsigned int i){ while(i--);} void delay_1ms(uint z){ uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);} uchar key_test(){ WR273=0XF0;if((RD244&0X0F)!=0X0F)return 1;else return 0;}void time_init(){ TMOD=0X01;TH0=(65536-46080)/256;TL0=(65536-46080)%256;TR0=1;ET0=1;EA=1;} void time_display(){if(count==10000)count=0;XBYTE[0X8000]=table_16_1[coun t%10];XBYTE[0X9000]=table_16_1[count%100/10];XBYTE[0XA00 0]=table_16_1[count%1000/100];XBYTE[0XB000]=table_16_1[co unt/1000];} void TIME_SET(){ uchar a,b,c,d,key;while(flag==1){ led_clc();while(!key_test());a=keyscan();XBYTE[0XB000]=table_16_1[a];while(!key_test());b=keyscan();XBYTE[0XA000]=table_16_2[b];while(!key_test());c=keyscan();XBYTE[0X9000]=table_16_1[c];while(!key_test());d=keyscan();XBYTE[0X8000]=table_16_1[d] ;while(!key_test());key=keyscan();if(key==11){shi = a*10+b;fen = c*10+d;flag=0;} } } void TIME_DIS(){if(tim==60){ fen++;tim=0;if(fen==60){ shi++;fen=0;if(shi==24)shi=0;} } XBYTE[0X8000]=table_16_1[fen%10];XBYTE[0X9000]=table_16_1 [fen/10];XBYTE[0XA000]=table_16_2[shi%10];XBYTE[0XB000]=ta ble_16_1[shi/10];} void main(){ uint temp;led_clc();// serial_init();time_init();while(1){ temp=keyscan();if(temp==10)fla g=1;TIME_SET();//XBYTE[0X8000]=table_16_1[temp];//time_display();TIME_DIS();} } void time()interrupt 2 { uchar m;TH0=(65536-46080)/256;TL0=(65536-46080)%256;m++;if(m==20){ m=0;count++;tim++;} } void serial()interrupt 4 { if(RI==1){ x=SBUF;RI=0;} put_char(x);delay_1ms(5);}实验心得体会:通过本次实验,让我对单片机实验有了更深的了解,认为这个实验还是比较容易的,没有花太多的时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机课程设计报告
学院:
专业班级:
姓名:
指导教师:
设计时间:
51单片机课程设计
一、设计任务与要求
1.任务:制作并调试51单片机学习板
2.要求:
(1)了解并能识别学习板上的各种元器件,会读元器件标示;
(2)会看电路原理图;
(3)制作51单片机学习板;
(4)学会使用Keil C软件下载调试程序;
用调试程序将51单片机学习板调试成功。
二、总原理图及元器件清单
1.总原理图
2.元件清单
三、模块电路分析
1. 最小系统:
单片机最小系统电路分为振荡电路和复位电路,
振荡电路选用12MHz 高精度晶振, 振荡电容选用22p和30p 独石电容;
图 1 图 2
复位电路使用RC 电路,使用普通的电解电容与金属膜电阻即可;
图 3
当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST
为高电平,之后随着时间推移电源负极通过电阻对电容放电,放完电时RST
为低电平。
正常工作为低电平,高电平复位。
2. 显示模块:
分析发光二极管显示电路:
图 4
发光二极管显示电路分析:它是半导体二极管的一种,可以把电能转化成光能,常简写为
LED。
发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
当给发光二极管加上正向电压后,产生自发辐射的荧光。
图中一共有五个发光二极管其中一个为电源指示灯,当学习板通电时会发光以指示状态。
其余四个为功能状态指示灯,实际作用与学习板有关
分析数码管显示电路
图 5
数码管显示电路分析:数码管按段数分为七段数码管和八段数码管,图中所用为八段数码管(比七段管多了一个小数点显示位),按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管.共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
数码管主要用来显示经电路板处理后的程序的运行结果。
图中使用了八个八段数码管,可以显示八个0-15的数字。
使用数码管可以直观的得到程序运行所显示的结果.也可以显示预置在学习板上的程序,主要通过16个开关来控制。
四、硬件调试
1、是否短路
用万用表检查P2两端是短路。
电阻为0,则短路,电阻为一适值,电路正常。
2、焊接顺序
焊接的顺序很重要,按功能划分的器件进行焊接,顺序是功能部件的焊接--调试--另一功能部件的焊接,这样容易找到问题的所在。
3、器件功能
1)检查原理图连接是否正确
2)检查原理图与PCB图是否一致
3)检查原理图与器件的DATASHEET上引脚是否一致
4)用万用表检查是否有虚焊,引脚短路现象
5)查询器件的DATASHEET,分析一下时序是否一致,同时分析一下命令字是否正确
6)通过示波器对芯片各个引脚进行检查,检查地址线是否有信号的
7)飞线。
用别的的口线进行控制,看看能不能对其进行正常操作,多试验,才能找到问题出现在什么地方。
1、详细描述硬件安装过程中出现的故障现象,并作故障分析,及解决方法。
六、软件调试
1、设置硬件仿真环境
单片机应用系统程序的编译和仿真在KeilμVision环境下进行,在调试程序之前,需要对工程进行Debug设置,选择软件仿真或硬件仿真。
软件仿真使用计算机来模拟程序的运行,不需要建立硬件平台就可以快速得到某些运行结果;硬件仿真是最准确的仿真方法,必须建立硬件平台,通过PC机→硬件仿真器→用户目标系统进行系统调试。
采用硬件仿真的方法,硬件平台即为带有图1所示接口电路的单片机应用系统,设置硬件仿真环境的具体操作步骤如下:
首先,点击所建工程:Project菜单中的Options for Target‘Targer 1’,出现工程的配置窗口,点击Debug设置,选择KeilMcmitor-51 Driver.
然后,设置仿真器参数。
建议波特率设置范围300~38 400。
为避免程序中的中断和Keil 硬件仿真环境中的中断互相冲突,不选择“Stop ProgramExecution with SerialInterrupt”。
完成51单片机在Keil μVision环境中的硬件仿真环境设置后,可以进行程序的调试仿真。
2、调试仿真
1)导入测试代码:文件→打开→key and display.uvproj
2)重建全部工程:Project→rebuilt all target files
重建结果为:
Build target 'Target 1'
compiling main.c...
linking...
Program Size: data=36.0 xdata=0 code=554
"key and display" - 0 Error(s), 0 Warning(s).
3)调试:调试→Start/Stop Debug session(Ctrl + F5)
调试结果为:
Connected to Monitor_51 V3.4
Load "C:\\Users\\G\\Desktop\\测试程序\\key and display"
软件调试故障分析:
故障1.程序不能拷贝进学习板。
分析:学习板是否连接计算机且安装驱动,又或是板供电不足。
解决方法:确认已经在电脑上安装好学习板的驱动程序,而且使用对应的拷贝软件;检查power灯,若不亮,是否焊接不好或者学习板供电不足。
故障2.程序运行结果不正常
分析:程序本身有问题,也就是说是错误的程序
解决方法:检查程序是否正确,可使用排除法,将程序写入另一块能正常工作的学习板调试。
故障3.软件调试过程中发生计算机死机
分析:死机的原因与软件兼容性、硬件兼容性均有关。
解决方法:检查是否调试软件与计算机操作系统发生兼容性问题或者学习板发生硬故障。
七、心得
这次课程设计让我受益匪浅,无论从知识上还是其他的各个方面。
上课的时候的学习
从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。
但在实习中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。
单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题。
尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。
最后感谢老师对我们的精心指导和帮助,感谢同学们对我的帮助
仅供个人用于学习、研究;不得用于商业用途。
For personal use only in study and research; not for commercial use.
Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden.
Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.
толькодля людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях.
以下无正文。