当前位置:文档之家› 定时器,跑马灯间隔一秒闪烁单片机论文

定时器,跑马灯间隔一秒闪烁单片机论文

定时器,跑马灯间隔一秒闪烁单片机论文
定时器,跑马灯间隔一秒闪烁单片机论文

西安建筑科技大学华清学院课程设计(论文)

课程名称:单片机原理及其接口技术

题目:定时器实验

院(系):机械电子工程系

专业班级:电信0801

姓名:崔艳妮

学号:32

指导教师:张建国

2011年7月3日

西安建筑科技大学课程设计(论文)任务书

专业班级:电子信息科学与技术0801 学生姓名:崔艳妮指导教师(签名):

一、课程设计(论文)题目

定时器试验

二、本次课程设计(论文)应达到的目的

1 熟练运用汇编语言编程,并且掌握键盘查表来运行相应的功能

2 熟悉启动硬件仿真系统,熟练应用该系统调试软件

3 熟悉单片机应用系统的组成,并能运用程序控制外部流水灯

三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)

(1)初始化定时器,使之采用定时器0,方式2,定时100us时间

(2)通过设置中断,产生总时间为1秒

(3)1秒时间到,控制发光二极管点亮

四、应收集的资料及主要参考文献:

1 李建忠,单片机原理及应用.西安电子科技大学出版社,2008年

2 启东单片机仿真试验系统使用说明书

3 李珍,单片机原理与应用技术.清华大学出版社,2003年

五、审核批准意见

教研室主任(签字)

目录

一、设计内容及要求 (4)

二、系统设计原理及方案 (4)

三、系统软硬件设计 (5)

四、系统功能实现 (8)

五、实验总结与心得体会 (9)

引言

随着时代的进步,电子行业的发展,定时器的应用也越来越广泛。但传统的定时器都是使用发条驱动式、电机传动式或电钟式等机械定时器。电子定时器相对普通定时器来说,体积小、重量轻、造价低、精度高、寿命长、而且安全可靠、调整方便、适于频繁使用。本设计采用AT89C51单片机为核心,阐述了系统工作原理,给出了软件流程。该定时器满足对电器的电源进行控制,同时要方便用户对电子定时器的操作。

我们在日常生活中,经常碰到一些需要定时的事情,例如:印相或放大照片,需要定在零点几秒的时间,洗衣机洗涤衣物需要定在几分钟到几十分钟的时间,电风扇需要定在数十分钟的时间。完成这种定时的定时器有多种多样,在家用电器中采用机械定时器就是根据一般上弦钟表原理设计的,这种定时器虽然结构简单,成本低,维修也比较方便,但是它的触头频繁接触和断开,大大的缩减了它的使用寿命,也不利于进一步全自动化。在电子技术突飞猛进的今天,电子定时器一定会逐步取而代之,这是不言而喻的。

本文是基于51系列单片机设计的一种用于控制家用电器的设计方案。

一、设计内容及要求

1.1 课题简介

本系统充分利用了8051芯片的I/O引脚。系统以采用MCS-51系列单片机Intel8051为中心器件来设计定时器,通过中断的应用来达到一定的定时时间,从而控制外部流水灯的闪烁。

1.2 设计目的

1.2.1 熟练运用汇编语言编程,并且掌握键盘查表来运行相应的功能

1.2 .2熟悉启动硬件仿真系统,熟练应用该系统调试软件

1.2.3 熟悉单片机应用系统的组成,并能运用程序控制外部流水灯

1.3 设计目标

采用定时器0,方式2,定时一定的时间,让发光二极管亮

二、系统设计原理及方案

2.1 系统分析

2.1.1 初始化定时器,使之采用定时器0,方式2,定时100us时间

2.1.2 通过设置中断,产生总时间为1秒

2.1.3 秒时间到,控制发光二极管点亮

2.2 程序框图及说明

利用定时器T0的中断来进行延时而做成的流水灯,发光二极管点亮后延时1s再次点亮,如此反复循环。我们可以设置T0的初值为100ms,在中断中用一计数器进行计数,当其等于10000时表示到了1s,即可进行下一步操作了。在程序开始执行前,中断计数器初值为0。该流水灯的详细流程如下图2-1。

图2-1 系统框图

三、系统软硬件设计

3.1 硬件设计

3.1.1定时器设计电路图

本次课程设计采用Protues7.5设计的电路图如图3-1所示。图中单片机采用AT89C51,由图可见,P0.1(对应89C51的P0.1脚)脚置低电平灯亮,然后灯灭,1s延时过后灯再次变亮,如此反复循环。

图3-1 系统原理图

3.1.1 芯片的选择

硬件电路要实现对交流大电流电源的控制、定时时间的设定功能。若采用40脚的单片机有利于设计,但会增大电路板的体积。本设计采用ATMEL公司的AT89C2051单片机,芯片位20脚,体积小,工作电压范围宽(2.7V~6V)。性价比比较高。

3.2 软件设计

3.2.1计数初值计算

根据定时器/ 计数器0的工作方式2逻辑结构图可知,使用工作方式2的计数范围是1~255,定时时间的计算公式为:(28-计数初值)*晶振周期*12 本次课题设计的晶振频率为12MHz,所以机器周期为1微秒。由于设计要求定时100微秒,设计数初值为x,则(28- x)*1*10-6s=100*10-6s,计算得x=ox9CH。所以寄存器TL0和TH0都设置初值为9CH。总定时时间要求是1秒,所以可利用软件方法实现10000次100微秒的定时,这就是循环定时。

3.2.2软件流程图

图3-2 程序流程图

3.2.3汇编程序

ORG 0000H

LJMP MAIN

ORG 000BH T0入口地址

LJMP PT0M2

ORG 001BH T1入口地址

LJMP PT1M0

ORG 0100H

MAIN: MOV SP,#60H 初始化堆栈,保护工作寄存器区

MOV R0,#0FFH

MOV R1,#01H

MOV R2,#00H 延时标志位,R2=1时延时时间到

