ImageVerifierCode 换一换
格式:PPT , 页数:29 ,大小:4.10MB ,
资源ID:9613183      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-9613183.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理实验解析.ppt)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

微机原理实验解析.ppt

1、实验操作考试复习题 解 析,建立硬件平台的步骤: 1. 搭建最小系统 2. 添加GPIO IP核并进行配置(8位输入,8位输出,并且要激活通道2) 3. 配置ucf文件,保存后生成bit流 4. 导出硬件到SDK,再建立相应的工程,(与第6章习题8类似) 1.采用某8位独立开关输入十六进制字符(09,af,AF)的ASCII码,并将该ASCII码表示的十六进制字符通过一位七段数码管显示出来,其余数值显示“-”。要求: 只有按下某个按钮时,才可以改变显示的字符。 字符显示只能为A,b,C,d,E,F 如8位独立开关的值为0110 0001时, 仅1位7段数码管显示大写的A,(0x 61为a的AS

2、CII码表示,但显示为A) 不能多位同时显示,UCF文件配置如下:NET “CLK“ TNM_NET = sys_clk_pin; TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 100000 kHz; NET “CLK“ LOC=“E3“ | IOSTANDARD=“LVCMOS33“; NET “RESET“ LOC=“E16“ | IOSTANDARD=“LVCMOS33“;NET “RsRx“ LOC=“C4“ | IOSTANDARD=“LVCMOS33“; NET “RsTx“ LOC=“D4“ | IOSTANDARD=“LVCMOS33

3、“;NET “sw“ LOC=“U9“ | IOSTANDARD=“LVCMOS33“; NET “sw“ LOC=“U8“ | IOSTANDARD=“LVCMOS33“; NET “sw“ LOC=“R7“ | IOSTANDARD=“LVCMOS33“; NET “sw“ LOC=“R6“ | IOSTANDARD=“LVCMOS33“; NET “sw“ LOC=“R5“ | IOSTANDARD=“LVCMOS33“; NET “sw“ LOC=“V7“ | IOSTANDARD=“LVCMOS33“; NET “sw“ LOC=“V6“ | IOSTANDARD=“LVCMOS33

4、“; NET “sw“ LOC=“V5“ | IOSTANDARD=“LVCMOS33“;NET “seg“ LOC=“L3“ | IOSTANDARD=“LVCMOS33“; NET “seg“ LOC=“N1“ | IOSTANDARD=“LVCMOS33“; NET “seg“ LOC=“L5“ | IOSTANDARD=“LVCMOS33“; NET “seg“ LOC=“L4“ | IOSTANDARD=“LVCMOS33“; NET “seg“ LOC=“K3“ | IOSTANDARD=“LVCMOS33“; NET “seg“ LOC=“M2“ | IOSTANDARD=“LV

5、CMOS33“; NET “seg“ LOC=“L6“ | IOSTANDARD=“LVCMOS33“; NET “seg“ LOC=“M4“ | IOSTANDARD=“LVCMOS33“;,.c文件(需要进一步完善),建立硬件平台: 1.搭建最小系统 2.添加连个GPIO IP核并进行配置: GPIO0:8位输入,8位输出(段码),并且要激活通道2 GPIO1:8位输出(位码) 3.配置ucf文件,保存后生成bit流 4.打开SDK,建立相应的工程,UCF 文件配置:NET “CLK“ TNM_NET = sys_clk_pin; TIMESPEC TS_sys_clk_pin = PER

6、IOD sys_clk_pin 100000 kHz;NET “CLK“ LOC=“E3“ | IOSTANDARD=“LVCMOS33“; NET “RESET“ LOC=“E16“ | IOSTANDARD=“LVCMOS33“; NET “RsRx“ LOC=“C4“ | IOSTANDARD=“LVCMOS33“; NET “RsTx“ LOC=“D4“ | IOSTANDARD=“LVCMOS33“;NET “sw“ LOC=“U9“ | IOSTANDARD=“LVCMOS33“; NET “sw“ LOC=“U8“ | IOSTANDARD=“LVCMOS33“; NET “sw

7、“ LOC=“R7“ | IOSTANDARD=“LVCMOS33“; NET “sw“ LOC=“R6“ | IOSTANDARD=“LVCMOS33“; NET “sw“ LOC=“R5“ | IOSTANDARD=“LVCMOS33“; NET “sw“ LOC=“V7“ | IOSTANDARD=“LVCMOS33“; NET “sw“ LOC=“V6“ | IOSTANDARD=“LVCMOS33“; NET “sw“ LOC=“V5“ | IOSTANDARD=“LVCMOS33“;NET “seg“ LOC=“L3“ | IOSTANDARD=“LVCMOS33“; NET “s

8、eg“ LOC=“N1“ | IOSTANDARD=“LVCMOS33“; NET “seg“ LOC=“L5“ | IOSTANDARD=“LVCMOS33“; NET “seg“ LOC=“L4“ | IOSTANDARD=“LVCMOS33“; NET “seg“ LOC=“K3“ | IOSTANDARD=“LVCMOS33“; NET “seg“ LOC=“M2“ | IOSTANDARD=“LVCMOS33“; NET “seg“ LOC=“L6“ | IOSTANDARD=“LVCMOS33“; NET “seg“ LOC=“M4“ | IOSTANDARD=“LVCMOS33“

9、;NET “an“ LOC = “N6“ | IOSTANDARD = “LVCMOS33“; NET “an“ LOC = “M6“ | IOSTANDARD = “LVCMOS33“; NET “an“ LOC = “M3“ | IOSTANDARD = “LVCMOS33“; NET “an“ LOC = “N5“ | IOSTANDARD = “LVCMOS33“; NET “an“ LOC = “N2“ | IOSTANDARD = “LVCMOS33“; NET “an“ LOC = “N4“ | IOSTANDARD = “LVCMOS33“; NET “an“ LOC = “L

