文档库 最新最全的文档下载
当前位置:文档库 › SOPC流水灯实验

SOPC流水灯实验

SOPC流水灯实验
SOPC流水灯实验

第1章SOPC流水灯实验

实验步骤如下:

1.1 实验目的

熟悉使用QuartusII软件;熟悉使用SOPC Builder建立自己的Nios2系统;熟悉使用Nios II IDE软件进行编程、调试和下载程序。

1.2 实验设备

硬件:PC机一台MagicSOPC教学实验开发平台一套软件:Quartus II7.0、Nios II IDE 7.0

1.3 实验内容

本实验的内容是使用QuartusII中的SOPC Builder建立一个NiosII系统,并使用NiosII IDE编写C程序,在NiosII IDE中下载程序、调试程序。

1.4 实验预习要求

预习《SOPC嵌入式系统实验教程二》第3章3.3节,熟悉建立带DDR SDRAM的NiosII 系统;熟悉PIO外设的使用。

1.5 实验步骤

1.5.1使用Quartus II建立工程

仿照Quartus II7.0软件使用的实验,建立一个Nios2_system的工程,并使工程名与实体名相同。

1.5.2建立Nios II 系统硬件

(1)在Quartus II主界面中选择File→New打开新建文件对话框,如错误!未找到引用

源。所示,在对话框中选择Block Diagram/Schematic File,单击OK建立一个空的顶层原理图设计文件。

图1.1 新建文件对话框

(2)在Quartus II主界面中选择Tools→SOPC Builder打开如错误!未找到引用源。所示

的对话框,在System Name一栏中填入Nios II 系统的名称nios2_ep2c35,然后单击OK进入到如错误!未找到引用源。所示的SOPC Builder的主界面。

图1.2 Create New System对话框

图1.3 SOPC Builder的主界面

(3)双击SOPC Builder主界面左侧中的“Nios II Processor-Altera Corporation”,出现

Nios II CPU的配置向导对话框,如错误!未找到引用源。所示,在这果可以有三种Nios II CPU选择,我们选择快速型的Nios II/f,然后单击Next进入下一步配置。

图1.4Nios II CPU配置向导

(4)在Instruction Cache项中选择2 Kbytes,在Data Cache项中选择1 Kbytes,如错误!

未找到引用源。所示,然后单击Next。

图1.5 Caches&Tightly Coupled Memories选项卡

(5)在Advanced Features选项卡中,选择默认参数然后单击Next,到了JTAG Debug

Module选项卡,如错误!未找到引用源。所示。这里是选择JTAG调试接口,选择默认的模式Level 1,然后单击Next,到了Custom Instruction 选项卡,也选择默认参数,最后单击Finish完成对Nios II CPU的配置。

图1.6 JTAG Debug Module选项卡

(6)添加了Nios II CPU内核后,SOPC Builder在标签处增加了标题为Nios II More

“CPU”Settings的附加选项卜,SOPC Builder界面如错误!未找到引用源。所示,选中Module Name下的cpu_0,单击鼠标右键,在Rename项中可以重命名cpu_0的名称为cpu,并在Clock一栏中将50MHz频率改为75MHz。

(7)双击在SOPC Builder主界面左侧中的Memory→DDR SDRAM Controller MegaCore

-Altera Corporation,出现DDR SDRAM的配置向导对话框,如错误!未找到引用源。所示。

图1.7 添加Nios II核后的窗口

图1.8 DDR SDRAM配置对话框

(8)在错误!未找到引用源。的对话框中单击“Step1 Parameterize”按钮,进入如错误!

未找到引用源。所示的DDR SDRAM参数设置对话框。

(9)选中Advanced Mode选项,进入高级参数配置对话框,在Memory选项卡中选择

Column address bits一项为9,其它参数默认,如错误!未找到引用源。所示。

图1.9 SDRAM 参数配置对话框1

图1.10 SDRAM配置参数对话框2

(10)在Project Settings选项卡中,有一栏名为“Device Pin Prefixes and Names”中的三

项内容最好不要修改,选择默认设置,这些名称与QuartusII 顶层原理图设计的引脚名称有关,如错误!未找到引用源。所示。其它的选项卡的参数选择默认参数,最后单击Finish按钮退出第一步设置。

(11)在错误!未找到引用源。的对话框中单击“Step2 Constraints”按钮,进入如错误!

未找到引用源。所示的DDR SDRAM参数设置对话框,在该对话框中选择2R为1,0R为0,然后单击OK退出第二步的设置。

(12)在错误!未找到引用源。的对话框中单击“Step3 Add/Updat Component”按钮,这

时完成对DDR SDRAM的配置,此时在SOPC Builder中多一个项ddr_sdram_0,修

改名称为ddr_sdram。

图1.11 SDRAM参数配置对话框3

图1.12 SRAM Constraints配置对话框

(13)双击在SOPC Builder主界面左侧中的Other→PIO(Parallel I/O),出现PIO外设配置

的对话框,在Wide一栏中选择8bit,在Direction一栏中选择Output ports only,如错误!未找到引用源。所示,最后单击Finish完成对PIO的设置,此时在SOPC Builder 中出现pio_0的外设,修改该名称为LED_PIO。

(14)双击在SOPC Builder主界面左侧中的Other→System ID Peripheral,直接在SOPC

Builder中加入一名为sysid的外设。

(15)在SOPC Builder的Target栏中Board项中选择MagicSopc_board_2c35目标板,如错

误!未找到引用源。所示。单击SOPC Builder菜单的system→Auto-Assign Base Address,进行自动分配地址,单击SOPC Builder菜单的system→Auto-Assign IRQs,

进行自动分配中断号。

图1.13 PIO配置对话框

图1.14 SOPC Builder中的外设配置