MOV TMOD,#52H 计数器T1工作在方式1,定时器T0工作在方式2

LCALL IT0P

LCALL IT1P

SETB EA 开中断

DELAY: CJNE R2,#01H,DELAY 如果R2=0则继续等待,直到R2=1即延时时间到。

MOV A,R0

XRL A,R1

MOV P1,A ;

MOV R2,#00H 清零延时标志R2

LJMP DELAY 函数PT0M2是T0的中断服务子程序

PT0M2: CLR P1.0 点亮二极管

SETB P1.0

RETI

PT1M0: MOV R2,#01H 函数PT1M0是T1中断服务子程序

MOV TL1,#0F0H

MOV TH1,#0D8H

RETI

IT0P: MOV TL0,#9CH 函数IT0P是T0的初始化子程序

MOV TH0,#9CH 给T0赋初值

SETB TR0 启动T0,定时开始

SETB ET0 允许T0中断

SETB P1.0

RET

IT1P: MOV TL1,#0F0H 函数IT1P是T1的初始化子程序MOV TH1,#0D8H

SETB TR1

SETB ET1

RET

END

四、系统功能实现

4.1 软件功能调试

软件调试一般分为以下四个阶段:

1、编写程序并查错;

2、在C语言的编译系统中编译源程序

3、对程序进行编译连接,并及时发现程序中存在的错误;

4、改正错误。

在软件调试过程中,最初程序编译出错,我经过认真的分析,发现中断服务子程序中缺少了返回指令,编译后又未得到正确周期指令数值。在一遍遍重新阅读程序后方知未将R2清零(计数值),经改正终于调试成功,并很好的达到既定的设计效果。

此系统还可改进实现电子计数器、跑马灯等功能,这是一个比较难的挑战。

4.2硬件功能测试

此次课程设计主要利用查询方法,运用循环嵌套循环的方法,简单的说是10000*100,最内层循环是100微秒;第二层循环通过计数器T1计数实现,实现10000个100微秒后转到最外层循环;通过给T1赋初值D8F0H,当它开始溢出时即达定时时间1秒。定时时间到则置P1.0为低电平,红灯则亮,然后立刻熄灭,1S延时后再置P1.0为低电平,红灯亮,如此循环。

图4-1 系统仿真效果图

此次课程设计在实际操作过程中,由于按键及代码执行所需时间的影响,设计后的效果并不精准,还有改进的空间。

五、实验总结与心得体会

这次单片机课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固,并进一步熟悉了汇编语言在单片机中的结构和使用方法,基本达到了能独立阅读、编制和调试一定规模的汇编语言程序的水平,学习在使用子程序时应正确使用调用CALL和返回RET指令,以及合理使用堆栈之灵来达到寄存器的保护和恢复。

经过一周的努力,顺利的完成了单片机课设。这是一个磨练意志的过程。从课题的选择开始,硬件和软件系统的设计、到最后的Proteus软件仿真完成,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。一方面通过C51单片机等一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知识都得到了运用;另一方面在用Proteus软件画电路图时,然后再转换成一维的WORD中进行编辑,这个过程中让我掌握了计算机辅助的设计技术。当然,这是一个需要不断的尝试,不断的校核,不断的修改,最后完成一个合理的设计的过程。需要的是细心和耐心。在很大程度上培养了我拼搏的工作精神。使我受益匪浅,更加明确了自己专业的方向。

通过本次课设,我不仅学到了关于单片机技术方面的许多专业知识,同时也让我感觉到团队合作的重要性。其实如何有效和快速的找到资料也是课设给我的启发,利用好图书馆和网络,是资源的到最好的利用。与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系,也扩展了自己的思维。课设是一个通过思考、发问、自己解惑并动手、提高的过程。我会在以后的学习中不断学习,积累经验,完善自己。

这过程中我受到了老师的精心指导和帮助,您的思想指引着我们克服了诸多困难,在这里我衷心的感谢张老师!

参考文献

[1]李建忠,单片机原理及应用.西安电子科技大学出版社,2008年

[2]李珍,单片机原理与应用技术.清华大学出版社,2003年

[3]徐爱钧,智能化测量控制仪表原理与设计(第二版).北京航天航空大学出版社,2004.9

[4]杨恢先,黄辉先著.单片机原理与应用.人民邮电出版,2009.7

[5]朱定华,单片机原理与接口技术.电子工业出版社,2001.4

[6]王威,HCS12微控制器原理及应用.北京航空航天大学出版社,2007.10

[7]龚运新,单片机C语言开发技术.北京清华大学出版社,2006.10

[8]胡洪波,单片机原理与应用实验教程.湘潭大学出版社,2009.7

[9]启东单片机仿真试验系统使用说明书

此程序是用单片机的p1口接八个led灯作跑马灯试验

拆字程序 Org 0000h Mov A , 2000H Add A ,#F0H MOV 2001H ,A MOV A ,2000H ADD A , #0FH MOV 2002H , A MOV A , 2001H ADD A , 2002H END 拆分BCD 码 ? *************************************************************************** ;此程序是用单片机的p1口接八个led灯作跑马灯试验,八个led依次亮了又熄灭,形成漂亮;的跑马灯。本人已经试验成功。 ;单片机教程网https://www.doczj.com/doc/fe15352330.html, 原创

;该8路单片机跑马灯程序代码简单,电路也容易搭建,只需把led接在p1口上就可以了,希望大家能试验成功顺利的完成跑马灯报告 ;*************************************************************************** org 0000h loop0:cjne r0 ,#01h,rel,loop0 ;判断开关打开情况 ajmp start;跳转到程序开始 org 0030h;定义起始汇编地址 start: mov a,#0ffh ; clr c ; mov r2,#08h ;循环八次。 loop: rlc a ;带进位左移。 mov p1,a ;此时led灯开始有反映了。 call delay ;延时 djnz r2,loop ;循环(djnz条件判断) mov r2,#07h ; loop1: rrc a ;带进位右移 mov p1,a ;此时led灯开始有反映了。 call delay ; djnz r2,loop1 ;反复循环 jmp start ;回到程序的开头 delay: mov r3,#20 ;延时子程序 d1: mov r4,#20 d2: mov r5,#248 djnz r5,$ djnz r4,d2 ```````````````````````````````````````````````---------3路单片机跑马灯程序---------------------------------------

