本帖最后由 sunoracle 于 2012-10-9 08:36 编辑
untitled.JPG (82.06 KB, 下载次数: 0)
下载附件
2012-10-9 08:17 上传
(1)单片机的一个io口 收到一个低电频,就使能Y轴的脉冲计数。
(2)Y轴向的脉冲输入中断P3^2。当脉冲计数等于1000个时。使能X轴向的脉冲中断计数。
(3)X轴向的脉冲输入中断P3^3。当这个X轴向的脉冲停止2秒后,给其中一个IO口一个低电平。
请问用C语言如何写?
伪代码:
(1) if(0 == P1.0) then EX0 = 1;// 如果io口 收到一个低电频,就使能Y轴的脉冲计数。Y相脉冲和P3^2连。
(2) Ex0_interrupt interrupt 0
if ( 1000 == count)
then EX1 = 1; // Y轴向的脉冲输入数量等于1000时。使能X轴向的脉冲计数中断。 X相脉冲和P3^3连。
(3) EX1_interrupt interrupt 2
enable TR0 = 1; //使用计时器是否为计算2秒钟。
(4) time_calculate interrupt 1
++timecount; // 每次中断50ms。
if (40 == timeCount) //如果最后一个跳变脉冲后,计时器达到40次,40*50ms=2s,就使一个IO口输出低电平。
P1.1 = 0;
这样写的难点是如何让每次X轴脉冲跳变之后,都能初始化timecount为0呢?
一周热门 更多>