(16)在SOPC Builder的Board Settings选项卡中选择Target Device一栏,单击选择“Assign

in Quartus II Project”,这是为每一个外设分配到目标板上,如错误!未找到引用源。

所示。

(17)在SOPC Builder的Nios II More"CPU"Settings选项卡中,在Reset Address一栏中选

择ddr_sdram,在Exception Address一栏中选择ddr_sdram,如错误!未找到引用源。

所示。

图1.15 Board Settings选项卡

图1.16 Nios II More"CPU"Settings对话框

(18)在SOPC Builder的System Generation选项卡中,去除Simulation的选项,然后单击

Generate按钮编译系统,编译完后按Exit退出。到现在,已经配置好了一个Nios II

CPU的最小系统。

图1.17 Nios II系统的生成

1.5.3使用Quartus II工程设计SOPC系统

(1)在Quartus II工程的原理图文件中双击原理图的空白位置,出现如错误!未找到引

用源。所示的对话框,单击OK加入到工程文件中。

图1.18 添加NiosII CPU

(2)在Quartus II主界面中选择Tools→MegaWizard Plug-In Manager,出现如错误!未找

到引用源。所示的对话框,单击Next,进行下一步配置。

图1.19 MegaWizard Plug-In Manager 对话框1

(3)在I/O选项中单击ALTPLL,在“what name do you want for the output file ”中给

ALTPLL命名为PLL,单击Next,进行下一步的设置。

图1.20 MegaWizard Plug-In Manager 对话框2

(4)在“what is the frequency of the inclock0 input”一栏中设置输入的频率为50MHz,

单击Next,进行下一步的设置。

(5)在“Optional inputs ”一栏中取消“Create an …areset? input to asynchronously reset the

PLL”的选项,如错误!未找到引用源。所示,单击Next,进行下一步的设置。

图1.21 MegaWizard Plug-In Manager 对话框3

图1.22 MegaWizard Plug-In Manager 对话框4

(6)选择默认参数,单击Next,进行下一步设置。在Clock Tap Settings一栏中选择“Enter

output clock frequency”,将c0时钟输出为75MHz,单击Next,进行下一步的设置。

(7)在Clock Tap Settings一栏中选择“Enter output clock frequency”,将c1时钟输出为

75MHz,在clock phase shift,一项中选择270 deg,单击Next,进行下一步的设置。

(8)以后的每一项设置都选择为默认参数,最单击Finish完成创建PLL。

图1.23 MegaWizard Plug-In Manager 对话框5

图1.24 MegaWizard Plug-In Manager 对话框6

(9)在Quartus II工程的原理图文件中双击原理图的空白位置,出现如错误!未找到引

用源。所示的对话框,单击OK把PLL加入到工程文件中。

(10)保存原理图文件,重新创建一个空白的原理图文件,参考错误!未找到引用源。,

然后单击在Quartus II主界面中选择Tools→MegaWizard Plug-In Manager,出现对话框,单击Next,到下一步,然后在单击左侧的Arithmetic→LPM_COUNTER,给计

数器命名为count,如错误!未找到引用源。所示,然后单击Next到下一步。

图1.25 添加PLL模块

图1.26 MegaWizard Plug-In Manager 对话框1

(11)在“How wide should the …q? output bus be?”一栏中选择10bit,如错误!未找到引用

源。所示,然后下一步。

(12)在“Do you want any optional additional ports ”一栏中选择“Count Enable”,

“Carry-out”,如错误!未找到引用源。所示,然后单击Next,进行下一步配置。

图1.27 MegaWizard Plug-In Manager 对话框2

图1.28 MegaWizard Plug-In Manager 对话框3

(13)在“Asynchronous inputs”一栏中选择clear选项,如错误!未找到引用源。所示,

然后单击Next,进行下一步配置,以后的配置都选择默认参数,直到单击Finish完成配置。

(14)在Quartus II工程新建的原理图文件中双击原理图的空白位置,加入count模块,然

后再双击原理图的空白位置,添加逻辑门电路元件,如错误!未找到引用源。所示。

(15)在原理图上添加输入输出引脚,如错误!未找到引用源。所示,最后的原理图电路

如错误!未找到引用源。所示。

图1.29 MegaWizard Plug-In Manager 对话框4

图1.30 添加逻辑门电路模块

图1.31 添加输入输出引脚

图1.32 复位延时模块电路

(16)保存新建的电路名称为reset_delay模块,然后在Quartus II主界面中选择File→

Create/Update→Create Symbol Files for Current File,单击“确定”后把原理图转换为一个模块。

(17)回到名为nios2_system的原理图设计文件中,添加reset_delay模块,如错误!未找

到引用源。所示,最后完整的Nios2系统原理图如错误!未找到引用源。所示,然后保存原理图文件。

图1.33 添加reset_delay模块

图1.34 Nios2系统整体原理图

1.5.4Quartus II工程的设置

(1)在Quartus II主界面中选择Assignments→Device打开如错误!未找到引用源。

所示的对话框。

图1.35 Device选项设置对话框

(2)在错误!未找到引用源。中单击Device&Pin Options 选项,进入如错误!未找到引用源。所示的对话框,在对话框中选择Unused Pins选择卡,在Reserve all

unused pins选择项中选择As input tri-stated选项。

图1.36 未用引脚设置

(3)在对话框中选择Configuration选项卡,在configuration device选择中选择EPCS16,如错误!未找到引用源。所示。

图1.37 Configuration设置

(4)在Quartus II主界面中,选择File→New打开如错误!未找到引用源。所示的对

话框,单击“OK”,新建了一个脚本约束文件。

图1.38 新建Tcl Script文件

(5)在空白的文件中输入如错误!未找到引用源。所示的代码,然后保存名为Setup

文件。

程序清单 1.1 Setup的脚本约束文件代码

#Setup.tcl

