文档库 最新最全的文档下载
当前位置:文档库 › 单片机跑马灯实验分析报告

单片机跑马灯实验分析报告

单片机跑马灯实验分析报告
单片机跑马灯实验分析报告

单片机跑马灯实验报告

————————————————————————————————作者:————————————————————————————————日期:

学号14142200277序号19

单片机原理与接口技术

实验报告

实验项目序号一

实验项目名称跑马灯实验

姓名卢志雄专业电子信息工程班级电信14-2BF 完成时间2016年4月2日

一、实验内容

实验内容为3项,其中第1、2项必做。 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 跑马灯实验电路原理图

XTAL2

18

XTAL1

19

ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51

D0D1D2D3D4D5D6D7

+5V

K1K2K3K4

三、程序流程图

检测

完成对应

判断P2

图2 简单键控的流水灯程序流程图

四、源程序

1、基本的流水灯

#include

#define uint unsigned int

#define uchar unsigned char

void delay( j ) //延时函数

data uint j;

{ data uint i;

while(j--)

for(i=0;i<250;i++);

}

void main( ) //主函数

{ data uchar a;

a=1; //保证只有一个点亮

while(1) //不断循环

{ P2=~a; //低电平点亮

a=a<<1; //左移一位,右补0 if(a==0)a=1; //全0

delay(2250);} //流动点亮延时

}

2、简单键控的流水灯

#include

#define uchar unsigned char

#define uint unsigned int

void delay(uint i)

{ uchar t;

while(i--)

{

for(t=0;t<120;t++);

}

}

void main()

{ data uchar a;

a=1;

while(P2==0xff)

{ P0=~a;

a=a<<1;

if(a==0)

a=1;

delay(250);

}

while(P2==0xfe)

{ P0=~a;

a=a>>1;

if(a==0)

a=128;

delay(250);

}

}

3、键控的流水灯

#include

#define uchar unsigned char #define uint unsigned int void delay(uint i)

{ uchar t;

data uchar b=0xfb;

while(i--)

{ if(P2==0xfe) b=0xfe;

if(P2==0xfd) b=0xfd;

if(P2==0xfb) b=0xfb;

for(t=0;t<120;t++);

}

}

void main()

{ data uchar a;

a=1;

while(P2==0xfe)

{ P0=~a;

a=a<<1;

if(a==0)

a=1;

delay(250);

while(P2==0xff)

{

P0=~a;

a=a<<1;

if(a==0)

a=1;

delay(250);

}

}

while(P2==0xfd)

{ P0=~a;

a=a>>1;

if(a==0)a=128;

delay(250);

while(P2==0xff)

{ P0=~a;

a=a>>1;

if(a==0)a=128;

delay(250);

}

}

while(P2==0xfb)

{ P0=0xff;}

}

五、实验结果

1、基本的流水灯

基本流水灯仿真图2、简单键控的流水灯

简单键控的流水灯仿真图

3、键控的流水灯

键控的流水灯仿真图

六、思考题回答

1、采用I/O口作为输出口时要考虑哪些因素?为什么实验装置中LED要串联一个电阻?

答:电压的大小(包括它能感知的最小电压作为高电平),电流的驱动能力等,同时也要要考虑它是否要加上拉电阻。实验装置中LED串联一个电阻是为了防止电流过大而对LED灯有损坏。

2、采用I/O口作为输入口时要注意什么?键控的流水灯时为什么要在延时程序中检测是否按键?

答:在进行读操作时,必须要先向Px口的锁存器写1;本程序未采用例程所说的方法,但是在延时函数中进行按键检测是为了防止在延时程序中间有键按

此程序是用单片机的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.wendangku.net/doc/731128681.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路单片机跑马灯程序---------------------------------------

左右来回循环的流水灯实验报告

青 岛 科 技 大 学 微机原理与接口技术综合课程设计(报告) 题 目 __________________________________ 指导教师__________________________ 学生姓名__________________________ 学生学号__________________________ _______________________________ 院(部)____________________________ 专业________________班 ______年 ___月 ___日 直流电机控制综合实验 周艳平 宋雪英 01 信息科学技术学院 计算机科学与技术0961 2012 12 27

