基于arm9嵌入式led跑马灯设计

基于arm9嵌入式led跑马灯设计
基于arm9嵌入式led跑马灯设计

《嵌入式系统设计与应用》

综合实验

题目基于ARM9的LED跑马灯设计

小组成员王坚孙海涛吴烨

学号20131325001

20131325003

20131325009

学院信息与控制

专业信息工程(系统工程方向)

指导教师孙伟

二O一六年五月二十九日

摘要................................................................................................. 错误!未定义书签。

一、设计内容......................................................................................... 错误!未定义书签。

1.1 设计任务................................................................................ 错误!未定义书签。

1.2 设计目的................................................................................ 错误!未定义书签。

1.3 设计要求................................................................................ 错误!未定义书签。

二、设计方案................................................................................. 错误!未定义书签。

2.1 系统组成................................................................................ 错误!未定义书签。

2.2 系统工作原理........................................................................ 错误!未定义书签。

三、硬件设计................................................................................. 错误!未定义书签。

3.1 设计思路................................................................................ 错误!未定义书签。

3.2 系统电路设计........................................................................ 错误!未定义书签。

四、软件设计................................................................................. 错误!未定义书签。

4.1 设计思路................................................................................ 错误!未定义书签。

4.2 程序清单................................................................................ 错误!未定义书签。

五、实验调试及结果..................................................................... 错误!未定义书签。

5.1 硬件连接.................................................................................. 错误!未定义书签。

5.2 USB驱动安装.......................................................................... 错误!未定义书签。

5.3 并口驱动安装.......................................................................... 错误!未定义书签。

5.4 DNW配置 ................................................................................ 错误!未定义书签。

5.5 ADS1.2集成开发环境的使用................................................. 错误!未定义书签。

5.6系统调试和测试....................................................................... 错误!未定义书签。

5.6.1 调试环境................................................................................ 错误!未定义书签。

5.6.2 硬件调试................................................................................ 错误!未定义书签。

5.7 实验效果图.............................................................................. 错误!未定义书签。

六、课程设计总结 (15)

七、参考文献 (15)

题目

作者

南京信息工程大学信息与控制学院,南京210044

摘要:随着嵌入式技术的飞速发展,嵌入式系统已经在各个领域有广泛的应用。本设计采用嵌入式ARM9模块化设计实现LED跑马灯。通过FL2440开发板、JTAG调试板、PC机相连接构成硬件系统,使用软件CodeWarrior IDE、AXD Debugger经过一系列的设置建立ADS 开发环境来编写和调试LED跑马灯程序,最终生成二进制文件,烧写到FL2440 的Flash 中,实现对开发板上发光二极管LED的跑马灯控制。

关键词:ARM9,FL2440开发板,ADS开发环境

Title

Authors

School of Information and Control, Nanjing University of Information Science and

Technology, Nanjing 210044

Abstract:with the rapid development of embedded technology, embedded system has in various fields have a wide range of applications. This design adopts modularization design of embedded ARM9 led marquee. Through fl2440 development board, JTAG debug board, PC connected to constitute a system of hardware, using software of CodeWarrior IDE, AXD debugger after a series of settings set up ads development environment to write and debug led Marquee procedures, and ultimately generate binary file, burn wrote fl2440 flash to achieve the development board on light emitting diode LED marquee control.

keywords:ARM9, fl2440 development board, ads Development Environment

1.1 设计任务

本课程设计是基于ARM9的LED跑马灯设计,本课程设计的基本任务,是着重提高学生在嵌入式系统开发方面的实践技能,树立严谨的科学作风,培养学生综合运用理论知识解决实际问题的能力。学生通过电路设计、程序调试、整理资料等环节,熟悉ADS开发环境和在ARM裸机环境下的C语言编程,掌握S3C2440A内部相关寄存器的操作方法,最终实现对外部设备的控制。

1.2 设计目的

(1)注重培养综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。

(2)了解所选择的ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等的相关原理,并巩固学习嵌入式的相关内容知识。

(3)通过软硬件设计实现利用ARM芯片对LED跑马灯的显示。

1.3 设计要求

通过综合实验各环节的实践,应使学生达到如下要求:

(1)初步掌握电子电路分析和设计的基本方法。

(a)先分析FL2440 开发板的原理图;

(b)选择元器件,安装电路,独立进行试验,并通过调试改进方案;

(c)分析实验结果,写出设计总结报告。

(2)培养一定自学能力和独立分析问题、解决问题能力。包括:

(a)学会自己分析跑马灯、找出解决问题的方法;

(b)对设计中遇到的问题,能独立思考,查阅资料,寻找答案。

(c)掌握一些测试电路的基本方法,实验中出现一般故障,能通过“分析、观察、判断、试验、再判断”的基本方法独立解决;

(d)能对实验结果进行分析和评价。

(3)掌握安装、布线、调试等基本技能,巩固常用仪器的正确使用方法。

(4)通过严格的科学训练和工程设计实践,树立严肃认真、一丝不苟、实事求是的科学作风,并培养学生具有一定的生产观点、经济观点、全面观点及团结协作的精神。

2.1 系统组成

2.1.1系统结构

系统由FL2440 开发板、串口线、JTAG 板及并口连接线以及PC(硬件)和ADS开发环境和各种驱动程序,如图2.1和图2.2所示。

为降低开发难度,方便二次开发,系统采用核心板加底板的设计方案,核心板和底板之间通过连接器相连。这样可以在核心板不变动的情况下,更改底板的功能组成,以适用不同的功能。同时,由于核心板采用多层PCB板设计,而底板采用双层板即可,从而大大的降低了系统的成本。软件在ADS中直接生成bin文件,然后通过串口线烧写到芯片中。

图2.1 系统结构图

图2.2 S3C2440 结构框图

2.2 系统工作原理

2.2.1系统实现原理

从电路图上我们可以看到,发光二极管LED 的一端连接到了ARM 的GPIO,另一端经过一个限流电阻接电源VCC。当GPIO 口为低电平时,LED 两端产生电压降,这时LED 有电流通过并发光。反之当GPIO 为高电平时,LED 将熄灭。注意亮灭之间要有一定的延时,以便人眼能够区分出来。

