EDA365电子论坛网

标题: MEGA128的按键程序问题! [打印本页]

作者: weixiao8776    时间: 2012-7-28 11:55
标题: MEGA128的按键程序问题!
各位高手帮忙看一下我的这个程序,为何在按键按下之后,PORTA却没有输出相应的值?
8 D0 h3 S+ I. a! O; }#include<stdio.h>
5 o6 T3 b+ N3 z6 g#include<iom128v.h>
5 S0 t# Z+ `# p9 b6 o! M. K# l/ L- v' o+ w+ @% W: Y7 `% I
void delayns(void)8 }2 ]0 f+ q# f# y% z" E
{0 e5 B3 {$ E2 ?* B# i
         unsigned char i;5 t6 \. S: v& ?  `8 j
         for(i=0;i<50;i++);/ W. k# {( y9 |0 T
}# d% b/ p3 x2 ?( C! Y+ P$ c

+ {+ V9 E) L% x0 f* x1 e2 ]- J9 T  j: V% q0 B* N" |! \" E7 M6 b
void main(void)
& D+ S3 n. G3 F" M% N7 |{
/ ^5 R; `- B& H* s# O4 H          DDRD=0X00;
. c% s2 X: y' s; z! j  N8 u5 Q         DDRA=0XFF;7 m5 B0 O: w2 P3 P
         DDRE=0X04;
5 Q* H6 g: G6 Z, n( |4 y% m# C6 }         PORTD=0XFF;
( o* \( z0 q" }         PORTA=0XFF;, Y" A9 f5 X! \/ [8 r2 }# M
         PORTE=0X04;- B! y; U$ ?0 v5 H
         while(1)
5 R+ j1 g! q4 B         {% h$ u7 @  Q8 B
                  if(PORTD==0xFE)" X% ]. I4 r' L8 V+ L
                {
+ n3 I& ]/ N9 N                          delayns();
5 d2 Z$ z4 x5 {; m" c                          if(PORTD==0XFE)
" w& k, S1 @0 j1 I4 ]" h                         PORTA=0XFE;! c  w  d% S+ x
                }
- `' s  W+ A' K9 l. s3 r6 O         }. k7 k; P* W" H+ ]  C7 V( {  K
}

222.jpg (19.27 KB, 下载次数: 9)

按键

按键

作者: jinbangzhou    时间: 2012-7-31 09:13
你读端口应该用寄存器PIND,而不是PORTD
作者: xingxing    时间: 2012-8-13 17:35
比较同意楼上的意见。
作者: yuhuikeji    时间: 2012-11-16 11:47
你都没定义输入输出状态,怎么会有反应呢?




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2