单片机原理与应用技术实验报告(实验项目:发光二极管闪烁)
单片机原理及应用综合性实验报告

单片机原理及应用综合性实验报告单片机原理及应用综合性实验报告姓名:学号班级:指导教师:单片机原理及应用实验报告实验项目名称:键盘、数码管显示综合实验实验日期:2014.12.22 实验成绩:实验评定标准:一、实验目的1.通过实验,掌握单片机在输入输出口线不够用时,怎样扩展接口的方法来支持8位LED显示和16键盘集成实现。
2.熟悉8255、8279等芯片性能;掌握其编程方法。
3.掌握键盘子程序调试方法,掌握按一个键并将键值显示出来的编程方法,这是诊断硬件、测试硬件、产品开发、软件编程必须掌握的方法。
二、实验器材PC机一台以及Keil、Proteus软件表1 以8155为扩展方式的器件表表2 实验原理图元件清单表三、实验内容(一)基本内容1.编写并调试出一个键盘实验子程序2.用子程序调用方法,分别调用键盘子程序和显示子程序,将按一个键的键值,在数码管上显示出来。
3.通过8155芯片的扩展功能,建立描述线与数据线同步功能,如图3.1。
图3.1 键盘显示器原理图图3.2 数码管管脚及电路连接图(二)扩展内容模拟控制以红、绿、黄3个发光二极管表示交通信号灯。
还有有两位数码倒计时显示。
具体要求:上电红灯亮并且数码管倒计时30秒,最后5秒黄灯闪烁,倒计时完毕,绿灯亮并且数码管倒计时60秒,最后5秒黄灯闪烁,如此循环。
四、实验步骤(一)仿真实验过程:1. 打开Keil 程序,执行菜单命令“Project ”à“New Project ”创建“键盘数码管显示综合实验”项目,并选择单片机型号为AT89C52.BUS 。
GND ab c d e f g dpg f e d c b a (a)图4.1 创建工程图4.2 选择单片机类型2.执行菜单命令“File”à“New”创建文件,输入源程序,保存为“键盘数码管显示综合实验.A51或键盘数码管显示综合实验.c”。
在“Project”栏的File 项目管理窗口中右击文件组,选择“Add Files toGroup ‘Source Group1’”将源程序“键盘数码管显示综合实验.A51或键盘数码管显示综合实验.c”添加到项目中。
单片机原理及其应用实验报告

单片机原理及其应用实验指导书南通大学电气工程学院自动化教研室2011 年 3 月前言单片机目前已广泛应用在智能仪表、工业控制、家用电器等各个领域,成为现代电子系统的一个极其重要的组成部分,对于电类专业学生来说,掌握单片机知识,具备基本应用技能,才能符合当前社会对专业人才的要求。
单片机是一门应用性极强的课程,学生在掌握基本理论知识的基础上,更要通过实验训练,提高其调试动手能力,学会解决具体问题的思路和手段,具备初步的系统设计和调试能力。
因此,为了更好地做好单片机课程的软硬件实验,特编写本实验指导书,书中叙述了各实验的目的、要求,对于设计性实验,给出了列出了接线图、程序结构框图和清单。
学生按要求完成本实验指导书中的实验,可基本掌握MCS-51单片机的结构原理、接口技术以及程序设计技巧。
另外:一、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据教学要求,选择相应实验。
二、对同一问题的解决方法往往不是唯一的,欢迎各位指导教师在使用本实验指导书的过程中提出更完善的实验方案,指出书中的错误和不足,并希望大家反馈给我们,以便及时修改。
目录第一章集成开发环境简介 (1)第二章演示程序 (9)第三章实验项目 (15)实验一仿真环境熟悉,清零、拆字程序设计 (15)实验二内部、外部RAM数据传送程序设计 (17)实验三单片机I/O口实验 (18)实验四A/D、D/A转换实验 (20)实验五并行接口扩展实验 (24)第一章 集成开发环境简介Super ICES-51 80C51单片机实验仪使用当前流行的Keil C51开发软件,采用uVision2集成开发环境。
1.1 Keil C51简介Keil C51软件是德国Keil 公司开发的功能完善的C51开发软件,近年来在国内得到了迅速普及。
Keil 包括以下几个部分:uVision2 IDE 、C51编译器、A51汇编器、LIB 库管理器、BL51连接器/定位器、uVision 硬件调试器、RTX51实时多任务操作系统。
单片机控制发光二极管实验报告