2.2.2 GPIO 扩展口引脚及定义

扩展口共30 针,其中有2 路SPI 接口、1 路IIC 接口、4 路AD(另外4 路通过CON5 引出),其他为IO 口。

图2.3 GPIO 扩展口引脚布局

表2.1 GPIO 扩展口引脚及功能

实验相应寄存器:

端口数据寄存器:

端口上拉电阻时能寄存器:

端口配置寄存器:

三、硬件设计

3.1 设计思路

1.将JTAG调试板25针接口与PC的并口相连,右边20针接口需要通过排线连接到开发板的JTAG接口(在串口0附近);

2.将串口线的一端插在PC的串口上,另一端插在开发板的‘COMO’上。打开DNW.EXE 软件,给开发板上电。使Bootloader 停在菜单处(在系统引导时按空格键)。

3. 打开软件‘ADS Code Warrior’,新建工程‘led.mcp’,并添加两个程序文件‘led.c’

和‘init.s’(汇编文件)。

4. 对工程文件进行相应设置(参考《开发板准备实验》1.7 节)

5. 编译该工程,成功后将生成映像文件‘led.axf’。打开AXD,装载映像文件‘led.axf’。

6. 运行程序,观察结果。

图3.1 硬件连接图3.2 系统电路设计

图3.2 连线图

四、软件设计

4.1 设计思路

4.2 程序清单

led.c

/*

本实验接口说明

GPB5 ------ LED0

GPB6 ------ LED1

GPB8 ------ LED2

GPB10 ------ LED3

*/

/*------------------------地址声明---------------------------*/ #define GPBCON (*(volatile unsigned *)0x56000010) #define GPBDAT (*(volatile unsigned *)0x56000014)

#define GPBUP (*(volatile unsigned *)0x56000018)

#define uchar unsigned char

#define uint unsigned int

/*-----------------------定义全局变量------------------------*/

/*-----------------------函数声明----------------------------*/

void Delay(int x);

/*------------------------------------------------------------/

函数名称:Delay

功能描述:延时函数

传参:int x

返回值:无

-------------------------------------------------------------*/

void Delay(int x)

{

int k, j;

while(x)

{

for (k=0;k<=0xff;k++)

for(j=0;j<=0xff;j++);

x--;

}

}

/*-------------------------------------------------------------

函数名称:ledMain

功能描述:入口程序

初始化后,进入跑马灯死循环

传参:无

返回值:int 0

-------------------------------------------------------------*/

int ledMain(void)

{

GPBCON = 0x1dd7fc; // GPB5,GPB6,GPB8,GPB10设置为输出GPBDAT = ((1<<5)|(1<<6)|(1<<8)|(1<<10)); //使LED全灭

GPBDAT&=0xffe; //关闭蜂鸣器

GPBUP = 0x00;

while (1) // 死循环

{

GPBDAT = ~(1<<5); //LED0亮

Delay(500);

GPBDAT = ~(1<<6); //LED1亮

Delay(500);

GPBDAT = ~(1<<8); //LED2亮

Delay(500);

GPBDAT = ~(1<<10); //LED3亮

Delay(500);

}

return 0;

}

init.s(汇编文件)

AREA |DATA|,CODE,READONL Y

ENTRY

ldr r13,=0x1000

IMPORT ledMain

b ledMain

END

五、实验调试及结果

5.1 硬件连接

1.将电源模块的连接线插在开发板左上角的黑色电源插孔内;

2.串口线应连接在开发板右上角的‘COM0’口(当前默认,也可以修改),另一端与

计算机的串口相连;

3. JTAG 板左边25 针接口应接连接到PC 机的并口上,而右边20 针接口需要通过排

线连接到开发板的JTAG 接口。

5.2 USB驱动安装

1. 用串口线连接好开发板(默认用串口0)和PC 机。打开DNW 进行相应配置,开发板上电,待Bootloader 启动之后使其停在菜单处(在系统引导并读秒时按回车键)。

2. 用USB 线将PC 机和开发板的USB DEVICE口相连,此时PC 机系统会提示发现新硬件,下面按提示安装USB 驱动。

3.好USB 驱动后可以看到在设备管理器中的“通用串行总线控制器”下多了“SEC SOC Test Board ”一项,到此USB 驱动就安装好了。重启开发板,停在菜单处时,DNW 的标题栏会提示:【USB:OK】。

5.3 并口驱动安装

1. 将光盘中“FL2440\windows 下驱动\GIVEIO”文件夹中的“GIVEIO.SYS”拷贝到WINDOWS的系统驱动目录下(例如:C:\WINNT\system32\drivers”);

2. 在WINDOWS 的“控制面板”中选择“添加硬件”;

3. 选择“添加新的硬件设备”点击“下一步”;

4. 选择“安装我手动从列表选择的硬件”,点击“下一步”;

5. 选择“端口”,点击“下一步”;

6. 选择“从磁盘安装”;在“厂商文件复制来源”中选择光盘中GIVEIO.inf 所在的目录,点击“确定”接下来的步骤一直选择“下一步,”最后GIVEIO 将成功安装到系统中。

5.4 DNW配置

1. 打开DNW.EXE 软件,在第一个下拉菜单(Serial Port)中选择connect,此时在软件

的标题栏会显示[COM1,115200bps];

2. 点击Configuration,会弹出如下对话框,在这里可以选择波特率和串口;

3. ‘Download Address’地址要选择‘0x30800000’(此参数为下载到内存的地址:0x30000000~0x34000000,Bootloader 用了0x30200000 之前的内存地址,注意不要与之冲突);

4. 插好USB,给板子上电,在COM1 后边会跟着显示[USB:OK],若没有显示可将USB 重新插拔。(前提是PC 机已安装USB 驱动程序)。此时就可以利用boot 程序来进行串口或USB 下载了。

