Xilinx可编程逻辑器件设计与开发(基础篇)连载50:Spartan.docx
《Xilinx可编程逻辑器件设计与开发(基础篇)连载50:Spartan.docx》由会员分享,可在线阅读,更多相关《Xilinx可编程逻辑器件设计与开发(基础篇)连载50:Spartan.docx(3页珍藏版)》请在第一文库网上搜索。
1、Xi1inX可编程逻辑器件设计与开发(基础篇)连载50:Spartan12. 7PicoB1aze设计实例一、设计要求1 .picob1aze嵌入式系统,包括个8位的方波输出口,一个驱动两位7段1ED的输出口,一个班输入和一个中断输入。2 .在SPartan-3anstarter套件中实现。二、设计过程1 .在ISEI1X中建立一个新的项目,项目名为kcpsm3_int_test,并加入源文件kcpsm3.vhd,这仅仅是一个PiCoBIaZe控制器核文件,读者可以根据自己的爱好选择不同的设计语言。2 .编写PiCOB1aZe的汇编语言源程序,本例中的汇编源程序为int_test,psm,具体
2、如下。;Interruptexamp1e,CONSTANTwaveform_port,02;定义方波输出端口ID为02CONSTANTcounter_port,04;定义中断计数器输出端口ID为04CONSTANTse1_port,08;定义2位7段1ED选择输出端口ID为08CONSTANTpattern_10101010,AA;定义方波输出口初始值CONSTANTini_se1,O1;定义2位7段1ED位选初始值为O1NAMEREGsA,interrupt_counter;将SA寄存重新命名为interrupt_counter9start:1OADinterrupt_counter,00;
3、中断计数寄存器清零1OADs2,pattern_10101010;将方波数据载入寄存器s2中1OADsD,ini_se1;将位选值装载入寄存器SD币一ENAB1EINTERRUPT;使能中断9drive_wave:OUTPUTs2,waveform_port;输出方波OUTPUTsD,se1_port;输出1ED位还1OADs,FF;延时1oop3:1OADsi,FF1oop4:SUBsi,01ADDsi,01SUBsi,01JUMPNZ,1oop4SUBs,01JUMPNZ,1oop3XORs2,FF;方波值取反XORsD,FF;位选值取反JUMPdrive_wave9ADDRESS2B0;
4、定义程序存储地址int_routine:ADDinterrupt_counter,O1;中断计数器加1OUTPUTinterrupt_counter,counter_port;输出计数值OUTPUTsD,se1_port;输出位选1OADsF,FF;延时Ioop1:1OADsE,FF1oop2:SUBsE,O1ADDsE,O1SUBsE,O1JUMPNZ,1oop2SUBsF,O1JUMPNZ,Ioop1XORsD,FFRETURNIENAB1E;中断返回,ADDRESS3FF;中断入口地址JUMPint_routine3 .将int-tcst.psm文件拷贝到ASSenIbIer目录下,运行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Xilinx 可编程 逻辑 器件 设计 开发 基础 连载 50 Spartan