第一个实验:控制流水灯 P1_0,P1_1,P0_4都连接在发光二极管的负极,所以,当这三个引脚为低电平,也就是0的时候,相应的发光二极管才会亮. 其实这里可以稍微的关注一下寄存器的地址,然后,编程的时候可以尝试操作一下! 控制发光二极管的步骤 graph TD id1[设置相应的引脚为通用口也就是设置PnSEL寄存器] id2[设置相应的引脚为输出也就是设置PnDIR寄存器] id4[设置相应引脚的值也就是设置P1_0 P1_1 P0_4的值] id1-->id2 id2-->id4 初始化…
/***************************************************Copyright: 2014-02-11.version1.0File name: timer.cDescription: 定时中断控制的流水灯Author: lxlVersion: version1.0Date: 2014.02.11History: 无****************************************************/#include <reg51.…
#include<reg51.h> sbit P1_0=0X90; sbit P1_1=0x91; sbit P1_2=0x92; sbit P1_3=0x93; sbit P1_4=0x94; sbit P1_5=0x95; sbit P1_6=0x96; sbit P1_7=0x97; void stop(void); void delay(unsigned int xms); int main(void) { int i=2; P1=~0; for(i;i>0;i--) { P1_…
cc2530的第三次实验:按键中断控制流水灯 效果为按一次按键,流水灯亮一次 实验相关电路图: 实验相关寄存器: 初始化函数 //初始化LED灯 //设置P1SEL,通用为0,外设为1 11111100 P1SEL &=~0x03; //设置P0SEL, 11101111 P0SEL &= ~0x10; //设置P1DIR,输出为1,输入为0 00000011 P1DIR |= 0x03; //设置P0DIR 00010000 P0DIR |= 0x10; //初始化按钮和中断 //初始化…
按键控制流水灯 具体想要实现按一下按键,然后单片机的三个灯会以流水灯的形式都亮一遍 实验相关寄存器 实验相关电路 宏定义 #define uint unsigned int #define uchar unsigned char #define LED1 P1_0 #define LED2 P1_1 #define LED3 P0_4 #define KEY1 P0_1 初始化步骤 graph TD id1[设置P0_1 P1_0 P1_1 P0_4为通用接口] id2[设置P0_1为输入接口…
单片机教程4.C语言基础以及流水灯的实现 C语言,没接触过计算机编程语言的人会把它看的很神秘,感觉非常的难,而在我看来,C语言的逻辑和运算,就是小学水平,所以大家不要怕它,我尽可能的从小学数学逻辑方式带着大家学习C语言. 1.1 二进制.十进制和十六进制 看似很简单的东西,但是从同学们学习视频的情况来看,很多同学不能彻底明白.这里先简单介绍一些注意事项,然后还是从实验中讲解会比较深刻. 1.十进制就不多说了,逢十进位,一个位有十个值:0-9,我们的生活中到处都是它的身影.二进制就是逢二进位,它的…
7个寄存器 是R1-R16.(当然,里面有很多是分几个模式的,所以总共有37个)类似于单片机的R0-R7. GPXCON,GPXDAT等等是另外的寄存器,应该叫,特殊功能寄存器,类似于单片机的P0,P1,TCON,等等. GPXCON:是X管脚的控制寄存器,控制它们的模式,比如输出模式,输入模式……GPXDAT:是X管脚的数据寄存器,存储它们的数据, GPIO ,通用的输入输出,其引脚可供编程使用,对于简单的外部设备,比如控制一个LED 灯的亮灭,自然 只需要一位 信号就够了. 使用传统的 串行…
实验一:流水灯模块 对于发展商而言,动土仪式无疑是最重要的任务.为此,流水灯实验作为低级建模II的动土仪式再适合不过了.废话少说,我们还是开始实验吧. 图1.1 实验一建模图. 如图1.1 所示,实验一有名为 led_funcmod的功能模块.如果无视环境信号(时钟信号还有复位信号),该功能模块只有一组输出端,亦即4位LED信号.接下来让我们来看具体内容: led_funcmod.v 1. module led_funcmod 2. ( 3. input CLOCK, RESET, 4. out…
视频地址:https://www.bilibili.com/video/av10765766 超详细!!!!!! 单片机内部三大资源 [资源:单片机可提供使用的东西] FLASH 可以重复擦写 断电后数据不丢失 RAM 存储中间运算过程中产生和需要的数据 数据断电丢失 读写速度非常快 无限次擦写 SFR 单片机内部的功能对应一个或多个SFR 对SFR的读写.配置来实现单片机各种功能 啥是51单片机? 兼容Inter的MCS-51体系架构的一系列单片机 选择的STC89C52的数据 想让单片机运行…
参考原子哥学习程序 条件:实验板STM32103ZET6:固件库STM32F10x_StdPeriph_Lib_V3.5.0:环境MDK5: 目的:了解STM32 的 IO 口如何作为输出使用 :以两个LED灯交替闪烁为目标. 目录: 1.新建工程 2.硬件连接 3.R软件设计 3.1test1.c程序 3.2 test.h头文件 3.3 main.c主函数 4.仿真下载 1.新建工程(简单介绍) 新建文件夹“实验一 流水灯”,里面建6个文件夹:CORE ,FWLib,HARDWARE,OBJ,…
zynq系列FPGA分为PS部分和PL部分. PL: 可编程逻辑 (Progarmmable Logic), 就是FPGA部分. PS: 处理系统 (Processing System) , 就是与FPGA无关的ARM的SOC的部分,实质是直接操作arm9内核的处理器. 这次先是最简单地在PL部分编写一个流水灯实验的代码. 使用的开发环境是vivado 2016.4. 1.新建工程,Create New Project. 2.next. 3.选择工程目录,和输入工程名字. 4.选择RTL Pro…
实验内容: 编写GPIO模块程序,实现对FS_4412平台的上的led2,led3,led4 ,led5,的流水灯实现. 实验目的: 熟悉开发环境的使用. 掌握Exynos 4412处理器GPIO功能使用. 实验平台: FS_4412  Exynos 4412开发板,eclipse, secureCRT 实验步骤: 1:打开eclipse,在project explorer 创建工程led_test,添加配置文件,common文件夹和start文件夹 2.查看led灯在开发板的位置 3查看CHG…
上次我们用 delay 函数与 while 循环实现了一个LED的闪烁.这一次我们把所有LED加入进来,让它们依次闪烁,形成流水灯的效果. 开发板上有4个LED,我们可以用不多的语句把循环体直接描述出来(看看就行,不用敲): led_set(LED_RED , LED_ON); delay(); led_set(LED_RED , LED_OFF); led_set(LED_YELLOW, LED_ON); delay(); led_set(LED_YELLOW, LED_OFF); led_s…
第二章里面已经说过了,MIZ701 PL部分没有输入时钟,因此驱动PL资源必须是通过PS来提供时钟,所以这个流水灯实验也得建立一个最小系统了,然后再添加一个流水灯的自定义IP. 3.0本章难度系数★★☆☆☆☆☆ 3.1 硬件图片 先来熟悉一下开发板的硬件:LED部分及按钮部分 3.2 硬件原理图 PIN脚定义: LD_A0:F17 LD_A1:J15 LD_A2:G14 LD_A3:D18 LD_B0:M14 LD_B1:M15 BIN0:R18 BIN1:T17 SW0:MIO50 SW1:M…
这里把EEPROM 24c02封装起来,今后可以直接调用,其连线方式为:SDA-P2.1;SCL-P2.0;WP-VCC >_<:i2c.c /*----------------------------------------------- 名称:IIC协议 内容:函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作 一定的修改....(本例是1us机器 周期,即晶振频率要小于12MHZ) ------------------------------------------------*…
/*******************************************Copyright:  2014.02.09.version1.0File name: led.cDescription: 自己做的流水灯89C51Author:  lxlVersion: version1.0Date: 2014.02.09History: 无*********************************************/#include <reg51.h> /********…
Vivado+zedboard之初学流水灯 Author:zhangxianhe 环境:vivado 2016.3(已验证适用于2015.4) 开发板:Zedboard version xc7z020clg484-1 实验:使用Vivado和SDK进行Zedboard开发,制作一个简单的流水灯程序以说明软硬件协同设计的方法.开发流程等. 本文将分为三个部分: 1. 使用Vivado创建一个工程,并构建一个Zynq嵌入式处理系统. 2. 在上述基础上,将完成后的硬件导入到SDK中进行软件设计. 3…
对于FPGA的结构原理,先不进行全面的了解,先能根据教程程序看得懂,写得出来跑起来.慢慢的了解程序运行的原理,各种语法的使用. 今天对流水的程序有一个认识,熟悉软件的使用,语法规则,原理.以正点原子的例程为例,代码如下 // Created by: 正点原子 module flow_led( input sys_clk , //系统时钟 input sys_rst_n, //系统复位,低电平有效 :] led //4个LED灯 ); //reg define :] counter; // mai…
目录 1.流水灯在电子电路中的地位 2.硬件电路分析 3.先点个灯吧 4.shell脚本实现流水灯 5.ANSI C文件操作实现流水灯 6.Linux 系统调用实现流水灯 @ 1.流水灯在电子电路中的地位 记得第一次接触单片机时,还是用的AT89S52单片机,第1个程序就是点亮一个LED,然后再实现LED流水灯的效果.在这个过程中,可以了解整个程序的结构,GPIO的使用,延时的使用等.可以说单片机学习中的点灯,就相当于C语言中的"Hello World"!好的,我们来看一下在ARM L…
学会了如何新建一个工程模板,下面就要开始动手实践了.像c/c++中经典的入门代码"hello world"一样,流水灯作为最简单的硬件设备在单片机领域也是入门首推.如果你已经有了一定的C语言基础以及曾经使用过类似的芯片,那么学习起来绝对事半功备.当然没有也不需要担心,本项目实现起来很简单.不过学习嵌入式,第一点就是要转变思路,从现在开始你不在是仅仅和编程语言打交道了,交叉编译的方式注定嵌入式项目软硬件不分家,从硬件实现,软件设计,软硬件调试,硬件运行观察结果,熟悉和适应这个流程对于嵌入…
在前边我们使用汇编完成了一个流水灯实验: Tiny4412汇编流水灯代码,Tiny4412裸机LED操作 ---- - -- -- -- - -- -- 修改: # ${MKBL2} ${SOURCE_FILE} bl2.bin 14336                                 ./${MKBL2} ${SOURCE_FILE} bl2.bin 14336 或者: MKBL2=my_mkbl2改成MKBL2=./my_mkbl2 必须有:chmod +x my_mkbl…
从今天开始就正式进入到tiny4412的开发学习中了,今天主要看了一下Tiny4412的启动流程及存储器映射及Exynos4412数据手册,用汇编写了一个跑马灯程序(后续会有C语言版本的出来),先说一下我的开发环境吧: 开发板:Tiny4412 增强版 (底板是Tiny4412ADK 1312) 开发工具:UltraEdit 宿主机:VmWare Ubuntu12.04(64bit) 编译工具:arm-linux-gcc4.5.1 为了便于分类管理,特意开了一个Tiny4412学习专区,希望对大…
今天下午写了一个流水灯闪烁的实验,总的来说,不难,因为这块板子集合的电路图没有上一块那么复杂,所以总的来说,还是比较顺手,开始的时候,出现流水灯没有流转的现象,原来是没有加入延时函数,后来经过调整,结果很快就出来了 电路示意图: 示例代码: #include<msp430x14x.h> #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #de…
今天分享一个89c51制作的8位流水灯案例.使用Proteus仿真. 同上一遍文章不同.上一篇文章中对于GPIO操作主要是位操作,即sbit led1=P0^0;其中P0^0代表p0.0这个引脚,然后在这样位定义以后就可以对led1这个变量进行赋值操作,控制led灯的亮灭闪烁.今天要分享的是一次性对P1.0-P1.7进行操作. 89c51单片机是以51为内核的8位处理器,可以很方便的实现8位数据的操作. 所使用的电路原理图如下: 使用200Ohm的电阻进行限流,LED灯采用阴极接法,即LED灯的…
这一章我们来实现第一个FPGA工程-LED流水灯.我们将通过流水灯例程向大家介绍一次完整的FPGA开发流程,从新建工程,代码设计,综合实现,管脚约束,下载FPGA程序.掌握本章内容,大家就算正式的开始入门FPGA开发了. 1.1.1.电路说明 1.1.2.新建工程 第一步:从开始菜单启动Quartus II 13.1(64 bit) ,如下图. 第二步:菜单栏选择File->New Project Wizard,新建工程. 第三步:弹出新建工程对话框,点击Next,下一步. 第三步:如下图,依次…
(1)       扫描频率和闪耀频率? 模块: /**************************************** module name:flash_module function:flash a led at 10Hz by yf.x 2014-11-4 ***************/ module flash_module( CLK, RST_n, LED ); input CLK,RST_n; output LED; /************************…
本转载自:http://www.techbulo.com/1313.html Tiny4412汇编流水灯代码,Tiny4412裸机LED操作 2014年10月20日 ⁄ 裸机程序 ⁄ 共 4171字 ⁄ 字号 小 中 大 ⁄ 评论 15 条 ⁄ 阅读 4,701 次 从今天开始就正式进入到tiny4412的开发学习中了,今天主要看了一下Tiny4412的启动流程及存储器映射及Exynos4412数据手册,用汇编写了一个跑马灯程序(后续会有C语言版本的出来),先说一下我的开发环境吧: 开发板:Ti…
一.Quartus II 12.1 (32-Bit)进行硬件设计 1.所需要的系统元器件组成 2.系统电路图 二.Nios II 12.1 Software Build Tools for Eclipse进行软件学号及流水灯设计 1.程序代码 /* * "Hello World" example. * * This example prints 'Hello from Nios II' to the STDOUT stream. It runs on * the Nios II 'st…
LED(Light emitting diode)发光二极管将电能转化为可见光,正向电压导通,反向电压截止.对于该板子,二极管用低电压导通,其实验原理图为: 所谓流水灯,即让LED像水一样的点亮,从左向右依次点亮,最右位点亮后,再从左向右移动.以下是以移位方式实现的verilog代码: module led( clk, //50M时钟输入 reset, //复位信号,高电平复位 led //led输出 ); input clk; input reset; :] led; wire clk,res…