六只流水灯计时器的报告,使用51单片机按键控制流水灯点亮发光二极管的实验计时器

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
C单片机实验报告流水灯交通灯定时器双机交互时钟精要.doc 16页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
指导老师:
单片机核心板实验要求
流水灯实验
实验目的:
简单I/O引脚的输出
掌握软件延时编程方法
简单按键输入捕获判断
完成功能要求
开机是点亮12发光二极管,闪烁三下
按照顺时针循环依次点亮发光二极管
通过按键将发光二极管的显示改为顺逆时针方式
定时器或实时时钟实验
数码管动态显示技术
定时器的应用
按键功能定义
完成功能要求
通过按键可以设定定时时间,启动定时器,定时时间到,让12个发光二极管闪烁,完成定时器功能。
实时时钟,可以设定当前时间,完成钟表功能(四位数码管分别显示分钟和秒)。
上述二个功能至少完成一种功能。
双机通信实验
UART 串行通信接口技术应用
完成功能要求
用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。
交通灯实验
按键、数码管、发光二极管综合应用编程技术
数据存储于EEPROM的技术(也可以不使用)
定时中断技术
按键中断技术
完成功能要求
对每个路口(主干道、次干道)的绿灯时间,及黄灯时间的设定。
设定参数掉电后不丢失(如果不使用EEPROM,此功能可以不实现)。
紧急按键功能,当按下该键时,所有路口变成红灯,相当于交警指挥特殊车辆通过。再按该键,恢复正常显示。
流水灯实验
一、实验目的
1) 简单I/O引脚的输出
2) 掌握软件延时编程方法
3) 简单按键输入捕获判断
二、实验实现的功能
1) 开机是点亮12发光二极管,闪烁三下
2) 按照顺时针循环依次点亮发光二极管
3) 通过按键将发光二极管的显示改为顺逆时针方式
三、系统硬件设计
1)如单片机核心板所示的硬件电路。
四、系统软件设计
设计思路:
1)定义数组使得调用数组可以使led灯能够顺时针和逆时针显示;
2)将按键的输入端全部置零,做单独按键使用;
3)利用“while”循环使得数码管可以闪烁三下;
4)利用“for”循环使得小灯能够依次点亮一个周期;
5)将以上思想汇总,编程,实现功能。程序详见附录。
五、实验过程中遇到的问题及解决方法
1)刚开始不知道怎样只设置一个管脚(如P0^0)s中断一次并当作一个计数,则1000次中断为 1秒,然后十进制进位即可;
4)在程序开始计数器不工作时设定一个值,当计数器工作时将时间与设定时间比较,如果想等,计数器停止工作,小灯闪烁三下;
5)将以上思想汇总,编程,实现功能。程序详见附录。
五、实验过程中遇到的问题及解决方法
1)最开始的时钟和秒表都没有用计时器和中断,但是也达到了实验要求,最后又改用始终计时器,浪费了很多时间。
2)不知道怎么使数码管显示不同数字,从网上学到用动态扫描来显示。
3)认真学习了中断技术并运用之后,切实意识到中断技术是单片机的核心技术,数码管显示也变得简单和稳定了。
4)子程序中的参数传递不出来,在网上搜索以后知道了全局变量和局部变量,并知道了“void”的作用。
5)运用“!”符号后不用再麻烦的写“key==0”,很实用
指导老师签字:
双机通信实验
一、实验目的
1)UART 串行通信接口技术应用
二、实验实现的功能
1)用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。
三、系统硬件设计
1)如单片机核心板所示的硬件电路。
四、系统软件设计
设计思路:
1)该实验不对端口进行复杂操作,所以实验较简单;
2)设定波特率并计算出“TH1”和”TL1”的值;
3)对单片机进行初始化;
4)通过键盘扫面程序读出按下降的键并给予相关的编号;
5)输出编号;
6)读入数过来的值;
7)在数码管上显示;
8)将以上思想汇总,编程,实现功能。程序详见附录。
五、实验过程中遇到的问题及解决方法
1)对UART技术不了解,看书和视频以后有了初步了解。
2)按照课本上的程序模仿之后发现可以接收不能发送,认真查询程序发现了在利用数码管显示时将“P0=0XF7”直接将按键检测端口置高,按键无效了。
3)解决问题二之后还是不能发送数据,最后检查发现直接用“IF(TI)”不能有效地开通发送标志位,所以用了先将初值赋值给一个数,检测之后比较,并用比较结果进入发送允许,最后实现。
指导老师签字:
正在加载中,请稍后...您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于单片机的LED流水灯控制系统设计-自动化《 单片机应用技术 》课程设计报告.doc 13页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
······
2015 ~ 2016 学年
《 单片机应用技术 》
课 程 设 计 报 告
目: 基于单片机的LED流水灯控制系统设计
13自动化(一)班
指导教师:
电气工程学院
一、目的:
1进一步熟悉和掌握单片机的结构及工作原理。2、掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解关电路参数的计算方法。4、通过程序设计和,逐步掌握模块化程序设计方法软件keil c51编程软件的使用。5、通过完成一个包括电路设计和程序开发的完整制作过程,使学生了解开发单片机应用系统的全过程,为今后从事相应打下基础。
二、任务:
基于单片机的LED流水灯系统设计
要实现流水灯功能,将发光二极管LED1~LED6依次点亮、熄灭,6只LED灯便会一亮一暗的做流水灯了。
2、流水灯元器件清单: 发光管LED灯(红) 6
发光管LED灯(黄) 6
发光管LED灯(绿) 6
电容 30PF 2
电解电容 10UF 1
晶振 12MHZ 1
电阻 10K 1
IC插座 DIP40 1
电木万能板
USB转串口、下载线 1
课程设计要求在一周内完成,具体时间安排如下
完成资料查询,并完成原理图设计
设计程序,仿真功能
完成电路板的焊接
进行电路板的调试,老师验收
完成填写课程设计报告。单片机是指集成在一块芯片上的计算机。它具有结构简单,控制功能强,可靠性高,体积小,价格低,等优点,单片机技术,作为计算机技术的一个重要分支,广泛地应用于工业控制,智能化仪器仪表,家用电器,电子玩具等各个领域。近年来,随着科技的飞速发展,单片机的应用正在不断地走向深入,同时,带动传统控制检测日新月异更新,在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用。进单片机方面的知识是不够的,还根据具体硬件结构,以及针对具体应用对象特点,但软件结合,加以完善。本课设是利用,对AT8951单片机写程序实现对个发光二极管的控制。第一章
设计方法 1
第二章 硬件电路设计的步骤 2
2.1 AT89S51 2
2.1.1 AT89S51引脚 2
单片机时钟电路 2
2.3 单片机复位电路 3
2.4外围电路 4
代码编写 6
硬件设计 7
4.1硬件框图 7
硬件焊接图 7
系统调试 8
5.1检验电路板是否通电良好 8
5.2系统调试中存在的问题 9
第六章 心得体会 10
参考文献 11
本课题使用AT8951单片机时无需外扩存储器。因此。流水灯实际上就是一个带有个发光二极管的单片机最小应用系统。即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
如果要让接在P.0的LED1灯亮起来,那么只要把p2口的电平变为低电平就可以了。相反,如果要接在p.0口的led1灯熄灭,就要把p.0口的电平变为高电平。同理,P.1到P.4口的其他个LED的点亮和熄灭的方法同LED1。因此要实现流水灯功能,我们只要将发光二极管LED1到LED依次点亮、熄灭。只LED灯便会一亮一暗的做流水灯了。单片机的引脚大致可分为4类:电源、时钟、控制和I/O引脚。
(1)VCC:芯片电源,接+5V;
(2)VSS:接地端;
XTAL1、XTAL2 :晶体振荡电路反相输入端和输出端。
3.控制线:控制线共有4根,
(1)ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址
PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
(2) PSEN:外ROM读选通信号。
(3)RST/VPD:复位/备用电源。
RST(Reset)功能:复位信号输入端。
VPD功能:在Vcc掉电情况下,接备用电源。
(4)EA/Vpp:内外ROM选择/片内EPROM编程电源。
EA功能:内外ROM选择端。
Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
89C52共有4个8位并行I/O端口:P
正在加载中,请稍后...单片机、电路板
连接器、接插件
其他元器件
89C51单片机实验二
P1口输出实验(流水灯)
89C51单片机实验二
P1口输出实验(流水灯)
一. 实验要求1、P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
二. 实验设备
1、I B M — P C 系统机(或兼容机)一台;
2、系统软件:WAVE6000、仿真软件PROTEUS。
三. 实验目的1、学习PROTEUS仿真软件的使用
2、学习P1口的使用方法。
3、学习延时子程序的编写和使用。&&&&&
一. 实验要求1、P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
二. 实验设备
1、I B M — P C 系统机(或兼容机)一台;
2、系统软件:WAVE6000、仿真软件PROTEUS。
三. 实验目的1、学习PROTEUS仿真软件的使用
2、学习P1口的使用方法。
3、学习延时子程序的编写和使用。&&&&&&&&&&&&
四.实验电路及连线
&&&&&&&&&&&
五.实验说明
1、延时子程序的延时计算问题
对于程序&&& Delay:
&&&&&&&&&&&&&&&&&& MOV&& R6,#0H
&&&&&&&&&&&&&&&&&& MOV&& R7, #0H
&&&&&&&&&&& DelayLoop:
&&&&&&&&&&& &&&&&&&DJNZ& R6,DelayLoop
&&&&&&&&&&&&&&&&&& DJNZ& R7,DelayLoop
&&&&&&&&&&&&&&&&&& RET
查指令表可知MOV,DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以该段程序执行时间为:
(256×255+2)×2×12÷6 ≈ 261ms
&& 2、使用PROTEUS仿真软件
A、安装PROTEUS:
1.打开Proteus 7.12完美破解版目录,先安装Setup71.exe,提示LICence时选择"本地"并指向"crack"--&MAXIM_LICENCE.lxk
2.安装完成后将crac--&BIN中的文件复制到安装目录的..\BIN下替换原有的文件
B、打开老师提供的FlashLED仿真图,用鼠标左键双击AT89C52芯片,会弹出Edit Component对话框,在Program File中选择已编译好的HEX文件,点OK退出。
C、点左下角三角尖,则开始仿真。
完整的课程设计请下载:
&&& temp_27.rar
型号/产品名
广州芝麻开门科技开发有限公司
深圳市辉德胜电子有限公司
深圳市辉德胜电子有限公司
东莞市大岭山杰世电子贸易部
义乌市优享服饰有限公司发光二极管流水灯实验报告_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
发光二极管流水灯实验报告
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢已解决问题
用汇编语言编流水灯,有8个LED灯,LED1~LED8灯按顺序点亮,每个等亮一秒转到下个灯,一直循环亮
提问时间: 22:12:19
采用外部中断,按下中断按钮灯亮一秒后熄灭。需画出电路图
浏览次数:8115
该答案已经被保护
一键多功能按键识别技术 1.实验任务 开关K1接在P3.2管脚上,在AT89S51单片机的P0.0端口接有1个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在亮,当一次按下开关K1的时候,灯灭,再按一次,灯亮,如此轮流下去。&br/&&br/& 2.系统板上硬件连线 把&单片机系统&区域中的P3.2端口连接到&独立式键盘&区域中的K1端口上;把P0.0连到L1上 3.程序设计方法 (1. 设计思想由来 在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。/*************************************************************&br/&&br/&
51单片机流水灯 C语言源程&br/&&br/&
文件说明:流水灯C程序 程序说明: MCU采用AT89S52外接11.0592M晶振P2口&br/&&br/&
&br/&&br/&
*************************************************************/ #include&br/&
//51 系列单片机定义文&br/&&br/&
#define uchar unsigned char // 定义符号字&br/&&br/&
#define uint unsigned int // 定义符号整数 void delay(uint)&br/&&br/&
// 声明延函&br/&&br/&
void main(void) &br/&&br/& uchar temp&br/&&br/&
while(1) &br/&&br/&
&br/&&br/&
temp=0x01&br/&&br/&
&br/&&br/&
for(i=0;i&8;i++) //8 流水灯逐&br/&&br/&
&br/&&br/&
&br/&&br/&
&br/&&br/&
P2=~temp&br/&&br/&
&br/&&br/&
delay(100)&br/&&br/&
// 调用延函&br/&&br/&
&br/&&br/&
temp&&=1&br/&&br/&
&br/&&br/&
} temp=0x80; for(i=0;i&8;i++) //8 流水灯反向逐&br/&&br/&
&br/&&br/&
&br/&&br/&
&br/&&br/&
P2=~temp&br/&&br/&
&br/&&br/&
delay(100)&br/&&br/&
// 调用延函&br/&&br/&
&br/&&br/&
temp&&=1&br/&&br/&
&br/&&br/&
&br/&&br/&
temp=0xFE; for(i=0;i&8;i++) //8 流水灯依全部点&br/&&br/&
&br/&&br/&
&br/&&br/&
&br/&&br/&
P2=temp&br/&&br/&
&br/&&br/&
delay(100)&br/&&br/&
// 调用延函&br/&&br/&
&br/&&br/&
temp&&=1&br/&&br/&
&br/&&br/&
&br/&&br/&
temp=0x7F; for(i=0;i&8;i++) //8 流水灯依反向全部点&br/&&br/&
&br/&&br/&
&br/&&br/&
&br/&&br/&
P2=temp&br/&&br/&
&br/&&br/&
delay(100)&br/&&br/&
// 调用延函&br/&&br/&
&br/&&br/&
temp&&=1&br/&&br/&
&br/&&br/&
} } } void delay(uint t&br/&&br/&
// 定义延函&br/&&br/&
&br/&&br/&
&br/&&br/&
{ register uint bt&br/&&br/&
&br/&&br/&
&br/&&br/&
for(;t--&br/&&br/&
&br/&&br/&
&br/&&br/&
for(bt=0;bt&255;bt++)&br/&&br/&
&br/&&br/&
答案创立者
以企业身份回答&
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题

我要回帖

更多关于 单片机流水灯 的文章

 

随机推荐