PLC控制跑马灯系统的设计

河南工业职业技术学院 2012—2013学年 第一学期 毕业设计 课题名称:PLC控制跑马灯系统的设计设计时间:20012.9.25—20012.10.21 系部:机电工程系 班级:机电1003 姓名:杨杰 指导教师:朱文琦

目录 前言 (3) 第1章概论 (5) 1.1跑马灯系统的意义、现状及要求 (5) 1.1.2 技术现状 (5) 1.2彩灯的发展 (6) 1.2.1 彩灯的最初来源 (6) 1.2.2 彩灯给城市带来的五彩缤纷 (6) 1.3PLC的发展前景及趋势 (7) 1.4PLC的定义及特点 (11) 第2章硬件电路的设计 (13) 2.1跑马灯电路的设计 (13) 2.2开关电路的设计 (14) 第3章软件设计 (15) 3.1软件设计的方案 (11) 3.2PLC结构 (14) 3.3工作原理 (15) 3.4编程语言 (16) 3.5S7-200的指令系统 (18) 3.6跑马灯的工作要求 (19) 3.7梯形图 (20) 结束语 (26) 致谢 (27)

参考文献 (28) 附图 (29) PLC控制跑马灯系统的设计 [摘要]本次毕业设计是应用S7-200 PLC跑马灯设计的硬件电路,并利用OB1的梯形图控制程序设计。通过控制S7-200 PLC的定时继电器的功能 来实现各彩灯按一定的规律点亮和熄灭。接通延迟定时器SD的特点(如 果RLO有正跳沿,则接通延迟定时器启动指令,以设定的时间值启动 指令的定时器)。这种控制电路结构简单,可靠性高,应用性强;软 件程序适应范围广,对各彩灯按一定的规律点亮和熄灭的控制,只需 要改变相应的定时器的时间接通即可。 [关键词] PLC 彩灯梯形图;

单片机课程设计报告-跑马灯

单片机课程设计报告-跑马灯

武汉纺织大学 单 片 机 课 程 设 计 报 告 设计课题:跑马灯 指导教师:刘丰

姓名:颜珊曹坤 班级:应电092 一、设计任务 利用单片机制作让LED灯依次闪烁时间间隔为0.5S二次后时间加快为 0.2S并循环闪烁的跑马灯. 二、设计要求 (1)采用单片机STC89C52来控制,下载器由芯片MAX232来对程序的下载。 (2)LED灯的闪烁间隔时间为0.5S-0.25S-1S,每循环两圈更改闪烁速度。 (3)供电采用USB方口的方式。 三、方案设计与论证 跑马灯电路的组成方框图为: 四,主要元件介绍 (1)单片机STC89C52引脚介绍 stc89c52的内核和AT51系列单片机一样,故引脚也相同: 1~8:I/OP1口(P1.0~P1.7); 9:复位脚(RST/Vpd);

10~17:I/OP3口(P3.0=RXD,P3.1=TXD,P3.2=-INT0,P3.3=-INT1,P3.4=T0,P3.5=T1,P3.6=-WR,P3.7=-RD)主要是此引脚; 18、19:晶振(18=XTAL2,19=XTAL1);20:地(Vss); 21~28:I/OP2口(P2.0~P2.7); 29:-PSEN; 30:ALE/-PROG; 31:-EA/Vpp 32~39:I/OP0口(P0.7~P0.0); 40:+5V电源。 注:引脚功能前加“-”,说明其是低电平有效。如P3.2=-INT0。 (2)MAX232介绍 MAX232芯片是美信公司专门为电脑的RS-2 32标准串口设计的接口电路,使用+5v单电源供电。

用单片机编写几种跑马灯

用单片机编写几种跑马灯 任务: 1、在电路板上实现跑马灯,一次1匹 2、在电路板上实现跑马灯,一次2匹 3、在电路板上实现4个二极管的同时闪烁 源程序1: /***********************************信息**************************************** **作者:刘海涛 **版本:初始版V1.0 **描叙:用电路板实现跑马灯。 **日期:2010年7月25日 *******************************************************************************/ /**********************************头文件*************************************** **头文件"reg52.h" *******************************************************************************/ /**********************************函数名*************************************** **函数名:延时函数delay() **输入:无 **输入:无 **宏定义:无 *******************************************************************************/ /**********************************宏定义*************************************** 宏定义:#define XBYTE ((unsigned char *)0x20000L) *******************************************************************************/ #include"reg52.h" delay(unsigned int dat) // 延时函数定义 { unsigned int i,j; for(i=0;i

跑马灯实验报告