#Setup pin setting

set_location_assignment PIN_B13 -to clk

set_location_assignment PIN_AC13 -to reset_n

set_location_assignment PIN_P9 -to ledout[1]

set_location_assignment PIN_P7 -to ledout[2]

set_location_assignment PIN_P6 -to ledout[3]

set_location_assignment PIN_P3 -to ledout[4]

set_location_assignment PIN_R8 -to ledout[5]

set_location_assignment PIN_R6 -to ledout[6]

set_location_assignment PIN_T3 -to ledout[7]

set_location_assignment PIN_F21 -to clk_to_sdram[0] set_location_assignment PIN_F20 -to clk_to_sdram_n[0] set_location_assignment PIN_E24 -to ddr_a[0]

set_location_assignment PIN_C25 -to ddr_a[1]

set_location_assignment PIN_J25 -to ddr_a[2]

set_location_assignment PIN_G26 -to ddr_a[3]

set_location_assignment PIN_F24 -to ddr_a[4]

set_location_assignment PIN_G23 -to ddr_a[5]

set_location_assignment PIN_F25 -to ddr_a[6]

set_location_assignment PIN_F26 -to ddr_a[7]

set_location_assignment PIN_H19 -to ddr_a[8]

set_location_assignment PIN_K18 -to ddr_a[9]

set_location_assignment PIN_F23 -to ddr_a[10]

set_location_assignment PIN_G22 -to ddr_a[11]

set_location_assignment PIN_D23 -to ddr_ba[0]

set_location_assignment PIN_C24 -to ddr_ba[1]

set_location_assignment PIN_E25 -to ddr_cas_n[0]

set_location_assignment PIN_D25 -to ddr_cke[0]

set_location_assignment PIN_E23 -to ddr_cs_n[0]

set_location_assignment PIN_M25 -to ddr_dm[0]

set_location_assignment PIN_K24 -to ddr_dm[1]

set_location_assignment PIN_N20 -to ddr_dq[0]

set_location_assignment PIN_M20 -to ddr_dq[1]

set_location_assignment PIN_M19 -to ddr_dq[2]

set_location_assignment PIN_M23 -to ddr_dq[3]

set_location_assignment PIN_M22 -to ddr_dq[4]

set_location_assignment PIN_K26 -to ddr_dq[5]

set_location_assignment PIN_K25 -to ddr_dq[6]

set_location_assignment PIN_L19 -to ddr_dq[7]

set_location_assignment PIN_K21 -to ddr_dq[8]

set_location_assignment PIN_K19 -to ddr_dq[9]

set_location_assignment PIN_H26 -to ddr_dq[10]

set_location_assignment PIN_H25 -to ddr_dq[11]

set_location_assignment PIN_J24 -to ddr_dq[12]

set_location_assignment PIN_J23 -to ddr_dq[13]

set_location_assignment PIN_H24 -to ddr_dq[14]

set_location_assignment PIN_N23 -to ddr_dqs[0]

set_location_assignment PIN_G25 -to ddr_dqs[1]

set_location_assignment PIN_D26 -to ddr_ras_n[0]

set_location_assignment PIN_E26 -to ddr_we_n[0]

(6)在Quartus II主界面中,选择Tools→Tcl Scripts打开如错误!未找到引用源。所示的对话框,选择Project→Setup,然后单击“Run”按钮,运行脚本文件。

(7)在Quartus II主界面中,选择Assignments→Assignment Editor打开如错误!未找到引用源。所示的对话框,在这里可以看到,所用的引脚都已经分配好了。

图1.39 Tcl Scripts对话框

图1.40 引脚分配表

1.5.5QuartusII工程的编译

单击QuartusII工程中编译按钮,编译整个工程,编译后得到编译报告。

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

青 岛 科 技 大 学 微机原理与接口技术综合课程设计(报告) 题 目 __________________________________ 指导教师__________________________ 学生姓名__________________________ 学生学号__________________________ _______________________________ 院(部)____________________________ 专业________________班 ______年 ___月 ___日 直流电机控制综合实验 周艳平 宋雪英 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

流水灯实验报告综合二

实验名称:流水灯的实验设计与制作班级100713 学号07 姓名张凯瑜指导教师庞涛 一、实验目的: 1.增进对单片机的感性认识,加深对单片机理论方面的理解。 2.掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。 3.了解和掌握单片机应用系统的软/硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。 二、实验原理:

原理图说明:该设计选用一块STC89C52型单片机,使用其P1口和P3口的部分。P1口作为发光二极管的控制信号输出端,P3.2作为按钮K1外部中断0的信号输入口,P3.3为按钮K2外部中断1的信息输入口,P3.4作为K3信息输入口。单片机晶振频率为11.0592MHz,方便在线下载程序调试。电源使用5v 直流电,其中R11、C6为K1键硬件消抖(但效果不太理想,所以在软件中也做了软件消抖)。 三、实验设备: 电烙铁、万用电表、斜口钳、剥线钳、镊子、电池座、导线若干,所需元件清单: 四、实验方法与步骤: (1)认识各种元件,了解各元件的功能和使用方法。 (2)根据实验原理设计实验电路图和焊接图,并多次进行修正。

(3)按照实验焊接图在洞洞板上进行焊接。 焊接时在覆铜一面进行焊接,没有覆铜的一面用来放置元件。焊接时先对MCU座定好位,焊好对角两个角,然后焊接电源电路,按键电路,再复位和晶振电路,最后焊接LED 部分。 (4)插上编写好程序的单片机,实现“流水灯”效果。 五、实验测量与记录: 功能说明:本设计一共可以显示5种花样 k1键:切换显示花样k2键:暂停显示k3键:继续显示 流水灯——正面无单片机时 流水灯——正面有单片机时

定时器控制流水灯