摘要 (2) 1、单片机概述 (2) 2、仿真软件介绍 (2) 3、需求分析 (3) 一、课程设计目的 (3) 二、课程设计要求 (4) 三、实验内容 (4) 1、设计任务与要求 (4) 2、系统分析 (4) 1).硬件电路设计(画出原理图、接线图) (5) 2)软件框图 (7) 3、用keil建项目流程 (8) 4、程序清单 (9) 4、系统调试 (11) 四、设计总结(结论) (12)

摘要 近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。能够通过按键控制8个LED小灯从左到右依次点亮。 关键字:单片机、LED流水灯 1、单片机概述 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微 型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处 理器、存储器和I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合, 便可成为一个单片机控制系统。 单片机经过1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它 们的CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。 2、仿真软件介绍 (1).Keil uv3 运行Keil uv3

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

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

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

姓名:颜珊曹坤 班级:应电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单电源供电。

跑马灯实训报告

摘要:AT89C51是美国ATMEL公司生产的AT89系列单片机中的一种,该 器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 关键字:AT89C51 兼容高效微控制器 目录 一、实训目的 (2) 二、电路设计与生成 (2) 1、设计跑马灯 (2) 2、生成PCB板 (2) 三、程序设计 (3) 1、程序设计 (3) 2、运行结果 (4) 四、实训总结 (4)

一、实训目的 了解AT89C51管脚的基本功能,学会运用Protel 99 se设计电路,并生成PCB 板,印刷线路板。使用KEIL C51设计单片机程序,生成HEX文件,将程序下载到单片机内并运行。从而达到初步掌握简单单片机小程序的设计,制作,调试的目的。 二、电路设计与生成 1、设计跑马灯 利用单片机最小系统,使P1口八个发光二极管做跑马灯和流水灯显示。设计的电路图如下: 2、生成PCB板 (1)保存电路图,单击菜单栏DESIGN项,选择其中的更新PCB; (2)在弹出的对话框中,单击preview change; (3)校对弹出界面中的相关元件的信息,再单击Execute,生成元器件;(4)最后对生成的元器件进行排版,生成如下图所示:

三、程序设计 1、程序设计 #include"reg51.h" unsigned char tab[]={1,2,4,8,0x10,0x20,0x40,0x80,0x80,0x40,0x20, 0x10,8,4,2,1}; void delay(unsigned char n) { unsigned int d; unsigned char i; for(i=0;i

跑马灯实验报告.

山西大学数字电子技术基于硬件设计的跑马灯电路 系别:电力工程系 班级:电本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. 跑马灯电路图

用单片机编写几种跑马灯

用单片机编写几种跑马灯 任务: 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

单片机跑马灯实训报告

目录 一、了解跑马灯............................. .... . (2) 二、AT89C52 单片机 ........................... .3 三、识别与检测元器件 (4) 四、电路设计...................................... (4) 1. 单片机最小应用系统 (4) 2. 复位电路图..................................... .5 3. 彩灯原理图 (6) 4. 彩灯仿真图 (7) 5. 彩灯布局图 (8) 五、焊接电路 (8) 六、程序流程 (9) 七、跑马灯程序 (10) 八、下载调试程序 (10) 九、实训总结 (11)

十、微控制器应用技术实训评价表 (12)

、了解跑马灯 在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面带地下,凡是能想象到的地方几乎都有使用单片机的需求。现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而没有实现的项目,因此,单片机的应用大有想象和拓展空间。单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保真安全等。但是单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于单片机的应用正从根本上改变者传统的控制系统设计思想和设计方法。从前必须有模拟电路或数字电路实现的大部分功能,现在 已能使用单片机通过软件方法来实现了。这种以软件取代硬件并提高系统系能的控制系统是一种全新的概念,是对传统控制技术的一次革命。随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。 在众多的微控技术实验中,老师为我们选择了用单片机制作8个灯的跑马机这一较为基本的科目,单片机使用我们熟悉的AT89C52型单片机,采用覆铜板手工焊制的方法来制作电路板,使用Proteus进行仿真。 本设计选择采用AT89C51单片机为核心。AT89C51是一个低电压、高性能CMOS8 位单片机带有K字节的可反复擦写的程序存储器。和128字节的存取数据存储器RAM这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。片内含有8位中央处理器和闪烁存储单位,有较强的功能的AT89C51单片机能够被应用到控制领域中AT89C51提供以下的功能标准:4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O 口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内振荡器和时钟电路。另外,AT89C51还可以进行OHZ的静态逻辑操作,并支持两种软件的节电模式。闲散方式 停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存随机存取数据存储器中的内容,但振荡器停止工作 并禁止其它所有部件的工作直到下一个复位。