电子系统综合设计报告 学号 201009120229 姓名李文海年级专业 2010级电子信息工程(二) 指导 教师刘怀强 学院理学院 走马灯实验论文--《嵌入式系统技术》 1、实验目的 1、学会dp-51pro实验仪监控程序下载、动态调试等联机调试功能的使用; 2、理解和学会单片机并口的作为通用i/o的使用; 3、理解和学会单片机外部中断的使用; 4、了解单片机定时器/计数器的应用。 2、实验设备 z pc 机、arm 仿真器、2440 实验箱、串口线。 3、实验内容 z 熟悉 arm 开发环境的建立。 z 使用 arm 汇编和 c 语言设置 gpio 口的相应寄存器。 z 编写跑马灯程序。 5、实验原理 走马灯实验是一个硬件实验,因此要求使用dp-51pro 单片机综合仿真实验仪进行硬件 仿真,首先要求先进行软件仿真,排除软件语法错误,保证关键程序段的正确。然后连接仿 真仪,下载监控程序,进行主机与实验箱联机仿真。 为了使单独编译的 c 语言程序和汇编程序之间能够相互调用,必须为子程序间的调用规 定一定的规则。atpcs ,即 arm , thumb 过程调用标准(arm/thumb procedure call standard),是 arm 程序和 thumb 程序中子程序调用的基本规则,它规定了一些子程序间调 用的基本规则,如子程序调用过程中的寄存器的使用规则,堆栈的使用规则,参数的传递规 则等。 下面结合实际介绍几种 atpcs 规则,如果读者想了解更多的规则,可以查看相关的书 籍。 1.基本 atpcs 基本 atpcs 规定了在子程序调用时的一些基本规则,包括下面 3 方面的内容: (1)各寄存器的使用规则及其相应的名称。 (2)数据栈的使用规则。 (3)参数传递的规则。 相对于其它类型的 atpcs,满足基本 atpcs 的程序的执行速度更快,所占用的内存更少。 但是它不能提供以下的支持: arm 程序和 thumb 程序相互调用,数据以及代码的位置无关 的支持,子程序的可重入性,数据栈检查的支持。 而派生的其他几种特定的 atpcs 就是在基本 atpcs 的基础上再添加其他的规则而形成 的。其目的就是提供上述的功能。 2.寄存器的使用规则 寄存器的使用必须满足下面的规则: (1) 子程序间通过寄存器 r0~r3 来传递参数。这时,寄存器 r0~r3 可以记作 a0~a3。 被调用的子程序在返回前无需恢复寄存器 r0~r3 的内容。 (2) 在子程序中,使用寄存器 r4~rll 来保存局部变量。这时,寄存器 r4~r11 可以记 作 v1~v8。如果在子程序中使用到了寄存器 v1~v8 中的某些寄存器,子程序进入时必须保

2020年(交通运输)单片机整套实验及程序(交通灯_跑马灯等)

(交通运输)单片机整套实验及程序(交通灯_跑马灯 等)

实验1 跑马灯实验 一、实验目的 ●初步学会Proteus ISIS和uVision2单片机集成开发环境的使用; ●初步掌握采用汇编语言与C语言开发单片机系统的程序结构; ●掌握80C51单片机通用I/O口的使用; ●掌握单片机内部定时/计数器的使用及编程方法以及中断处理程序的编写方法。 二、实验设备及器件 ●硬件:PC机,HNIST-1型单片机实验系统 ●软件:Proteus ISIS单片机仿真环境,uVision2单片机集成开发环境 三、实验内容 ●编写一段程序,采用P1口作为控制端口,使与P1口相接的四个发光二极管(D1、D2、D3、D4)按照一定的方式点亮。如点亮方式为:先点亮D1,延时一段时间,再顺序点亮D2……D4,然后又是D4……D1,同时只能有一个灯亮;然后每隔一段时间一次使相邻两个灯亮,三个灯亮,四个灯亮,最后闪烁三次,接着循环变化。 ●基于Proteus ISIS仿真环境完成上述功能的仿真。 ●基于uVision2单片机集成开发环境与硬件平台完成程序的脱机运行。 四、实验原理图 图3.1 跑马灯实验电路原理图 电路原理图如上图3.1所示,AT89S52的P1.0~P1.3控制4个发光二极管,发光二极管按照一定次序发光,相邻发光二极管的发光时间间隔可以通过定时器控制,

还可以通过软件延时实现。 五、软件流程图与参考程序 ●主程序流程图如下: ●参考程序

#include #include #define uchar unsigned char #define uint unsigned int uchar aa,num,speed,flag; uchar code table[]={0x0e,0x0d,0x0b,0x07}; uchar code table1[]={0x0a,0x05,0x09,0x06}; uchar codetable2[]={0x0c,0x09,0x03,0x08,0x01,0x0e,0x0c,0x08,0x00}; void delay(uint z)//延时函数 { uint x; uchar y; for(x=z;x>0;x--) for(y=200;y>0;y--); } void init()//条件初始化函数 { flag=0; speed=10;//控制跑马灯流水速度 TMOD=0x01;//中断方式 TH0=(65535-50000)/256; TL0=(65536-50000)%256;//初值

跑马灯控制(定时中断应用)

江 苏 省 盐 城 技 师 学 院 教 案 首 页 编 号:YJQD-0507-07 版 本:B/O 流水号: 编 制: 审 核: 批 准: 课题: 跑马灯控制(定时中断应用) 教学目的、要求:1、学习使用定时/计数器实现精确延时。 2、 熟练掌握移位指令。 教学重点、难点:熟练掌握移位指令 授课方法: 启发式教学、任务驱动型教学、实验教学 教学参考及教具(含电教设备):高职高专规划教材《单片机原理与控制技术》、多 媒体设备、DVCC 系列单片机微机仿真实验系统实验指导书。 授课执行情况及分析: 板书或教学设计: 授课日期 班 级 课题:跑马灯控制(定时中断应用) 一、知识回顾 二、任务引入 三、任务分析 四、相关知识 (1)电路功能 (2)硬件电路 (3)控制程序 五、任务实施 六、任务拓展 七、巡回指导 八、结束指导

课题 跑马灯控制(定时中断应用) 课前准备: 1、DVCC 系列单片机微机仿真实验系统 2、安装有DVCC 实验系统软件的计算机、多媒体投影仪 3、万用表及常用电工工具 组织教学: 检查学生人数、标志牌佩戴、工作服及工具准备情况。 知识回顾(复习提问): 定时中断的设定方法是什么? 任务引入: 开始时P1.0亮,延时0.2S 后,P1.1亮,如此左移7次后至P1.7再延时0.2S 右移至P1.6,如此右移7次至P1.0,循环显示。 任务分析: 一、硬件图 EA/VP 31X119X218 RESET 9RD 17WR 16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P20 21 P2122P2223P2324P2425P2526P2627P2728PSEN 29ALE/P 30TXD 11RXD 10Vss 20 Vcc 40U2 8051 R1200R2200R3200R4200R5200R6200R7200R8200 D1LED D2LED D3LED D4LED D5LED D6LED D7LED D8 LED T1XTAL C1 30p F C2 30p F a b f c g d e VCC 1234567a b c d e f g 8 dp dp 9 DS1 AMBERCA a b f c g d e VCC 1234567a b c d e f g 8dp dp 9 DS2 AMBERCA A B C D R910K R1010K R1110K R1210K +5V +5V R0110k +5V + C01 22u F 二、功能说明