成绩 信息与通信工程学院实验报告 (操作性实验) 课程名称:微机原理与微控制器应用 实验题目:c51单片机的定时器实验指导教师: 班级: 学号:学生姓名: 一、实验目的和任务 1.掌握定时器中断的编程方法。 2.掌握keil C51集成开发环境在硬件仿真条件下各参数的设置。 二、实验仪器及器件 硬件:电脑一台、微机原理与单片机试验箱:51开发板、开关及LED显示单元、导线若干 软件:keil uVision4 三、实验内容及电路图 利用实验板上的八个LED灯作显示,利用定时器中断编写中断一次为50ms的定时程序,控制单片机定时器进行定时,总定时时间为0.75ms。

四、流程图与程序 #include "SST89x5x4.h" #include int temp=0x01,num=0; void T0Int() interrupt 1 { TH0=(65536-45872)/256; TL0=(65536-45872)%256; num++; if(num==15) { num=0; P1=_crol_(temp,1);

temp=P1; } } void main() { EA=1; ET0=1; TMOD=0X01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; TR0=1; while(1); } 五、实验结果 八个LED灯由左往右依次亮起,并且每个LED灯点亮时间大约为0.75m。

六、实验数据分析及处理 从实验现象来看,LED灯从左到右依次点亮,符合实验要求,说明实验操作正确,实验结果正确。 七、实验结论与感悟(或讨论)

单片机实验报告

PIC单片机原理与应用实验报告 学校: 学院: 班级: 姓名: 学号: 指导教师:

实验一I/O端口实验 一、实验目的 (1)掌握MPLAP IDE集成开发环境的基本操作。 (2)掌握单片机的I/O端口的设计方法。 (3)掌握在线调试器的使用方法。 (4)学会查阅相关数据手册。 二、实验仪器设备 (1)PC机一台; (2)MPLAP IDE开发软件一套; (3)PICkit3在线调试器一套; (4)APP009实验板一块; 三、实验要求 (1)设计发光LED灯闪烁程序,下载调试,验证功能。 (2)设计流水灯程序,或其他花样彩灯程序,下载调试,验证功能。 (3)设计按按键加1计数程序,下载调试,验证功能。 四、实验步骤 (1)连接在线调试器PICkit3、APP009实验板和计算机; (2)打开MPLAP IDE集成开发环境软件,点击Debugger>Select Tools>PICkit 3 选择调试工具; (3)点击Debugger>Settings,在Settings窗口中点击Power栏,选择由PICkit3向实验板供电; (4)完成实现发光LED灯闪烁实验; 程序代码: #include void delay(void); int main() { while(1) { TRISEbits.TRISE0 = 0; //RE0设置为输出(1输入,0输出); https://www.wendangku.net/doc/c18872567.html,TE0 =1; //RE0=1输出高电平+5V,亮灯 delay(); //延时 https://www.wendangku.net/doc/c18872567.html,TE0 =0; //RE0=0输出低电平0V,灭灯 delay(); //延时 } } void delay(void) { long int i; for (i=0;i<65000;i++); } 实验现象:将程序下载到实验板上,运行程序,LED闪烁,通过改变延时函数改变延时时间,进而可以改变LED闪烁的频率。

花样流水灯实验报告

黄淮学院信息工程学院 单片机原理及应用课程设计性实验报告

五、硬件电路设计 根据设计任务,首先进行系统硬件的设计。其硬件原理图由LED显示电路和单片机最小系统组成,如图所示,其中包括时钟电路采用部时钟方式,复位电路采用上电自动复位。由于单片机的I/O口的高电平驱动能力只有微安级,而灌电流可以达到3毫安以上,因此采用低电平驱动。P1、P2、P3分别控制8个led灯。 六、软件程序设计 1、软件设计思路 如果通过上图所示电路图完成实验要求,通过数组,分别同时控P0、P1、P2分别控制8个led灯,从而协调控制24个灯实现花样流水灯效果。 开始 编写数组 主循环 逐个点亮 24灯同时闪烁 逐个熄灭

P3=table1[i]; delayms(500); } shan();//全部闪烁 for(i=0;i<8;i++)//逐个熄灭{ P3=table2[i]; delayms(500); } for(i=0;i<8;i++) { P1=table3[i]; delayms(500); } for(i=0;i<8;i++) { P0=table2[i]; delayms(500); } } } void delayms (uintt) { uint x,y; for(x=t; x>0;x--) for(y=50;y>0;y--); } 七、软硬件仿真调试分析 1、仿真调试结果

图片 1 逐个点亮图片 2 24灯闪烁 图片 3 逐个熄灭 2、性能测试及结果分析 通过仿真结果发现通过上述系统可以实现实验要求,24个灯逐个点亮,24个灯全亮后,24个灯一起闪烁,闪烁5次后,然后24个灯逐个熄灭。由此证明系统满足实验要求。 八、项目总结 在本次花样流水灯试验中,使用循环程序、数组语句实现了实验要求,设计过程中遇到了很多的问题,但经过努力,最终设计出了合理的解决方案。通过此次实验,对多个led灯的控制能力进一步得到提升。 九、项目设计报告成绩 实验报告成绩: 指导教师签字: 年月日

哈工大数电自主实验 数字流水灯

Harbin Institute of Technology 数字电路自主设计实验 院系:航天学院 班级: 姓名: 学号: 指导教师: 哈尔滨工业大学

