实验5 系统时钟源
- 格式:pdf
- 大小:215.73 KB
- 文档页数:8
上海应用技术学院程序设计语言实验报告图1图2将本实验文件夹中的multi.exe文件添加到软盘镜像的根目录中。
如图3。
图5图7图8 按F5启动调试。
如图9。
图10BIT_TEST(PspReadyBitmap, PspCurrentThread->Priority) PspReadyThread(PspCurrentThread);图13 按F5启动调试。
如图14。
图14图16 (2)F7生成项目。
如图17。
图18古今名言敏而好学,不耻下问——孔子业精于勤,荒于嬉;行成于思,毁于随——韩愈兴于《诗》,立于礼,成于乐——孔子己所不欲,勿施于人——孔子读书破万卷,下笔如有神——杜甫读书有三到,谓心到,眼到,口到——朱熹立身以立学为先,立学以读书为本——欧阳修读万卷书,行万里路——刘彝黑发不知勤学早,白首方悔读书迟——颜真卿书卷多情似故人,晨昏忧乐每相亲——于谦书犹药也,善读之可以医愚——刘向莫等闲,白了少年头,空悲切——岳飞发奋识遍天下字,立志读尽人间书——苏轼鸟欲高飞先振翅,人求上进先读书——李苦禅立志宜思真品格,读书须尽苦功夫——阮元非淡泊无以明志,非宁静无以致远——诸葛亮熟读唐诗三百首,不会作诗也会吟——孙洙《唐诗三百首序》书到用时方恨少,事非经过不知难——陆游问渠那得清如许,为有源头活水来——朱熹旧书不厌百回读,熟读精思子自知——苏轼书痴者文必工,艺痴者技必良——蒲松龄声明访问者可将本资料提供的内容用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本文档及相关权利人的合法权利。
谢谢合作!。
嵌入式系统led实验报告嵌入式系统是融合了计算机技术、控制技术和通信技术的复杂系统。
它的应用范围涵盖了从智能家电到工业自动化等多个领域。
在嵌入式系统中,LED的应用非常广泛,它可以用于指示灯、背光源,还可以用于制作LED屏幕等。
本报告基于STM32F103RBT6开发板,介绍了一次LED实验的过程。
一、硬件准备实验所需的硬件包括:1. STM32F103RBT6开发板;2. 顶部插座模块(用于连接LED灯);3. LED灯;4. USB线(用于连接开发板和电脑)。
1. Keil uVision5开发环境;2. STM32 CubeMX配置软件。
三、实验步骤2. 在Pinout&Configuration界面,选择将LED灯连接到开发板的哪个引脚上。
这里选择PC13引脚。
3. 在Clock Configuration界面,设置时钟源和时钟频率。
本实验中,选择HSI时钟源和72MHz的频率。
4. 在Pinout&Configuration界面的USART1选项卡中,开启USART1串口通信。
5. 在Project Manager界面,选择Generate Code,生成代码。
6. 打开Keil uVision5软件,在File菜单中选择New Project,创建新工程。
选择STM32F103C8系列,单片机型号选择STM32F103RBT6,前面板及链接器设置选择STM32F10x。
然后选择Project菜单,点击Options for Target,进入Target Options窗口,将Use MicroLIB选项打钩。
然后在Project Manager界面中找到Inc和Src文件夹,右键选择Add Files to Group并导入STM32CubeMX生成的头文件和代码文件。
```#include "stm32f1xx_hal.h"void SystemClock_Config(void);static void MX_GPIO_Init(void);while (1){HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); //LED亮灭HAL_Delay(100); //延时100ms}}void SystemClock_Config(void){RCC_OscInitTypeDef RCC_OscInitStruct;RCC_ClkInitTypeDef RCC_ClkInitStruct;__HAL_RCC_PWR_CLK_ENABLE();__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;RCC_OscInitStruct.HSIState = RCC_HSI_ON;RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK){_Error_Handler(__FILE__, __LINE__);}HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);}__HAL_RCC_GPIOC_CLK_ENABLE();GPIO_InitStruct.Pin = GPIO_PIN_13;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);}```8. 保存代码并使用USB线将开发板和电脑连接起来。
实验五虚拟仪器的使用一、实验目的1 了解虚拟仪器的特点;2 掌握虚拟示波器的使用方法;3 掌握虚拟频谱分析仪的用途和使用方法;4 掌握虚拟逻辑分析仪的用途和使用方法。
二、USB口DSO-2902/512K型测试仪简介1 主菜单2 基本配置:(1)DSO-2902金属铝外壳.(2)1个逻辑POD盒(每个逻辑盒有8个通道).(3)2个HP9100探头.(4)10根彩色线和E-Z牌测试夹(5)USB2.0适配器及线一套.(6)直流电源一个.(7)测控软件光盘CD一张.3操作指南(1)硬件当用DSO-2902/2904数字存储示波器/逻辑分析仪进行测量时,意味着被测电路的数据特性是事先知道的。
在进行任何测量之前,示波器必须设定控制程序。
见手册后面里的部分关于这些步骤的介绍。
连接数字存储示波器到测试电路, 有二个标准的BNC探头,每个探头对应一个模拟通道,有一个逻辑POD盒连接在主机上,并有一系列迷你夹子连到POD盒上,在示波器探头一端有一个可插拔的探测夹和一鳄鱼形状的夹子接地,逻辑分析仪POD盒可接8个通道(D0-D7)或16个通道DSO-2904(D0-D15)的输入端,D0 通道还可用做外部时钟输入端,还有4个接地输入端。
数据通道可同步进行捕捉,外部时钟源连接在D0 通道。
有时,把测试电路同计算机系统本身连接也是必要的,这样做,将消除由于接地电压的微小差别而导致测试应用时产生更多的噪音。
特别是在高速时域分析下,用比较粗的线连接测试电路地和计算机外壳是必要的。
每一个模拟通道探头上都有一个效验调节螺钉,初次使用时必须效验,每年做二次效验是必要的,见示波器效验一章。
注意:当用探头连接信号时,被测信号的电压必须满足DSO29XX电压测量范围之内,请查看技术指标有关绝对输入电压值,一定要在许可范围之内。
在探头1:1状态下,瞬态电压:100V,连续电压:50V。
逻辑分析仪Pod盒的标记内容:D0-D7 是dso2902的数据输入通道D0-D15 是dso2904的数据输入通道GND 是连接信号地连线和测试夹同POD盒构成一个模块,连线和测试夹,与POD是可拆卸的,测试夹可测量电路到0.64mm,不要使测试夹超过它的使用极限,以免造成测试夹更大的损坏。
实验五抽样定理实验一、实验目的1、了解抽样定理在通信系统中的重要性。
2、掌握自然抽样及平顶抽样的实现方法。
3、理解低通采样定理的原理。
4、理解实际的抽样系统。
5、理解低通滤波器的幅频特性对抽样信号恢复的影响。
6、理解低通滤波器的相频特性对抽样信号恢复的影响。
7、理解带通采样定理的原理。
二、实验器材1、主控&信号源、3号模块各一块2、双踪示波器一台3、连接线若干三、实验原理1、实验原理框图图1-1 抽样定理实验框图2、实验框图说明抽样信号由抽样电路产生。
将输入的被抽样信号与抽样脉冲相乘就可以得到自然抽样信号,自然抽样的信号经过保持电路得到平顶抽样信号。
平顶抽样和自然抽样信号是通过开关S1切换输出的。
抽样信号的恢复是将抽样信号经过低通滤波器,即可得到恢复的信号。
这里滤波器可以选用抗混叠滤波器(8阶3.4kHz的巴特沃斯低通滤波器)或FPGA数字滤波器(有FIR、IIR两种)。
反sinc滤波器不是用来恢复抽样信号的,而是用来应对孔径失真现象。
要注意,这里的数字滤波器是借用的信源编译码部分的端口。
在做本实验时与信源编译码的内容没有联系。
四、实验步骤实验项目一抽样信号观测及抽样定理验证概述:通过不同频率的抽样时钟,从时域和频域两方面观测自然抽样和平顶抽样的输出波形,以及信号恢复的混叠情况,从而了解不同抽样方式的输出差异和联系,验证抽样定理。
信号源:MUSIC 模块3:TH1(被抽样信号)将被抽样信号送入抽样单元信号源:A-OUT 模块3:TH2(抽样脉冲)提供抽样时钟模块3:TH3(抽样输出)模块3:TH5(LPF-IN) 送入模拟低通滤波器2、开电,设置主控菜单,选择【主菜单】→【通信原理】→【抽样定理】。
调节主控模块的W1使A-out输出峰峰值为3V。
3、此时实验系统初始状态为:被抽样信号MUSIC为幅度4V、频率3K+1K正弦合成波。
抽样脉冲A-OUT为幅度3V、频率9KHz、占空比20%的方波。
嵌入式系统实验报告学号:姓名:班级:13电子信息工程指导老师:苏州大学电子信息学院2016年12月实验一:一个灯的闪烁1、实验要求实现PF6-10端口所连接的任意一个LED灯点亮2、电路原理图图1 LED灯硬件连接图3、软件分析RCC_Configuration(); /* 配置系统时钟*/GPIO_Configuration(); /* 配置GPIO IO口初始化*/ for(;;){GPIOF->ODR = 0xfcff; /* PF8=0 --> 点亮D3 */Delay(1000000);GPIOF->ODR = 0xffff; /* PF8=1 --> 熄灭D3 */Delay(1000000);4、实验现象通过对GPIOF8的操作,可以使LED3闪烁5、实验总结这是第一次使用STM32开发板,主要内容是对IO端口进行配置,点亮与IO端口相连接的LED灯,闪烁周期为2S。
通过本实验对STM32开发板的硬件原理有了初步了解。
实验二:流水灯1、实验要求实现PF6-10端口所连接的5个LED灯顺次亮灭2、电路原理图图1 流水灯硬件连接图3、软件分析int main(void){RCC_Configuration();/* 配置系统时钟*/GPIO_Configuration();/* 配置GPIO IO 口初始化*/for(;;){GPIOF->ODR = 0xffbf;/* PF6=0 --> 点亮LED1 */Delay(5000000);GPIOF->ODR = 0xff7f;/* PF7=0 --> 点亮LED2 */Delay(5000000);GPIOF->ODR = 0xfeff;/* PF8=0 --> 点亮LED3 */Delay(5000000);GPIOF->ODR = 0xfdff;/* PF9=0 --> 点亮LED4 */Delay(5000000);GPIOF->ODR = 0xfbff;/* PF10=0 --> 点亮LED5 */ }}4、实验现象LED1~LED5依次点亮,亮灭的时间间隔都为1S。
实验五 Tomasulo算法5.1 实验目的1.加深对指令级并行性及其开发的理解;2.加深对Tomasulo算法的理解;3.掌握Tomasulo算法在指令流出、执行、写结果各阶段对浮点操作指令以及load和store指令进行什么处理;4.掌握采用了Tomasulo算法的浮点处理部件的结构;5.掌握保留站的结构;6.给定被执行代码片段,对于具体某个时钟周期,能够写出保留站、指令状态表以及浮点寄存器状态表内容的变化情况。
5.2 实验平台Tomasulo算法模拟器,《计算机系统结构实践教程》附书光盘中提供,清华大学出版社。
设计:张晨曦教授(*******************),版权所有。
开发:刘璐。
5.3 实验内容及步骤首先要掌握Tomasulo模拟器的使用方法。
(见5.4节)1. 假设浮点功能部件的延迟时间为:加减法2个时钟周期,乘法10个时钟周期,除法40个时钟周期。
(1)对于下面的代码段,给出当指令MUL.D即将确认时,保留站、load缓冲器以及寄存器状态表中的内容。
L.D F6, 34(R2)L.D F2, 45(R3)MUL.D F0, F2, F4SUB.D F8, F6, F2DIV.D F10, F0, F6ADD.D F6, F8, F2(2)按步进方式执行上述代码,利用模拟器的“小三角按钮”的对比显示功能,观察每一个时钟周期前后各信息表中内容的变化情况。
2. 对于与上面相同的延迟时间和代码段,(1)给出在第5个时钟周期时,保留站的内容;(2)步进10个时钟周期,给出这时保留站、load缓冲器以及寄存器状态表中的内容;(3)再步进10个时钟周期,给出这时保留站、load缓冲器以及寄存器状态表中的内容。
3. 假设浮点功能部件的延迟时间为:加减法3个时钟周期,乘法8个时钟周期,除法40个时钟周期。
自己编写一段程序(要在实验报告中给出),重复上述2的工作。
5.4 Tomasulo算法模拟器使用方法1.设置指令和参数本模拟器最多可以模拟10条指令。
最新数字钟实验报告实验目的:本实验旨在设计并构建一个数字时钟,通过编程和电子组件的使用,实现时间的精确显示和设置。
实验过程中,我们将学习如何使用微控制器、数码管显示以及编写相应的软件代码来控制时钟的运行。
实验材料:1. 微控制器(如Arduino UNO)2. 数码管显示模块3. 电阻、电容4. 跳线5. 电源适配器6. 编程软件(如Arduino IDE)实验步骤:1. 准备实验材料,并确保所有组件完好无损。
2. 连接微控制器与数码管显示模块,通过跳线将数码管的各个引脚与微控制器对应引脚相连。
3. 在Arduino IDE中编写数字钟的程序代码,包括时间设置、显示更新和闹钟功能。
4. 将编写好的代码上传至微控制器中。
5. 连接电源,测试数字钟是否能够正常运行,包括时间的显示、设置和闹钟功能。
6. 调整代码中的参数,确保时间显示的准确性和稳定性。
7. 记录实验数据和观察结果,对出现的问题进行分析和调试。
实验结果:通过实验,我们成功构建了一个数字钟,它能够显示小时、分钟和秒。
用户可以通过特定的按钮组合来设置时间,并且设定闹钟。
在测试过程中,时钟的显示准确无误,设置功能也运作正常。
闹钟在设定的时间准时响起,满足了实验的基本要求。
实验结论:本次实验验证了通过微控制器和数码管可以成功实现数字钟的设计和功能。
实验过程中遇到的问题主要涉及代码的优化和硬件的稳定性,通过调整代码和重新检查硬件连接,问题得到了解决。
最终,我们得到了一个功能完善、运行稳定的数字钟原型。
《数字控制系统》实验报告专业:班级:学号:姓名:电气工程及其自动化实验中心实验五积分分离法PID控制一、实验目的1、了解PID参数的整定方法及对系统性能的影响;2、掌握积分分离法PID控制规律。
二、实验设备PC机一台,TD-ACC+实验系统一套,SST51系统板一块。
三、实验原理和内容1、运算原理在模拟调节系统中,PID算法表达式为:为控制器输入;为控制器输出。
在计算机系统中,离散的数字PID算法可以表示为位置PID控制算式::采样周期,:采样序号,:第次采样调节器输出,:第次采样误差值,:第次采样误差值。
2、实验原理典型的PID闭环控制系统方框图如图3-1所示图3-1硬件电路原理及接线图如图3-2所示图3-2上图中,用P1.7来模拟1#定时器的输出,通过“OUT1”排针引出,方波周期=定时器时常2,“IRQ7”表示51的外部中断1,用作采样中断,“DIN0”表示51的I/O管脚P1.0,在这里作为输入管脚用来检测信号是否同步。
系统误差信号E通过模数转换单元“IN7”端输入,控制机的定时器作为基准时钟(初始化为10ms),定时采集“IN7”端的信号,并通过采样中断读入信号E的数字量,并进行PID计算,得到相应的控制量,再把控制量送到数模转换单元,由“OUT1”端输出相应的模拟信号,来控制对象系统。
在一般的PID控制中,当有较大的扰动或大幅度改变给定值时,会有较大的误差,以及系统有惯性和滞后,因此在积分分项的作用下,往往会使系统超调变大,过渡时间变长。
为此,可采用积分分离法PID控制算法,即:当误差较大时,取消积分作用;当误差较小时,才将积分作用加入。
3、参考程序流程图积分分离法PID控制实验的参考程序流程图如下图所示:图3-3参考程序请参照example51目录中的ACC-3-2-1文件夹中的A CC-3-2-1.Uv2。
为了便于实验参数的调整,分析讨论PID参数对系统性能的影响:(1)增大比例系数K P一般讲加快系统的响应,再有静差的情况下有利于减少静差。
实验五 数字振荡器实验一、实验目的本实验属于综合性实验,在项目开发中,我们经常要用产生某一频率的正弦振荡信号,比如在电话通信中,用两个不同频率的正弦信号的叠加来代表按键。
正弦信号的生成方法有三种,计算法、查表法和数字振荡器。
用计算法求正弦波的离散序列值程序设计容易,但实际应用时会占用计算时间,使系统运行速度变慢。
查表法是先通过matlab 将正弦波的序列值计算出来并寄存在存储器中,运行时只要按顺序和一定的速度取出便可。
这种方法要占用较多的存储空间,但是速度快。
第三种方法是利用数字振荡器来实现不同频率信号的叠加,这种方法通过迭代的方法计算出不同频率的正弦信号序列,结构简单,运算速度快,节省内存,因此在DSP 实际应用中我们选择这种方法。
数字振荡器的本质是,使用一个IIR (Infinite Impulse Response )滤波器,通过把它的极点放在单位圆上面来产生振荡。
利用正弦波sinx 的指数形式)(21sin jx jxe e j x --=可以得到正弦序列x(n)的Z 变换为)(21)sin(][jnwT jnwTe e j T n n x --==ϖ110011[()]()(X )2z 2jnwT jnwT n jwT n jwT nn n e e z e z e z j j ∞∞-----==⎡⎤-=-⎣⎦=∑∑() 12jwT jwT z z j z e z e -⎡⎤=-⎢⎥--⎣⎦222122cos()1jwT jwT z ze z ze j z z wT -⎡⎤--+=⎢⎥-+⎣⎦22sin()2cos()1z wT Czz z wT z Az B==-+--,此式在|z|>1时成立,且)sin(,1),cos(2wT C B wT A =-==。
根据Z 变换的基本原理和性质,序列x[n]及其Z 变换X (z )之间存在一一对应的关系,即对于给定的X (z ),可以通过反Z 变换,唯一地确定x[n]。
DSP实验一:常用指令及数据存储实验一、实验目的1、了解DSP开发系统的组成和结构;2、熟悉DSP开发系统的连接;3、熟悉CCS的开发界面;4、熟悉C54X系列的寻址系统;5、熟悉常用C54X系统指令的用法6、掌握TMS320C54的程序空间和数据空间的分配7、熟悉操作TMS320C54数据空间的指令二、实验设备计算机、CCS2.0版软件,DSP仿真器、实验箱。
三、实验系统相关资源1、DSP芯片引脚XF连接LED5,可通过ssbx,rsbx改变XF的值来控制LED52、系统时钟频率为10MHz3、TMS320VC54存储器分配图四、实验步骤1、用仿真机将计算机与数字信号处理实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS软件。
2、新建一个工程:点击Project-new,输入项目名Exp1, 并将工程文件保存在自己定义的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为CCS软件不能识别以中文命名的文件夹。
3、编写源程序:3.1 新建一个源文件File-New-Source File,出现文本编辑窗口3.2 复制以下代码到编辑窗口;File Name:exp01.asm;the program is compiled at no autoinitialization mode.mmregs.global _main;声明_main可被其他模块引用,程序加载到目标板后,;会自动跳转到标号为_main的汇编指令STACK: .usect ".stack",10h.text_main:stm #STACK+10h,sp ;设置堆栈指针STM #0, CLKMD ; (to divider mode before setting) TstStatu1:LDM CLKMD, AAND #01b, A ;poll STATUS bitBC TstStatu1, ANEQSTM #0xF7FF, CLKMD ; set C5402 DSP clock to 10MHz loop:ssbx xf ;将XF置1,熄灭LED5call delay ;调用延时子程序,延时rsbx xf ;将XF置0,点亮LED5call delay ;调用延时子程序,b loop ;程序跳转到"loop";延时子程序delay:stm 270fh,ar3 ; 270fh=9999loop1:stm 0f9h,ar4 ; 0f9h=249loop2:banz loop2,*ar4-banz loop1,*ar3-ret.end注意:(1)源代码的书写有一定的格式,每一行代码分为三个区:标号区、指令区和注释区。