嵌入式操作系统跑马灯实验报告

嵌入式操作系统实验报告 实验题目:实验一 CVT-PXA270的使用及跑马灯实验 专业:计算机科学与技术 班级: 姓名: 学号:

1. 了解Linux下端口编程的方法; 2. 掌握CVT-PXA270下的directio通用端口编程驱动程序的使用; 3. 掌握CVT-PXA270下跑马灯的使用方法。 二、实验内容 1.了解CVT-PXA270的外部结构,以及各端口的使用 2.测试跑马灯状态,使跑马灯程序在Linux系统下运行 3.修改跑马灯程序,使跑马灯呈现出不同的状态 三、实验方案 /* 当前跑马灯状态 */ unsigned char led_status = 0x00; / /******************************************************************** // Function name : delay // Description : delay for a while // Return type : void // Argument : int count ********************************************************************* / void delay(int count) { while(count --); } /* 主函数*/ int Main(int argc, char* argv[]) { while(1) { *((unsigned char *) 0x04005000) = led_status; delay(0xffffff); led_status ++; } return 0; } 四、试验结果 实验箱上的四个跑马灯将不断闪烁,修改程序中delay函数调用的值将变它们显示的速度,值越大,显示越慢。

跑马灯实验报告

电子系统综合设计报告 学号 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;//初值

单片机实训实验报告

单片机实训实验报告 课题:单片机实训 院系:电子信息工程学院 班级 学号: 姓名: 指导老师:熊老师、罗老师 日期:2011.6.10

一、硬件系统 1、自制单片机实验板由七部分组成: (1).8路跑马灯 (2)动态扫描共阳型数码管 (3)4X4矩阵键盘 (4)蜂鸣器 (5)4路独立键盘 (6)温度传感器 (7)I2C通信方式的EEPROM芯片24C02 二、Keil C u Vision2 简述与使用 1.打开 u Vision2 2.新建工程:菜单【project】→【New Project】选择工程存放的路径,并输入工程文件名,然后点“保存” 3.进入器件选择界面树列表框内选择“Atmel”→“AT89C52”,然后点“确定”完成器件选择。 4.编辑源程序: 新建文件:菜单【File】→【new…】。然后输入代码,编辑完成后菜单【File】→【Save】或【Save As…】把代码文件存入硬盘。C源文件存为.C后缀,汇编源文件存为.a或.src后缀,并存放在同一个工程文件夹下。 5.加入源文件到工程中: 在左边浮动窗口【File】选项卡里展开“Target 1”树,在“Source Group 1”上右键单击,弹出菜单,选【Add File to Group“Source Group 1”】,选择需要加入的源文件,点“Add”按钮加入,加入完成后按“Close”关闭。 6.设置编译选项:先选中左边浮动窗口【File】选项卡里“Target1“树节点,然后选菜单【Project】→【Options for Target “Target 1”】。 7.在弹出的“Options for Target “Target 1””对话框中选择[output]选项卡,勾选“Create HEX File”然后按“确定”完成设置。 8.按“F7”开始编译,编译成功后会在工程文件夹内生成.Hex目标文件生成的.hex文件就可以用来对AT89S52芯片进行编程和运行了。 三.STC-ISP V29 Beta5 下载软件的使用 1.连接好电源线与串口线(附件中的九孔对九孔线分别连接电脑和点偏激开发板)。 2.检查电源板上电源指示灯是否亮起,如果亮起则检查USB电源线,如果已亮则关掉电源看后面的步骤。 3.启动软件。 4.选择好STC单片机的型号(STC89CF52RC). 5.选择好你使用的计算机串口号. 6.点击OPEN FILE选择你用KEIL编译好的HEX文件.

51单片机的音乐跑马灯设计

