80C51单片机-实验报告
80C51单片机流水灯设计
//定义延时子函数
第二种: (数组定义 LED 灯的各种状态) #include <reg52.h> #define uint unsigned int uint aa[] = {0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f}; //将灯的不同状态分别定 义成 8 组六进制数并存入数组中 void Delayms(); //延时子函数申明 void main() { unsigned int i = 0; while(1) { P0 = aa[i]; //定义 P0 口为 aa 数组中第 i 个元素的状 态 Delayms(); //延时一段时间 i++; //改变数组中元素下标,当再次调用 时,LED 灯的状态改变 if (i == 8) //当所有状态都运行一次后应该回到最 初的状态,才能得以无限循环 { i = 0; } } } void Delayms() //延时子函数定义 { unsigned int i, j; for (i=1000; i>0; i--) {
ledr = (ledr << 1) | 0x01; led = (ledl & ledr); if (led == 0x7e) { temp = ledr; ledr = ledl; ledl = temp; }
实验二:流水灯——叠加 方法:又多次不同的初态,初态与前次的结束状态相同。 1) 保留前次的结束状态 if (((led >> 1) | 0x80) == temp) { temp = led; } 2)平移时,右边边界会移除,则采用初态合并法 Led = ((led >> 1)| 0x80)| & temp; 思考方法总结:
80c51单片机交通灯课程设计报告1.pdf
80C51单片机交通灯课程设计报告目录第一章引言 (3)第二章单片机概述 (4)第三章芯片介绍 (6)3.1AT89S51单片机介绍 (6)3.1.1简介 (6)3.1.2主要管脚介绍 (6)3.274LS164介绍 (8)3.3共阳数码管介绍 (8)3.3.1分类简介 (8)图3.3LED数码管引脚定义 (9)3.3.2驱动方式 (9)3.3.3主要参数 (10)3.3.4应用范围 (10)第四章系统硬件设计 (11)4.1硬件设计要求 (11)4.2硬件设计所用元器件 (11)4.3硬件设计图 (11)4.4设计流程图 (12)第五章系统软件设计 (13)5.1流程图 (13)5.2程序设计 (14)第六章结论 (16)参考文献 (18)第一章引言在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
1914年,电气启动的红绿灯出现在美国。
这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题.在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行;黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮,表示该条道路允许通行.交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。
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单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间: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个开关来控制。
80C51单片机原理实验指导书
MCS51单片机实验指导书(第2版)2006.11.8 修改了音乐演奏程序中的有关休止符的BUG淮阴师范学院计算机科学系2006.9实验板结构实验板结构如下图所示:注意:实验板与PC机连接时一定要先连接串行通信电缆,然后再将其电源线插入USB 接口;拆除时先断开其电源,再断开串行通信电缆。
否则极易损坏PC机的串口。
最好先关闭微机电源,再连接或拆除实验板。
实验要求1、实验前预习实验内容,理解实验原理。
2、按规定时间进入实验室,登记领取实验板和连接线,按操作程序将实验板连接到PC 机上,开始实验。
2、实验完毕请指导老师确认后,按操作程序拆除实验板,将连接线收拾好,与实验板一起归还指导老师,方可离开实验室。
3、按时撰写并上交实验报告。
实验报告格式为:(1)实验目的,(2)实验内容,(3)源代码及流程图,(4)结果记录及分析,(5)思考题,(6)体会及设想。
51单片机集成开发环境MedWin V2.39简介1、安装从网站免费下载MedWin V2.39集成开发环境安装程序压缩包,将其释放后,按照默认路径安装到C:\Manley\PmedWin文件夹。
2、设置(1)每次启动MedWin会出现对话框,询问使用仿真器还是模拟仿真,应点击[模拟仿真]按钮。
(2)设置仿真器点击[设置]—[设置仿真器]命令,选择时钟频率为12兆赫兹。
(3)设置工作目录 MedWin 集成开发环境默认的工作目录为C:\MedWin\PMedWin,建议根据需要建立自己的工作目录。
注意:不得使用长文件名或长目录名!(4)设置编译器将C语言编译器C51(文件夹)拷贝到C:\MedWin文件夹下,点击[设置]—[设置编译工具]命令,打开“设置编译工具”对话框,使用汇编语言时选择第一行,使用C语言时选择第二行,如下图所示。
3、使用(1)新建项目点击[项目管理]—[新建项目] 命令,输入项目名称,点击[确定]按钮,出现“添加项目文件”对话框,输入源代码文件名,如T1.C(或T1.ASM),单击[打开]按钮,出现代码窗口,即可开始编程。
80c51单片机专业实习(专业实习报告)
实习报告姓名:学号:班级:实习单位:天津理工大学模块:单片机控制模块设计单片机模块专业设计一.设计的目的通过本模块专业实习,目的旨在提高学生对课上知识的应用能力,开拓学生的思维,提高学生的动手能力。
总结起来包括以下几点目的:1. 学习Protel软件,掌握Protel软件原理图绘制功能;2. 掌握单片机内部定时器的使用及编程方法;3. 掌握 A/D 转换与单片机的接口方法,了解 A/D 芯片ADC0809 转换性能及编程方法,了解单片机如何进行数据采集;4. 掌握程序存储器和数据存储器扩展的方法,了解程序存储器芯片27256和数据存储器芯片6264的接口方法;5. 掌握单片机系统中扩展I/O接口的方法,了解芯片74LS273的接口方法;6. 了解8279芯片的工作原理,掌握扩展中8279芯片键盘显示接口的编程;二.设计实验设备EL-MUT-III 型单片机实验箱、8051CPU 模块、计算机三.设计内容及要求根据设计指导教师要求,本次设计主要涉及到的应用模块总共有四块,总体围绕8051单片机展开。
四块分别是ADC0809模拟量采集模块;8279芯片实现显示和键盘接口模块;27256程序存储器扩展模块;6264数据存储器扩展模块。
针对ADC0809模拟量采集模块的要求是:接线要求,利用实验台上的ADC0809 做A/D 转换器,实验箱上的电位器提供模拟电压信号输入,使用的输入通道为IN3(本人班级为3班);程序要求,使用定时中断,ADC0809没采集一次周期为100ms 将模拟量转换结果的数字量通过74LS273作为输出口,控制8个发光二极管的亮灭。
针对8279芯片实现显示和键盘接口模块的要求是:利用8279芯片,控制2个数码管显示本人学号的后两位(本人学号为20110789,即显示89),并实现当按键没按下一次时,学号显示自动加一。
扩展出一片程序存储器芯片27256和一片数据存储器芯片6264;并利用Protel软件,设计上述功能的电路,并绘制完整原理图;同时编制程序,实现上述所有功能,并调试通过;四.各模块原理图解释ADC0809模拟量采集模块在该模块设计中,主要涉及到的器件包括:ADC0809,74LS373,74LS02,下面对每个器件做简要介绍:ADC0809的引脚图如下图所示:ADC0809是单片双列直插式集成电路芯片,是8通路8位的A/D转换器,起主要特点是:分辨率8位;当模拟输入电压范围为0到5V时,可以使用单一的+5V电源;转换时间为100微妙;温度范围为-40到85摄氏度;可直接与CPU连接,不需另加接口逻辑;内部带8路模拟开关;可以输入8路模拟信号;输出带锁存器;逻辑电平与TTL兼容。
51单片机实训报告
51单片机实训报告一、引言51单片机是一种常用的微控制器,具有体积小、功耗低、功能强大等优点,广泛应用于各种电子设备中。
本文将介绍本次实训的目标、实验步骤、实验结果以及实训中遇到的问题及解决方案。
二、实训目标本次实训的目标是通过51单片机的学习和实践,掌握单片机的基本原理和编程技巧。
具体来说,我们需要实现以下几个功能:1. 熟悉51单片机的硬件组成和工作原理;2. 学习使用Keil C编译器进行单片机程序的编写和调试;3. 掌握基本的输入输出控制方法,如LED灯的控制、数码管的显示等;4. 学习使用定时器、中断等功能模块,实现一些实际应用,如蜂鸣器的发声、电机的控制等。
三、实验步骤1. 硬件准备:将51单片机与外围电路进行连接,如连接LED灯、数码管、蜂鸣器等;2. 编写程序:使用Keil C编译器编写相应的程序,包括引入头文件、定义宏、声明变量、编写主函数等;3. 调试程序:将程序下载到51单片机中,通过单片机的调试功能进行程序的调试,排除可能存在的错误;4. 运行程序:将调试好的程序运行在51单片机上,观察实验结果是否符合预期。
四、实验结果在本次实训中,我们顺利完成了以下几个实验:1. LED灯闪烁:通过控制51单片机的输出口,使LED灯以一定频率进行闪烁;2. 数码管显示:通过控制51单片机的输出口,使数码管显示指定的数字或字符;3. 蜂鸣器发声:通过控制51单片机的输出口,产生一定频率的方波信号,使蜂鸣器发出相应的声音;4. 电机控制:通过控制51单片机的输出口,控制电机的转动方向和速度。
五、实训中遇到的问题及解决方案在实训过程中,我们遇到了一些问题,但通过团队的共同努力和老师的指导,最终都得到了解决。
下面列举了其中的几个问题及解决方案:1. 问题:LED灯无法闪烁;解决方案:检查LED灯的连接是否正确,确认是否存在接触不良或短路等问题。
2. 问题:数码管无法正常显示;解决方案:检查数码管的连接是否正确,确认是否存在引脚连接错误或接触不良等问题。
80C51单片机智能小车设计分析
首先分析计时精度 , 由于计时系统所采用的是新型显示芯 片 ,所 以其 理论误差 可以控制在 1sy以内;其次,采用 电机 / 轴光 电码盘检测技术进行测速系统 的设计 , 电机车和车轮轴 在 间采用 的是齿轮箱二级减速 , 比为 1 1 ; 变 / 6 车轮周长为 1 5 m 3m , 电机轴和光 电码盘是安装在一起 的,电机轴每转会产 生 2脉 冲 ,而 车轮则有 3 2个脉冲产生 ,使得测距理论精度可 以控制 在 1 5m / 2 4 2 m 4 5 m 3 m 3 = . 2 m < . m以内;最后 由于本设计采用 了 实际测量 与软件补偿 技术 , 以可 以将定位精度 的误差控制在 所 1m 0 m以内。
【 南建辉, 7 】 熊呜, 王军茹. S 5 MC 一 1单 片机 原理及应 用实例 f . M1 北京 :清华 大学 出版社 ,20 04
[ 者简介] 作 叶伟慧 ( 9 5 ),女,广东湛江人 ,硕士研 17 一 究生 , 广东海洋大学寸金学院信息技术系讲师 , 主要研 究方向: 嵌入式系统 。
参考文献: … 陈伯 时, 电力拖动 自动控 制 系统【 , M] 北京: 机械 x J -k出版 ,
社 , 0 2 4 0
图2 :小车前行与倒车的控制 电路 4 调速 。 . 在设计过程 中一共设计 了三种调速系统方案 ,即 串电阻调速系统 、 宽调速 系统 以及静止可控整流 系统 , 脉 经过 综合 比较后决 定采用 H型双极型可逆脉宽调速变换器实现小 车 的调速功 能, 并对小车 的前行 与后退进 行控 制。 工作过程 其 上文 已做 阐述 ,此处不再赘 述 。 三、软件 设计 对 于微机 控制系统而言, 在设计过程 中硬件 系统只是其中 部分,软件 系统的设计是另外举足轻重的一部分 , 它的主要 内容就是如何根据每个生产对象的实际需要设计 出应用程序 。 具体的程序代码此处不做赘述 , 主要叙述一下程序的安装与维 护。软件 设计完成后便能够生成可执行文件 , 在测试 时点击可 执行文件程序就能正常运行 。 当系统设计完成并安装好各个功 能板卡驱动后 , 要及时进行系统备份 ,以便后续维护 软件 时更 方便 。 外,还要进行重 置功能的设 置,可 以使系统 的安全性 此 得到保证 ,如果系统启动 了重 置功 能,即可恢复到初 始状态 。 四 、系统测试 与性 能评估 在设计制作 完成 后着 重对数据 的精度进 行测试, 包括 计时 精度 以及测距精度和 定准 精度 , 对其 结果进 行分 析做 出如 下性 能评估 :
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单片机进行定时和计数的应用。
通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。
八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。
单片机实验报告
1、二进制,十进制,十六进制的转换。
2、原码,反码,补码的表示。
3、触发器,触发器是计算机记忆装置的基本单元。
触发器有:R-S触发器,D触发器,J-K触发器4、寄存器,寄存器是由触发器组成的,一个触发器就是一个1位寄存器,多个触发器就可以组成一个多位寄存器。
常见的寄存器有:缓冲寄存器,移位寄存器,计数器等。
5、触发器,寄存器,及存储器之间有什么关系?存储器是由大量缓冲寄存器组成的,其中的每一个寄存器称为一个存储单元。
6、80C51系列单片机的存储器结构与一般通用计算机不同。
一般通用计算机通常只有一个逻辑空间,即程序存储器和数据存储器是同一编制的。
访问存储器时,同一地址对应唯一的存储空间,可以是ROM,也可以是RAM,并用同类访问指令,这种存储器结构称为“冯诺依曼结构”;80C51系列单片机的程序存储器和数据存储器在物理结构上是分开的,这种结构称为“哈佛结构”。
80C51系列单片机的存储器在物理结构上可以分为如下4个存储空间:片内程序存储器,片外程序存储器,片内数据存储器和片外数据存储器。
7、程序储存器的入口地址,7个0000H:程序入口地址0003H:外部中断0入口地址000BH:定时器0溢出中断入口地址0013H:外部中断1入口地址001BH:定时器1溢出中断入口地址0023H:串行口中断入口地址002BH:定时器2溢出中断入口地址8、程序状态字寄存器psw 的各标志位作用位0 P——奇偶标志位位3、4 RS0、RS1——工作寄存器组选择位RS0、RS1对工作寄存器组的选择:RS1 RS0 寄存器组片内RAM地址0 0 第0组00H~07H0 1 第1组08H~0FH1 0 第2组10H~17H 1 1 第3组18H~1FH 9、双数据指针寄存器DPTR0/1。
为了便于对16位地址的片内、片外存储器和外部扩展的I/O器件进行访问,在AT89S51/S52中设置了2个16位的数据指针寄存器:DPTR0和DPTR1。
C51单片机实验总结报告
C51单片机实验总结报告HEFEI UNIVERSITY单片机实验报告系别电子信息与电气工程系专业班级学号姓名指导老师完成时间实验一构建单片机最小系统和实验环境熟悉一、预习要求1.构建单片机最小系统,熟悉51单片机的结构及编程方法2.按照程序流程图编写出程序二、实验目的1.熟悉星单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的使用方法。
2.熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。
三、实验内容单片机最小系统实验:1、熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的安装和使用方法。
2、作出单片机最小系统的组成原理图,分析其各构成单元的工作原理。
存储单元数据传输实验1、熟悉MCS51汇编指令。
2、进行存储单元数据传输实验,编写程序。
3、运行程序,验证译码的正确性。
四、实验原理1、作出单片机最小系统的组成原理图12.最小系统版的组成:时钟电路,复位电路,电源电路。
3.软件编译环境的熟悉实验中我们使用keilC环境编译程序。
其窗口界面如下:4.测试程序;将从外部RAM3000H单元开始连续存放的;50个单字节数据传送到内部RAM30H单元的50个单元中。
ORG 0000HMOV R0,#32H ;计数初值50MOV A,#78H ;(A)=78H送外部3000H--3050HMOV DPTR,#3000H ;外部数据存储器首地址3000H送DPTRLOOP0: MOVX @DPTR,A ;送78H到外部数据存储区3000H INC DPTR ;外部数据存储区地址增一DJNZ R0,LOOP0 ;循环次数减一不为零转LOOP0SETB P1.2CLR P1.3CLR P1.4 ;74HC138输入为100,使CS2=0选中62256 MOV R0,#32H ;循环次数50送R0MOV R1,#30H ;内部数据存储区首址30H送R1MOV DPTR,#3000H ;外部数据存储区首址3000H送DPTR2LOOP: MOVX A,@DPTR ;读外部数据存储区3000H内容送AMOV @R1,A ;累加器A的内容送内部数据存储区30HINC DPTR ;外部数据存储区地址增一INC DPTR ;内部数据存储区地址增一INC R1DJNZ R0,LOOPSJMP $END五、实验仪器、设备1、单片机最小系统2、Keil C51集成环境软件六、实验注意事项1.注意在星研集成环境下如何进行程序调试2.注意保护实验箱七、实验方法及步骤1、调试单片机最小系统板。
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单片机的基础知识和使用方法。
c51实验报告
c51实验报告C51实验报告引言:C51是一种经典的单片机,广泛应用于嵌入式系统和物联网领域。
本文将对C51实验进行详细的报告,包括实验目的、实验步骤、实验结果以及实验心得等方面的内容。
一、实验目的C51实验的目的是让学生通过实际操作,深入了解C51单片机的工作原理和应用。
具体而言,本次实验的目的包括以下几个方面:1. 熟悉C51单片机的基本结构和指令集;2. 掌握C语言在C51单片机上的编程方法;3. 理解并实践C51单片机的输入输出控制;4. 学习使用C51单片机进行简单的数据处理和算法实现。
二、实验步骤1. 硬件准备:连接C51单片机、示波器、电源等设备,确保电路连接正确;2. 软件准备:安装Keil C51集成开发环境,创建工程并配置编译选项;3. 编写程序:根据实验要求,使用C语言编写相应的程序代码;4. 编译和下载:使用Keil C51进行编译和下载,将程序烧录到C51单片机中;5. 实验调试:通过示波器等工具,对C51单片机进行调试和观察实验现象;6. 实验记录:记录实验过程中的关键信息、实验结果以及遇到的问题。
三、实验结果根据实验步骤的要求,我们完成了一系列C51实验,并得到了一些有意义的结果。
以下是其中几个实验的结果总结:1. LED闪烁实验:通过编写简单的程序,我们成功地控制了C51单片机上的LED灯进行闪烁。
实验过程中,我们发现通过调整延时时间可以改变LED闪烁的频率,这使我们更深入地理解了C51单片机的时钟和计时功能。
2. 数码管显示实验:在这个实验中,我们使用C51单片机控制了一个四位数码管的显示。
通过编写相应的程序,我们可以在数码管上显示不同的数字和字符。
这个实验让我们更好地理解了C51单片机的输入输出控制和数码管的工作原理。
3. ADC采样实验:ADC(模拟数字转换器)是C51单片机中常用的模块之一,可以将模拟信号转换为数字信号。
通过这个实验,我们学会了如何使用C51单片机进行模拟信号的采样和处理。
c51单片机实验报告
c51单片机实验报告
《C51单片机实验报告》
C51单片机是一种广泛应用于嵌入式系统中的微控制器,具有高性能、低功耗和丰富的外设接口,因此在各种电子设备中得到了广泛的应用。
本次实验将以C51单片机为研究对象,通过实验验证其性能和功能。
实验一:LED灯控制实验
首先,我们将C51单片机与LED灯连接起来,通过程序控制LED灯的亮灭。
实验结果表明,C51单片机可以准确地控制LED灯的亮度和闪烁频率,具有良好的稳定性和可靠性。
实验二:蜂鸣器控制实验
接着,我们将C51单片机与蜂鸣器连接起来,通过程序控制蜂鸣器的发声。
实验结果显示,C51单片机可以精准地控制蜂鸣器的音调和音量,具有较高的音频输出质量。
实验三:温湿度传感器实验
最后,我们将C51单片机与温湿度传感器连接起来,通过程序读取并显示温湿度数值。
实验结果表明,C51单片机可以准确地读取传感器的数据,并通过显示屏输出,具有良好的数据处理能力。
通过以上实验,我们验证了C51单片机在LED灯控制、蜂鸣器控制和温湿度传感器应用方面的性能和功能。
C51单片机具有较高的稳定性、可靠性和可编程性,适用于各种嵌入式系统的设计与开发。
希望本次实验报告能够对C51单片机的应用和研究提供一定的参考价值。
80C51单片机-实验报告
实验一 CPU片内(外)清零1.CPU片内RAM清零一、实验目的:掌握MCS-51汇编语言的设计,了解单片机的寻址方式以及调试方法。
二、实验内容:把单片机片内的30H~7FH单元清零。
三、实验框图:四、实验步骤:用连续或者单步的方式运行程序,检查30H-7FH执行前后的内容变化。
五、参考实验程序:程序名称:PNQL.ASMORG 0000HJMP MAINORG 0030HMAIN:MOV R0,#30H ;30H送R0寄存器CLR1:MOV A,#00H ;00送累加器AMOV @R0,A ;00 送到30H-7FH单元INC R0 ;R0加1CJNE R0,#7FH,CLR1 ;不到7F字节再清WAIT:LJMP WAITEND六、实验思考:如果把30H-7FH的内容改为99H,如何修改程序。
2.CPU 片外RAM清零一、实验目的:掌握MCS-51汇编语言的设计,了解单片机的寻址方式以及调试方法。
二、实验内容:把外部扩展的RAM的0000H-00FFH单元内容清零。
三、实验框图:四、实验步骤:用连续或者单步的方式运行程序,检查0000H-00FFH执行前后的内容变化。
五、参考实验程序:程序名称:PWQL.ASMORG 0000HMAIN:MOV SP,#60HMOV DPTR,#0000H ;0000H送DPTR寄存器MOV R6,#0FFH ;FFH送R6寄存器(计数)CLR1:MOV A,#00H ;00送累加器AMOVX @DPTR,A ;00 送到0000H-00FFH单元INC DPTR ;DPTR+1DJNZ R6,CLR1 ;不到FF个字节再清WAIT:SJMP WAITEND六、实验思考:把1-10先对应存入片内0030H起始的单元内,然后再从片内取出,对应存入片外7FFFH起始的单元中去。
实验二P1口亮灯实验一、实验目的:学习MCS-51单片机P1口的使用方法二、实验内容:P1口做输出,接8个发光管,编写程序,使得8个二极管循环点亮。
51单片机流水灯实验报告
51单片机流水灯实验报告51 单片机流水灯试验一、实验目的1.了解51 单片机的引脚结构。
2.根据所学汇编语言编写代码实现LED 灯的流水功能。
3.利用开发板下载hex 文件后验证功能。
二、实验器材个人电脑,80c51 单片机,开发板三、实验原理单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED 灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2 端口,对8 个LED 灯进行控制,要实现逐个亮灯即将P2 的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。
使用rl 或rra 实现位的转换。
A 寄存器的位经过rr a 之后转换如下所示:A0 A1 A2 A3 A4 A5 A6 A7 然后将A 寄存器转换一次便送给P2 即MOV P2,A 便将转换后的数送到了P2 口,不断循环下去,便实现了逐位置一操作。
四、实验电路图a11a223a34a4b1b2b3b*****GND0a11a223a34a4P2.4P2.5P2.6P2 .*****a11a223a34a4P2.0P2.1P2.2P2.*****Vcc10+5v80C511/ 2五、通过仿真实验正确性代码如下:ORG 0 MOV A,#***-*****B LOOP:MOV P2,A RL A ACALL DELAY SJMP LOOPDELAY:MOV R1,#255 DEL2:MOV R2,#250 DEL1:DJNZ R2,DEL1DJNZ R1,DEL2 RET End实验结果:六、实验总结这次试验我通过Proteus 仿真实现对流水灯功能的实现。
受益匪浅,对80c51 的功能和结构有了深层次的了解,我深刻的明白,要想完全了解c51 还有一定距离,但我会一如既往的同困难作斗争。
在实验中,我遇到了不少困难,比如不知道怎么将程序写进单片机中,写好程序的却总出错,不知道什么原因,原来没有生成hex 文件。
这些错误令我明白以后在试验中要步步细心,避免出错。
单片机毕业设计80c51
单片机毕业设计80c51本文的毕业设计主要涉及到80C51单片机的应用。
本篇文章将介绍单片机的基本原理、在数字电子钟的设计中的具体应用、硬件设计和软件编程,并给出程序设计流程与详细实现过程。
一、 80C51单片机的基本原理只要有些基础的理解,学习单片机并不难。
单片机是包含CPU、ROM、RAM和其他外设的一种集成电路(IC)芯片。
单片机因其体积小、功耗低、成本低而在实际应用中广泛使用。
具有代表性的是80C51单片机系列。
80C51单片机有多种不同的型号,每个型号内置指令集在某种程度上都有所不同。
最简单的80C51型号内置的指令集只有40多种指令。
可以想象,由于指令集非常简化、结构紧凑,这样设计出来的芯片具有性能非常稳定的特点。
二、数字电子钟的设计数字电子钟是指采用数字电路或数字电子技术设计的显示时间的钟。
数字电子钟广泛应用于生活中的种种需要,能够比较稳定地显示时间,其他功能还包括定时、闹钟、备忘等选项。
三、数字电子钟的硬件设计数字电子钟的硬件设计涵盖了三个方面:1. 显示电路的设计数字电子钟的显视屏幕通常是7片LED,其中6片是数字显示屏,第7片为冒号显示屏。
这个设计采用COS-8886电路,典型的应用范围是数码电子表、温度计等。
2. 时基方案的设计时基方案是指数字电子钟中的总体控制方案。
这里我们采用的是74HC4060的集成电路。
使用74HC4060,可以非常方便地进行时钟频率的分频设计。
3. 蓝牙通信模块的设计蓝牙通信模块的设计中,我们使用了常见的蓝牙串口传输模块,如HC-06,其工作电压在3.3V ~ 5V之间,具备良好的兼容性。
四、数字电子钟的软件编程数字电子钟的软件编程主要涉及以下两个方面:1. 定时计数器的设计采用80C51单片机设计定时计数器时,需要考虑到时钟频率、计时器精度、转换精度等问题。
借助于8051单片机提供的Timer/Counter模块,可以很方便地实现这个功能。
2. 蓝牙通信程序设计程序设计中需要考虑到串口通信协议,包括蓝牙模块的波特率,校验位和数据位等问题。
51单片机综合实验报告
《单片机原理与接口技术》综合实验报告实验题目:基于单片机的电子日历、数字温度计、音乐播放器学院:电子信息学院专业:12 电子信息工程实验者:潘安乐学号: 1 2 2 8 4 0 1 0 1 0前言21世纪是信息时代,电子技术发展日新月异,在电子信息发展迅猛的年代,我们不仅要掌握8051系列单片机的C语言编程,而且要掌握好按键、LCD、USB 等程序的编写,要知道几乎每一样单片机系统都要与他们打交道的。
并且单片机作为一种经典的微控制器,其技术已经涉及到我们生活、工作、科研,各个领域,已经成为一种比较成熟的技术,作为电子专业的学生,我们学习了单片机,就要将其应用到自己的日常生活中来。
电子日历:在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响,随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。
为了在观测时间的同时,能够了解其它与人类密切相关的信息,比如星期、日期等,于是电子万年历诞生了,它集时间、日期、星期等功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。
数字温度计:在科学技术不断发展的今天,温度的检测.控制应用于许多行业,随着电子行业的发展,数字仪表反应快,操作简单,对环境要求不高的优点,市场上逐渐出现越来越多的数字式温度计。
实践表明,低功耗高精度的便携式数字式温度计使用方便,工作稳定,待机时间长,具有广阔的应用前景,本实验所采用的DS18B20可以很好的转换温度值,并且直接显示温度值,它的性能优于传统的感温元件并且省去了A\D、和模拟开关的设计。
数字音乐播放器:本文设计的数字音乐播放器是以单片机为核心元件的数字音乐播放器。
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 CPU片内(外)清零
1.CPU片内RAM清零
一、实验目的:
掌握MCS-51汇编语言的设计,了解单片机的寻址方式以及调试方法。
二、实验内容:
把单片机片内的30H~7FH单元清零。
三、实验框图:
四、实验步骤:
用连续或者单步的方式运行程序,检查30H-7FH执行前后的内容变化。
五、参考实验程序:
程序名称:PNQL.ASM
ORG 0000H
JMP MAIN
ORG 0030H
MAIN:
MOV R0,#30H ;30H送R0寄存器
CLR1:
MOV A,#00H ;00送累加器A
MOV @R0,A ;00 送到30H-7FH单元
INC R0 ;R0加1
CJNE R0,#7FH,CLR1 ;不到7F字节再清
WAIT:
LJMP WAIT
END
六、实验思考:
如果把30H-7FH的内容改为99H,如何修改程序。
2.CPU 片外RAM清零
一、实验目的:
掌握MCS-51汇编语言的设计,了解单片机的寻址方式以及调试方法。
二、实验内容:
把外部扩展的RAM的0000H-00FFH单元内容清零。
三、实验框图:
四、实验步骤:
用连续或者单步的方式运行程序,检查0000H-00FFH执行前后的内容变化。
五、参考实验程序:
程序名称:PWQL.ASM
ORG 0000H
MAIN:
MOV SP,#60H
MOV DPTR,#0000H ;0000H送DPTR寄存器
MOV R6,#0FFH ;FFH送R6寄存器(计数)
CLR1:
MOV A,#00H ;00送累加器A
MOVX @DPTR,A ;00 送到0000H-00FFH单元
INC DPTR ;DPTR+1
DJNZ R6,CLR1 ;不到FF个字节再清
WAIT:
SJMP WAIT
END
六、实验思考:
把1-10先对应存入片内0030H起始的单元内,然后再从片内取出,对应存入片外7FFFH起始的单元中去。
实验二P1口亮灯实验
一、实验目的:
学习MCS-51单片机P1口的使用方法
二、实验内容:
P1口做输出,接8个发光管,编写程序,使得8个二极管循环点亮。
三、实验线路:
四、实验步骤:
P1口做I/O口,用连线把P1.0~P1.7分别接到电平显示检测口的1~8端。
五、参考实验程序:
程序名称:P1LDSY.ASM
ORG 0000H
TIMER0 EQU 30H
TIMER1 EQU 31H
MAIN: PUSH ACC
MOV A,#80H
MOV R0,#08H ;循环8次
MOV P1,#00H
LOOP:
MOV P1,A
ACALL DELAY1s
RR A
DJNZ R0,LOOP
MOV P1,#0FFH
ACALL DELAY1s
MOV P1,#00H
ACALL DELAY1s
MOV P1,#0FFH
ACALL DELAY1s
POP ACC
AJMP MAIN
延时子程序
DELAY: ;延时1ms
PUSH TIMER0
PUSH TIMER1
DELAY1: MOV TIMER0,#230 ;循环一次需要4个机器周期,时间为4*1uS DELAY2: NOP ; 1个周期
NOP ; 1个周期
DJNZ TIMER0,DELAY2 ; 2个周期
DJNZ TIMER1,DELAY1
POP TIMER1
POP TIMER0
RET
DELAY1S: NOP ; 延时1S for 11.0592MHz
PUSH TIMER1
MOV TIMER1,#250
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY ;共延时4*250*1ms=1s
POP TIMER1
RET
END
六、实验思考:
如果把点亮时间改为4s,如何编写程序。