打印

求一简单程序,高手快来帮忙~

[复制链接]
4647|46
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangwenjia|  楼主 | 2007-10-30 19:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
P1.0 作为输入  P1.1 作为输出

一直检测P1.0端,当出现低电平时 延时100MS ,再测P1.0,如果还是低电平,则在P1.1端输出一个脉冲后返回循环起点,反之则返回循环起点


我是新手,希望前辈们能帮我写下!~~

有急用 谢谢~

相关帖子

沙发
NE5532| | 2007-10-30 20:24 | 只看该作者

脉冲要多宽?

使用特权

评论回复
板凳
NE5532| | 2007-10-30 20:25 | 只看该作者

建议楼主自己先画下流程图,这样对思路有帮助。

使用特权

评论回复
地板
alice84| | 2007-10-30 20:44 | 只看该作者

.....

脉冲延时程序

使用特权

评论回复
5
huangqi412| | 2007-10-31 08:49 | 只看该作者

跟按键消抖意思差不多,

lz自己画一下流程图把,很容易的,
一个死循环
(
检测p10是否为低
如果为低
延时100ms 
再检测是否为低
如果是,p11输出脉冲
)

使用特权

评论回复
6
wangwenjia|  楼主 | 2007-10-31 17:48 | 只看该作者

脉冲100MS也是

使用特权

评论回复
7
lixuanbing| | 2007-10-31 18:13 | 只看该作者

建议自己写?

你既然知道原理过程,写这写简单的程序想必没有什么问题?不要拿自己是新手作为挡箭牌,其实你根须要锻炼。都是这样过来的。
 这么多热心的高手都告诉你了实现的方法。

使用特权

评论回复
8
hill72| | 2007-10-31 18:53 | 只看该作者

是不是作业啊?

使用特权

评论回复
9
hab2000| | 2007-10-31 18:57 | 只看该作者

真懒!几句程序都要人写!

学习态度不端正!

使用特权

评论回复
10
wxj1952| | 2007-10-31 19:35 | 只看该作者

用RTX51tny写。

这就像盖房子,大家都自己写,相当于所有人都用砖头垒房子,垒的再好也是民房。中国有的是人,所有人的作品都一样,有什么意思?
    而突然有一个人是用RTX51TNY写的,就象是用了能够盖摩天大厦的钢筋水泥建筑构件搭起来的简单建筑,同样的房子,又简单又艺术,“一览众山小”。

   其实这种概念在儿童时期就有了,价钱贵的积木,(包括金属积木)一定构件形式多样,聪明的小孩就尽可以发挥创造思维。便宜的积木,仅几块方方正正的木头,培养出的孩子将来只能成为工程师而不是建筑师。

   愿意的话,送给你我写的这道题程序。当时令老师大跌眼镜,成为范本全系过目。他还副教授,连RTX51TNY都没用过。

使用特权

评论回复
11
jerkoh| | 2007-10-31 20:57 | 只看该作者

楼上强

LS 强!
你用uC/OC II 写
可能正教授跌眼镜

使用特权

评论回复
12
wangwenjia|  楼主 | 2007-10-31 21:33 | 只看该作者

答复大家

呵呵 
我自己写了下
但不知道对不对
所以想看下大伙的 写法

使用特权

评论回复
13
hotpower| | 2007-10-31 21:38 | 只看该作者

用keil c51软件仿真就明白了,很容易的~~~

使用特权

评论回复
14
NE5532| | 2007-10-31 22:44 | 只看该作者

流程图都出来了,可以自己写咯。

使用特权

评论回复
15
FM97.7| | 2007-11-1 01:13 | 只看该作者

自已写

很简单的程序,自已更应该锻炼锻炼.不要老想别人帮你.
除了一个延时子程序,就只有几条命令.学习!!!!

使用特权

评论回复
16
ayb_ice| | 2007-11-1 07:58 | 只看该作者

LZ你也太不愿意动手了吧。。。

使用特权

评论回复
17
wxj1952| | 2007-11-1 21:01 | 只看该作者

回11楼jerkoh

Keil C带了RTX51.LIB及RTX51.H,看过徐爱钧、马忠梅的书都知道怎么用。就怕教授没注意到。

uC/OC II ?与8051和Keil C51不搭界。

void job0(void) _task_0 
{  
while(1){
   while(!P1^0) os_wait2(K_TMD,100);
if(!P1^0) break;
   P1^1=0;
   os_wait2(K_TMD,100);
   P1_1=1;
   }
}

大概.....循环有错误。不严格。

使用特权

评论回复
18
ayb_ice| | 2007-11-2 07:59 | 只看该作者

是K_TMO,不是K_TMD,这种情况用K_IVL更合适

使用特权

评论回复
19
ldyeah| | 2007-11-2 13:16 | 只看该作者

我也初学

呵呵,我也是个初学者
刚刚看到这个自己写了下
请高手指点指点!

P10   EQU  P1.0
P11   EQU  P1.1

       ORG     00H
       JMP     MAIN
       ORG     100H
MAIN:  SETB    P10
       CLR     P11
       MOV     C,P10
       JC      LOOP
       RET
LOOP:  LCALL   DELAY
       MOV     C,P10
       JC      LOOP1
       RET
LOOP1: SETB    P11
       LCALL   DELAY
       CLR     P11
       SJMP    MAIN
DELAY: MOV     R2,#0C2H
DELAY1:MOV     R3,#0FFH
       DJNZ    R3,$
       DJNZ    R2,DELAY1
       RET
延时计算不是太精确,接进100MS   

使用特权

评论回复
20
huangqi412| | 2007-11-2 16:37 | 只看该作者

呵呵,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

79

帖子

0

粉丝