5.5 ADS1.2集成开发环境的使用

1. 使用ADS 创建工程

2. 编译和链接工程

3. Linker 设置

5.6系统调试和测试

5.6.1 调试环境

PCB板制作好后,进行系统调试需要进行硬件调试和软件调试两个过程。其中,硬件调试需要使用示波器、万用表、稳压电源等工具;软件调试则使用SJF2440软件或H-Jtag软件烧写系统引导程序和测试程序。焊接PCB时应首先焊接电源模块,只有在电源模块测试正常时才能焊接其它的模块,否则在通电测试时会损坏其它模块的芯片;另外,在进行测试时还要注意避免人为造成的短路现象。

5.6.2 硬件调试

(1)加电前的检查:加电调试之前要对照电路原理图和实际线路进行检查,看PCB板是否有短路、断路情况,看在元器件焊装过程中是否有错装、短路、错接、多接、少接等现象;用万用表检测焊接和接插件是否良好;各焊点之间有无短路,焊点是否存在虚焊;集成电路芯片是否焊装正确,二极管、三极管、电解电容等有极性的器件的极性是否正确;电源的极性连接是否正确、正负极间是否存在短路的情况。

(2)加电检测和调试:做完加电前的检查,确认无误后,电源输入端接入5V电压。观察有无异味、冒烟、器件发烫等现象。当发现有异常情况时要立即切断电源,并根据故障现象分析故障原因,然后排除。如无异常,用万用表分别测量个关键点和各集成芯片的电源端的电压值,各输入和输出端的高、低电平值及逻辑关系等是否正常。如若这些都没有问题,就通过示波器来检测各相关点的波形是否正常,然后根据波形来分析故障的原因,直至最终故障排除。5.6.3 软件调试

在PC机上运行SJF2440或H-Jtag软件,烧写已经编译好的系统引导程序,看系统能否正常启动,输出是否正常,烧写系统测试程序看输入输出是否正确,否则分析原因并排除故障。烧写前要确保引导程序和测试程序是正确可用的。

5.7 实验效果图

图5.1

图5.2

图5.3

图5.4

六、课程设计总结

经过本次基于ARM9的LED跑马灯设计的综合实验,我受益良多,从中学到了关于嵌入式开发系统的相关知识,了解了FL2440开发板的相关知识。在实验中,我遇到了困难,DNW显示can’t create dnw.ini,经过与实验手册一步步的比对,我发现自己少掉了一个非常重要的步骤即对生成目标的配置,进行配置后成功运行,显示出了与程序相对应的结果。

七、参考文献

[1] 江俊辉.基于ARM的嵌入式系统硬件设计[J].微计算机信息(嵌入式与SOC),2005,21(7-2):120-122.

[2] SAMSUNGELECTRONICSDatasheet:S3C2440AUSER’MANUALRevision0.12,2004.

[3] DA VICOMSemiconductorDatasheet:DM9000A-DS-P03Datasheet,2005.

[4] 田泽.ARM9嵌入式开发实验与实践[M].北京:北京航空航天大学出版社,2006:10

数字电路设计跑马灯

数字电路课程设计报告设计课题:跑马灯 专业班级:12电信2班 学生姓名:刘鹏 学号:120802084 指导教师:曾祥志 设计时间:2016.4-2016.5

目录 1 设计要求 (2) 1.1 设计规范 (2) 2 设计方案 (2) 2.1题目分析 (2) 2.2 整体构思 (2) 3 元件说明 (3) 3.1 元件说明 (3) 3.2电路原理图 (3) 4 安装与调试 (6) 5 心得体会........................... ............. (7) 6参考文献......................................... .. (7) 7附录 (8)

1 设计任务与要求 1.1 设计规范 (1)、根据技术指标要求确定电路形式,分析工作原理,计算元件参数。 (2)、安装调试所设计的电路,使之达到设计要求。 (3)、记录实验结果。 (4)、撰写设计报告。 设计要求 (1)实现10灯循环点亮。 (2) 红绿灯各5盏。 (3)实现红绿灯流水交替显示。 2设计方案 2.1题目分析 我们设计的跑马灯实际上是主要使用一个555芯片产生脉冲给到,CD4017芯片对10个LED进行控制,产生流水交替的效果。形成跑马灯。 2.2 整体构思 拟定系统方案框图,画出系统框图中每框的名称、信号的流向,各框图间的接口,使用电路设计软件画出原理图。 3. 元件说明 3.1元件说明 555功能:555 的功能主要由两个比较器决定。两个比较器的输出电压控制RS 触发器和放电管的状态。在电源与地之间加上电压,当5 脚悬空时,则电压比较器C1 的同相输入端的电压为2VCC /3,C2 的反相输入端的电压为VCC /3。若触发输入端TR 的电压小于VCC /3,则比较器C2 的输

跑马灯实验报告.

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

变速跑马灯的proteus仿真电路及C语言程序设计

#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 uchar speed=10; //设置一个变量保存跑马灯的移动速度 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 =0x00; TR2=1; //启动定时器 ET2=1; //打开定时器2中断 EA=1; //打开总中断 while(1) //主程序循环 { if(ldelay) //发现有时间溢出标记,进入处理 { ldelay=0; //清除标记 P1=ledp[ledi]; //读出一个值送到P1口 ledi++; //指向下一个 if(ledi==4) { ledi=0; //到了最后一个灯就换到第一个 speed--; if(speed==0)speed=10;//每循环显示一次,就调快一次溢出速度} } } } //定时器2中断 timer2() interrupt 5 { static uchar t; TF2=0; t++; if(t==speed) //比较一个变化的数值,以实现变化的时间溢出

数字电子电路 数电 实验报告 基于FPGA的跑马灯电路的设计

