12 2019 档案

摘要:/* 开场白: 前面讲了独立按键控制跑马灯的各种状态,这一例讲的是一个机械手控制程序,这个机械手可以左右移动,最左边有 一个开关感应器,最右边也有一个开关感应器。它也可以上下移动,最下边有一个开关感应器。左右移动是通过一个 气缸控制,上下移动也是通过一个气缸控制。而单片机控制气缸,本质上是通过三极管 阅读全文
posted @ 2019-12-26 21:21 烟火流沙 阅读(513) 评论(0) 推荐(0)
摘要:#include "REG52.H" #define const_voice_short 40 //蜂鸣器短叫的时间#define const_key_time1 20 //按键去抖动延时的时间#define const_key_time2 20 //按键去抖动延时的时间#define const_ 阅读全文
posted @ 2019-12-20 15:37 烟火流沙 阅读(1474) 评论(0) 推荐(0)
摘要:#include "REG52.H" #define const_voice_short 40 //蜂鸣器短叫的时间#define const_key_time1 15 //按键去抖动延时的时间#define const_key_time2 15 //按键去抖动延时的时间#define const_ 阅读全文
posted @ 2019-12-19 11:39 烟火流沙 阅读(683) 评论(0) 推荐(0)
摘要:#include "REG52.H"#define const_time_level_09_16 300 //第9个至第16个LED跑马灯的速度延时时间 #define const_voice_short 40 //蜂鸣器短叫的时间#define const_key_time1 30 //按键去抖动 阅读全文
posted @ 2019-12-18 10:49 烟火流沙 阅读(828) 评论(0) 推荐(0)
摘要:原理图见12月8日的随笔。 因为我的开发板是一片74HC595芯片,所以我通过改变hc595_drive(ucLedStatus16_09,ucLedStatus08_01); //74HC595底层驱动程序,这更改ucLedStatus16_09和ucLedStatus08_01的顺序,可以实现两 阅读全文
posted @ 2019-12-17 10:55 烟火流沙 阅读(657) 评论(0) 推荐(0)
摘要:#include "REG52.H"#define const_time_level_01_08 200 //第1个至第8个LED跑马灯的速度延时时间 void initial_myself();void initial_peripheral();void delay_short(unsigned 阅读全文
posted @ 2019-12-16 10:20 烟火流沙 阅读(1747) 评论(0) 推荐(0)
摘要:/* 当单片机上电时,会发现LED灯出现乱序情况,而且这种情况是无法改变的。这是因为正式程序运行的时候,74HC595还在复位状态,没有响应单片机的锁存。 软件解决办法:所以这之前可以加一小段延时,保证程序运行的时候,74HC595不在复位状态。 硬件解决办法:74HC595可以用类似单片机的上电复 阅读全文
posted @ 2019-12-11 22:22 烟火流沙 阅读(1675) 评论(0) 推荐(0)
摘要:/**原理图以及各74HC595的IO口功能见上一例****/ #include "REG52.H"#define const_time_level 200 void initial_myself();void initial_peripheral();void delay_short(unsign 阅读全文
posted @ 2019-12-09 11:21 烟火流沙 阅读(445) 评论(0) 推荐(0)
摘要:/*74HC595使用方法74HC595的数据端QA--QH:八位并行输出端,可以直接控制8个输出位。Q7S:级联输出端。将它接下一个595的DS端。DS:串行数据输入端,级联的话接上一级的Q7S。74HC595的控制端说明/MR(10脚):低电平时将移位寄存器的数据清零。通常我将它接Vcc。SH_ 阅读全文
posted @ 2019-12-08 19:08 烟火流沙 阅读(5654) 评论(0) 推荐(0)
摘要:/*在做产品时,硬件电路设计中,除了四路输入的要加上拉电阻,四路列输出也应该串入一个470欧左右的限流电阻,否则当同一行的两个按键按下时,很容易烧坏单片机的IO口*/ /***12个按键,每一个按键都会让蜂鸣器发出“嘀”的一声,同时按下S1和S12会点亮一个LED灯,同时按下S4和S9会熄灭LED灯 阅读全文
posted @ 2019-12-07 22:40 烟火流沙 阅读(1148) 评论(0) 推荐(0)
摘要:#include "REG52.H"#define const_voice_short 40#define const_key_time 20 void initial_myself();void initial_peripheral();void delay_long(unsigned int u 阅读全文
posted @ 2019-12-06 12:18 烟火流沙 阅读(303) 评论(0) 推荐(0)
摘要:/***12个按键,每一个按键都会让蜂鸣器发出“嘀”的一声***/ #include "REG52.H"#define const_voice_short 40#define const_key_time 20 void initial_myself();void initial_periphera 阅读全文
posted @ 2019-12-05 11:13 烟火流沙 阅读(309) 评论(0) 推荐(0)
摘要:FPGA程序的固化和下载 1、 概述 在上一例点亮流水灯的基础上,进行改动并将此程序固化到FLASH或SD卡中,实现上电就可启动流水灯程序。 2、 固化 上一例通过JTAG先下载bit流文件,在下载elf文件,最后点击Run As来运行程序。JTAG的方法是通过TCL脚本来初始化PS,然后用JTAG 阅读全文
posted @ 2019-12-04 19:06 烟火流沙 阅读(484) 评论(0) 推荐(1)
摘要:/* 实现功能:两个独立按键S1和S2,S1作为加键,S2作为减键。每按一次S1键,则被设置参数uiSetNumber自加1. 如果按住S1键不松手超过1秒,被设置参数uiSetNumber以不断边块的时间间隔往上自加1,这个为加速触发的功能, 直到到达极限,则以固定的速度加1,这个过程叫匀速。S5 阅读全文
posted @ 2019-12-04 12:40 烟火流沙 阅读(645) 评论(0) 推荐(0)
摘要:VIVADO创建工程置流水灯 1、 概述 首先创建FPGA工程,编写Verilog代码,然后添加管脚约束,最后进行编译,将产生的bit文件下载到开发板中。本次实验,FPGA开发板断电后,bit文件就会消失。如果想要保证开发板上电后就能运行程序,则需要把bit文件打包成bin或者MCS文件,然后固化到 阅读全文
posted @ 2019-12-03 21:55 烟火流沙 阅读(1343) 评论(0) 推荐(0)
摘要:1、一个完整的设计,除了好的功能描述代码,对于程序的仿真验证是必不可少的。学会如何去验证自己所写的程序,即如何调试自己的程序是一件非常重要的事。而RTL逻辑设计中,学会根据硬件逻辑来写测试程序,即Testbench显得尤其重要。 编写Testbench的目的是为了对使用硬件描述语言设计的电路进行仿真 阅读全文
posted @ 2019-12-03 16:51 烟火流沙 阅读(600) 评论(0) 推荐(0)
摘要:#include "REG52.H"#define const_voice_short 40#define const_key_time1 20#define const_key_time2 20/* 如何知道1秒钟需要多少个定时中断? 其实前面程序已经说过了,在这再啰嗦一下。 这里需要先编写一小段 阅读全文
posted @ 2019-12-03 10:52 烟火流沙 阅读(578) 评论(0) 推荐(0)
摘要:1、 状态机设计 状态机是许多数字系统的核心部件,是一类重要的时序电路。通常包括三个部分:一是下一个状态的逻辑电路,二是存储状态机当前状态的时序逻辑电路,三是输出组合逻辑电路。通常,状态机的状态数量有限,称为有限状态机(FSM)。由于状态机所有触发器的时钟由同一脉冲边沿触发,故也称之为同步状态机。 阅读全文
posted @ 2019-12-02 21:16 烟火流沙 阅读(333) 评论(0) 推荐(0)
摘要:#include "REG52.H"#define const_voice_short 20 //蜂鸣器短叫的持续时间#define const_voice_long 140 //蜂鸣器长叫的持续时间#define const_key_time1_short1 20 //短按的按键去抖动延时时间#d 阅读全文
posted @ 2019-12-02 17:07 烟火流沙 阅读(1329) 评论(0) 推荐(0)
摘要:CH01 FPGA设计Verilog基础笔记(一) 一、FPGA技术背景 大规模集成电路设计制造技术和数字信号处理技术,近三十年来,各自得到了迅速的发展。这两个表面上看来没有什么关系的技术领域实质上时紧密相关的。因为数字信号处理系统往往要进行一些复杂的数学运算和数据处理,并且又有实时响应的要求,它们 阅读全文
posted @ 2019-12-01 22:28 烟火流沙 阅读(598) 评论(0) 推荐(0)
摘要:#include "REG52.H"#define const_voice_short 40/* 调整抖动时间阈值的大小,,可以更改按键的触发灵敏度 去抖动的时间本质上等于累计定时中断次数的时间*/#define const_key_time12 20 //按键去抖动延时的时间void initia 阅读全文
posted @ 2019-12-01 10:28 烟火流沙 阅读(475) 评论(0) 推荐(0)