基于dsp28035之Simulink实验系列(2)-定时器与按键外部中断

目录

前言

一、定时器

二、按键外部中断


前言

simulink来搭建模块还是相当方便的,这一次我们来介绍定时器和按键外部中断的模型搭建

 

一、定时器

定时器模块相信学过单片机的同学都不陌生了,这是极其重要的一部分,下面就介绍一下定时器在simulink中的运用

在simulink中,我们可以发现在已给的模型里并没有定时器这个模块,那么它去哪里了呢?

答案在:

 

我们可以看到它系统内定了它的基础速率触发是采用了定时器0(默认),也就是说,你模块里使用的采样时间都是源自定时器0了,这就相当方便了

当然我们还可以看到:

 

在设置里面还有这个基本的采样时间设置,那么这个原始值是auto(自动),但是这里我设置为0.5,意思就是0.5s的采样时间,那可能大家就会好奇这里设置0.5s,但是我们模块里的采样时间设置为1s,会不会产生冲突呢?

 

其实不冲突,但是会有优先级别的产生,若是基本采样时间设置为0.5,但是模块采样时间设置为1s,那么优先级别高的一定是模块采样时间,即执行1s程序,这里就是1s闪烁

但是若是设置模块采样时间为inf (无穷大)或-1,那么就会执行默认的基本采样时间0.5s,若是基本采样时间设置为auto,那么这两个输入inf和-1就相当于不采样了,即连续模式。

二、按键外部中断

首先搭建好基本模型,这里利用外部中断1,采用下降沿触发的按键中断,该模型主要实现按键中断触发函数功能,触发函数内主要是基本的led翻转模型

 

下面介绍一下基本的模型配置

 首先是如何把规定的GPIO口设置为外部中断,还有配置成上升沿或者下降沿触发,28035的库里面是没有这样配置的,只有一个硬件中断配置模块,那么我们就要到设置里面去找了

 

这里就已经配置好了,我配置了GPIO27,下降沿触发

下面是硬件中断模块配置,为什么是1和4呢,右键模块,拉到下面help,到里面可以快速查找中断分组,或者可以到说手册书籍查阅

 

 

配置好后,下面就是触发函数配置了,这就相当于我们写程序的中断函数了

下面先找到触发函数模块,可以双击左键输入function即可查到,也可以到库里面查找 

 

选择后连接好,就可以在该系统里面写自己想要的中断函数了,这里就是简单实现led按键翻转

 

 最后再成功烧录,按下既定按键,就可以观察到翻转现象了

end:

点个赞收藏一下吧

 

  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
MatlabGUI里面启动或者暂停Simulink模型-sysstop_new.m 针对这个问题:https://www.ilovematlab.cn/thread-23233-1-1.html 现在我做一个集中解答,从mathworks那里学习了一下。 第一步:创建你自己的Simulink模型,这个不用我讲吧,我们使用以下模型做演示: start_and_stop.mdl 第二步:创建自己的GUI, 这个论坛里也有例子,我们使用以下文件。 start_and_stop_gui.fig start_and_stop_gui.m Figure12.jpg 在start simulation里面,直接用sim函数,这个大家好像都会: % --- Executes on button press in startsim. function startsim_Callback % hObject handle to startsim % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data modelname = get; stoptime = str2num); sim复制代码 在stop simulation,里面,callback这样写: % --- Executes on button press in stopsim. function stopsim_Callback % hObject handle to stopsim % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data global GUIStopFlag; GUIStopFlag = 1; 复制代码第三步:写一个s函数,不停地检测这个GUIStopFlag参数,发送命令给STOP按钮,告诉他,可以结束了,简单吧? sysstop_new.m 第四步:在simulink模型里面,加上这个S函数 Figure13.jpg 好了,大功告成了,现在你就可以在GUI里随意控制Simulink模型了。 注:文中所用的模型,GUI文件,由mathworks公司提供。
### 回答1: 2FSK是一种将数字信号调制成两种离散频率之一的调制方式。在Matlab-Simulink中,可以使用频率调制器模块和正弦波发生器模块来实现2FSK数字调制,具体原理是通过频率调制器将两个不同的数字信号转换成两种不同的频率信号,通过正弦波发生器模块将这两种频率信号合成为一个数字信号,并输出。实现这个过程中需要用到调制指数和载波频率等参数,具体实现可以参考Matlab-Simulink的帮助文档和示例程序。 ### 回答2: 2FSK(双频移相键控)是一种数字调制技术,它是通过将数字信息与两个不同的载波信号进行移相来转换为模拟信号。它的基本原理是将两个不同频率的载波信号分配给数字1和0。在2FSK中,频率偏移量通常为正弦函数。 在matlab-simulink中,我们可以使用“Baseband”库中的不同模块来模拟2FSK数字调制技术。首先,我们需要使用“Signal Generator”模块来生成数字信息流,然后使用“Modulator”模块将该信息流转换为2FSK调制信号。 在2FSK调制信号中,基带数字信号会被混合到具有两个不同频率的相位移位信号以产生调制后的信号。然后,我们可以使用“Channel”模块来模拟信道传输,该模块可以引入噪声,多径环境,多普勒效应,频繁衰减等影响。最后,使用“Demodulator”模块来还原原始数字信号。 在实现2FSK数字调制仿真过程中,在以上模块的配置时,应注意适当设置噪声和增益,并进行调制后信号的可视化以评估其调制效果。同时,在通信中还需要了解如何进行解调、优化接收信号等一系列的问题。 总之,2FSK数字调制技术在matlab-simulink的建模和仿真过程中,可以通过上述模块的组合和配置,模拟通信链路的各种情况和环境,进一步评估和优化通信方案。 ### 回答3: 2FSK数字调制是一种常用的数字调制方式,它将一个二进制数字分别映射成两种不同的频率信号,通过载波的频率变化来进行数字传输。在matlab-simulink中,我们可以通过建立模型进行仿真。 首先,我们需要设置载波频率和调制频率。载波频率是用来传输数据的正弦波振荡频率,而调制频率则是二进制序列的变化频率。在matlab-simulink的信号源中,我们可以设定这些值。 其次,我们需要调整幅度和相位。调制信号的振幅和相位与数据信号相关,通过模块运算符来实现。同时,我们需要设定两种不同的相位角度,以便产生不同的频率。 接下来,我们需要建立一个2FSK数字调制器,将数据信号映射成频率信号。在matlab-simulink的工具栏中,我们可以找到数字调制模块,并进行参数设置。在设计调制器时,我们需要将二进制信号通过非协程计算显示为2FSK信号,并设置相应的带宽和开关符号位置。 最后,我们需要将数字信号传输到接收端,并进行相应的解调。这可以通过设计2FSK解调器来实现,该解调器根据接收到的信号相应的解调出二进制信号。在matlab-simulink中,我们可以建立一个解调器模型,并设置合适的解调参数。 总的来说,基于matlab-simulink的2FSK数字调制原理和仿真就是通过建立模型,设定参数,调整幅度和相位,建立调制器和解调器,并进行数字信号传输和解码来实现的。这种模型可以帮助我们更好地理解2FSK数字调制的原理,同时还可以实现数字通信的仿真。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不说二话的自家人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值