电子信息工程学系实验报告
课程名称: 单片机原理及接口 实验项目名称: 实验2 流水灯实验 时间: 20##-10-21班级: 电信092 姓名: 蔡松亮 学号: 910706247
…… …… 余下全文
电子信息工程学系实验报告
课程名称: 单片机原理及接口 实验项目名称: 实验2 流水灯实验 时间: 20##-10-21班级: 电信092 姓名: 蔡松亮 学号: 910706247
…… …… 余下全文
LED流水灯实验报告
实验一
系 别: 电子工程学院
专 业: 微电子学
班 级: 微电子0802
姓 名:
实验时间: 20XX年05月18日
实验一 基于51单片机的LED流水灯设计
一、实验目的:
1、了解基于51单片机的汇编语言程序设计
2、掌握汇编工具的使用方法
3、用实验台调试编写好的汇编代码
二、实验要求:
用计算机编写汇编代码并下载到单片机中调试,实现8只LED的流水灯功能
三、实验设备:
PC机一台;80C31单片机一片;实验台。
四、操作步骤:(包括连线、跳线、操作过程等)
1、连接电路,将8位LED与单片机的P1.0 – P1.7顺次连接
2、按实验台面板上的Reset键,将单片机与计算机程序配对连接
3、用计算机编写代码,并汇编、调试
4、将程序下载到单片机中,观察现象
5、如果不符合预期要求则修改程序重新调试
五、源代码:(要求对所有程序进行分析注解)
NAME LED ;定义程序名称:LED
CSEG AT 0000H ;程序段起始地址
LJMP START
CSEG AT 4100H
START:MOV P1,#0FEH ;给P1口赋初值
LOOP: RR A ;A循环右移
MOV P1,A ;将A的值传给P1
LCALL DELAY ;调用延迟
JMP LOOP ;循环本节
DELAY: MOV R1,#200 ;用双层循环嵌套实现延时功能
DEL1: MOV R2,#127
DEL2: DJNZ R2,DEL2
DJNZ R1,DEL1
RET
END
六、实验心得
通过本次实验基本了解了LED流水灯的工作流程,通过编写汇编程序实现了LED流水灯的设计,复习并更加掌握汇编语言,尤其是汇编语言中循环的用法,并且学会了用双层循环嵌套实现了延时功能.开始时,我不知道怎么写,然后看了会书,想到了使用循环来实现,但具体怎么写还是不太了解,就问了下同学,在同学的帮助下,还是慢慢地调试出了程序,通过这次实验,我深刻地懂得了以后在实验和工作中要能做出真正的东西,必须熟练的掌握基本知识,所以以后上课一定要好好听课,只有真正理解了基础知识,才能利用所学知识做出真正的东西.
…… …… 余下全文
实 验 报 告
课程名称 单片机实习
专业班级 电子1142
姓 名 戴秀锋
学 号 1104451216
电气与信息学院
和谐 勤奋 求是 创新
实验教学考核和成绩评定办法
1. 课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。
2. 单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。
3. 实验考核内容包括:1)实验预习;2)实验过程(包括实验操作、实验记录和实验态度、表现);3)实验报告;权重分别为0.2 、0.4 、 0.4;原则上根据上述三个方面进行综合评定。学生未取得1)和2)项成绩时,第3)项成绩无效。
…… …… 余下全文
51单片机流水灯试验
一、实验目的
1.了解51单片机的引脚结构。
2.根据所学汇编语言编写代码实现LED灯的流水功能。
3.利用开发板下载hex文件后验证功能。
二、实验器材
个人电脑,80c51单片机,开发板
三、实验原理
单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。使用rl或rr a实现位的转换。
A寄存器的位经过rr a之后转换如下所示:
然后将A寄存器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置一操作。
四、 实验电路图
五、 通过仿真实验正确性
代码如下:ORG 0
MOV A,#00000001B
LOOP:MOV P2,A
RL A
ACALL DELAY
SJMP LOOP
DELAY:MOV R1,#255
DEL2:MOV R2,#250
DEL1:DJNZ R2,DEL1
DJNZ R1,DEL2
RET
End
实验结果:
六、 实验总结
这次试验我通过Proteus仿真实现对流水灯功能的实现。受益匪浅,对80c51的功能和结构有了深层次的了解,我深刻的明白,要想完全了解c51还有一定距离,但我会一如既往的同困难作斗争。在实验中,我遇到了不少困难,比如不知道怎么将程序写进单片机中,写好程序的却总出错,不知道什么原因,原来没有生成hex文件。这些错误令我明白以后在试验中要步步细心,避免出错。
…… …… 余下全文
一、 概述
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程。
P为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义。
二、 实验原理与设计方案
设计平台:
AT89C51单片机;PC机,含Keil软件平台,Proteus软件平台;单片机开发板。
如下图2为开发板:
设计思路:
本系统主要通过P1口来控制LED的闪烁,有10种模式(0~9)可供选择。通过模式按键来选择需要的闪烁方式,这里主要通过几个计数器来控制,按下一次按键,计数器加1,模式切换到下一种模式。同时利用数码管将模式显示出来。另外还有一个加速和减速的按键,系统设定有30种速度可供选择。按下一次加速键,速度计数器加1,按下一次减速键,速度计数器减1。其中加速减速主要是通过设定定时器2的定时时间来改变的,加速,减速主要是将定时器的时间加减。特别一提的是,按键的按下读取要消除抖动。
…… …… 余下全文
扬州大学广陵学院
课程设计报告
设计题目: 流水灯设计
姓 名: z t y
学 号: 100036137
班 级: 微电81001
时 间:2013年 7月 4日
目 录
一. 设计任务与要求…………………………………………3
二. 实验目的…………………………………………….…..3
三. 实验思路…………………………………………….…..3
1系统逻辑设计……………………………………...…3
2源程序代码………………………………………..…3
⑴LED流水灯控制模块………………………………….4
⑵分频器…………………………………………………5
⑶四位选择器…………………………………………….5
⑷六位计数器…………………………………………..6
⑸2位计数器…………………………………………...6
3实验原理调用………………………………… …….7
4仿真结果与分析…………………………….……….7
四. 心得体会……………………………………………..….8
一.设计任务与要求
随着大规模集成电路技术和EDA技术的迅速发展,使得数字系统的硬件设计如同软件设计那样方便快捷,而Verilog HDL 是当前应用最广泛的并成为IEEE标准的一种硬件描述语言。Verilog HDL是在C语言的基础上演化而来,具有结构清晰、文法简明、功能强大、高速模拟和多库支持等优点。此次课程设计通过使用Verilog HDL硬件描述语言设计了一个程序,使得流水灯可以根据自己所期望的方式点亮,并能在、MAX+plusⅡ进行仿真测试,得出出仿真结果。通过课程设计深入理解VHDL语言的精髓,加深对数字电路和VHDL基本单元的理解,理论联系实际,提高设计能力,提高分析、解决计算机技术实际问题的独立工作能力。
…… …… 余下全文
单片机流水灯实验
一、任务
让8个LED灯轮流亮起来,实现流水灯的功能。
二、思路
让接在P0.0口的LED灯亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED灯熄灭,就要把P0.0口的电平变为高电平就可以了。要实现流水灯功能,只要将8个LED灯依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。
我们应该注意一点,由于单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
三、步骤
1、用proteus画电路图。如下图:
2、用keil建工程。
1) 运行keil C51软件,点击Project菜单新建项目,选择为AT89C52的单片机型号。然后单击File选择New新建程序文件,保存成 .c 文件,右击Source Group1添加入程序文件。
2) 用C语言编写程序代码如下:
#include <reg52.h>
void delay (unsigned char tmp);
code unsigned char tmpled[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void main(void)
{
unsigned char i;
while (1)
{
for(i=0;i<8;i++)
{
…… …… 余下全文
一、前 言…………………………………………………………… (1)
1.1课题简介………………………………………………………… (1)
1.2设计目的…………………………………………………………… (1)
二、总体设计……………………………………………………………(2)
2.1设计思路…………………………………………………………… (2)
2.2原件清单…………………………………………………………… (2)
三、硬件设计…………………………………………………………… (3)
3.1AT89C51…………………………………………………………… (3)
3.2系统框图 ……………………………………………………………(5)
3.3程序框图 ……………………………………………………………(5)四、软件设计……………………………………………………………(5)
4.1硬件设计…………………………………………………………… (6)
4.2单片机时钟电………………………………………………………(6)
4.3复位电路 ……………………………………………………………(6)4.4控制电路 ……………………………………………………………(7)
4.5工作电路 ……………………………………………………………(7)
五、软件调试……………………………………………………………(8)
5.1设计要求 ……………………………………………………………(8)
5.2软件的流程图………………………………………………………(9)
5.3程序设计 ……………………………………………………………(9)
六、软件调试……………………………………………………………(11)
七、心得体会……………………………………………………………(12)
…… …… 余下全文