div实现向左右无缝滚动图片效果(跑马灯)

div实现向左右无缝滚动图片效果(跑马灯) div+css学习笔记22(用div实现向左无缝滚动图片效果)JavaScript实现走马灯效果[无缝连接、循环滚动] 无缝跑马灯效果以下代码在IE6、Firefox+Win2k环境下测试通过网页走马灯连续循环滚动废话少说,代码贴出来:<div id="imgmarquee" style="OVERFLOW: hidden; WIDTH: 580px; align: left; background-color:#0099CC;"> <div style="width:1200px"><!--id="marquePic1"里面的宽度一定要大于id="imgmarquee"的宽度才能看到效果 width:600px;>WIDTH: 580px;大的div宽度要为span的两倍才可以,不然会换行width:1200px zdz的作品,流风的作品--> <span id="marquePic1" style="width:600px; background-color:#990033;"> <img src="../images/dialog/4.gif" /> <img src="../images/dialog/4.gif" /> <img src="../images/dialog/4.gif" /> <img src="../images/dialog/4.gif" /> <img src="../images/dialog/4.gif" /> <img src="../images/dialog/4.gif" /> <img src="../images/dialog/4.gif" /> <img src="../images/dialog/4.gif" /> </span>

单片机跑马灯汇编程序与仿真

51单片机P1口跑马灯的汇编语言编程和protues仿真 ;跑马灯程序1 ;用软件技术器实现1秒间隔LED循环点亮 ;三层循环计数实现1秒延时,250*250*8=0.5秒 ;由于软件延时需要计算代码执行的时间,所以近似1秒 ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV P1,#0FFH MOV A,#0FEH LOOP: MOV P1,A LCALL TIMEER RL A SJMP LOOP TIMEER: MOV R5,#08H LOOP1: MOV R6,#0FAH LOOP2: MOV R7,#0FAH LOOP3: DJNZ R7,LOOP3 DJNZ R6,LOOP2 DJNZ R5,LOOP1 RET END ;跑马灯程序2 ;定时/计数器1控制1秒间隔LED循环点亮 ORG 0000H LJMP MAIN ORG 001BH LJMP T1_INT ORG 0100H MAIN: MOV R0,#20 ;软计数器 MOV TMOD,#10H ;定时器1方式1 MOV P1,#0FFH ;熄灭所有LED MOV A,#0FEH ;点亮第一个LED MOV TH1,#3CH MOV TL1,#0B0H ;赋初值 SETB ET1 SETB EA ;开中断 SETB TR1 ;启动定时器 SJMP $ ;等待中断 T1_INT: MOV TH1,#3CH

MOV TL1,#0B0H ;赋初值 DEC R0 ;软计数 CJNE R0,#00H,LP RL A ;灯移位 MOV P1,A ;灯改变 MOV R0,#20 ;软计数器初值 LP: RETI ;跑马灯程序3 ;定时/计数器1控制1秒间隔LED循环点亮 ;外部中断1控制按键按下跑马灯启动或者停止 ORG 0000H LJMP MAIN ORG 0013H LJMP INT1_INT ;外部中断服务程序,按键触发 ORG 001BH LJMP T1_INT ;定时器中断,1秒中断一次 ORG 0100H MAIN: MOV R0,#20 ;软计数器计数次数 MOV TMOD,#10H ;定时器1方式1 MOV P1,#0FFH ;熄灭所有LED MOV A,#0FEH ;点亮第一个LED MOV TH1,#3CH MOV TL1,#0B0H ;定时器赋初值 SETB I T1 ;外中断1采用下降沿触发 SETB E X1 ;允许外部中断1 SETB ET1 ;允许定时器中断 SETB EA ;开中断 SETB TR1 ;启动定时器1 SJMP $ ;等待中断 T1_INT: MOV TH1,#3CH MOV TL1,#0B0H ;定时器赋初值 DEC R0 ;软计数 CJNE R0,#00H,LP ;判断计数次数是否达到,是则跳转 RL A ;灯移位 MOV P1,A ;灯改变 MOV R0,#20 ;软计数器初值 LP: RETI INT1_INT: MOV A,#0FFH ;按键按下,LED熄灭 MOV P1,A ;灯改变 CPL TR1 ;定时器改变开关状态 MOV A,#0FEH ;点亮第一个LED RETI ;中断返回

走马灯实验报告

电子系统综合设计报告 学号201009120229 姓名李文海 年级专业2010级电子信息工程(二) 指导教师刘怀强 学院理学院

走马灯实验论文--《嵌入式系统技术》 1、实验目的 1、学会DP-51PRO实验仪监控程序下载、动态调试等联机调试功能的使用; 2、理解和学会单片机并口的作为通用I/O的使用; 3、理解和学会单片机外部中断的使用; 4、了解单片机定时器/计数器的应用。 2、实验设备 z PC 机、ARM 仿真器、2440 实验箱、串口线。 3、实验内容 z熟悉A RM 开发环境的建立。 z使用A RM 汇编和C语言设置G PIO 口的相应寄存器。 z编写跑马灯程序。 5、实验原理 走马灯实验是一个硬件实验,因此要求使用DP-51PRO 单片机综合仿真实验仪进行硬件仿真,首先要求先进行软件仿真,排除软件语法错误,保证关键程序段的正确。然后连接仿真仪,下载监控程序,进行主机与实验箱联机仿真。 为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序间的调用规定一定的规则。A TPCS ,即ARM ,Thumb 过程调用标准(ARM/Thumb Procedure Call Standard),是A RM 程序和T humb 程序中子程序调用的基本规则,它规定了一些子程序间调用的基本规则,如子程序调用过程中的寄存器的使用规则,堆栈的使用规则,参数的传递规则等。 下面结合实际介绍几种A TPCS 规则,如果读者想了解更多的规则,可以查看相关的书 籍。 1.基本A TPCS 基本A TPCS 规定了在子程序调用时的一些基本规则,包括下面3方面的内容: (1)各寄存器的使用规则及其相应的名称。 (2)数据栈的使用规则。 (3)参数传递的规则。 相对于其它类型的A TPCS,满足基本A TPCS 的程序的执行速度更快,所占用的内存更少。但是它不能提供以下的支持:ARM 程序和T humb 程序相互调用,数据以及代码的位置无关的支持,子程序的可重入性,数据栈检查的支持。 而派生的其他几种特定的A TPCS 就是在基本A TPCS 的基础上再添加其他的规则而形成的。其目的就是提供上述的功能。 2.寄存器的使用规则 寄存器的使用必须满足下面的规则:

单片机跑马灯c语言程序

#include //头文件 #define uchar unsigned char //宏定义 sbit Beep = P3^4; // 蜂鸣器 uchar code led[]={ 0xff,0xfe,0xfd,0xf7,0xef,0xbf,0x7f,0x00 }; /**********延时子函数************/ void delay(unsigned int time) { unsigned int i,j; for(i=0;i0;j-=2) { P0 = led[j]; delay(500); } for(j=5;j>0;j-=2) { P0 = led[j]; delay(500); } } } /*****************计数器中断1***************/ void inttre() interrupt 3

{ unsigned int i,j; i=10; for(j=0;j<10;j++) { Beep=1; delay(i); Beep=0; delay(i); i+=60; } } /*******************外部中断1***************/ void inttrer() interrupt 2 { unsigned int i; for(i=1;i<7;i++) { P0 = led[i]; delay(500); } }

基于单片机的跑马灯设计课程设计论文

课程设计(论文) 题目基于单片机的跑马灯 学院名称电气工程学院 指导教师肖金凤 职称副教授 班级电力1002班 学号20104450216 学生姓名耿翼鹏 2013年 1 月5日

摘要: 单片机最小系统是在以STC89C52RC单片机为基础上扩展,使其能更方便地运用于测试系统中。本设计主要在单片机上扩展I/O口,复位电路,晶振电路,LED显示电路并写好底层程序,做出能应用于跑马灯的最小系统。矚慫润厲钐瘗睞枥庑赖。 关键词:最小系统,STC89C52RC, 跑马灯 The smallest system one chip computer is in expands at the base of MCS-52 one chip computer,make it used more convient in the test system. This design mainly expands I/O in the take 52 on chip computer, reset circuit, crystals circuit, the LED display circuitand writes the first floor procedure.Make for scrolling minimum system.聞創沟燴鐺險爱氇谴净。Keyword:minimum system, AT89C52, scrolling

南华大学电气工程学院 《单片机原理及应用课程设计》任务书 设计题目:基于单片机的跑马灯 专业:电气工程及其自动化 学生姓名: 耿翼鹏学号: 20104450216 起迄日期: 2013 年12月23日—2014年1月 5日 指导教师:肖金凤老师

跑马灯实验报告

山西大学数字电子技术基于硬件设计的跑马灯电路 系别:电力工程系 班级:电本1254班 姓名:所谓伊人 学号: 12322454**

一、实验目的 1. 熟悉NE555定时器,计数器CD4017的逻辑特性。 2. 熟悉NE555构成多谐振荡器原理。 3. 设计跑马灯电路并利用Multisim软件仿真电路。 二、实验要求 1. 知道NE555、CD4017的管脚排列顺序。 2. 利用NE555构成多谐振荡器。 3. 知道电阻的主要参数及其标注方法。(见实验指导书116页)。 4. 知道电容器的主要作用。(见实验指导书122页)。 5. 了解有关焊接的知识。 三、实验器材 电路板1块。电容:1μF(1个)。集成芯片:NE555(1个)、CD4017(1个)。电阻:22K?、1K?、500?各一个。二极管:IN4148(8个)、发光二极管(10个)。(自行提供)电池:5V 四、电路的安装 1.555用来定时,用它产生某种方波,相当于有的时钟信号 2.4017是个十进制计数器,按照时钟信号从10个口依次输出 1. 检查集成芯片NE555,CD4017的安装位置有无错误. 2. 检查电解电容的极性有无错误; 3. 检查二极管IN4148及发光二极管的安装方向有无错误; 4. 检查各个电阻的安装是否有误。 5. 检查有无虚焊。 五、电路的调试 1. 电路焊接好后,先将电路板正负端接到直流电压5V及地线处,观察发光二极管是否变亮。 2. 适当改变电位器阻值,观察其对CD4017

循环周期(发功二极管依次循环一周)的影响。 3. 利用秒表记录CD4017一个合适循环周期的时间。(分别测量电阻最大时、最小时、合适时的周期) 附录 1. 跑马灯电路图

制作幻灯片图片走马灯似移动的移出移入法

制作幻灯片图片实现走马灯似 移动——移出移入法 教材编写:韦彦复幻灯制作:Chen E-mail文化传播网https://www.doczj.com/doc/fe15352330.html, 按键翻页

现以制作《无邪孩子最可爱》为例,介绍韦彦复老师用移出移入法制作幻灯图片走马灯似移动的过程和方法。

一、背景文字 按照常规,给幻灯片设置全黑的背景,对幻灯片上边添加文字【无邪 的孩子最可爱】,对下边添加文字【2011-4-7日幻灯制作:Chen 】。

