80C51单片机-实验报告

合集下载

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单片机交通灯课程设计报告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单片机实验报告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单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间: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单片机原理实验指导书

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单片机专业实习(专业实习报告)

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单片机是一种常用的微控制器,具有体积小、功耗低、功能强大等优点,广泛应用于各种电子设备中。

本文将介绍本次实训的目标、实验步骤、实验结果以及实训中遇到的问题及解决方案。

二、实训目标本次实训的目标是通过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单片机智能小车设计分析

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型双极型可逆脉宽调速变换器实现小 车 的调速功 能, 并对小车 的前行 与后退进 行控 制。 工作过程 其 上文 已做 阐述 ,此处不再赘 述 。 三、软件 设计 对 于微机 控制系统而言, 在设计过程 中硬件 系统只是其中 部分,软件 系统的设计是另外举足轻重的一部分 , 它的主要 内容就是如何根据每个生产对象的实际需要设计 出应用程序 。 具体的程序代码此处不做赘述 , 主要叙述一下程序的安装与维 护。软件 设计完成后便能够生成可执行文件 , 在测试 时点击可 执行文件程序就能正常运行 。 当系统设计完成并安装好各个功 能板卡驱动后 , 要及时进行系统备份 ,以便后续维护 软件 时更 方便 。 外,还要进行重 置功能的设 置,可 以使系统 的安全性 此 得到保证 ,如果系统启动 了重 置功 能,即可恢复到初 始状态 。 四 、系统测试 与性 能评估 在设计制作 完成 后着 重对数据 的精度进 行测试, 包括 计时 精度 以及测距精度和 定准 精度 , 对其 结果进 行分 析做 出如 下性 能评估 :
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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,如何编写程序。

相关文档
最新文档