【keil软件】仿真时如何使用逻辑分析仪查看波形

转载
在软件仿真时可以通过逻辑分析仪来查看IO口的波形。但是逻辑分析仪对于新手来说不知道怎么用,现在就来说说逻辑分析仪如何设置。
首先用LED灯来测试,代码如下:

#define LED0 PAout(8)// PA8
#define LED1 PDout(2)// PD2	
void LED_Init(void)
{ 
 GPIO_InitTypeDef  GPIO_InitStructure; 	
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE);	 //使能PA,PD端口时钟	
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8//LED0-->PA8 端口配置
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		  //推挽输出
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		  //IO口速度为50MHz
 GPIO_Init(GPIOA, &GPIO_InitStructure);  //根据设定参数初始化GPIOB.5
 GPIO_SetBits(GPIOA,GPIO_Pin_8);						 //PA8 输出高
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;	    		 //LED1-->PD2 端口配置, 推挽输出
 GPIO_Init(GPIOD, &GPIO_InitStructure);	  				 //推挽输出 ,IO口速度为50MHz
 GPIO_SetBits(GPIOD,GPIO_Pin_2); 						 //PD2 输出高 
}
int main(void)
{
    delay_init();       //延时函数初始化
    LED_Init();         //初始化与LED连接的硬件接口
    while(1)
    {
        LED0 = 0;
        LED1 = 1;
        delay_ms(100);   //延时100ms
        LED0 = 1;
        LED1 = 0;
        delay_ms(100);  //延时100ms
      }
}   

PA8和PD2口分别接一个LED灯,主程序中控制LED灯闪烁。
下来看看如何用keil软件仿真,并通过逻辑分析仪观察LED波形。

首先点魔术棒,打开设置界面。
在这里插入图片描述
在Debug选项中选择软件仿真,选择Use Simulator 选项。选择好之后点OK按钮。
在这里插入图片描述
然后点Dubug按钮,进入仿真界面。
在这里插入图片描述
在这里插入图片描述
然后点模拟分析按钮,在下拉列表中选中逻辑分析仪。
在这里插入图片描述
这时候会打开逻辑分析仪的界面。
在这里插入图片描述
下来开始给逻辑分析仪中添加要观察的IO口。
在这里插入图片描述
点击逻辑分析仪窗口左上角 Setup按钮 打开设置界面。
在这里插入图片描述
设置界面打开后,里面是空白的。下拉我们给里面添加要监控的IO口。LED灯使用的是PA8 和 PD2 ,先添加PA8,首先点新建按钮。
在这里插入图片描述
然后再下面新建的编辑框中输入 (PORTA & 0x00000100)>> 8
在这里插入图片描述
然后显示类型选择 位,显示颜色可以自己定义。
下来用同样的方法添加PD2口,选择新建按钮,然后再编辑框中输入 (PORTD & 0x00000004)>> 2 ,显示类型选择位显示颜色自定义。
在这里插入图片描述
然后点close按钮,关闭设置窗口。
在这里插入图片描述
设置好之后,逻辑分析仪窗口左侧会出现刚才设置的两个IO口。然后点全速运行,开始执行程序。
在这里插入图片描述
等程序执行一段时间后,点停止按钮。
在这里插入图片描述
这时候逻辑分析仪窗口就会出现,两个LED的波形。
在这里插入图片描述
通过波形上就可以看到LED口电平隔0.1s翻转一次。说明程序执行成功。
通过对逻辑分析仪窗口添加要观察的IO口就可看到对应IO口的波形,但是感觉上面的方法添加IO口时比较麻烦需要计算每个IO口对应的值。还有没有其他简单的添加IO口方法。下面就说一说比较简单的添加方法。
方法二:
在这里插入图片描述
新建添加后,直接在编辑框中输入PORTA,然后底下显示类型中选位类型,下来在右移设置框里面填8,代表PA口的值右移8位,也就是要观察PA8的值。
用同样的方法添加PD2.
在这里插入图片描述
添加完成后点close按钮,关闭设置窗口。然后全速运行一会程序后,点停止按钮。观察逻辑分析仪窗口波形。
在这里插入图片描述
波形和刚才仿真的一样,注意逻辑分析仪窗口左侧显示的是PORTA和PORTD。和第一种方法直接位定义显示有区别。
还有一种更简单的方法。
方法三:
在这里插入图片描述
在新建的时候直接输入 PORTA.8 代表PA8口,输入完之后按回车键,软件会自动变成位定义。
在这里插入图片描述
然后在底下显示类型中选择位
在这里插入图片描述
同样的方法添加PD2口,新建编辑框,然后在里面输入PORTD.2,然后按回车键。
在这里插入图片描述
软件会自动变成位定义,然后在底下显示类型中选择位,设置完成后点close按钮。关闭设置窗口。
在这里插入图片描述
然后全速运行一段时间,停止仿真。观察LED口波形。
在这里插入图片描述
波形和前面两种方法一样。
可以通过三种不同方法设置逻辑分析仪观察值,综合看来第3种设置方法比较简单快捷。
如果想要实时显示波形的话在调试的状态下选择view菜单下的 periodic window update。
在这里插入图片描述
这时候全速运行,就能实时显示LED的波形了。
在这里插入图片描述

特别注意;(PORTD & 0x00000004)>> 2 之所以代表PD2,是因为4为0100刚好是第2位是1 PD2 (PORTA & 0x00000100)>> 8 中的8刚好为100000000,第8位为1 PA8
  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值