10、1“ | IOSTANDARD = “LVCMOS33“; NET “an“ LOC = “M1“ | IOSTANDARD = “LVCMOS33“;,.C文件(需要进一步完善),效果图,(与第6章习题10类似) 3.用16个理想开关输入二进制数,16只发光二极管显示二进制数。设输入的二进制数为原码,输出的二进制数为补码。要求只有按下某个按键时,才可以改变输出。,简单来说,就是要求:输入原码,输出补码。 1、得到switch开关的状态(即原码): code = Xil_In16(0x40000000); 2、求补码: (正数不变;负数符号位不变,其余位数取反加1) if(code32768)

11、Xil_Out16(XPAR_LEDS_BASEADDR,code); elseXil_Out16(XPAR_LEDS_BASEADDR,(code)+32769);,源码:,#include “xparameters.h“ #include “xil_io.h“ int main() u16 code,state;while(1)if(state)code = Xil_In16(0x40000000);if(code32768)Xil_Out16(XPAR_LEDS_BASEADDR,code);elseXil_Out16(XPAR_LEDS_BASEADDR,(code)+32769);r

12、eturn 0; ,4. 用16个理想开关输入二进制数,16只发光二极管显示二进制数。设输入的二进制数为补码,输出的二进制数为原码。要求只有按下某个按键时,才可以改变输出。,简单来说,就是要求:输入补码,输出原码。 1、得到switch开关的状态(即 补码): code = Xil_In16(0x40000000); 2、求补码: (正数不变;负数符号位不变,其余位数取反加1) if(code32768)Xil_Out16(XPAR_LEDS_BASEADDR,code); elseXil_Out16(XPAR_LEDS_BASEADDR,(code)+32769);,源码:,#include

13、 “xparameters.h“ #include “xil_io.h“ int main() u16 code;int state;while(1)if(state)code = Xil_In16(0x40000000);if(code32768)Xil_Out16(XPAR_LEDS_BASEADDR,code);elseXil_Out16(XPAR_LEDS_BASEADDR,(code)+32769);return 0; ,5.用16个理想开关输入二进制数,16只发光二极管倒序显示该二进制数各位。设开关从左到右依次表示D15 D0 ,发光二极管从右到左依次表示D15 D0 。要求只有按

14、下某个按键时,才可以改变输出。,简单来说,就是要求:输入一个16位的数,把它倒置输出。 1、得到switch开关的状态(即原码):code = Xil_In16(0x40000000); 2、求第i位上的值:(codei)%2 3、把16位倒置后,重写:newcode = 0;for(i=0;ii)%2)(15-i) + newcode;Xil_Out16(XPAR_LEDS_BASEADDR,newcode);,源码:,#include “xparameters.h“ #include “xil_io.h“ int main() int i;u16 code;u16 newcode;whil

15、e(1)newcode = 0;code = Xil_In16(0x40000000);for(i=0;ii)%2)(15-i) + newcode;Xil_Out16(XPAR_LEDS_BASEADDR,newcode);return 0; ,6.用16个理想开关输入二进制数,16只发光二极管显示该二进制数字节序变换后的数值。要求只有按下某个按键时,才可以改变输出。,简单来说,就是要求:把高8位跟低8位互换。 1、得到switch开关的状态(即原码): code = Xil_In16(0x40000000); 2、把高8位跟低8位互换: newcode = (code8) + (code8

16、); 3、输出给LED: Xil_Out16(XPAR_LEDS_BASEADDR,newcode);,源码:,#include “xparameters.h“ #include “xil_io.h“int main() u16 code;u16 newcode;while(1)newcode = 0;code = Xil_In16(0x40000000);newcode = (code8) + (code8);Xil_Out16(XPAR_LEDS_BASEADDR,newcode);return 0; ,实验七、八、九,硬件框图,锯齿波,while(1)WriteBuffer0 = (u8

17、)(Count);WriteBuffer1 = (u8)(Count8) ,三角波,while(1)WriteBuffer0 = (u8)(Count);WriteBuffer1 = (u8)(Count8) ,方波,while(1)WriteBuffer0 = (u8)(Count);WriteBuffer1 = (u8)(Count8) ,第10题,单通道模拟电压信号采样,要求采样率为1Hz(1秒显示一次采样结果),并且将该模拟信号的电压值显示到console(单位为mV) 如输入模拟信号电压为3.3V时,console上显示的值应为3300mV左右,允许一定的误差 如输入模拟信号电压为0

18、V时,console上显示的值应为0mV左右,允许一定的误差,硬件建立,UART SPI *Timer AXI Interrupt Controller参见实验教材 P210(*Timer) P277(AD),延时方法,不需要时钟 参考实验教材P279代码,while(1)/设置传输状态标志为1TransferInProgress = TRUE;/一次传输2个字节XSpi_Transfer( ,定时器中断方法,需要配置时钟中断 参考P212代码, int main() .TransferInProgress = TRUE;while(1)/一次传输2个字节if(TransferInProgre

19、ss)XSpi_Transfer( ,时钟中断处理函数 每1s触发一次#define RESET_VALUE 0x5f5e100void TimerCounterHandler(void *CallBackRef, u8 TmrCtrNumber) if(!TransferInProgress) int val = ReadBuffer0 + (ReadBuffer1 8);val = val * 3300 / 0xfff;xil_printf(“ Voltage: %dmVrn“, val);TransferInProgress = TRUE; else xil_printf(“Transferring data. plz wait.“); ,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报