简介:
【vivado 蜂鸣器】项目是一个利用Vivado设计工具实现的电子音乐播放器,特别地,它被编程来播放特定的曲目。
Vivado是Xilinx公司提供的一个综合性的硬件描述语言(HDL)开发平台,主要用于FPGA(Field-Programmable Gate Array)和SoC(System on Chip)的设计与实现。
在这个项目中,开发者使用Vivado创建了一个能够发出音频信号的蜂鸣器模块,这个模块可以嵌入到其他游戏或应用中作为声音源。
我们需要了解FPGA的基本概念。
FPGA是一种可编程逻辑器件,它的内部包含大量的可配置逻辑块和输入/输出单元,允许用户根据需求自定义电路结构。
Vivado提供了完整的流程,包括设计输入、逻辑综合、布局布线以及硬件调试等,使得开发者可以方便地在FPGA上实现复杂的数字系统。
在本项目中,蜂鸣器模块可能基于PWM(Pulse Width Modulation)技术实现。
PWM通过调节脉冲宽度来模拟不同频率的声音,以此来生成音调。
开发者可能编写了Verilog或VHDL代码,定义了一个计数器和比较器,通过改变脉冲宽度来控制蜂鸣器的频率,进而播放出不同的音符。
项目中提到的"带有脑中的数字时钟"可能是指一个额外的模块,用于显示时间。
这个模块可能包括一个时钟发生器、计数器和七段数码管驱动逻辑,用于在硬件平台上实时显示当前时间。
"vivado"表明项目的核心是使用Vivado进行设计。
Vivado提供了一整套的工具链,包括IP Integrator用于集成预先封装好的IP核,比如PLL(Phase-Locked Loop)用于产生时钟,或者AXI总线接口用于与其他模块通信。
此外,还有仿真工具用于验证设计的功能正确性,如ISim或ModelSim。
【压缩包子文件的文件名称列表】中,我们可以看到以下几个关键文件夹:- `bell.xpr`:这是Vivado工程文件,包含了项目的配置信息和所有源文件的引用。
- `bell.cache`:缓存文件夹,存储了设计过程中产生的中间数据,如综合报告、布局布线结果等。
- `bell.srcs`:源代码文件夹,可能包含了.v或.vhd文件,即Verilog或VHDL源代码。
- `bell.hw`:硬件平台配置文件,定义了目标FPGA的管脚分配和设备配置。
- `bell.sim`:仿真相关文件,用于在软件中验证设计的正确性。
- `bell.ip_user_files`:用户自定义IP核的文件夹,可能包含了蜂鸣器和数字时钟的自定义IP。
- `bell.runs`:运行配置文件,记录了每个设计步骤的设置和结果。
这个项目展示了如何使用Vivado设计一个能在FPGA上运行的音频播放模块,以及如何将此模块与其他硬件组件(如数字时钟)集成在一起。
通过学习这个项目,开发者可以了解到FPGA开发的基本流程,以及如何利用Vivado进行数字系统设计和硬件编程。
2025/6/15 19:57:33 102KB
1
版本修改记录:V2.2.0.2修改:修改了HttpPost相对路径的一些问题。
V2.2.0.0增加:[id(0x00010041),helpstring("GetRevIndex")]HRESULTGetRevCount([out,retval]long*pbool);[id(0x00010042),helpstring("GetRevIndexInfo")]HRESULTGetRevInfo([in]longlIndex,[in]longlType,[out,retval]BSTR*pbool);[id(0x00010043),helpstring("SetDocProp")]HRESULTSetValue([in]BSTRstrValue,[in]BSTRstrName,[out,retval]long*pbool);[id(0x00010044),helpstring("SetDocVariable")]HRESULTSetDocVariable([in]BSTRstrVarName,[in]BSTRstrValue,[in]longlOpt,[out,retval]long*pbool);[id(0x00010045),helpstring("SavepageToDoc")]HRESULTSetPageAs([in]BSTRstrLocalFile,[in]longlPageNum,[in]longlType,[out,retval]long*pbool);----------------------------------------------------------------------------------------------------------------------------------------------------------------------LoadDso.jsvars=""s+=""s+=""document.write(s)----------------------------------------------------------------------------------------------------------------------------------------------------------------------接口文档:/*1.新建*///新建Worddocument.all.FramerControl1.CreateNew("Word.Document");//新建Exceldocument.all.FramerControl1.CreateNew("Excel.Sheet");/*2.打开文件*///打开制定的本地文件document.all.FramerControl1.Open("C:\\TestBook.xls");//制定用Word来打开c:\plain.txt文件document.all.FramerControl1.Open("C:\\Plain.txt",false,"Word.Document");//打开服务器的文件document.all.FramerControl1.Open"https://secureserver/test/mytest.asp?id=123",true,"Excel.Sheet","MyUserAccount","MyPassword");//打开服务器的文件document.all.FramerControl1.Open("http://localhost/1.doc",true);/*3.保存文件*///到本地document.all.FramerControl1.Save("c:\\1.doc",true);//服务器/*增加Http协议Post上传接口,可以Post一个动态页面(jsp,asp,php...),由动态页面负责解析数据boolHttpInit();boolHttpAddPostString(BSTRstrName,BSTRstrValue);boolHttpAddPostCurrFile(BSTRstrFileID,BSTRstrFileName);BSTRHttpPost(BSTRbstr);*///初始化Http引擎document.all.FramerControl1.HttpInit();//增加Post变量document.all.FramerControl1.HttpAddPostString("RecordID","20060102200");document.all.FramerControl1.HttpAddPostString("UserID","李局长");//上传打开的文件document.all.FramerControl1.HttpAddPostCurrFile("FileData","文档名.doc");//执行上传动作document.all.FramerControl1.HttpPost("http://xxxx.com/uploadfile.asp");/*4.修订留痕*///进入留痕状态document.all.FramerControl1.SetTrackRevisions(1);//进入非留痕状态document.all.FramerControl1.SetTrackRevisions(0);//接受当前修订document.all.FramerControl1.SetTrackRevisions(4);/*5.设置当前用户*/document.all.FramerControl1.SetCurrUserName("张三");/*6.设置当前时间(笔迹留痕会显示("Like2006:02:0711:11:11")*/document.all.FramerControl1.SetCurrTime("2006:02:0711:11:11");/*7.设置和创建书签,此功能比较强大,设置书签数据、添加书签和添加红头文件就靠他了SetFieldValue(BSTRstrFieldName,BSTRstrValue,BSTRstrCmdOrSheetName)strFieldName:书签名strValue:要设置的值strCmdOrSheetName:命令::ADDMARK::添加BookMark::DELMARK::删除这个BookMark::GETMARK::定位到这个BookMark::FILE::插入的是文件::JPG::插入的是图片一般来说:WORD中书签是做好的,可以通过此接口把外界数据设置进书签中去。
*///在当前WORD位置插入标签,标签名为"book1",数值为"test"document.all.FramerControl1.SetFieldValue("book1","test","::ADDMARK::");//设置书签"Time",数值为"2006-03-1622:22:22"document.all.FramerControl1.SetFieldValue("Time","2006-03-1622:22:22","");//在书签位置"hongtou",插入红头文件"http://222.222.222.222/hongtou1.doc"这样,红头就自动插进去了document.all.FramerControl1.SetFieldValue("hongtou","http://222.222.222.222/hongtou1.doc","::FILE::");/*8.设置菜单显示情况BOOLSetMenuDisplay(longlMenuFlag)lMenuFlag为以下数值的组合#defineMNU_NEW0x01#defineMNU_OPEN0x02#defineMNU_CLOSE0x04#defineMNU_SAVE0x08#defineMNU_SAVEAS0x16#defineMNU_PGSETUP0x64#defineMNU_PRINT0x256#defineMNU_PROPS0x32#defineMNU_PRINTPV0x126*///只有“新建”菜单可用document.all.FramerControl1..SetMenuDisplay(1);//只有“打开”菜单可用document.all.FramerControl1.SetMenuDisplay(2);//只有“打开”和“新建”菜单可用document.all.FramerControl1.SetMenuDisplay(3);/*9.保护文档和解保护文档lProOrUn:1:保护文档;
0:解除保护lProType:wdNoProtection=-1,wdAllowOnlyRevisions=0,wdAllowOnlyComments=1,wdAllowOnlyFormFields=2strProPWD:密码*///完全保护文档,密码为"pwd"document.all.FramerControl1.ProtectDoc(1,1,"pwd");//解除文档保护document.all.FramerControl1.ProtectDoc(0,1,"pwd");/*10.显示或隐藏修订内容ShowRevisions(longnNewValue)nNewValue=0则隐藏修订=1则显示修订*///显示修订留痕document.all.FramerControl1.ShowRevisions(1);//隐藏修订留痕document.all.FramerControl1.ShowRevisions(0);/*11.插入合并文件,strFieldPath文件路径,可以是http,ftp的路径pPos=0//当前鼠标位置1;文件开头2;文件末尾pPos的第4位为1的时候,代表插入的是图片InSertFile(BSTRstrFieldPath,longlPos)*///文件头部插入文件document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",1);//文件尾部插入文件document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",2);//当前光标位置插入文件document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",0);//文件头部插入图片document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",9);//文件尾部插入图片document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",10);//当前光标位置插入图片document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",8);/*0x31.文档另存为HRESULTSaveAs([in]VARIANTstrFileName,[in]VARIANTdwFileFormat,[out,retval]long*pbool);参数:strFileName:文件本地路径,如c:\\11.docdwFileFormat:文件格式dwFileFormat的数值为:Excel:TypeenumXlFileFormat{xlAddIn=18,xlCSV=6,xlCSVMac=22,xlCSVMSDOS=24,xlCSVWindows=23,xlDBF2=7,xlDBF3=8,xlDBF4=11,xlDIF=9,xlExcel2=16,xlExcel2FarEast=27,xlExcel3=29,xlExcel4=33,xlExcel5=39,xlExcel7=39,xlExcel9795=43,xlExcel4Workbook=35,xlIntlAddIn=26,xlIntlMacro=25,xlWorkbookNormal=-4143,xlSYLK=2,xlTemplate=17,xlCurrentPlatformText=-4158,xlTextMac=19,xlTextMSDOS=21,xlTextPrinter=36,xlTextWindows=20,xlWJ2WD1=14,xlWK1=5,xlWK1ALL=31,xlWK1FMT=30,xlWK3=15,xlWK4=38,xlWK3FM3=32,xlWKS=4,xlWorks2FarEast=28,xlWQ1=34,xlWJ3=40,xlWJ3FJ3=41,xlUnicodeText=42,xlHtml=44};Word:TypeenumWdSaveFormat{wdFormatDocument=0,wdFormatTemplate=1,wdFormatText=2,wdFormatTextLineBreaks=3,wdFormatDOSText=4,wdFormatDOSTextLineBreaks=5,wdFormatRTF=6,wdFormatUnicodeText=7,wdFormatEncodedText=7,wdFormatHTML=8};PPT:enumPpSaveAsFileType{ppSaveAsPresentation=1,ppSaveAsPowerPoint7=2,ppSaveAsPowerPoint4=3,ppSaveAsPowerPoint3=4,ppSaveAsTemplate=5,ppSaveAsRTF=6,ppSaveAsShow=7,ppSaveAsAddIn=8,ppSaveAsPowerPoint4FarEast=10,ppSaveAsDefault=11,ppSaveAsHTML=12,ppSaveAsHTMLv3=13,ppSaveAsHTMLDual=14,ppSaveAsMetaFile=15,ppSaveAsGIF=16,ppSaveAsJPG=17,ppSaveAsPNG=18,ppSaveAsBMP=19};*//*0x32.删除本地文件HRESULTDeleteLocalFile([in]BSTRstrFilePath);参数:strFileName:文件本地路径,如c:\\11.doc*//*0x33.创建临时文件HRESULTGetTempFilePath([out,retval]BSTR*strValue);返回:临时文件的路径地址。
使用完后,用DeleteLocalFile删除*//*0x34.设置文档显示模式HRESULTShowView([in]longdwViewType,[out,retval]long*pbool);dwViewType的可取值为:enumWdViewType{wdNormalView=1,wdOutlineView=2,wdPrintView=3,wdPrintPreview=4,wdMasterView=5,//这个是大纲wdWebView=6};*///大纲模式document.all.FramerControl1.ShowView(5);/*0x39:下载远程文件HRESULTDownloadFile([in]BSTRstrRemoteFile,[in]BSTRstrLocalFile,[out,retval]BSTR*strValue);参数:strRemoteFile:远程路径地址,httporFtpstrLocalFile:本地保存地址,ifstrLocalFile==NULLthenCreateTempFileandreturnTempFile'sPath*//*0x40:增加Http上传时候的,附加其他文件HRESULTHttpAddPostFile([in]BSTRstrFileID,[in]BSTRstrFileName,[out,retval]long*pbool);参数:strFileID:文件的ID,供服务器端页面解析strFileName:本地文件地址*//*0x41,0x42.获取详细的修订信息。
GetRevCount([out,retval]long*pbool);GetRevInfo([in]longlIndex,[in]longlType,[out,retval]BSTR*pbool);例子如下*/varvCount;vCount=document.all.FramerControl1.GetRevCount();alert(vCount);varvOpt=0;varvDate;for(vari=1;i<=vCount;i++){vOpt=document.all.FramerControl1.GetRevInfo(i,2);if("1"==vOpt){vOpt="插入";}elseif("2"==vOpt){vOpt="删除";}else{vOpt="未知操作";}vDate=newString(document.all.FramerControl1.GetRevInfo(i,1));vDate=parseFloat(vDate);alert(vDate);dateObj=newDate(vDate);alert(dateObj.getYear()+"年"+dateObj.getMonth()+1+"月"+dateObj.getDate()+"日"+dateObj.getHours()+"时"+dateObj.getMinutes()+"分"+dateObj.getSeconds()+"秒");alert("用户:"+document.all.FramerControl1.GetRevInfo(i,0)+"\r\n操作:"+vOpt+"\r\n内容:"+document.all.FramerControl1.GetRevInfo(i,3));}/*0x43.设置基本信息:HRESULTSetValue([in]BSTRstrValue,[in]BSTRstrName,[out,retval]long*pbool);1.设置文件只读密码SetValue("password","::DOCPROP:PassWord");2.设置文件修改密码SetValue("password","::DOCPROP:WritePW");返回值:0正确-1:不支持此命令,请确定您的第二个参数没有传错-127:异常*///设置文件只读密码document.all.FramerControl1.SetValue("password","::DOCPROP:PassWord");//设置文件修改密码document.all.FramerControl1.SetValue("password","::DOCPROP:WritePW");/*0x44.设置文档变量,这个很少能用到HRESULTSetDocVariable([in]BSTRstrVarName,[in]BSTRstrValue,[in]longlOpt,[out,retval]long*pbool);strVarName:变量名strVlaue:变量值lOpt:操作类型,按位第一位为1:表示update域关联的第二位为1:表示如果没有这个变量则添加第三位为1:未来支持return:0:OK-127:异常*//*0x45:分页保存HRESULTSetPageAs([in]BSTRstrLocalFile,[in]longlPageNum,[in]longlType,[out,retval]long*pbool);strLocalFile:本地路径lPageNum:页数*/
2025/6/13 12:22:57 139KB web office word 在线
1
chrome插件,提供展示当前时间,天气等信息,提出空洞的chrome标签
2025/4/24 12:04:42 12.3MB 插件 chrome
1
本设计能作为普通时钟用,而且能设置闹钟。
程序使用C语言进行编程,能动态显示当前时间,包括时、分、秒,并且用串口助手显示
2025/4/10 19:22:38 2.13MB ARM的时钟
1
在系统中,读者创建账户,账户内存储读者个人的详细信息,读者可以凭借借书卡号:readerid在系统进行图书的查询、借阅、还书操作,完成借书的同时要修改相应图书信息的状态、读者信息中的已借数量、在借阅表中添加书籍、读者信息管理:读者信息的修改读者注销账户跳回首页图书信息管理:包括图书信息添加查询修改功能。
管理员登录成功后,可以浏览所有图书信息和搜索特定图书的信息---搜索出来的可以进行添加图书、删除图书以及修改图书信息。
图书借阅管理:包括图书借阅和归还功能。
图书借阅功能:先输入读者编号,然后输入要借阅图书的信息,记录系统当前时间即借阅时间borrowdate和归还时间returndate图书归还功能:先输入读者编号,然后输入要还图书的信息,记录系统当前时间即归还时间returndate;
删除借阅信息,更改管理日志表whether用户修改个人信息——实现功能用户通过点击右上角用户名,跳转到个人页面,个人页面显示个人的详细信息,点击修改按钮跳转到修改页面,修改页面回显个人详细信息。
修改后点击确定。
成功——弹出成功信息,跳回个人页面并更新列表失败——弹出失败信息,跳回个人页面。
用户查询信息——实现功能用户通过点击右上角用户名,跳到个人页面,个人页面显示个人的详细信息(只显示不修改)三、功能需求功能划分:该系统主要有以下功能:浏览功能,查询功能,添加功能,修改功能,删除功能。
功能描述详解:①浏览列出当前数据库中的图书信息、读者信息、借阅信息和还书信息(管理员日志)、②查按照图书编号进行查询书籍信息、读者编号进行查询读者信息、借还界面查询书目与读者匹配信息③增添加图书和读者记录、借书和还书记录(管理日志)④改修改书目和读者信息及管理员信息、读者借阅和归还图书在管理员日志上的变动及在图书信息表上的变动⑤删删除书目和读者信息及管理员信息⑥各种弹框制定⑦运用CSS对页面进行显示处理⑧网页布局采用封面型布局
2025/4/2 1:29:50 7MB 图书管理系统 Java mysql jsp
1
二进制文件的读写,当前时间写入到dat文件中,可以读入读出.C#源代码用VisualStudio2008创建http://download.csdn.net/user/gouyue下载
1
第一章:AVR单片机C语言程序设计概述1.1AVR单片机简介1.2AVRStudio+WinAVR开发环境安装及应用1.3AVR-GCC程序设计基础1.4程序与数据内存访问1.5I/O端口编程1.6外设相关寄存器及应用1.7中断服务程序1.8GCC在AVR单片机应用系统开发中的优势第二章:PROTEUS操作基础2.1PROTEUS操作界面简介2.2仿真电路原理图设计2.3元件选择2.4仿真运行2.5PROTEUS与AVRStudio的联合调试2.6PROTEUS在AVR单片机应用系统开发中的优势第三章:基础程序设计3.1闪烁的LED3.2左右来回的流水灯3.3花样流水灯3.4LED模拟交通灯3.5单只数码管循环显示0~93.68只数码管滚动显示单个数字3.78只数码管显示多个不同字符3.8K1~K4控制LED移位3.9数码管显示4×4键盘矩阵按键3.10数码管显示拨码开关编码3.11继电器控制照明设备3.12开关控制报警器3.13按键发音3.14INT0中断计数3.15INT0及INT1中断计数3.16TIMER0控制单只LED闪烁3.17TIMER0控制的流水灯3.18TIMER0控制数码管扫描显示3.19TIMER1控制交通指示灯3.20TIMER1与TIMER2控制十字路口秒计时显示屏3.21用工作于计数方式的T/C0实现100以内的按键计数3.22用定时器设计的门铃3.23报警器与旋转灯3.24100000秒以内的计时程序3.25用TIMER1输入捕获功能设计的频率计3.26用工作于异步模式的T/C2控制的可调式数码管电子钟3.27TIMER1定时器比较匹配中断控制音阶播放3.28用TIMER1输出比较功能调节频率输出3.29TIMER1控制的PWM脉宽调制器3.30数码管显示两路A/D转换结果3.31模拟比较器测试3.32EEPROM读写与数码管显示3.33Flash程序空间中的数据访问3.34单片机与PC机双向串口通讯仿真3.35看门狗应用第四章:硬件应用4.174HC138与74HC154译码器应用4.274HC595串入并出芯片应用4.3用74LS148与74LS21扩展中断4.462256扩展内存4.5用8255实现接口扩展4.6可编程接口芯片8155应用4.7可编程外围定时计数器8253应用4.8数码管BCD解码驱动器7447与4511应用4.98×8LED点阵屏显示数字4.108位数码管段位复用串行驱动芯片MAX6951应用4.11串行共阴显示驱动器MAX7219与7221应用4.1216段数码管演示4.1316键解码芯片74C922应用4.141602字符液晶测试程序4.151602液晶显示DS1302实时时钟4.161602液晶工作于四位模式实时显示当前时间4.172×20串行字符液晶演示4.18LGM12864液晶显示程序4.19PG160128A液晶图文演示4.21TG126410液晶串行模式演示4.21用带SPI接口的MCP23S17扩展16位通用IO端口4.22用TWI接口控制MAX6953驱动4片5×7点阵显示器4.23用TWI接口控制MAX6955驱动16段数码管显示4.24用DAC0832生成多种波形4.25用带SPI接口的数模转换芯片MAX515调节LED亮度4.26正反转可控的直流电机4.27正反转可控的步进电机4.28DS18B20温度传感器测试4.29SPI接口温度传感器TC72应用测试4.30SHT75温湿度传感器应用4.31用SPI接口读写AT25F10244.32用TWI接口读写24C044.33MPX4250压力传感器测试4.34MMC存储卡测试4.35红外遥控发射与解码仿真第五章:综合设计5.1多首电子音乐的选播5.2电子琴仿真5.3普通电话机拨号键盘应用5.4手机键盘仿真5.5数码管模拟显示乘法口诀5.6用DS1302与数码管设计的可调电子钟5.7用DS1302与LGM12864设计的可调式中文电子日历5.8用PG12864LCD设计的指针式电子钟5.9高仿真数码管电子钟5.101602LC
2025/1/1 11:28:29 5.27MB 单片机 c语言 AVR
1
Update(1.9):Version1.9bringsmanyfixesandimprovementstoFinalIK:-AddedtheBaker,apowerfulnewtoolforbakingIKtoHumanoid,GenericandLegacyanimationclips.-AddedLODlevelstoVRIK.-VRIKtestedonthenewOculusQuesthardware.-Updateddocumentation.PleaseseetheReleaseNotesforthefulllistofupdatedetails.FinalIK1.9isfullycompatiblewithPuppetMaster0.9andUnity2017/2018/2019versions.
2024/12/1 6:16:28 44.93MB finalIK Unity
1
android绘制折线图(AChartEngine)Linechart动态更新横轴为获取的当前时间
2024/11/4 17:52:22 1.62MB android 绘制折线图 AChartEngine Linechart
1
设计一个定时显示装置,用实验仪左侧的六个LED数码管显示时间,时间显示格式为24小时制。
分秒值为59分55秒时开始报时,每秒钟蜂鸣器鸣叫一次,到整点报时停止。
用小键盘控制时钟的启停和时钟的设置,键值具体定义:G键(启停键)——程序启动后,按下该键时钟启动;
再次按下该键,暂停计时,显示当前时间。
S键(设置键)——按下S键后,为时钟设置时、分、秒初始值。
2024/10/12 5:13:05 152KB 电子钟 微机接口 课程设计
1
共 54 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