二、添加图片 将孩子图片分成二张图片一组合,共九个组合。将第一组合置于幻灯片窗口上,其余8个组合依次并排排列置于幻灯片窗口的右边。为使图片排列整齐,可采用 绘画参考线。 【组合方法】 将两张孩子图片分别置于幻灯片中轴线的两边适当位置,选中该两张图片→右击鼠标→下拉菜单→【组合】→【组合】。 【参考线设置方法】 点击【视图】菜单→【网格和参考线…】→【网格和参考线】对话框→【对齐】→勾选【对象与网络对齐】→【参考线设置】→勾选【屏幕上显示绘图参考线】→【确定】。 【添加参考线】 按【ctrl】键,然后按鼠标 左键移动绘图参考线至适 合位置,先释放鼠标左键, 后释放【ctrl】键,新增一 条参考线,原参考线位置 不变。

三、动画设置 (1)移出设置 先选中第一组合图片→右击鼠标→下拉菜单→【自定义动画…】→【自定义动画】对话框,然后→【添加效果】→【退出】→【缓慢移出】,接着从第一组合开始,分别对九个组合图片一一按序设置: 【一组合】→【开始:之前】→【方向:到左侧】→【速度:10秒】; 【二组合】→【开始:之前】→【方向:到左侧】→【速度:20秒】; 【三组合】→【开始:之前】→【方向:到左侧】→【速度:30秒】; 【四组合】→【开始:之前】→【方向:到左侧】→【速度:40秒】;……………………………………………………………………………… 【八组合】→【开始:之前】→【方向:到左侧】→【速度:80秒】。 【九组合】→【开始:之前】→【方向:到左侧】→【速度:90秒】。 (2)移入设置 再回过头对第一组合进行移入设置: 先选中第一组合图片→右击鼠标→下拉菜单→【自定义动画…】→【自定义动画】对话框,然后→【添加效果】→【进入】→【缓慢进入】→【开始:之前】→【方向:自右侧】→【速度:10秒】→【计时】→【延迟:80秒】→【确定】。【注】延迟时间的确定:应选取与前面移出设置九个组合中倒数第二个组合的速度时间相同。

基于单片机的跑马灯课程设计(1)

电气及自动化课程设计报告题目:基于单片机的跑马灯课程设计 课程:单片机原理及其应用 学生姓名:刘昊杰 学生学号: 1414050319 年级: 2014级 专业:电气工程及其自动化 班级: 3班 指导教师:缪玉桂 机械与电气工程学院制 2016年11月

目录 1 设计的任务与要求 (1) 1.1 课程设计的任务 (1) 1.2课程设计的要求 (1) 2 芯片分析和设计概述 (2) 2.1 AT89C51芯片分析 (2) 3 设计概述 (5) 4 硬件电路设计 (6) 5 程序部分设计 (7) 6 实验总结 (12) 7 参考文献 (12)

基于单片机的跑马灯课程设计 学生:刘昊杰 指导教师:缪玉桂 机械与电气工程学院电气工程及其自动化专业 1 设计的任务与要求 1.1 课程设计的任务 (1)掌握单片机的接口技术及相关外围芯片的外特性,控制方法。 (2)通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。 (3)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 (4)与模拟电子技术,数字电子技术等课程相结合,进一步熟悉和掌握单片机的结构及工作原理,为以后所学的后续课程打下良好的基础。 (5)通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。 1.2课程设计的要求 该设计使用AT89C51芯片作为控制芯片,利用P1口连接8个发光二极管,通过I/O 的值控制“跑马灯”的亮灭,以达到显示效果。开始时所有灯全亮,按下按键S时开始跑马灯,再按下按键S时停止,再按下S时继续,并要求有多种亮暗组合。

单片机跑马灯(流水灯)控制实验报告

单片机实验报告 姓名: 学号: 一、 实验实现功能: 1:计数器功能 2:流水灯 二、 具体操作: 1、计数器功能 数码管的动态显示。每按一次K2键计数器加1通过数码管显示出来,计数器可以实现从0计数到9999。 2、流水灯 当在计数器模式下的时候按下K3键时程序进入跑马灯模式,8个小灯轮流点亮每次只点亮一个,间隔时间为50ms 。 三、 程序流程图 开始 定时器T0 设置初值,启动定时器, 打开中断 复位 Key2按下 中断关闭 计数器模式 计数器加1 Key3按下 流水灯模式 数码管显示数字加1 跑马灯点亮间隔50ms Key1按下中断打开

四、程序 #include typedef unsigned char uint8; typedef unsigned int uint16; //类型定义 sbit P2_1 = P2^1; sbit P2_2 = P2^2; sbit P2_3 = P2^3; sbit P2_4 = P2^4; //位声明四个数码管开关 sbit Key2 = P3^2; sbit Key3 = P3^3; //位声明2个按键K2和K3 sbit Ledk = P2^0 ; //LED 开关 void delay(uint16 i); //延时函数声明 void refresh (); // 数码管刷新函数声明 void liushuideng(); //流水灯函数声明 uint8 number[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //数码管的真值表 uint8 out[4] = {0}; // 数组变量 uint16 counter=0; //用作计数器的变量 uint16 Time_counter=0; //用作定时器的变量 void main() //主函数 { TMOD = 0x01; //定时器0,工作方式一 TH0 = 0xFC; TL0 = 0x18; //定时器初值使每次循环为1ms TR0 = 0; //定时器0开始作 ET0 = 0; // 定时器中断关 EA = 0; // 关中断 while(1) //计数器模式 { Ledk =1 ; //led开关关 out[0]=number[counter%10]; //取个位 out[1]=number[counter%100/10]; //十位 out[2]=number[counter%1000/100]; //百位 out[3]=number[counter/1000]; //千位 if (!Key2) //计数器加1 { ++counter; //自加 out[0]=number[counter%10]; //取个位 out[1]=number[counter%100/10]; //十位 out[2]=number[counter%1000/100]; //百位 out[3]=number[counter/1000]; //千位

单片机 跑马灯实验