摘要 单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。 本设计使用AT89C52芯片,利用P0的8个端口连接8个发光二极管,P1的8个端口连接8个发光二极管,通过P0.0到P0.7的值和P1.0到P1.7的值控制“跑马灯”的亮灭,以达到显示效果。设计的中断程序要对多个按键动作进行响应,灯光变换的花样有15种,用模式按钮切换。按下模式按钮键,程序将按十五种模式切换,每按一次模式按钮键,切换一次跑马灯模式,而加速按钮和减速按钮可以改变闪烁速度;最后一种模式为音乐模式,加速按钮可切换音乐。 在单片机运行时,可以在不同状态下让跑马灯显示不同的组合,作为单片机系统正常的指示。当单片机系统出现故障时,可以利用跑马灯显示当前的故障码,对故障做出诊断。此外,跑马灯在单片机的调试过程中也非常有用,可以在不同时候将需要的寄存器或关键变量的值显示在跑马灯上,提供需要的调试信息。 关键词:音乐跑马灯;AT89C52单片机;74LS245驱动芯片;LED发光二极管

1 设计概述 (1) 1.1设计目的 (1) 1.2设计作用 (1) 1.3设计要求 (1) 1.4系统设计框图 (1) 2元器件介绍 (3) 2.1AT89C52单片机 (3) 2.2驱动芯片74LS245 (3) 2.3其他元件及功能 (4) 3 硬件电路设计 (6) 3.1单片机最小系统 (6) 3.2LED显示部分 (7) 3.3按钮控制部分 (7) 3.4数码管显示电路 (8) 3.5蜂鸣器部分 (8) 3.6系统总电路图 (9) 4 软件设计 (10) 4.1 程序流程图 (10) 4.2 程序设计 (10) 5 结束语 (32) 参考文献 (33)

走马灯实验报告

电子系统综合设计报告 学号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); } }

单片机实验心得体会3篇

单片机实验心得体会一:单片机实验心得体会 时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。 在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。 这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。将所学知识运用到实践中,在实践中发现问题,强化理论知识。 现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。 第一次是借点亮led灯来熟悉keil软件的使用和试验箱上器材。第一次实验体现了一个人对新事物的接受能力和敏感度。虽然之前做过许多种实验。但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。所以第一次试验相对失败。鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。 在做实验中,第二个问题应该是准备不充分吧。一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。于是我便在上机之前把程序编好,拷到u盘,这样上机时只需调试,解决出现的问题。这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。 三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。但是编程是一件很严肃的事情,容不得半点错误。于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。这也能激发了学习的兴趣。 还有一次实验是调出电脑里的程序,让它在试验箱上实现其功,让我们去体会别人编程的技巧和程序逻辑美感。看了之后,不得不说我目前的水平简直太小儿科了。还有连线也是个问题,

单片机汇编语言跑马灯

实验一跑马灯-亮灯左移右移循环 黄天佑 155 一、实验目的 1、进一步熟悉keil C仿真软件及单片机实验板的使用。 2、了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。 3、掌握应用KEIL软件编辑、编译源汇编程序的操作方法。 4、了解单片机汇编语言程序的设计和调试方法。 二、实验原理 1、实验板硬件电路图 2、单片机流水灯程序设计

(1)流水灯程序设计思路及程序流程。实现流水灯的方法有很多,这里介绍一种。 (2)产生流水灯效果程序(逐条程序加注释) start:mov R0,#8 ; 设置左移8次 mov A,#0FEH; 存入开始亮灯的位置 LOOP: mov P0,A; 传送P0并输出 ACALL DELAY; 调用延时程序 RL A; 左移1位 DJNZ R0,LOOP; 判断移送次数 mov R1,#8; 设置右移8次 LOOP1:RR A; 右移1位 mov P0,A; 传送到P0口并输出 ACALL DELAY; 调用延时程序 DJNZ R1,LOOP1; 判断右移次数 JMP start; 重新设定显示 DELAY: mov R5,#10; 延时子程序 D1: mov R6,#100; D2: mov R7,#100; DJNZ R7,$; DJNZ R6,D2; DJNZ R5,D1; RET ; 子程序返回 END ; 程序结束

三、实验步骤及调试过程 1、汇编语言程序的编写与调试 (1)新建一个工程 (2)保存文件,设一个文件名 (3)找到对应单片机的芯片,这里我们选AT89C51即可

接着我们新建一个文本写程序 (1) (2)保存文件名,注意文件名的后缀应该为.asm(汇编语言程序的格式)

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

课程设计(论文) 题目基于单片机的跑马灯 学院名称电气工程学院 指导教师肖金凤 职称副教授 班级电力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日 指导教师:肖金凤老师

走马灯花样实验设计