单片机控制发光二极管实验报告发光二极管广东石油化工学院单片机实验一实验报告实验报告实验一发光二极管实验学院: 电信学院专业:班级学生学号:实验时间一、实验目的1、掌握AT89C51 单片机IO 口的输入输出。
2、掌握用查表方式实现AT89C51 单片机IO 口的控制。
3、练习单片机简单延时子程序的编写。
4、熟练运用Proteus 设计、仿真AT89C51 系统。
二、实验内容1、编写延时子程序,延时时间为0.1S。
代码:void delay(){int i, j;for (i = 0; i 100; i++)for (j = 0; j 125; j++);}2、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,实现亮点以由上到下循环移动,间隔时间为0.1S。
代码:#includereg51.h#includeintrins.hvoid delay(){int i, j;for(i = 0; i 100; i++)for(j = 0; j 125; j++);}void main(){P1 = 0xFE;while(1){P1 (转载于: 写论文网:单片机控制发光二极管实验报告)= _crol_(P1,1);delay();}}运行结果截图:图一3、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,循环实现亮点由上到下移动1 次(间隔时间为0.2S),由下到上移动1 次(间隔时间为0.2S),闪烁1 次(即先全亮0.1S,再全灭0.1S)。
代码:#includereg51.h#define uchar unsigned char#define uint unsigned intvoid delay(){uint i, j;for (i = 0; i 100; i++){for (j = 0; j 128; j++){//delay 100ms, do nothing.}}}void shangXia(){uchar k;P1 = 0xFE;for (k = 0; k 8; k++){delay();P1 = _crol_(P1,1);}}void xiaShang(){uchar k;P1 = 0x7F;for (k = 0; k 8; k++){delay();P1 = _crol_(P1,-1);}}void main(){while(1){shangXia();xiaShang();}}截图与题一相同,增加由下至上。
单片机原理及应用实验报告

[i? «nen伯)
[£]:OOOTHCr)
⑶:0006畑
理]:0005H6)
⑸:00轴⑷
[6]:0003HG)
[7]:DOO2M(2)
[arDooixti)
实验二:流水灯控制实验
头验目的:1•验证性实验,P1口作输出口,接一个LED发光二极管,使其闪烁(0.5
秒亮,0.5秒灭)。
按两次键后,8路LED交替闪烁,具体循环顺序为:LEDF LED4 LEDP LED7~LEDM LED4tLED4 LEDILED1,如此重复循环下去。
按三次键后,回到初始的“从右至左流水点亮”工作状态。
实验接线图:
Sxik+5V
PLO
P1.1
Pl.2
Pl. 5
Pl. 6
PL 7
图3/流水灯控制
实验程序
{ Delayms(100);
}
break;
case 2:
for(i=0,P仁0 xfe; i<8; i++)
{ Delayms(100);
if(i==4) P1= 0xfd;
}
break;
}
P1=(P1<<1)+1;
P1=(P1»1)+0x80;
P1=(P1<<2)+0x3;
goto Loop;
}
uchar T200ms=4, i=0,k=0;
void ScanKey0( void);
main ()
{TMOD=0x01;//T0
为方式1定时
EA=1;//
允许CPU中断
ET0=1;//
允许T0中断
单片机_LED灯闪烁实验报告

实验报告一、实验目的1、掌握51单片机实验开发板的使用步骤。
2、以LED闪烁为例子,通过keil4软件进行汇编程序的输入、运行、调试、仿真。
3、掌握STC-ISP的使用方法,将程序下载到实验板中。
二、实验设计1、实验仪器、设备:计算机、型号为STC89C52RC的51单片机开发板2、软件:USB驱动软件、keil4开发软件、STC-ISP3、实验流程图设计:4、软件设计:1)keil4软件使用A.双击keil4标志,执行keil4软件B.在E盘中新建文件夹:zuoye1,以保存本实验中所产生的文件。
将计算机中原有的main.c文件复制到文件夹zuoye1中。
C.点击“project”“New uVision project”,给工程取名为zuoye1,保存在文件夹zuoye1中。
在新出现的窗口中选择“Atmel”“AT89C51”,按“OK”后在新出现的窗口选择“否”。
D.点击“file”“New”,新建一个原文件。
双击“source Group1 ”,添加main.c文件。
添加成功后将LED程序输入文件中。
#include<AT89X51.H>//=======================================#define uint unsigned int;#define uchar unsigned char;//=======================================uint x,y;uchar idx;//=======================================void main(void){P1_3 = 1;P0 = 0xff;idx=0;while(1){P1_3 = 0;P0 = ~(7<<idx);//add delayfor( x=0;x<250;x++ ){for( y=0;y<1000;y++ ){}}idx++;idx=(idx%8);}}//=======================================//endE、输入完成后,点击图标保存,再分别点击进行调试。
单片机实验--实验报告-LED灯闪烁实验

