这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » Renesas » P7口 IO反转输出的两个问题

共20条 1/2 1 2 跳转至

P7口 IO反转输出的两个问题

高工
2012-07-29 19:24:24     打赏
我准备用P7的P70到P77驱动12864 LCD。可在测试P7口反转时候遇见了些问题。

用示波器查看每个引脚的波形,如果频率高了输出波形就会变形。

每次反转延时1ms时的波形正常,8个脚输出都是个方波,如下图:

 

如果我不做延时连续对P7赋值:

          P7 = 0xAA;

          //delayms(1);

          P7 = 0x55;

          //delayms(1);

此时,P7口输出的波形就会有很大的变化:
P71 72 73 74 78输出波形

 P77 P75输出波形:

当我直接使用P7 = ~P7;这样的语句对P7进行IO反转时,波形又正常了:

无论是P70还是P77,都是如下的波形:

问题1为什么会有这种情况?

问题2 如果说IO反转速度造成的波形畸变,为什么第二种快速反转时,P70和P77波形会有那么大的差别啊?

问题3,IO反转速度的问题:

从上边的图可以看到两种反转方法得到的反转速度有很大差别的

使用P7 = ~P7;这样的语句进行IO反转时候,反转频率只有不到3M。

使用P7 = 0xAA; P7 = 0x55;这样的方式进行IO反转时,反转频率能达到6M多。

这两种方式反转IO的速度为什么会差那么多?两种方式有什么差别?

 

一个刚接触RL78的人,可能有点弱智  见谅




关键词: 反转     输出     两个     问题     波形    

院士
2012-07-29 20:27:50     打赏
2楼
等待专业人士

专家
2012-07-29 23:40:39     打赏
3楼
会不会是那两种语句的汇编指令周期不同,也就是前者是双周期指令,而后者是单周期指令,总之前者的速度是后者的二分之一

高工
2012-07-30 09:34:16     打赏
4楼
最大的可能是LZ的示波器带宽问题
示波器的带宽多少啊?

高工
2012-07-30 09:36:04     打赏
5楼
下面三张图的频率分别到了8M和2.5M
如果用10M或20M带宽的示波器,出现这样的波形不奇怪

院士
2012-07-30 10:42:23     打赏
6楼
我觉得很可能是受到了IO最快翻转速度的影响。

菜鸟
2012-07-30 11:22:03     打赏
7楼
个人见解:
3M\6M速度超过了单片机的极限,变形是可以理解的,如果需求有这样高用FPGA吧,我用PIC,40K就变形了。

P7 = ~P7和P7 = 0xAA; P7 = 0x55;的区别,反汇编看汇编的机器指令,才能比较出差别。

此外:还真没见过这样玩的:
            while(1)
            {
                 P7 = ~P7  ;
            }
见到的都是:
            while(1)
            {
                 P7 = ~P7;
                delay();  
            }

不知道你要实现什么目的。

高工
2012-07-30 11:45:46     打赏
8楼
只是为了测试翻转速度。玩每个单片机的第一步就是io翻转,点灯

菜鸟
2012-07-30 12:49:39     打赏
9楼

这速度点灯毫无悬念。
电平翻转后加延时,否则由于余晖看起来会常亮。

测试单片机IO翻转速度,我我觉得意义不大,你的测试方法也未必合理,看看手册,也许有相关技术参数


高工
2012-07-30 13:14:08     打赏
10楼
学习了,膜拜中

共20条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]