c51单片机实验报告
单片机实训报告总结

单片机实训报告总结篇一:51单片机实训报告“51单片机”精简开发板的组装及调试实训报告为期一周的单片机实习已经结束了。
通过此次实训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握单片机应用系统开发实用技术,了解“51”单片机精简开发板的焊接方法。
同时培养我们理论与实践相结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养了我们团结合作、共同探讨、共同前进的精神与严谨的科学作风。
此次实训主要有以下几个方面:一、实训目的1.了解“51”精简开发板的工作原理及其结构。
2.了解复杂电子产品生产制造的全过程。
3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践概念。
4.能运用51单片机进行简单的单片机应用系统的硬件设计。
5.掌握单片机应用系统的硬件、软件调试方法二、实验原理流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。
它的电气性能指标:输入电压:~6V,典型值为5V。
可用干电池组供电,也可用直流稳压电源供电。
如图所示:本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。
三、硬件组成1、晶振电路部分单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。
他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振的瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。
2、复位端、复位电路给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,时如果手按着一直不放,系统将一直复位,不能正常。
单片机实训报告书范文

一、前言随着电子技术的飞速发展,单片机作为嵌入式系统的核心,已经广泛应用于各个领域。
为了提高我们的实践能力和对单片机技术的深入理解,我们进行了为期两周的单片机实训。
通过本次实训,我们不仅巩固了理论知识,还学会了单片机的实际应用,为今后的学习和工作打下了坚实的基础。
二、实训目的1. 熟悉单片机的硬件结构和基本原理。
2. 掌握Keil C51集成开发环境的使用方法。
3. 学会编写简单的单片机程序,实现基本的功能。
4. 培养团队合作精神和解决实际问题的能力。
三、实训内容1. 单片机硬件认识- 认识单片机的各个引脚及其功能。
- 了解单片机的内部结构,如CPU、存储器、定时器、中断系统等。
2. Keil C51集成开发环境的使用- 安装Keil C51集成开发环境。
- 创建新项目,编写源程序。
- 编译、调试和下载程序到单片机。
3. 基本程序设计- 编写简单的单片机程序,实现LED灯的闪烁、按键控制等基本功能。
- 学习子程序、中断程序的设计方法。
4. 综合应用- 设计并实现一个基于单片机的交通信号灯控制系统。
- 设计并实现一个基于单片机的温度控制系统。
四、实训过程1. 第一阶段:理论学习- 首先我们学习了单片机的基本原理和硬件结构,了解了单片机的各个引脚及其功能。
- 接着学习了Keil C51集成开发环境的使用方法,包括创建项目、编写源程序、编译和调试等。
2. 第二阶段:实践操作- 我们开始编写简单的单片机程序,实现LED灯的闪烁、按键控制等功能。
- 通过实际操作,我们熟悉了单片机的编程方法,掌握了程序调试技巧。
3. 第三阶段:综合应用- 我们设计并实现了基于单片机的交通信号灯控制系统和温度控制系统。
- 在这个过程中,我们学会了如何将理论知识应用到实际项目中,提高了解决实际问题的能力。
五、实训成果1. 交通信号灯控制系统- 该系统通过单片机控制红、黄、绿三个LED灯,实现交通信号灯的循环显示。
- 系统具有定时功能,可以根据实际需要调整信号灯的显示时间。
51单片机定时器计数器汇编实验报告

批阅长沙理工大学实验报告年级光电班号姓名同组姓名实验日期月日指导教师签字:批阅老师签字:内容一、实验目的四、实验方法及步骤二、实验原理五、实验记录及数据处理三、实验仪器六、误差分析及问题讨论单片机定时器/计数器实验一、实验目的1、掌握51单片机定时器/计数器的基本结构。
2、掌握定时器/计数器的原理及编程方法。
二、实验仪器1、装有keil软件的电脑2、单片机开发板三、实验原理51单片机有2个16位的定时器/计数器,分别是T0和T1,他们有四种工作方式,现以方式1举例。
若定时器/计数器0工作在方式1,计数器由TH0全部8位和TL0全部8位构成。
方式1作计数器用时,计数范围是:1-65536(2^16);作定时器用时,时间计算公式是:T=(2^16-计数初值)×晶振周期×12。
四、实验内容1、计算计数初值单片机晶振频率为6MHz,使用定时器0产生周期为120000μs等宽方波连续脉冲,并由P1.0输出。
设待求计数初值为x,则:(2^16-x)×2×10^-6 = 120000×10^-6解得x=5536。
二进制表示为:00010101 10100000B。
十六进制为:高八位(15H),低八位(A0H)。
2、设置相关控制寄存器TMOD设置为xxxx0001B3、程序设计ORG 0000HAJMP MAINORG 30HMAIN: MOV P1,#0FFH ;关闭所有灯ANL TMOD,#0F0H ;置定时器0工作方式1ORL TMOD,#01H ;不影响T1的工作MOV TH0,#15H ;设置计数初始值MOV TL0,#0A0HSETB EA ;CPU开中断SETB ET0 ;定时器0开中断SETB TR0 ;定时器开始运行LOOP: JBC TF0,INTP ;如果TF0=1,则清TF0并转到INTPAJMP LOOP ;然跳转到LOOP处运行INTP: MOV TH0,#15H ;重新设置计数初值MOV TL0,#0A0HCPL P1.0 ;输出取反AJMP LOOPEND AJMP LOOPEND4、实验仿真新建工程项目文件中,并为工程选择目标器件为AT公司的AT89S51。
单片机实验报告