一、实验目的 1.进一步掌握数字电路课程所学的理论知识。 2.熟悉几种常用集成数字芯片的功能和应用,并掌握其工作原理,进一步学会使用其进行电路设计。 3.了解数字系统设计的基本思想和方法,学会科学分析和解决问题。 4.培养认真严谨的工作作风和实事求是的工作态度。 5.数电课程实验为我们提供了动手实践的机会,增强动手实践的能力。 二、实验要求 设计流水灯,即一排灯按一定的顺序逐次点亮,且可调频、暂停、步进。 三、实验步骤 1.设计电路实现题目要求,电路在功能相当的情况下设计越简单越好; 2. 画出电路原理图(或仿真电路图); 3.元器件及参数选择; 4.电路仿真与调试; 5.到实验时进行电路的连接与功能验证,注意布线,要直角连接,选最短路径,不要相互交叉,注意用电安全,所加电压不能太高,以免烧坏芯片; 6.找指导教师进行实验的检查与验收; 7.编写设计报告:写出设计与制作的全过程,附上有关资料和图纸,心得体会。 四、实验原理 设计流水灯的方法有很多种,我的设计思路是: 利用555定时器产生秒脉冲信号,74LS161组成8进制计数器,74LS138进行译码,点亮电平指示灯。并通过调节555的电阻,实现频率可调。通过两与非门,实现暂停、步进功能。

1.秒信号发生器 (1)555定时器结构(2)555定时器引脚图 (3)555定时器功能表 (4)555定时器仿真图

2. 74LS161实现8进制加计数 74LS161是常用的四位二进制可预置的同步加法计数器,它可以灵活地运用在各种数字电路,以及单片机系统中实现分频器等很多重要的功能。 (1)74LS161同步加法器引脚图 管脚图介绍: 始终CP和四个数据输入端 P0-P3 清零CLR 使能EP,ET 置数PE 数据输出端Q0-Q3 进位输出TC (2)74LS161功能表 (5)74LS161仿真图 对74LS161进行八进制计数改组,需要一个与非门,即芯片74LS00,也就是将74LS161的输出端通过与非门,当输出为8时将输出为高电平的端口与非后接到74LS161的清零段。即计数到8是异步清零,所以74LS161变为八进制计数。

8255流水灯实验

1)设计题目分析 编写程序,使用8255的A口和B口均为输出,实现16位流水灯显示效果 2)功能扩展 i:将流水灯设计成可以正着流水,也可以倒着流水 ii:通过开关对流水灯闪烁的速度进行控制,高电平时为快,低电平时为慢速2)总体方案设计分析 要求用8255的A口和B口做为输出,接16个发光二极管,从而实现16位流水灯的显示效果,基本的界限可如下图A所示,在C口的地两位接两个开关,实现两个扩展功能的控制。 i:基本流水灯显示电路 A口和B口两个端口不能同时复制,从而在试验中可以用BX进行需要复制的数据的存储,因为BX可以分从BH BL两个部分进行独立的操作,在本次试验中用BH对A口进行赋值,用BL对B口进行赋值,通过演示一段时间再对BH BL 进行移位和输出,实现流水灯的效果。 ii:正反方向选择 把PC.0口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.0为高电平的时候则灯进行左移,同时B口与A口相反。 iii:快慢速度控制 把PC.1口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.1为高电平的时候则延时的时间缩短,使得流水灯的流水速度加快,低电平的时候则进行延时的时间变长,使得流水灯的流水速度加快。 3硬件原理设计 A该模块的WR.RD分别练到PC总线接口模块的XIOW和XIOR B该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到PC总线接口模块的数据(D0~D7)、地址线(A0~A7) C 8255模块选通线CA连到PC总线接口模块的IOY3 D 8255的PA0~PA7连到发光二极管的L1~L8;8255的PB0~PB7连到发光二极管的L9~L16 E 8255的PC0 PC1分别练到开关K0 K1 F 软件流程框图及程序清单

单片机花样流水灯设计实验报告

**大学 物理学院 单片机花样流水灯设计实验 课题:花样流水灯设计 班级: 物理 *** 姓名: *** 学号: ……………

当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。 制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。 本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。 关键字:AT89C51 单片机流水灯数码管

1. 单片机及其发展概况 单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。 2. Protues仿真软件简介 Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。 【实验设计目标】 设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED 灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。

单片机实验指导

(内部教材) 单片机实验指导书 周小波编 阜阳师范学院物理与电子科学学院电子信息科学与技术教研室

第一章系统概述 一、系统简介 MCS-51单片机实验板是物理与电子科学学院自主研发设计的单片机实验系统。板载一片51内核STC89C52单片机,整个实验系统由17个独立模块组成,各模块相互独立,给学生提供了更大的发挥空间。利用目前流行的Keil c51软件,进行软、硬件仿真开发调试。 二、各模块电路 (1)单片机最小系统模块 最小系统电路主要由STC89C52单片机、时钟电路、复位电路等构成,所有的IO口均引出。 (2)串口电平转换模块

串口电平转换电路主要由MAX232芯片以及相关外围电路构成,可以用来下载程序,以及作串口通信实验。 (3)数码管驱动模块 8位共阳极数码管采用8550(PNP)三极管驱动,模块预留位选端口和段选端口两排插针,根据需要可自行连接。 (4)LED发光二极管模块 板载8个发光二极管,J1为接线端口,可根据需要自行连接到单片机的IO 口或者其他外设上,PZ2为排阻,起限流作用。 (5)键盘模块 键盘电路由4各独立按键和4*4矩阵键盘构成,Pk2接口为独立键盘的接线端子,Pk1端口为矩阵键盘的接线端子。

(6)DA转换模块 DA转换电路采用8位DA芯片DAC0832,PDA端口为8位数据的输入端,11 脚为DAC0832输出端,发光二极管用于指示DA转换的结果。 (7)AD转换模块 AD转换电路由8位AD转换芯片ADC0804构成,通过调节VR1电位器可以改 变AD输入端的模拟电压。

