ardunio库,结合红外,超声波,4*4按键膜,舵机,四位数码管显示,lcd显示,pid控制
2021-07-25 21:01:50 13KB arduino
1
本资料归于网络整理,仅供参考学习用。如有侵权,请联系删除!! qq:1391074994 1. 资料都是有论文和程序的,程序大部分是quartus的工程,有几个是ise或者vivado的工程,代码文件就是里面的V文件。 2. 我收集的每个小项目都会开源出来,欢迎关注我的博客并下载学习。 3. 每个项目的实际的项目要求和实现的现象我就不挨个去描述了,太多了!!40多个小项目。(一个包里面只有一个小项目哈) 4. 有的项目可能会有多个程序,因为用的代码有点差异,比如密码锁,就会分显示的数码管的显示个数的不同以及用的是verilog个vhdl 的差别: 5. 报告的话博客专栏里面只是展示了一小部分。链接:https://blog.csdn.net/weixin_44830487/category_10987396.html?spm=1001.2014.3001.5482
2021-06-26 09:02:34 39.77MB fpga
1
用arduino单片机+四位数码管+DS3231时钟芯片做电子时钟的源码。 使用arduino nano和一个最常见的0.56寸四位数码管(共阴极),再加上一个DS3231时钟模块来做一个 能显示日期、时间和温度的车载电子时钟。
2021-06-22 18:54:09 9KB arduino DS3231 数码管 时钟
1
1、设计要求基于小脚丫FPGA开发板和四位数码管实现数字时钟的设计,要求: 1)采用FPGA+按键+四位数码管实现数字时钟功能; 2)时间显示格式:XX:XX:XX (时:分:秒),采用24小时制; 3)四位数码管显示时分秒,可以通过按键控制选择显示时分界面还是分秒界面。 4)通过按键设定初始时间。 5)设置在整点12点时,通过蜂鸣器响示意整点报时。蜂鸣器响维持大概5S; 2、硬件连接FPGA的系统时钟来自于小脚丫FPGA开发板配置的24MHz时钟晶振,连接FPGA的C1引脚。 本设计用到五个个按键K1~K5,硬件设计如图1所示,五个按键分别连接到FPGA的B8、C8、A10、A11和A12引脚。 图1. 按键硬件设计 本设计用到一个蜂鸣器来示意整点报时,硬件设计如图1所示,蜂鸣器连接到FPGA的B2引脚。 图2. 蜂鸣器硬件设计 本设计用到四位数码管来显示时间,四位数码管用两个74HC595驱动,硬件设计如图1所示,74HC595的串行时钟SCK、并行时钟RCK和串行数据DIN分别连接到FPGA的N2、M1和K1引脚上。 图3. 数码管驱动74HC595硬件设计 3、工作原理1)使用计数器做分频处理,得到周期为1秒的脉冲信号; 2)使用三个8bit的BCD码表示时钟、分钟、秒钟的值,其中高4bit表示值的十位,低4bit表示值的个位; 3)正常运行时,每来一个1S脉冲信号个位加1,个位满10清零同时十位加1,当秒钟满60清零同时分钟个位加1,依次进行...直到23:59:59的下一刻全部清零; 4)按键K5,模式调节,设计共分4中模式(分秒显示、分秒调节、时分显示、时分调节),按动K5依次切换模式; 5)按键K2,时间调节,当数字时钟在时针调节、分针调节或秒针调节模式时,按动K2调节对应时间位; 6)在调时分和调分秒两个状态,可以通过K4和K2键分别左移右移要调整的位,要调整的位会通过对应位的闪烁来示意。通过K4和 K2左右移动选择好要调整的位以后,就可以通过K1和K3来增大或调小对应的位; 4、代码设计为了实现所需要的功能,我们将整个设计划分不同的模块,如图4所示。 图4. 数字时钟程序设计框架 4.1五位按键消抖模块 图5. 五位按键消抖模块 Ø输入:五位的按键电平信息输入 Ø输出:五位消抖后的脉冲输出 Ø功能:将按键按下一次的电平信号,经过消抖后变成一个维持一个时钟周期的脉冲信号; Ø原理: 图6. 按键抖动特性 FPGA过20ms检测按键是否按下,存储检测到的值,并且按位取反与前一个20ms检测的值相与,得到一个值,如果为1,则判断按键按下,否则则无按下。 图7. FPGA按键的理解示意图 4.2电子表显示控制模块。 图8. 电子表显示控制模块 Ø输入:五位的按键脉冲 Ø输出:十六位的BCD码输出,每四个代表一个十进制数; Ø原理:四位的位闪烁控制信号。某一位为一代表这位对应的数码管的一位进行闪烁显示。(在调整状态下,会让当前调整的哪一位进行闪烁。正常显示状态下seg_flash_data全为零); Ø功能:主要就是一个状态机,通过检查输入的按键信息,进行显示状态切换,时间调整。四个状态分别为:显示分秒,调分秒,时分显示,调时分;当K5按键按下(key_pulse[4])时依次跳转,如图9所示。 图 9. 数字时钟状态控制设计 4.3数码管译码模块 图10. 数码管译码模块 Ø输入:四位的BCD码数据 Ø输出:八位的七段数码数据 Ø功能:一个case语句,将输入的四位BCD码转化为七段数码数据; Ø原理:数码管分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳极(COM)需接+5V才能使其工作。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码,共阴极(COM)需接GND才能使其工作。小脚丫拓展板上的数码管如下图所示: 图11. 数码管内部电路 共阴极数码管: 位选为低电平(即0)选中数码管;各段选为高电平(即接+5V时)选中各数码段;由0到f的编码为: 4.4四位数码管显示控制模块。 图12. 数码管显示控制模块 Ø输入:四个八位的七段数码管数据和位闪烁控制信号seg_flash_data. Ø输出:需要串行输出给74HC595的十六位数据; Ø功能:模块就是循环的将四位七段数码数据,组合一个十六位的输出数据; 4.5 74HC595驱动功能模块 图13. 74HC595驱动功能模块 Ø输入:十六位的位选段选数据。 1)duan_wei_data[13:0]分别对应: 2)[ X,X,H+,H-,DIG4,DIG3,DIG2,DIG1,DP,G,F,E,D,C,B,A] ; Ø输出:SPI接口输出,串行输出十六位位选段选信号; Ø
2021-06-19 21:53:26 1.43MB 数字时钟 电路方案
1
基于STM32F103的实时时钟程序,采用DS1302实时时钟模块和TM1637四位数码管,可用通过按键修改时间。已编写DS1302和TM1637模块的驱动程序,移植直接在宏定义中修改接口即可。 STM32F407程序另见主页。
2021-06-18 01:45:26 306KB STM32 DS1302 TM1637 实时时钟
1
四位数码管时钟和温度显示
2021-06-03 18:02:04 131KB 数字通信
1
TMS320F28027 ADC采集片内温度 通过SPI传送 四位数码管显示温度
2021-05-31 14:53:25 324KB DSP ADC SPI
1
分秒时钟,用到键盘和四位数码管,大学80C51单片机基础大作业
2021-05-28 19:02:18 6KB 时钟 单片机 80C51 数码管
1
用stm32控制74h595芯片驱动数码管显示,两片74h595采用级联,单片机节省引脚,供大家采纳
2021-05-20 23:22:08 2.07MB 数码管 stm32 74h595
1
本资源是采用stm32驱动4位数码管双片hc595芯片,在网上买的参考例程只有51驱动例程、ardunio驱动例程,提供stm32驱动例程。
2021-05-20 23:07:16 1KB hc595 595数码管 stm32
1