装 … …订 ……线 基于FPGA的跑马灯电路的设计 一、实验目的 1、进一步熟悉MAXPLUS II、Multisim或QUARTUS II等电子开发工具的基本使用方法。 2、掌握使用移位寄存器、计数器、译码器等集成电路进行综合电路设计方法 3、运用图解法设计跑马灯电路,并进行电路仿真。 二、实验内容 实验题目:设计一个跑马灯电路。要求输出8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。 首先根据题目要求设计一下电路的实现方法,利用加法计数器(74LS161)和74LS138(3-8译码器)可实现8个LED灯从左到右逐个点亮的单向循环,实际电路如下图: 而要完成实验的要求,需将计数器74161的输出信号变为000到111的加计数,再由111到000的减计数,然后循环。 实现实验题目的方法有两种: 1、将计数器74LS161的输出端QA、QB、QC分别与QD异或,经过异或门输入到74LS138的A、B、C端,其数据符合题目的数据要求。可以实现8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。但第1个灯和第8个灯显示的时间长度是其它灯的2倍。 Electronics Workbench 实验图1 2、使用可逆计数器74LS191来完成电路的计数部分,利用可逆计数器74LS191的加减计数控制端 U/D′,U/D′输入低电平时计数器为加法计数器,U/D′输入高电平时计数器为减法计数器。 当计数器74LS191加计数到7(0111)时,通过与门取出信号,经过或门使D 触发器输出由原来的低

装 … …订 ……线电平反转为高电平,通过加减控制端U/D′,使计数器由加法计数变为减法计数。当计数器74LS191减计数到0(0000)时,借位输出端产生信号,经过或门使D触发器输出由原来的高电平反转为低电平,通过加减控制端U/D′,使计数器由减法计数变为加法计数。计数器输出信号为0000到0111的加计数,再由0111到0000的减计数,不断循环。再经过3—8译码器使8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。 Electronics Workbench 实验图2 本次实验使用软件MAXPLUS II、Multisim或QUARTUS II皆可。但要求至少要使用2种软件实现电路设计。 三、实验步骤 提前进行电路设计。要求在实验报告中写出详细的设计过程,包括设计思路,和预计输出结果,画出逻辑电路图,实际应使用的芯片。

跑马灯电路设计

跑马灯分析如下: 跑马灯电路采用74LS194为核心控制彩灯左移、右移及闪烁功能,围绕74LS194的S1、S0工作的控制方式,S1、S0需要自动周期性的变化,为了实现自动模式转换,设计一个状态计数器,控制彩灯模式转换,利用74153双四选一电路,将S1、S0的状态置入74194,完成周期性地读取。 本设计方案的关键是S1、S0状态信息如何传送给74194,S1、S0状态信息要与整个彩灯控制电路相匹配,不同的S1、S0状态,送入74LS194数据输入端的数据不同,利用74LS153作为数据选通,连接到74LS194数据输入端,不同的工作状态,选通数据输出不同,这是设计的主要关键点之一。 电路中,利用74161完成状态计数工作,每8个时钟脉冲,状态计数器完成加一操作,完成移位方式控制,利用74194完成左移或右移及闪烁功能功能,利用74153完成左右移数据输入选通控制。

根据任务要求列出自动循环状态和74194移位控制工作方式表2。 表2 X/0表示电路设计过程中,尽管状态表中取任意态,但在实际电路连接中,取低电平。 彩灯控制器完成左移、右移、闪烁及同时左右移,只需要4种状态,故状态计数器完成模4计数即可。移位寄存器的工作状态由方式控制字S1、S0决定,查阅74LS194数据手册,确定S1、S0工作方式。利用表.2,分析S1、S0的状态。因为彩灯是八路输出,用两片74LS194,其中高位标号为74194B,低位为74194A,所以高位的74LS194工作方式标称为BS1、BS0,低位为AS1、AS0。将BS1、BS0、AS1、AS0放在一起,用74153将数据状态选通输出即可 从表格中可以看出,状态计数器描述计数状态,移位寄存器完成左移、右移、闪烁、左右同时移动功能,且自动循环进行。

跑马灯实验报告

电子系统综合设计报告 学号 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 中的某些寄存器,子程序进入时必须保

跑马灯控制电路设计

HDL数字系统课程设计报告书 目录 一、设计目的 (2) 二、设计思路 (2) 三、设计过程 (2) 3.1、系统方案论证 (2) 3.2、程序代码设计 (3) 四、系统调试与结果 (5) 五、主要元器件与设备 (9) 六、课程设计体会与建议 (9) 6.1、设计体会 (9) 6.2、设计建议 (10) 七、参考文献 (10)

论文摘要: 共16个LED灯,连成一排,实现几种灯的组合显示。通过这次对跑马灯控制电路的设计与制作,了解了设计电路的程序,也了解了关于跑马灯工作的基本原理与设计理念,首先要将一个程序分成几个模块,分别调试每一个模块,当每个模块均能正常工作时,其次再将其都组合在一起再次调试与仿真,最后将程序下载到Altera公司ACEXTM系列EPEK30QC208-2芯片,观察程序是否能控制硬件的实现。此外,本实验也可通过EDA软件Quartus6.0和modelSim SE 6.0实现。 关键词: HDL 数字系统跑马灯设计

一、设计目的 1、熟悉Verilog HDL程序编程。 2、掌握Altera公司ACEXTM系列EPEK30QC208-2芯片的使用方法。 3、熟悉Quartus II 6.0和Modesim SE 6.0软件的使用。 4、了解16个数码管的显示原理和方法。 二、设计思路 1、编写跑马灯设计程序。 2、定义LED灯引脚分配。 3、设计状态控制。 4、下载到EPEK30QC208-2芯片上显示。 三、设计过程 3.1、系统方案论证 16位LED跑马灯设计框图如图1所示:

图1 LED跑马灯设计框图 3.2、程序代码设计 module paomadeng(rst,clk,sel,led); //端口定义,参数列表 input rst,clk; //rst复位,clk为4Hz的时钟信号input[1:0] sel; //sel 状态选择端口 output[15:0] led; //led 跑马灯显示 reg[15:0] led; reg[15:0] led_r,led_r1; reg cnt1,dir; //cnt1控制状态2 led灯的亮次数 reg[3:0] cnt2; //cnt2控制状态2 led灯的亮次数 reg[2:0] cnt3; //cnt3控制状态2 led灯的亮次数 always@(posedge clk) begin if(rst) begin cnt1<=0;cnt2<=0;cnt3<=0;dir<=0;end else case(sel) // LED按奇数,偶数依次显示 2'b00: begin led_r=16'b0101010101010101; if(cnt1==0)led<=led_r; else led<=led_r<<1; cnt1<=cnt1+1; end // LED顺序依次显示,顺序依次熄灭 2'b01: begin if(!dir) begin if(cnt2==0) begin led_r=16'b0000000000000001;led<=led_r;end else begin led<=(led<<1)+led_r;end if(cnt2==15) begin dir<=~dir;end

stm32跑马灯实验

详细了解,请点击https://www.360docs.net/doc/505485207.html,/ 跑马灯实验 跑马灯实验是最简单,也是一般最先开始的一个实验,他可以搭建一个最小的工程项目,之后,所有的实验都可以建立在该项目之上,从而节省了在搭建过程中所消耗的时间和精力。所有的GPIO操作都是以跑马灯为基础进行的。 建议:当该实验顺利完成后,作为一个模板,供以后实验使用,最好把相关的某些代码封装起来,方便其他程序重用和其他功能调试时使用,这样可以确保您可以将精力花费在其他需要实现的功能上,而不是多次写下重复的代码。 实验目的: 1.分析和学习固件库 2.理解固件库的结构 3.通过stm32f10x_gpio.c/.h文件,熟悉GPIO的控制和工作原理 4.对开发板LED灯的再次软件封装 实验要求: 1.利用原理图和固件库的实例,移植开发板LED灯的驱动程序,即自己创建一个LED.c/.h 2.用两种方法实现跑马灯程序: 1.LED驱动 2.直接GPIO寄存器控制 硬件分析:

如上所示,4个LED链接在4个不同管脚上,即GPIOF6,GPIOF7,GPIOF8,GPIOC7. 当这4个管脚被置为低电平时,二极管导通。 通用输入输出接口(GPIO)介绍: 多达112多功能的双向IO口:80%的IO口利用率 所有的IO被分成7个端口,即7组GPIO口(GPIOA..GPIOG); 多达21路模拟输入; 可改变功能引脚(如:USARTx、TIMx、I2Cx、SPIx、CAN、USB等); 多达112个IO口可以设置为外部中断(同时可最多可有16个); 一个IO口可用于将MCU从待机模式唤醒(PA.0); 一个IO口可用作防入侵引脚(PC.13); 标准的I/O口可承受5V; IO口可以吸收25mA(总共可吸收150mA); 18MHz翻转速度; 可设置输出速度达到50MHz; 使用BSRR和BRR寄存器可对IO口的位进行位设置或清除; 锁定机制可以避免对IO口的寄存器的误写操作: 每个GPIO引脚都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉)或复用的外设功能端口。多数GPIO引脚都与数字或模拟的复用外设共用。 除了具有模拟输入功能的端口,所有的GPIO引脚都有大电流通过能力。 在需要的情况下,I/O引脚的外设功能可以通过一个特定的操作锁定,以避免意外的写入I/O寄存器。 7组GPIO的端口映射地址为:

跑马灯电路图及元件知识

跑马灯实验说明书 一、实验目的 1.熟悉NE555定时器,计数器CD4017的逻辑特性。 2.熟悉NE555构成多谐振荡器原理。 3.掌握简单电子电路的安装、焊接、调试技术。 二、实验要求 1.知道NE555、CD4017的管脚排列顺序。 2.利用NE555构成多谐振荡器。 3.知道电阻的主要参数及其标注方法。(见实验指导书116页)。 4. 知道电容器的主要作用。(见实验指导书122页)。 5. 了解有关焊接的知识。 三、实验器材 电路板1块。 电容:1μF (1个)。 集成芯片:NE555(1个)、CD4017(1个)。 电阻:22K?、550K?(可调)、330?各一个 二极管:IN4148(8个)、发光二极管(6个)。 秒表(自行提供) 电池:5V 四、电路的安装 1.检查集成芯片NE555,CD4017的安装位置有无错误. 2.检查电解电容的极性有无错误; 3. 检查二极管IN4148及发光二极管的安装方向有无错误; 4. 检查各个电阻的安装是否有误。 5. 检查有无虚焊。 五、电路的调试 1. 电路焊接好后,先将电路板正负端接到直流电压5V及地线处,观察发光二极管是否变亮。 2. 适当改变电位器阻值,观察其对CD4017循环周期(发功二极管依次循环一周)的影响。 3. 利用秒表记录CD4017一个合适循环周期的时间。(分别测量电阻最大时、最小时、合适时的周期) 六、实验报告要求 1. 写出实验目的、要求。 2. 注明说用元器件 3. 画出实验电路图。 4. 根据实验操作过程,自己拟写实验步骤。 5. 根据公式计算出多谐振荡器的频率。与记录的循环周期有何联系。 附录 1.跑马灯电路图 2.CD4017的相关资料 3.NE555的相关资料(见实验指导书220页)

跑马灯实验报告.

跑 马 灯 实 验 报 告 姓名: 班级:

跑马灯实验报告 试验目的 1.学习8031内部计数器的使用和编程方法。 2.进一步掌握中断处理程序的编程方法。 3.学习端口的输入输出操作。 实验原理 1、软件流程图: 2.程序设计内容 我们可以运用输出端口指令MOV P1,A 或MOV P1,#DATA ,只要给累加器值 或常数值,然后执行上述的指令,即可达到输出控制的动作。

3、硬件连接图: 4.软件清单 ADR EQU 8000H ORG 0000H LJMP START ORG 001BH LJMP OT1