(8)电机驱动模块 采用L298N模块作为电机驱动,可以驱动2个直流电机或1个步进电机, J5为信号输入端,输出端J6接直流电机或者步进电机。 (9)总线扩展模块 采用82C55芯片作为总线的扩展,采用一片锁存器74HC573,使P0口可以作 为地址和数据总线的复用端口。J9为82C55的控制总线接线端子,J10为82C55 的地址和数据接线端子,PA、PB、PC为82C55的输出端口,可以外接其他外设完 成相应的实验。

单片机流水灯实验报告

流水灯实习报告 一、实验原理 单片机通过P0口连接锁存器74ls273,P0同时作为低八位地址,实验板内P2口连接74ls138,任意一个输出连接74ls273片选,再将74ls273接八个LED 灯,通过软件控制对74ls273送入显示数据就可以按要求显示了。 二、硬件原理图 三、实验程序 ORG 00H AJMP START ORG 001BH AJMP INT ORG 0100H START: MOV SP,#60H MOV TMOD,#10H MOV TL1,#00H MOV TH1,#4CH MOV R0,#00H MOV R1,#20 SETB TR1 SETB ET1 SETB EA

INT: PUSH ACC PUSH PSW PUSH DPL PUSH DPH CLR TR1 MOV TL1,#B0H MOV TH1,#3CH SETB TR1 DJNZ R1,EXIT MOV R1,#20 MOV DPTR,#DATA MOV A,R0 MOVC A,@A+DPTR MOV DPTR,#8000H Movx @DPTR,A INC R0 ANL 00,#07H EXIT: POP DPH

POP PSW POP ACC RETI DATA: DB 05H,0AH,50H,0A0H,55H,0AAH,0FFH,0H END 四、实验功能 以实验机上74LS273做输出口,接八只发光二极管,编写程序,使开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去. 五、实验总结 通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。而安排课程设计的基本目的,是在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟和领悟力。 尤其是观察、分析和解决问题的实际工作能力。它的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。这也是一次预演和准备毕业设计工作。通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。课程设计促进了我

单片机实训,流水灯,霹雳灯

单片机实训 --霹雳灯 学生姓名:陈文锋 学院:信息工程学院 班级: 12应用电子技术 学号: 2012011846 指导教师:王颖 日期: 2014 年 5 月

目录 第一章、任务书.........................................................................................第二章、总体方案设计及选择................................................................. (1) 实验原理......................................................................................... 第三章、电路设计..................................................................................... (1) 硬件设计........................................................................................ (2) 软件设计......................................................................................... (3) 电路板制作及联机调试..................................................................第四章、程序清单................................................................................... 第五章、设计心得.................................................................................... 第六章、参考资料....................................................................................第七章、附件(实物图)........................................................................

LED灯实验报告

mcs-51单片机接口技术实验 适用:电气类专业本科学生 实验报告 实验一熟悉proteus仿真模拟器,led花样表演 一、实验目的 掌握以下方法: 1.在proteus的环境下,设计硬件原理图; 2.在keilc集成环境下设计c51语言程序; 2.在proteus的环境下,将硬件原理图与软件联接仿真运行。 二、实验环境 1.个人微机,windows操作系统 2.proteus仿真模拟器 3.keilc编程 三、实验题目 基本题:使用8051的并口带动8个led发光二极管显示一种花样表演。提高题:使用一个键切换实现3种以上花样表演。 四、实验类型: 学习、模仿与简单设计型。 五、实验步骤: 0、进入isis,先选择需要的元件,然后设计电原理图,保存文件; 1、在keilc软件集成环境下编写源程序,编译工程文件; 2、将所设计的硬件原理图与目标代码程序相联接; 4、按play键,仿真运行程序。 附,可能用到的元件名称: cpu:at89c51或任一种mcs-51家族cpu; 晶振:crystal; 电容器:capacitors,选22pf 电解电容:cap-elec或genelect10u16v 复位电阻:minres10k 限流电阻:minres330r 按键:button led:led-blue/red/yellow或diode-led (一)接线图如下: (二).基础花样 (四)程序流程图 (五)c程序 #include <> #define uint unsigned int #define uchar unsigned char const tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, /*正向流水灯*/ 0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,};/*反向流水灯*/ const tab2[]={0xff,0x00,0xff,0x00,0xff,0x00,}; void delay() { uint i,j; for(i=0;i<256;i++) for(j=0;j<256;j++)

流水灯设计报告