实验报告课程名称单片机实验实验项目LED灯闪烁实验专业班级姓名学号指导教师任国芳实验成绩2014年月日【实验目的】(4分)________________________________________________________________ ________________________________________________________________ ________________________________________________________________ ________________________________________________________________ 【实验环境】(6分)1.实验设备:______________________________________________________2.软件:__________________________________________________________ 【实验原理】(26分)1.连线方式(4分):_______________________________________________;2.完成下列表格:(16分)表1-1 LED灯闪烁原理3. P2.x= 时,对应的LED灯亮;当P2.x= 时,对应的LED灯灭;当P2的值为你的学号的后两位时,有_______个LED灯亮。
(6分)【实验内容】(64分)1.完成《实验指导书-LED灯闪烁实验》中汇编语言程序的编写和编译,请回答:1.1汇编语言源程序的扩展名是;汇编后产生的可执行程序的扩展名是;(4分)1.2程序运行结果描述:(10分)_________________________________________________________________________________________________ 2.请参照《实验指导书-LED灯闪烁实验》,按照自己学号的尾号,写出实现相应功能的程序:(50分)_______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ 【实验心得】(5分)_______________________________________________________________ _______________________________________________________________ _______________________________________________________________【教师评语】指导教师签字:年月日。
单片机原理及其应用实验报告