ORG 00F0H START:MOV TMOD,#10H MOV TL1,#0B0H MOV TH1,#3CH SETB EA SETB ET1 MOV R2,#14H MOV R3,#00H SETB TR1 SJMP $ OT1:CLR TR1 CLR EA MOV TH1,#3CH MOV TL1,#0B0H DJNZ R2,BACK NEXT:MOV R2,#14H MOV DPTR,#0200h MOV A,R3 MOVC A,@A+DPTR MOV DPTR,#ADR MOVX @DPTR,A INC R3 CJNE R3,#08H,BACK SJMP ROUND BACK:SETB EA SETB TR1 RETI ROUND:MOV R3,#00H SJMP BACK ORG 0200H DB 05H,0AH,50H,0A0H,55H,0AAH,0FFH,00H END 5.C语言源程序 #include unsigned char i; unsigned char temp;

简易LED跑马灯设计

简易LED跑马灯设计 摘要 随着微电子技术的飞速发展,集成电路的集成度和性能提高、价格下降,特别是单片微处理器的出现,对现代社会的进步起到了巨大推进作用,也从各个方面改变了人们的生活,比如目前国内国外都大量使用的霓虹灯广告牌、交通显示信号灯,以及各种车辆、家用电器等普遍使用的指示信号灯,给人们的生活提供了便利。本文针对广告牌等显示器件中起到至关重要的作用的数字控制信号LED灯显示(跑马灯)进行一个简易的模拟设计。此实验项目中,使用8255芯片实现16位数码管显示,制作成一个简易的跑马灯,其中要运用386[pc]汇编语言编写相应代码,并且要针对8255的特点设计实验连线图,是对本科接口课程中学习到的软件以及硬件知识的一个综合运用,通过实际上机实验操作,编译设计不同的跑马灯效果。通过最后的综合实验调试,成功实现了简易跑马灯的效果显示,这是对跑马灯实际应用的一次有益接触,也是对该应用原理的一次初步实践。 【关键词】接口跑马灯 8255芯片 LED灯汇编语言

1 LED的应用领域以及LED跑马灯的研究意义 ?1.1 LED的应用领域 LED的应用领域非常广,包括通讯、消费性电子、汽车、照明、信号灯等,可大体区分为背光源、电子设备与照明、显示屏、汽车交通等五大领域。 ◆汽车交通:以汽车內装使用包括了仪表板、音箱等指示灯,及汽车外部(第三刹车灯、左右尾灯、方向灯等),另外还包括交通标志灯。 ◆背光源:主要是手机背光光源方面,是SMD型产品应用的最大市场。 ◆显示屏: LED显示屏作为一种新兴的显示媒体,随着大规模集成电路和计算机技术的高速发展,得到了飞速发展,它与传统的显示媒体―多彩霓虹灯、象素管电视墙、四色磁翻板相比较,以其亮度高、动态影像显示效果好、故障低、能耗少、使用寿命长、显示内容多样、显示方式丰富、性能价格比高等优势,已广泛应用于各行各业。 ◆电子设备与照明:LED以其功耗低,体积小,寿命长的特点,已成为各种电子设备指示灯的首选,目前几乎所有的电子设备都有LED的身影。 ?1.2 LED跑马灯的研究意义 本文主要是对LED显示屏应用的一个初步研究,跑马灯是对LED显示屏功能的基础模拟,通过对跑马灯形式的LED显示进行实验模拟,可以对LED的大型应用奠定基础,是将来完成完整LED效果显示设计的初级实践。LED跑马灯设计正好和本科接口基础设计课程相衔接,运用到了课程中学习到的相关接口知识,是对该课程知识的一个综合运用,有助于加强基础知识的掌握,提升个人实践能力。 2 相关实验芯片及原理的介绍 本实验需要器材:8255芯片一块,PC机一台,TD-PIT/TD-PIT-B实验箱一台。 ?2.1 LED灯管的发光以及驱动原理 图2.1 发光二极管结构图 LED灯管LED(Light Emitting Diode,图2.1),发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由三部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子,中间通常是1至5个周期的量子阱。当电流通过导线作用于这个晶片的时候,电子和空穴就会被推向量子阱,在量子阱内电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。 在接口试验中通常会用到单色LED灯作信号显示,给LED灯输入数字信号,LED灯会根据信号的不同而显示亮或者灭。

跑马灯的设计与仿真1(电子科大版)

光电信息学院 数字电路课程设计报告 课程名称:数字设计原理与实践 设计题目:跑马灯设计及仿真 专业:光电工程与光通信 学号:2905103032 2905402009 姓名:生艳梅周高翔

选课号:60 71 2011年06月08日 光电学院数字电路课程设计 任务名称:跑马灯的设计及仿真 专业:光电工程与光通信姓名:生艳梅周高翔 指导教师:周建华 (1)课程设计应达到的目的、任务及要求: 控制8 个LED 进行花式显示,设计4 种显示模式:S0,从左到右逐个点亮LED;S1,从右到左逐个点亮LED;S2,从两边到中间逐个点亮LED;S3,从中间到两边逐个点亮LED。4 种模式循环切换,复位键(rst)控制系统的运行与停止。跑马灯的状态转换图如图所示:

(2)设计思路 要达到跑马灯的灯依次亮的效果。我们只需要将跑马灯的8 盏灯用8 位二进制数表示,1 代表灯亮,0 代表灯灭,然后设计若干个状态,让clk 在上升沿处带动状态的改变。按照要求,初始状态是全灭,即00000000 然后由左往右依次亮,既:1000000 →11000000→11100000 →………依次类推。 (3)程序如下: module ledwalk(clk,rst,led); input clk,rst; output [7:0] led; reg [7:0] led; reg [24:0] count;

reg [4:0] state; wire clk; always @ (posedge clk,negedge rst) begin if(!rst) count<=0; else count=count+1; end always @ (posedge clk) begin :AA case(state) 5'b00000: led=8'b00000000; 5'b00001: led=8'b10000000; 5'b00010: led=8'b11000000; 5'b00011: led=8'b11100000; 5'b00100: led=8'b11110000; 5'b00101: led=8'b11111000; 5'b00110: led=8'b11111100; 5'b00111: led=8'b11111110; 5'b01000: led=8'b11111111; 5'b01001: led=8'b00000000;