流水灯设计报告 一、实验目的 通过本实验教学,学习数字电路综合应用(将单元电路组成系统电路的方法),掌握简单数字系统设计方法。通过查阅手册和文献资料,培养独立分析和解决实际问题的能力。掌握示波器、信号发生器、频率计、万用电表等常用电子仪器设备的使用。获得数字电路综合应用能力。 二、实验内容 用D 触发器和译码器设计一个8位可循环的流水灯,用仿真软件进行仿真,最后根据电路图在万能板上焊接出来。 三、实验原理 1.D 触发器 D 触发器的状态方程为:Q n+1=D 。其状态的更新发生在CP 脉冲的边沿,74LS74(CC4013)、74LS175(CC4042)等均为上升沿触发,故又称之为上升沿触发器的边沿触发器,触发器的状态只取决于时针到来前D 端的状态。D 触发器应用很广,可用做数字信号的寄存,移位寄存,分频和波形发生器等,图A 为74LS74外引线排列,图B 为D 触发器逻辑符号。 2.译码器 74LS138 为3 线-8 线译码器,共有 54LS138和 74LS138 两种线路结构型式 工作原理: ① 当一个选通端(E1)为高电平,另两个选通端((/E2))和/(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A2A1A0=110时,则Y6输出端输出低电平信号。 图A 74LS74外引线排列 图B D 触发器逻辑符号

表1 74LS138逻辑功能表 ② 利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。 ③ 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。 ④ 可用在8086的译码电路中,扩展内存。 引脚功能: A0∽A2:地址输入端 STA (E1):选通端 /STB (/E2)、/STC (/E3):选通端(低电平有效) /Y0∽/Y7:输出端(低电平有效) VCC :电源正 GND :地 A0∽A2对应Y0——Y7;A0,A1,A2以二进制形式输入,然后转换成十进制,对应相应Y 的序号输出低电平,其他均为高电平。 如图C 所示为74LS138译码器的引脚排列图。功能表如表1所示 四、实验结果 图C 74LS138的引脚排列图

流水灯课程设计

基于单片机的流水灯设计 学院: 专业: 指导老师: 姓名: 班级: 学号: 年月日

摘要:当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。 This age is a new technology emerge in endlessly era, in the electronic field especially automation intelligent control field, the traditional schism components or digital logic circuit, is composed of control system with unprecedented speed was replaced by microcontroller intelligent control system. SCM has small, strong function, low cost, etc, it can be said that wide application, intelligent control and automatic control core is the microcontroller. 关键词:LED 单片机控制系统流水灯 目录 1.前言 1.1 设计概述 (2) 1.2 设计主要功能 (2) 2. 硬件组成 2.1 80C51单片计算机的组成原理 (3) 2.组成框图及内部总体结构 (3) 2.寄存器和存储器………………………………………………………

51单片机流水灯实验报告汇总

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 实验结果: 六、实验参考程序 #include #define uchar unsigned char #define uint unsigned int uchar table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

sbit P00=P0^0; sbit P01=P0^1; void delay(uchar t) { uchar i,j; for(i=0;i

单片机实验报告

南京晓庄学院电子工程学院 实验报告 课程名称:单片机系统设计与应用 姓名:森 专业:电子信息科学与技术 年级:14级 学号:05 2016年12 月1 日

实验项目列表 序号实验项目名称成绩指导教师 1 单片机仿真软件的使用 2 单片机I/O接口应用实验——流水灯 3 外部中断实验——工业顺序控制模拟 4 定时/计数器实验——矩形波 5 定时/计数器实验——计数器 6 综合实验 7 8 9 10 注: 1、实验箱端口为com6。 2、芯片选择切换到51 3、停止运行使用实验箱上的复位按钮

实验室号:___ 实验时间:成绩: 实验一仿真软件的使用 1.实验目的和要求 1)熟悉Keil C51软件界面,以及编辑、编译、运行程序的步骤; 2)掌握单片机仿真软件使用和调试的方法。 2.实验原理 Keil C51软件使用 在Keil C51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。 3.主要仪器设备(实验用的软硬件环境) 安装有Keil C51软件的PC机1台 4.操作方法与实验步骤 Keil C51软件使用 (1)建立用户文件夹 (2)建立工程 (3)建立文件并编码。输入以下源程序,并保存在项目所在的目录中 (4)把文件加入工程中 (5)编译工程。编译时观察在界面下方的“Build”页中的到编译错误信息和使用的系统资源情况等。 (6)调试。利用常用调试命令,如复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令进行调试,观察并分析调试结果。 (7)目标代码文件的生成。运行生成相应的.HEX文件。 5.实验内容及程序 1)从DATA区地址起始地址为40H的连续10个内存单元的内容传送到XDATA区起始地址为2000H的10个内存单元中。 注意:DATA区地址起始地址为40H的连续10个内存单元必须先赋初值。 P83-5源程序 #include #define uchar unsigned char xdata unsigned char buffer1[10]_at_ 0x2000; //在xdata区定义数组变量BUF1,首地址为2000H data unsigned char buffer2[10]_at_ 0x40; //在data区定义数组变量BUF2,首地址为40H void main(void)

流水灯课程设计(免费)..

数字电子技术课程设计报告 (彩灯控制器) 专 专业:电子信息工程 班级:7B1211 学号:123025 姓名:白旭飞 年月:2014-6-28

一、设计要求 1. 以8或10个指示灯作为显示器件,能自动的从左到右、从右到左自动的依次被点亮,如此周而复始,不断循环。 2.打开电源时控制器可自动清零,每个指示灯被点亮的时间相同约为0.5S~2S 范围内。 3.用计算机画出设计电路图,进行仿真分析验证其正确性。 4.写设计说明书一份(画总原理框图以及说明主要工作原理,单元电路的设计和元器件的选择,画出完整的电路图和元器件明细表,收获、体会及建议) 二、设计的作用,目的 1.作用 利用控制电路可使彩灯(例如霓虹灯)按一定的规律不断的改变状态,不仅可获得良好的观赏效果,且可以省电(与彩灯全亮相比)。 2.目的 用NE555芯片,74LS151芯片,74LS163芯片,74LS194,以及一些逻辑门芯片完成彩灯控制器。 三、设计的具体实现 1.系统概述 接通电源时,555占空比可调振荡器产生1s单位的脉冲,脉冲送到下一个模块74LS151计数器,目的实现模5计数器,达到每五秒生成一个脉冲输向下一个芯片74LS194移位寄存器以及计数器74LS163。进而彩灯在脉冲的作用下依次点亮,并实现循环,完成实验要求。 2.总体思路 先用555定时器用来生成1s标准单位cp脉冲,把脉冲给计数器74LS151,通过74LS151形成模5加法计数器,再将74LS151输出信号供给74LS194移位寄 存器输入端,Q 0,Q 1, Q 2 和Q 3 接彩灯然后连接几个逻辑门,把74LS194接成环形 计数器。就能实现基本电路要求。 3.方案设计 总体电路共分三大块。第一块实现时钟信号的产生;第二块实现灯亮灭情况的演示;第三块实现灯亮灭的控制及节拍控制。

实验一 Keil4基本用法及流水灯实验指导书

