通过前面的设计学习及动手实践,我们已能较熟练地使用开发软件及开发工具进行PLD的基本开发。本着由浅入深、循序渐进的手把手教学方法,接下来我们会进行一些较有趣、实用的设计实验,读者朋友从中可了解到PLD的用途及开发的乐趣。
1.跑马灯实验
1、实验要求眼睛能够清楚地观察到,MCU&CPLDDEMO试验板上的8个发光管LEDO—LED7以跑马灯的方式运行。
2、实现方法我们可以设定一个时间(例如0.35秒),让LED每隔一定的时间点亮。MCU&CPLDDEMO试验板上的有源晶振频率为24MHz,要得到0.35秒的时间,需要进行223分频,时间t=223/24000000=0.35s。为了驱动8个LED,我们还需要建立一个状态变量sta-tus,让status每0.35秒加法1次,status的范围可以控制在0—7之间,这样就可根据status的值来扫描点亮LED了,看上去就像马在跑一样,故取名“跑马灯”。
3、程序设计在D盘中先建立一个文件名为HORSE_LED的文件夹,然后建立一个HORSE_LED的新项目,输入以下的源代码并保存为HORSE_LED.v。moduleHORSE_LED(LED,CLK);//模块声明及输入输出端口列表
块结束
源代码输入完成后,我们将器件选择为EPM7128SLC84-15。引脚分配需要参考MCU&CPLD DEMO试验板的电路原理,这里的引脚分配见下表。
器件编译通过后,可根据需要进行仿真,接下来进行*.pof至*.jed的文件转换,最后将*.jed文件下载到ATF1508AS芯片中。
在MCU&CPLD DEMO试验板上,我们看到,LEDO—LED7这8个LED中,始终有一个点亮的LED以一定的速度在跑动,并循环不已。跑马灯的实验照片见下图。
2.多位数码管的动态扫描显示
1、实验要求眼睛能够看到,MCU&CPLDDEMO试验板上的8个数码管稳定地显示(不抖动)“76543210”。
2、实现方法 我们可以设定一个时间(例如0.7毫秒),每隔一定的时间点亮一位数码管,循环扫描点亮。这样由于扫描的时间很快,8位数码管的扫描周期还不到6毫秒,远低于人眼视觉暂留特性的限定值,故可以看到稳定的显示。当然为了驱动8个数码管,我们也要建立一个状态变量status,让status每0.7毫秒加法1次,status的范围可以控制在0—7之间,这样就可根据status的值来扫描点亮数码管了。
3、程序设计 在D盘中先建立一个文件名为DISPLAY_SEG的文件夹,然后建立一个DISPLAY_SEG的新项目,输入
源代码输入完成后,我们将器件选择为EPM7128SLC84-15。引脚分配需要参考MCU&CPLDDEMO试验板的电路原理,这里的引脚分配见下表。
多位数码管的动态扫描显示的引脚分配
器件编译通过后,可根据需要进行仿真,接下来进行’.pof至*.jed的文件转换,最后将”.jed文件下载到ATF1508AS芯片中。
在MCU&CPLDDEMO试验板上,我们看到8个数码管稳定地显示“76543210”。实验照片见下图。
3.蜂鸣器发声实验
1、实验要求使MCU&CPLDDE-MO试验板上的蜂鸣器发出一定频率的声音。
2、实现方法蜂鸣器分交流与直流两种,直流蜂鸣器驱动简单,只要加入直流电压就能发出固定频率的声音。交流蜂鸣器的驱动稍复杂一些,需要加入一定频率的脉冲信号进行控制,但在使用时显得比较灵活,我们可以通过改变脉冲的频率使蜂鸣器发出不同音调的声音。MCU&CPLDDEMO试验板上使用的是交流蜂鸣器,我们设定一个500?S时间(通过计数器得到),每隔500?S后取反输出端,经三极管Q8电流放大后即以1KHz的脉冲驱动蜂鸣器,那么蜂鸣器就会发出1KHz的声响。
3、程序设计在D盘中先建立一个文件名为BZ的文件夹,然后建立一个BZ的新项目,输入以下的源代码并保存为BZ.v。源代码输入完成后,我们将器件选择为EPM7128SLC84-15。引脚分配需要参考MCU&CPLDDEMO试验板的电路原理,这里的引脚分配见下表。
蜂鸣器发声实验的引脚分配
器件编译通过后,可根据需要进行仿真,接下来进行*.pof至*.jed的文件转换,最后将*.jed文件下载到ATF1508AS芯片中。
在MCU&CPLDDEMO试验板上,将一个短路块插到BEEP排针上(连通蜂鸣器的驱动电路),我们立刻能听到清脆的音频声。
4.简易电子琴实验
1、实验要求按下MCU&CPLDDE-MO试验板上的KO—K3键,蜂鸣器能发出不同频率的声音(简谱的中音1~中音4)0
2、实现方法前面已经提到过,交流蜂鸣器只要加入不同频率的脉冲,就能发出不同音调的声音。
上表为简谱中的音名与频率的关系。MCU&CPLDDEMO试验板上的有源晶振频率为24MHz。例如,为了发出中音1的音调,我们应当进行分频,分频系数为24000000÷523.3÷2=229310据此,我们可计算出简谱中不同音名的分频系数,如下表所示。
本文关键字:暂无联系方式DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术
上一篇:CPLD.FPGA设计