用导线将实验箱中的P1.0~P1.7分别与LED发光二极管L1~L8相连。INT0
与负脉冲相连(硬件在实验箱的具体位置可以参照文档最后面的附图)。
程序:
C语言程序
# include<regx51.h>
unsigned char STATE;
unsigned char s0;
/*---延时子程序(有参函数),t=n*10ms---*/
/*---定时器0中断程序---*/
ET0P:DEC A ;A减1
MOV TH0,#4CH
MOV TL0,#00H
RETI
END
实验现象:
可以看到用P1口所接的8路LED表示的二进制数每隔0.5s加1。
P1=P1<<1;
if(P0_1!=0|P0_0!=0)
break;
}
}
if(P0_1==0&P0_0==1)
{
P1=0x80;
for(i=1;i<=8;i++)
{delay(100);
P1=P1>>1;
if(P0_1!=0|P0_0!=1)
break;
}
}
if(P0_1==1&P0_0==0)
{
P1=0x01;
END
实验现象:
可以看到LED1大致亮1s后灭1s,如此循环。
(2)实验内容:
I/O口做输入口,一个I/O口接一个拨动开关,另一个I/O口接一个LED发光二极管,单片机读取开关的状态并通过LED显示出来。
有关说明:P0口是一组漏极开路型双向I/O口,也即地址/数据总线复用口。
对端口写“1”可作为高阻抗输入端用。
单片机原理及应用的实验报告

单片机原理及应用的实验报告1. 引言在现代电子领域中,单片机技术的应用越来越广泛。
单片机(Microcontroller)是一种集成电路芯片,具有完整的处理器系统和外围设备。
它拥有小巧、灵活和强大的特点,适用于各种嵌入式系统的设计和应用。
本实验报告旨在介绍单片机的原理及其在实际项目中的应用。
2. 单片机的原理单片机是一种嵌入式微处理器,通常由中央处理器(CPU)、存储器、输入输出接口(I/O)、定时器、串行通信接口等部分组成。
其原理如下:•中央处理器(CPU):单片机的核心部件,负责执行各种指令和算术逻辑运算。
•存储器:包括随机存储器(RAM)和只读存储器(ROM),用于存储程序和数据。
•输入输出接口(I/O):用于与外部设备进行数据交互,如控制LED 灯、读取传感器数据等。
•定时器:用于产生精确的时间延时和定时触发操作。
•串行通信接口:用于和其他设备进行串行数据通信。
3. 单片机的应用单片机具有广泛的应用领域,下面列举了几个常见的应用实例:1.家电控制系统:使用单片机可以实现对家电设备的智能控制,如空调温度控制、灯光调节等。
2.汽车电子系统:单片机在汽车电子控制单元(ECU)中,用于控制发动机、变速器、制动系统等。
3.工业自动化:单片机可以应用于工业自动控制系统,如生产线上的自动化控制、温度监控等。
4.电子游戏机:单片机在电子游戏机中用于处理游戏逻辑和玩家输入。
5.智能穿戴设备:使用单片机可以实现智能手表、智能眼镜等穿戴设备的功能。
4. 单片机实验为了更好地理解单片机的原理和应用,我们进行了以下实验:4.1 LED闪烁实验这个实验旨在通过编程控制单片机,使LED灯以一定的频率闪烁。
实验步骤: 1. 连接单片机和LED灯,将LED的正极连接到单片机的IO口,负极连接到接地。
2. 编写程序,配置IO口为输出模式,并设置IO口的高低电平来控制LED的亮灭。
3. 将程序下载到单片机,运行程序。
4. 观察LED是否按照预期频率闪烁。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
***数学计算机科学系实验报告
专业:计算机科学与技术班级:实验课程:单片机原理与应用技术姓名:学号:实验室:硬件实验室
同组同学:
实验时间:2013年3月20日指导教师签字:成绩:
实验项目:发光二极管闪烁
一实验目的和要求
1.使用单片机的P1.5口做输出口,使该位发光二极管闪烁。
2.掌握单片机使用。
二实验环境
PC机一台,实验仪器一套
三实验步骤及实验记录
1.在pc机上,打开Keil C。
2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。
3.选择工程文件要存放的路径 ,输入工程文件名 LED, 最后单击保存。
4. 在弹出的对话框中选择 CPU 厂商及型号。
5.选择好 Atmel 公司的 89c51 后 , 单击确定。
6.在接着出现的对话框中选择“是”。
7.新建一个 C51 文件 , 点击file菜单下的NEW,或单击左上角的 New File快捷键。
8.保存新建的文件,单击SAVE。
9.在出现的对话框中输入保存文件名MAIN.C,再单击“保存”。
10.保存好后把此文件加入到工程中方法如下 : 用鼠标在 Source Group1 上单击右键 , 然后再单击 Add Files to Group ‘Source Group 1'。
11.选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击Close。
12.在编辑框里输入代码如下:
#include "reg51.h" //包含头文件
sbit led=P1^5; //表示用led等效于P1^5, P1^0就是指头文件里定义的P1寄存器的第5BIT
#define uchar unsigned char
#define uint unsigned int
delay(uint time) //int型数据为16位,所以最大值为65535 {
uint i,j; //定义变量i,j,用于循环语句
for(i=0;i<time;i++) //for循环,循环50*time次
for(j=0;j<50;j++); //for循环,循环50次
}
void main() //主函数
{
while(1) //进入while死循环
{
led=~led; //led电平取反来控制LED亮灭
delay(5000); //延时,修改延时即可修改闪烁频率
}
}
13.单击快捷键或单击Project/Rebuild all the files,如果在错误与警告
处看到 0 Error(s) 表示编译通过。
14.单击Options for Target,单击 Output, 选中 Create HEX Fi。
再单击“确定”,再次编译产生HEX文件。
15.STC-ISP 软件烧写程序,步骤如下:
步骤1、选择单片机型号STC12C5A60S2。
步骤2、打开程序文件(后缀为.HEX 的文件)。
在相应工程下找到待下载的HEX
文件,点击打开即可。
步骤3、选择串行口COM3。
步骤4、用USB线连接电脑和主板,将主板和核心板上的电源都关闭,点击“Download下载”,打开核心板上的电源开关(注意不是主板上的电源开关),
等待完成下载。
16.在单片机上,用1位杜邦线将J8_5与J13_1连接。
17.打开单片机电源开关,观察现象。
四实验结果与分析
发光二极管闪烁。