走马灯花样实验设计 实验报告 实验人:______________ 学号:_________ 日期:— 院(系):软件学院软件工程__________ 专业(班级): 实验题目:走马灯花样实验设计____________________ 一.实验目的 1.进一步了解和掌握计算机各部分的组成及相互关系; 2.了解微指令的执行过程,掌握微程序的设计方 法;

3.进一步认识和掌握计算机各指令的执行过程,搞清楚计算机的运行原理; 二.实验内容 P27(实验四)在走马灯花样实验设计的基础上,增加在七段数码显示器上滚动显示自己的学号、8X8 点阵上滚动显示自己的名字并控制滚动速度(有些同学姓名笔画较多应简化或用别名)。用到的芯片为

8255、8253、8259 (中断)、ADC0809、点阵等 三. 实验器材 (1) 装有TPC-USB 并连接好TPC-USB 的电脑 —一台 (2) TPC-USB 机 四. 实验原理 1.关于ADC0809的连接: KUl lBkl 2.关于8255的接法: 1 NHZ JITLTL^ 1 3k N m + £. \ 12 QI ______ 13 r~~ITE i s 28 1 N i| reft +) VCC reft 7 >CLDCK Is IN-2 ADD-C APD-B IM-i ADD-A EOC ALE START IN-0 ENABLE EOC 1234567S 7- - z z - 22222222 76543210 210 DDD-DDDDD AAA 299H* 29FH 74LS02

3.关于74LS273的接法: I QU 4. 关于双色点阵发光二极管显示器的接法: CS1连接:程序中的ROW 端口,也就是290H CS2连接: 程序中的COL 端口,也就是298H 5. 关于七段数码管的接法: KO KI K2 K3 K-l K5 K6 K7 PCO PAO ■ PC1 PAI PC2 PA2 PC 3 l J A3 PCI PAI PC? PA5 PC6 PA6 PC 7 PA7 CS ? LO ?11 ? L2 ? L3 * Lt ? L5 * L6 ■ L7 tlH K255 ? 11 74LS273 ? nj D"… &3?- D 4 ?'■■ D5?- D6?- D?*- >CUK CLR E £ 1 2 7 9 H L0 L i L 2 L 3 L 4 L5 L6 L7 1 8

数电实验报告发光二极管走马灯电路设计与实现

北京邮电大学 数字电路与逻辑设计实验 实验报告 实验名称:发光二极管走马灯电路设计与实现 学院: 班级: 姓名: 学号: 任课老师: 实验日期: 成绩:

一.实验名称和实验任务要求 实验名称:发光二极管走马灯电路设计与实现 实验目的:⑴进一步了解时序电路描述方法; ⑵熟悉状态机的设计方法。 实验任务要求: 设计并实现一个控制8个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。 ⑴单点移动模式:一个点在8个发光二极管上来回的亮; ⑵幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后 再向中间点灭,依次往复。 二.设计思路和过程 设计实现过程:⑴设计的电路拥有两种功能,所以设定d_in控制 输出实现两种功能,规定当d_in=0时,实现单 点移动模式;当d_in=1时,实现幕布式。同时, 时序电路中钟控是必不可少的,所以引入clk_in 来实现钟控。最终需输出在实验板上的8个发光 二极管上验证,所以输出f需设定为8端口输出, 如:f:out std_logic_vector(7 downto 0)。 ⑵单点移动模式的实现:来一个时钟沿,实现一次 变化。单点移动模式需实现发光二极管来回亮, 所以需定义一个16变量的数据类型。利用 CASE-WHEN语句实现状态的转移。状态转移

。 ⑶幕布式的实现:需实现发光二极管从中间两个点, 同时向两边依次点亮直至全亮,然后再向中间点 灭,往复。需要8变量数据类型,利用单点式中 信号类型定义给状态转移。状态转移需满足: 三.VHDL程序 发光二极管走马灯电路VHDL程序:

四.仿真波形图 发光二极管走马灯电路的仿真波形图: 五.仿真波形图分析 ⑴单点移动模式功能的仿真波形图分析: 由波形可见,当控制信号d_in=0时,输出的8个端口依次出现正脉冲,波形呈现阶梯状,代表一个发光的点在8个发光二极管上来回的亮,实现了功能要求; ⑵幕布式功能的仿真波形图的分析: 当控制信号d_in=1时,输出的8个端口出现正脉冲的时间与

相关文档