实验一跑马灯实验 一、实验内容 1、基本的流水灯 根据图1电路,编写一段程序,使8个发光二极管D1、D2、D3、D4、D5、D6、D7、D8顺序(正序)点亮:先点亮D1,再点亮D2、D3……D8、D1……,循环点亮。每点亮一个LED,采用软件延时一段时间。 2、简单键控的流水灯 不按键,按正序点亮流水灯;按下K1不松手,按倒序点亮流水灯,即先点亮D8,再顺序点亮D7、D6……D1、D8……。松手后,又按正序点亮流水灯。 3、键控的流水灯 上电,不点亮LED,按一下K1键,按正序点亮流水灯。按一下K2键,按倒序点亮流水灯,按一下K3键,全部关闭LED。 二、实验方案 1、总体方案设计 考虑到K4键未被使用,所以将实验内容中的三项合并到一个主函数中:K4键代替实验内容第二项中的K1键;单片机一开机即执行实验内容第一项;K1、K2、K3键实现实验内容第三项。 所用硬件:AT89C52、BUTTON、LED-BLUE、电源 输入:P2.0-K1;P2.1-K2;P2.2-K3;P2.3-K4。低电平有效 输出:P0.0~P0.7-D0~D7。LED组连线采用共阳极,低电平有效 软件设计: 软件延时采用延时函数delay(t),可调整延迟时间: void delay(uint t){ uint i; while(t--) for(i=0;i<1000;i++){ if(P2!=oldK&&P2!=K[0])break;//按下了其他键退出循环} } 由于涉及到按键变化所以要设置一个变量oldK保留按键键值,要在延时程序中检测是否按键,当按键后立即设置oldK的值。 按键判断采用在while循环中利用条件语句判断P2的值然后执行该键对应的代码段,达到相应的响应。 为了让K4键的效果优化,即状态变化从当前已亮灯开始顺序点亮或逆序点

第08课,定时器中断跑马灯

第8课,定时器中断跑马灯 在第3 课,我们用指令延时方式实现了跑马灯。这里我们用定时器方式再次实现,定时器方式有效率高,定时准确等优点。 一个编程经验是,所有的中断都要尽快的运行和退出,中断服务程序越短越好,这样 才不至于干扰主程序的工作和其他中断的运行。 也就是,我们应该尽量把程序代码从中断服务函数里搬出来。 对于定时器的中断的工作方式,我们可以建立一个全局的标记,在中断里置这个标记,然后就退出。在主程序里检查到这个标记之后,就运行相关的程序。对于CPU 任务比较多的项目来说,这种工作方式可以获得最佳的工作效率。当然,对于非常实时的应用要求,,比如时钟,还是建议在中断里做完,因为使用标记的方式时,主程序可能太忙而造成错过标记信号,就是这个标记还没有开始处理呢,下一个又来了。熟练的程序员还是可以避开这些异常的情况的。 在我们的这个例程中,前一课的 1 秒钟输出信号,被换成了一个全局标记。在主程序中去检查这个标记,再清0 标记和处理相应的工作。 这一课的跑马灯输出方式也改变了,我们采用查表的方式,将要点亮的灯预先设置好, 到了时间,就一起送到P1 口。这样,程序的执行效率会更高。 下面请认真学习和分析例程: 以下是例程,请打开lesson8 目录的工程,内容是一样的。―――――――――――――――――――――――――――――――――――――――#define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long #include //包括一个52 标准内核的头文件 sbit P10 = P1^0; //头文件中没有定义的IO 就要自己来定义了 sbit P11 = P1^1; sbit P12 = P1^2; sbit P13 = P1^3; bit ldelay=0; //长定时溢出标记,预置是0 char code dx516[3] _at_ 0x003b;//这是为了仿真设置的 //定时器中断方式的跑马灯 void main(void) // 主程序 { uchar code ledp[4]={0xfe,0xfd,0xfb,0xf7};//预定的写入P1 的值 uchar ledi; //用来指示显示顺序 RCAP2H =0x10; //赋T2 的预置值0x1000,溢出30 次就是1 秒钟 RCAP2L TR2=1; //启动定时器 ET2=1; //打开定时器2 中断

基于单片机的跑马灯系统的设计与实现

《单片机及控制系统设计》 课程设计报告 题目:基于单片机的跑马灯系统的设计与实现院(系):机电与自动化学院 专业班级:电气自动化技术0901 学生姓名:詹志鹏 学号:20092822006 指导教师:汪媛 2011年12月26日至2012年1月10日 华中科技大学武昌分校

目录 1设计题目及要求 (1) 1.1设计题目 (1) 1.2设计目的 (1) 1.3控制要求 (1) 2硬件设计 (2) 2.1单片机简介 (2) 2.1.1 单片机的引脚 (2) 2.1.2单片机的内部结构 (3) 2.2电源电路 (4) 2.3时钟电路 (4) 2.4复位电路 (5) 2.5 EA/VPP(31脚)的功能和接法 (6) 2.6 P0 口外接上拉电阻 (6) 2.7 发光二级管 (7) 2.8 显示电路部分 (8) 2.9 AT89C51单片机最小系统 (9) 3 软件设计 (10) 3.1源程序与注释 (10) 3.2软件编译、调试与烧入 (11) 总结 (16) 附录实物图 (17) 参考文献 (18)

1.设计题目及要求 1.1设计题目 单片机小系统版控制LED灯 1.2设计目的 1.单片机最小应用系统的硬件设计技能训练; 2.ASM语言或C51语言软件编程与调试技能训练; 3.“下载及烧录(固化)程序”开发技能训练; 4.Protell软件应用技能训练; 1.3控制要求 按键及外部中断控制二级管灯(自右向左) 1.按键控制8个LED灯循环自右向左依次点亮 2.间隔时间可以自行设计 3.单号灯亮双号灯灭 7→ 5→ 3→ 1→ 7→ 5→ 3→ 1…… 1.外部中断控制8个LED灯循环自右向左依次点亮 2.间隔时间可以自行设计 3.双号灯亮单号灯灭 8→ 6→ 4→ 2→ 8→ 6→ 4→ 2…… 2.硬件设计 2.1单片机简介 2.1.1单片机的引脚 (1)电源:40号引脚VCC是芯片电源,接+5V。20号引脚VSS为电源接地端。

相关主题
文本预览
相关文档 最新文档