跑马灯设计

2323 学校代码:14057 学号: 芜湖信息技术职业学院毕业论文(设计) 论文题目: 学科专业: 作者姓名: 指导教师: 完成时间:

选题背景 最近几年来,在电子技术高度发展的今天,单片机迅猛发展,多功能按键已成为当代电子信息中不可或缺的重要部分,尤其是应用在当代的潮流物品上面,例如:MP3,MP4,手机,数字电视等高科技电子电器上面.正是由于它的出现和应用给人们的学习、工作、娱乐带来极大方便。另外,多功能按键中还采用了石英晶体振荡电路,从而使它具有响应快、灵敏度高、性能稳定诸多优点。它还可以利用一个按键实现单击、双击、连击的功能,真正做到了一键多功能,多效应,这也正是它的命名由来. 近年来中国电子工业持续高速增长,带动电子元器件产业的强劲发展。中国已经成 为扬声器、铝电解电容器、显像管、印制电路板、半导体分立器件等电子元器件的世界 生产基地。 本设计介绍一种实用的单片机多功能按键的设计与制作,采用基于MS-51的单片机 AT89S51芯片,并且利用该芯片及其他一些电器元件设计了本实验跑马灯电路板。 毕业论文进度安排: 2011 02 定题 2011 03 写提纲、初稿 2011 04 修改论文 2011 06 定稿 指导教师意见: 指导教师签名:年月日 毕业论文(设计)写作提纲

一、论文题目 跑马灯设计 二、论题观点来源: 电子信息产业具有产业规模大,技术进步快,产业关联度强等特点,是经济增长的重要的引擎,更是我国国民经济重要的战略性产业。09年以来我国电子信息产业一路保持恢复性增长的态势,目前已进入平稳增长的阶段。近年来中国电子工业持续高速增长,带动电子元器件产业的强劲发展。中国已经成为扬声器、铝电解电容器、显像管、印制电路板、半导体分立器件等电子元器件的世界生产基地。 三、基本观点: 该论文首先主要是简介电子行业在我国的发展趋势以及发展前景。其次是介绍一些关于芯片AT89S51的功能等硬件方面的知识。之后介绍软件方面的设计思想。最后进行电路板的调试问题解决和设计总结。 四、论文结构: 1、总体设计 2、硬件设计 3、软件设计 4、设计总结 毕业论文(设计)工作中期检查表

PLC课程设计霓虹灯跑马灯.

烟台南山学院 PLC课程设计 题目霓虹灯广告屏装置PLC设计与调试 姓名:李海港 所在学院:烟台南山学院 所学专业:电气工程及其自动化 班级:电气工程1102班 学号: 指导教师:姜倩倩 小组成员:邱胜强马帅李海洋

课程设计任务书 一、基本情况 学时:1周学分:1学分适应班级:10电气技术 二、课程设计的意义、性质、目标、要求 1.意义 课程设计是PLC课程教学的最后一个环节,是对学生进行全面的系统的训练。进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不少的,是非常必要的。 2.性质 课程设计是提高学生PLC技术应用能力以及文字总结能力的综合训练环节,是配合PLC课程内容掌握、应用得的专门性实践类课程。 3.目标 通过典型实际问题的实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建立系统设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩充。 4.要求 (1)课程设计的基本要求 PLC课程设计的主要内容包括:理论设计与撰写设计报告等。其中理论设计又包括选择总体方案,硬件系统设计、软件系统设计;硬件设计包括单元电路,选择元器件及计算参数等;软件设计包括模块化层次结构图,程序流程图。程序设计是课程设计的关键环节,通过进一步完善程序设计,使之达到课题所要求的指标。课程设计的最后要求是写出设计总结报告,把设计内容进行全面的总结,若有实践条件,把实践内容上升到理论高度。 (2)课程设计的教学要求 PLC课程设计的教学采用相对集中的方式进行,以班为单位全班学生集中到设计室进行。做到实训教学课堂化,严格考勤制度,在实训期间(一周)累计旷课达到6节以上,或者迟到、早退累计达到8次以上的学生,该课程考核按不及

走马灯实验报告

电子系统综合设计报告 学号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.寄存器的使用规则 寄存器的使用必须满足下面的规则:

数字电子技术课程设计 跑马灯

徐州工程学院 课程设计报告 ( 2012 -- 2013 年度第一学期) 名称:数字电子技术课程设计 题目:跑马灯 院系: 班级: 学号: 学生姓名: 指导教师: 设计周数: 1 成绩: 日期:2013年01月15日

目录 一、课程设计的目与要求 1.1设计目的 (3) 1.2设计要求 (3) 1.3主要技术指标 (3) 二、设计正文 2.1.设计分析 (3) 2.2.设计思路 (3) 2.3芯片资料 (3) 2.4.设计流程图 (8) 2.5 设计原理图 (8) 2.6.仿真图原理图 (9) 2.7.仿真现象 (9) 2.8时序逻辑 (10) 2.9PCB图 (11) 2.10实物图 (11) 2.11实物演示 (12) 三、设计结论与心得 (13) 四、参考文献 (13) 五、附图 (14)

一、课程设计的目与要求: 1.1、设计目的; 1.熟悉和掌握数字电路元件的特性和使用方法 2.深入理解数字电子技术基础的学习 3.锻炼自我思考,设计电路的能力 4.锻炼动手,实践能力 1.2、设计要求: 1.根据技术指标要求确定电路形式,分析工作原理,计算元件参数 2.列出所用元器件清单并购买 3.安装调试所设计的电路,使之达到设计要求 4.记录实验结果 5.撰写设计报告 1.3、主要技术指标: 1.实现8灯循环点亮 2.间隔时间可调 3.广告灯的样式自定 二、设计正文: 2.1.设计分析: 我们设计的跑马灯实际上是主要使用一个74LS161,一个74LS138,一个74LS20对8个LED进行控制,产生循环控制的效果。形成一个流水似的广告灯,并且通过一个74ls161对输入脉冲进行分频,实现循环速度可调。 2.2.设计思路: 首先我们利用二进制计数器74ls161对外界输入脉冲进行计数,并且通过输出端输出对应的二进制数码,再利用74ls138译码器对74ls161输出的二进制数进行译码,由此产生八位LED流水的效果,计数时需要对计数只进行限定,利用74ls20与74ls161利用反馈归零法限定计数只为8. 2.3芯片资料: (1)集成二进制计数器74LS161 74LS161是4位二进制同步加法计数器,除了有二进制加法计数功能外,还具有异步清零、同步并行置数、制加法计数功能外,还具有异步清零、同步并行置数、保持等功能。