一、实验目的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按下后的操作}}}```③ 将程序编译并下载到单片机中,观察按键的扫描和识别效果。
51单片机数码管显示实验报告

51单片机数码管显示实验实验内容:1)编写程序让8只数码管初始显示0,每隔大约1s加1显示(可以用延时函数实现),到数码管显示9后,再从0开始显示,如此循环反复。
2)C语言程序#include<reg52.h>#define uint unsigned intvoid display();void num();int i;unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}; //共阳极数码管0-F编码表void delayms(uint);void main(){while(1){num();display();}}void display(){P2=0xff;//消隐P0连接段选,P1节位选P1=0x00;//8个数码管同时显示P2=table[i];//数码管显示数码0 delayms(1000);//延时5ms}void num(){if(i<9)i++;elsei=0;}void delayms(uint x){uint i,j;for(i=0;i<x;i++)for(j=0;j<110;j++);}3)汇编语言:ORG 0000HLJMP MAINORG 0100H;P2连接段选,P1节位选MAIN: MOV P1,#00H ;所有的数码管都显示MOV R2,#00H ;从0开始显示LOOP: MOV A,R2 ;为下面的基址加变址寄存器寻址方式做准备MOV DPTR,#TAB1 ;把数组的首地址赋给DPTRMOVC A,@A+DPTR ;取数组中的数字MOV P2,A ;把取得的值送给P0口显示ACALL DELAY ;延时一会INC R2 ;为取下一个数加一CJNE R2,#10,LOOP ;只要数小于10就继续循环显示MOV R2,#00H ;如果加到10后重新从0开始LJMP LOOP ;进入循环函数;****************************************** TAB1: DB 0C0H,0F9H,0A4H,0B0H,99H; 数组DB 92H,82H,0F8H,80H,90HRET;****************************************** DELAY: MOV R3,#3 ;延时函数DE1: MOV R4,#0FFHDE2: MOV R5,#0FFHDJNZ R5,$DJNZ R4,DE2DJNZ R3,DE1RET;*************************************************END(3)编写程序学习数码管的动态显示,让8只数码管从从左往右显示1、2、3……8。
《单片机Proteus仿真C51参考程序实验》

1 2 3 4 5 6 7 8
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
AT89C51 CLOCK=12MHz
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
2.在 Keil 环境下建立源程序并保存为.C 文件,生成.HEX 文件;
参考程序如下:
#include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int
void delay_ms(uint x) {
uchar t;while(x--)for(t=0;t<120;t++); }
班级:
学号:
姓名
void main() {
uchar i,j=0x01; while(1) {
P2=j; j=_crol_(j,1); delay_ms(100); } } 将以上程序补充完整,流水时间间隔为 100ms。 3.将.HEX 文件导入仿真图,运行并观察结果;
2.在 Keil 环境下建立源程序并保存为.C 文件,生成.HEX 文件;
参考程序如下:
#include<reg51.h>
班级:
学号:
姓名
#include<intrins.h> #define uchar unsigned char #define uint unsigned int void delay_ms(uint x) {
单片机的实验报告
一、实验目的及要求:(1)学习Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;(2)熟悉TD-51单片机系统板及实验系统的结构及使用;(3)进行MCS51单片机指令系统软件编程设计与硬件接口功能设计;(4)学习并掌握Keil C51与Proteus仿真软件联机进行单片机接口电路的设计与编程调试;(5)完成指定MCS51单片机综合设计题二、实验运行环境软件环境:KEIL uv2, PROTEUS7.4硬件环境:PC机, TD-51系统板三、软件部分实验一清零程序与拆字程序设计(1)清零程序:把7000H-7FFFH的内容清零。
(2)拆字程序:把7000H的内容拆开,高位送7001H低位,低位送7002H低位。
7001H,7002H高位清零,一般本程序用于把数据送显示缓冲区时用。
a)程序流程图图1 清零程序图2 拆字程序b)实验参考程序清零程序:ORG 0000HLJMP MAINORG 0100HMAIN: MOV A, #00HMOV DPTR,#7000H ;赋给首地址MOV R1,#100H ;循环次数,完成对7000H-70FFH的置一MOV R2, #10HLOOP1: MOVX @DPTR,AINC DPTRDJNZ R1,LOOP1DJNZ R2,LOOP1 ; 因为都是先减一之后再做比较,所以0FFH、0FH个数要100H、10H次SJMP $END拆字程序:ORG 0000HLJMP MAINORG 1000HMAIN:MOV DPTR,#7000HMOVX A,@DPTR ;赋值MOV R0,AANL A,#0F0H ;得到高四位SWAP AINC DPTRMOVX @DPTR,A ;高位给7001HMOV A,R0ANL A,#0FH ;得到低四位INC DPTRMOVX @DPTR,A ;低位给7002HSJMP $END实验二拼字程序与数据传送程序设计(1)拼字程序:把 7000H,7001H 的低位相拼后送人 7002H,一般本程序用于把显示缓冲区的数据取出拼装成个字节。
51单片机-IO口实验报告
《信息技术综合实践》课程实验报告
1.打开KeiluVision2应用程序,新建一个工程,将IO.c文件添加到新建的工程中(将头文件中的头文件中的regx修改为reg),在输出中选择生成相应的HEX文件并保存到相应文件夹中
2.打开KeiluVision2应用程序,新建一个工程,将IO.c文件添加到新建的工程中(将头文件中的头文件中的regx修改为reg),在输出中选择生成相应的HEX文件并保存到相应文件夹中,进行文件的编译和调试。
3.进行实验箱的连线。
4.打开下载器,擦除并将生成的HEX文件调入Flash,然后选择“自动”。
5.通过示波器观察实验现象
5.1 示波器波形图
5.1.1(i的范围是小于500,波形图如下所示)
由图可知:当不修改i的范围时,波形的频率比较高,约在150Hz左右。
5.1.2(将代码中i的范围修改为小于20000,波形图如下所示)
由图可知:将i的范围变大以后,波形的频率变低并且稳定在5Hz左右。
5.2 小灯闪烁视频
(灯亮时的图片)。
C51单片机课设报告(进制转换)
单片机原理课程设计报告题目:51单片机实现进制转换专业:信息工程班级:信息101学号:1004020307小组成员:1004020103指导教师:吴叶兰北京工商大学计算机与信息工程学院题目:51单片机实现进制转换1、设计目的1)熟悉51单片机的编程;2)熟悉单片机开发的基本焊接;3)熟悉单片机元件的使用方法;4)熟悉C51的软件开发环境(编程软件Keil、烧录软件STC_ISP_v4792、设计要求1)按键输入数据,具有确定和清零功能;2)1602液晶屏幕显示,具有显示输入输出和提示功能;3)2,、8、10、16进制数可任意互相转化;3、硬件电路设计(包括电路图及说明)1)控制模块:控制模块是由1块STC89C52 1个12MHz无源晶振、1个复位电路22uF电容、1个1k欧姆电阻、1个8位1k欧姆排阻组成。
STC89C52是STC公司生产的一种低功耗、高性能CMOS位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:8k字节Flash,512字节RAM 32位I/O 口线,看门狗定时器,内置4KBEEPRQMIAX810 复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz 6T/12T可选。
芯片实际选用的STC89C5与protues模拟电路图中的AT89C52功能基本相同,区别在于烧录程序的方式。
51循迹小车程序实验报告
竭诚为您提供优质文档/双击可除51循迹小车程序实验报告篇一:智能循迹小车实验报告摘要本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。
本次设计采用sTc公司的89c52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298n芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。
关键词智能小车单片机红外光对管sTc89c52L298n1绪论随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。
在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。
2设计任务与要求采用mcs-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。
3方案设计与方案选择3.1硬件部分可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。
3.1.1单片机模块为小车运行的核心部件,起控制小车的所有运行状态的作用。
由于以前自己开发板使用的是ATmeL公司的sTc89c52,所以让然选择这个芯片作为控制核心部件。
sTc89c52是一种低损耗、高性能、cmos八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。
其程序和数据存储是分开的。
3.1.2传感器模块方案一:使用光敏电阻组成光敏探测器采集路面信息。
阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。
方案二:使用光电传感器来采集路面信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c51单片机实验报告
《C51单片机实验报告》
C51单片机是一种广泛应用于嵌入式系统中的微控制器,具有高性能、低功耗和丰富的外设接口,因此在各种电子设备中得到了广泛的应用。
本次实验将以C51单片机为研究对象,通过实验验证其性能和功能。
实验一:LED灯控制实验
首先,我们将C51单片机与LED灯连接起来,通过程序控制LED灯的亮灭。
实验结果表明,C51单片机可以准确地控制LED灯的亮度和闪烁频率,具有良好的稳定性和可靠性。
实验二:蜂鸣器控制实验
接着,我们将C51单片机与蜂鸣器连接起来,通过程序控制蜂鸣器的发声。
实验结果显示,C51单片机可以精准地控制蜂鸣器的音调和音量,具有较高的音频输出质量。
实验三:温湿度传感器实验
最后,我们将C51单片机与温湿度传感器连接起来,通过程序读取并显示温湿度数值。
实验结果表明,C51单片机可以准确地读取传感器的数据,并通过显示屏输出,具有良好的数据处理能力。
通过以上实验,我们验证了C51单片机在LED灯控制、蜂鸣器控制和温湿度传感器应用方面的性能和功能。
C51单片机具有较高的稳定性、可靠性和可编程性,适用于各种嵌入式系统的设计与开发。
希望本次实验报告能够对C51单片机的应用和研究提供一定的参考价值。