实验一 Keil4基本用法及流水灯 【实验目的】 1、学习Keil4的基本方法; 2、掌握在开发过程中程序工程模板的建立和使用; 3、掌握LPC1768的GPIO口的用法。 【实验要求】 1、了解LPC系列处理器GPIO口的功能原理; 2、了解程序设计中多模块编程的方法; 【实验原理】 一、LPC系列处理器GPIO口的原理 参见教材中有关GPIO口的章节,重点要掌握GPIO口的初始化、数据的输入和输出;本实验通过LPC1768的IO口控制8个LED的亮灭。 二、实验板上的LED 1.原理图 实验板上LED的硬件连接参见下图。 2.说明

实验板上的8个LED利用GPIO口直接控制。图中的8个LED引脚(LD11~LD4)分别对应P2.0~P2. 7。8根信号线经过74LV244W驱动以后连接到发光二极管LED上,引脚输出高电平则LED点亮,输出低电平则LED熄灭。 三、程序工程模板说明 1.工程目录说明 在程序开发中,尤其是涉及到的代码较多时,应该将不同的代码分别存放,这样做的好处是系统代码结构清楚,查找、管理和代码移植都容易。实验板提供的程序工程模板中,主要有以下几个目录: 1)Common:这个目录存放了几乎各个实验都要使用的公用代码、IAR配置宏和链接器命令文件。 2)App:这个目录存放了自己的应用程序。 2.工程模板的建立 1)建立一个名叫led的目录,将以上四个目录拷贝到该目录中; 2)在该目录中创建一个名叫led的工程; 3)在工程选项中右键,选择“Add Group…”,添加三个组:Common、Target和User。 4)在Common组中选择“Add Files…”将Common\src目录中的四个文件添加进工程; 5)在Target组中添加目标板驱动程序,本例中只需要添加fio.c; 6)在User组中自己新建一个源程序,本例中取名为led_test.c; 7)按照IAR EW ARM设置章节中的内容对工程进行设置。 以上的程序开发流程应当牢记,以后我们的每个实验都采用这个流程进行。 四、驱动程序说明 1.fio.c说明 在本例中使用到的目标板驱动程序为fio.c,它提供了4个函数: 1)GPIOInit( ):对GPIO口的初始化,三个参数分别为端口组号、端口类型和端口方向; 2)LedsInit( ):对4个Led的初始化操作; 3)LedOn( ):点亮一个Led。参数为led灯的编号。如果给出的参数大于4,则按取余以后算出的值点亮; 4)LedOff( ):熄灭一个Led。 2.fio.h说明 fio.h是fio.c的配套头文件,内容主要有:SCS寄存器中GPIOM设置的参数、各GPIO 寄存器的地址、几个参数宏、fio.c中的几个函数的extern外部函数声明。 【实验内容与步骤】 一、了解Keil4软件基本用法: (1)在Keil4中新建一个工程文件的步骤:详见参考文档“Keil_uvision_4基本使用教程”;(2)在Keil4中打开一个现成的工程文件,对其进行环境设置、编译、链接及生成可执行文

51单片机实训报告

“51单片机”精简开发板的组装及调试实训报告

为期一周的单片机实习已经结束了。通过此次实训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握单片机应用系统开发实用技术,了解“51”单片机精简开发板的焊接方法。同时培养我们理论与实践相结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养了我们团结合作、共同探讨、共同前进的精神与严谨的科学作风。 此次实训主要有以下几个方面: 一、实训目的 1.了解“51”精简开发板的工作原理及其结构。 2.了解复杂电子产品生产制造的全过程。 3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践概念。4.能运用51单片机进行简单的单片机应用系统的硬件设计。 5.掌握单片机应用系统的硬件、软件调试方法 二、实验原理 流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。 它的电气性能指标:输入电压:DC4.5~6V,典型值为5V。可用干电池组供电,也可用直流稳压电源供电。 如图所示: 本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。 三、硬件组成 1、晶振电路部分 单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振的瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。 2、复位端、复位电路 给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,时如果手按着一直不放,系统将一直复位,不能正常。当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各

嵌入式系统流水灯,按键,定时器实验报告

嵌入式系统应用 实验报告 姓名: 学号: 学院: 专业: 班级: 指导教师:

实验1、流水灯实验 1.1实验要求 编程控制实验板上LED灯轮流点亮、熄灭,中间间隔一定时间。 1.2原理分析 实验主要考察对STM32F10X系列单片机GPIO的输出操作。 参阅数据手册可知,通过软件编程,GPIO可以配置成以下几种模式: ◇输入浮空 ◇输入上拉 ◇输入下拉 ◇模拟输入 ◇开漏输出 ◇推挽式输出 ◇推挽式复用功能 ◇开漏式复用功能 根据实验要求,应该首先将GPIO配置为推挽输出模式。 由原理图可知,单片机GPIO输出信号经过74HC244缓冲器,连接LED灯。由于74HC244的OE1和OE2都接地,为相同电平,故A端电平与Y端电平相同且LED灯共阳,所以,如果要点亮LED,GPIO应输出低电平。反之,LED灯熄灭。 1.3程序分析 软件方面,在程序启动时,调用SystemInit()函数(见附录1),对系统时钟等关键部分进行初始化,然后再对GPIO进行配置。 GPIO配置函数为SZ_STM32_LEDInit()(见附录2),函数中首先使能GPIO 时钟: RCC_APB2PeriphClockCmd(GPIO_CLK[Led], ENABLE); 然后配置GPIO输入输出模式: GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 再配置GPIO端口翻转速度:

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 最后将配置好的参数写入寄存器,初始化完成: GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure)。 初始化完成后,程序循环点亮一个LED并熄灭其他LED,中间通过Delay()函数进行延时,达到流水灯的效果(程序完整代码见附录3)。 实验程序流程图如下: 硬件方面,根据实验指南,将实验板做如下连接: 1.3实验结果

相关文档