跑马灯实验报告

基于Proteus 的跑马灯 一、实验目的 1、 掌握Proteus 系统的使用,能够建立、保存,打开和修改文件。 2、 掌握使用各种元器件绘制电路原理图的方法,实现电路的仿真。 二、实验内容 跑马灯电路,即完成P1口上的八个发光二极管循环闪亮。 三、实验程序 ORG 0000H AJMP MAIN ORG 30H MAIN: MOV R2,#16 MOV A,#0FEH LOOP: MOV P1,A LCALL D1 RL A DJNZ R2,LOOP D1: MOV R4,#10 D2: MOV R5,#100 D3: MOV R6,#249 DJNZ R6,$ DJNZ R5,D3 DJNZ R4,D2 RET END 四、实验硬件电路 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.0/T21P1.1/T2EX 2P1.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 AT89C52 R1 10k C1 1nF C2 1nF C3 1uF X1 CRYSTAL D1 LED-BIBY D2 LED-BIBY D3 LED-BIBY D4 LED-BIBY D5 LED-BIBY D6 LED-BIBY D7 LED-BIBY D8 LED-BIBY 23456789 1 RP1 RESPACK-8 五、运行Proteus 仿真结果

嵌入式系统原理实验三跑马灯

实验三跑马灯实验 实验目的: 通过一个经典的跑马灯程序,了解STM32F1 的IO 口作为输出使用的方法。通过代码控制ALIENTEK 战舰STM32 开发板上的两个LED:DS0 和DS1 交替闪烁,实现类似跑马灯的效果 内容要点: 1.硬件设计 本章用到的硬件只有LED(DS0 和DS1)。其电路在ALIENTEK 战舰STM32F103 开发板上默认是已经连接好了的。DS0 接PB5,DS1 接PE5。所以在硬件上不需 要动任何东西。其连接原理图如图: 2.软件设计 跑马灯实验我们主要用到的固件库文件是: stm32f10x_gpio.c /stm32f10x_gpio.h stm32f10x_rcc.c/stm32f10x_rcc.h misc.c/ misc.h stm32f10x_usart /stm32f10x_usart.h 其中stm32f10x_rcc.h 头文件在每个实验中都要引入,因为系统时钟配置函数以及 相关的外设时钟使能函数都在这个其源文件stm32f10x_rcc.c 中。 stm32f10x_usart.h 和misc.h 头文件在我们SYSTEM 文件夹中都需要使用到,所 以每个实验都会引用。 首先,找到之前新建的Template 工程,在该文件夹下面新建一个HARDWARE 的文件夹,用来存储以后与硬件相关的代码,然后在HARDWARE 文件夹下新 建一个LED 文件夹,用来存放与LED 相关的代码。新建led.h和led.c文件, 一个外设对应一个.h和.c文件。 在Manage Components 管理里面新建一个 HARDWARE 的组,并把led.c 加入到这个组里面, 将led.h 头文件的路径加入到工程里面 一般的头文件有固定的格式,多个地方调用头文件会重复引用,为了避免头文件内 容重复引用,一般通过预编译的方式来写头文件。一般的格式如下:

单片机跑马灯实验报告-叶坤

单片机实验报告—Delay函数和中断系统实现跑马灯14级通信2班叶坤学号:201400800679 一、硬件组成介绍 1、最小系统 STC12C5A16S2单片机、开发板、12兆的晶振、电源。 2、其他 共有40个引脚,两个外部中断,两个定时器,一个串行口中断。四个独立按键,四个数码管,一个蜂鸣器,还有一块拓展区域,可作为日后拓展功能使用,开发单片机的更多功能。 二、软件开发流程 1、新建工程 打开Keil软件,点击“Project | New Project…”,弹出一个名为“Create New Project”的对话框。然后选择一个合适的文件夹准备来存放工程文件。 2、选择CPU Keil提示选择CPU 器件。选中ATMEL中的89c52即可。接下来弹出一个对话框。该对话框提示是否要把标准8051 的启动代码添加到工程中去,一般选择“否”。 3、新建一个.c文件 点击新建文件,将文件名改为“text.c”,然后保存在合适的文

件夹里。扩展名“.c”不可省略。 4、添加源程序文件到工程中 一个空的源程序文件“text.c”已经建立,但是这个文件与刚才新建的工程之间并没有什么内在联系,因此我们需要把它添加到工程中去。单击Keil软件左边项目工作窗口“Target 1 ”上的“+”,将其展开。然后右击“Source Group 1”文件夹,会弹出选择菜单。单击其中的“Add Files to Group 'Source Group 1' ”项。这时,对话框内将出现刚才保存过的“text.c”。双击文件“text.c”,这时,源程序文件“text.c ”已经出现在项目工作窗口的“Source Group 1 ”文件夹内。 5、设计和编辑C语言程序 单根据实验要求编辑C语言程序,并且通过反复的编译和调试以确保程序的正确性。编辑“text.c ”文件,然后点击“Project”中的“compile”,根据运行结果调试程序,以达到目的。 6、勾选产生.hex文件 单击Keil C51 工具栏的“”图标,弹出名为“Options for Target ‘Target 1’ ”的对话框。单击“Output”标签页,选中“Create HEX File”项,然后“确定”。 7、仿真调试 用鼠标左键单击菜单命令“Debug”→ “Start/Stop Debug

相关文档
最新文档