找回密码
 注册
关于网站域名变更的通知
查看: 1404|回复: 1
打印 上一主题 下一主题

一个简单的IO程序问题!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-7-29 12:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
各位大侠帮忙看一下这个程序,为何我无法对单片机的IO口进行单独的位操作。即使按键没有按下,也就是PIND0为高电平的状态下,程序依然进入到了if里面去执行语句。按正常情况的话,它是不应该执行if里面的语句的。这是怎么回事?程序和仿真图片如下:
8 E- F, n6 k% z2 j$ X5 q: @2 z#include<stdio.h>' D! A6 k& X- |; @( z% H
#include<iom128v.h>
- T* q! U% S" `" {7 d0 Pvoid delayns(void)
8 L: ?9 w* V9 |, E" ~( X# C; Y/ g9 s{
0 j$ l8 H, I* a   unsigned int i;" c5 i" ?  ?$ I# Y9 C2 \% [
  for(i=0;i<50;i++);
, {" p9 i5 E) }4 M  }}
( i5 p8 ~8 a3 F$ W0 H
4 t4 V0 C, ~3 k* p, mvoid main(void)
, O) ^6 y8 c0 y& W$ w{
7 ]1 q- g8 T/ z* O+ b( t   DDRD=0X00;. D: P7 T6 ~: _9 f  k
  DDRA=0XFF;* z& E  a" W$ ]( a, I' T5 Y
  DDRE=0X04;) M7 ], f  Q5 W+ _5 w0 C$ m
  PORTD=0XFF;
, p; q* x- j* X1 \! {4 y  PORTA=0XFF;+ q# T" @8 U1 W: a, b
  PORTE=0X04;( u! P% N: m; l" B7 y. t
  while(1)# q* W% O# P3 `; D/ M
  {
- }, U) x$ h; d. n' j6 b& O    if(PIND0==0)
4 s$ V8 O( R0 s9 s# O* X  {
7 N  b8 d  ?5 g    delayns();
: _8 w( C5 U' R+ {' [$ y     if(PIND0==0)
# t; G: {0 h9 {+ W, `+ ~    {PORTA=0XFE;}
' ^2 L/ X- |* a" V  }6 `. ?  v. |/ C
  }9 o  W  n+ Z5 B9 t$ P2 I; y
}
+ e0 K. H  z9 Y6 u

1111111111.jpg (31.18 KB, 下载次数: 3)

1111111111.jpg

该用户从未签到

2#
发表于 2012-7-29 15:56 | 只看该作者
我不知道您用的是不是51单片机,我依稀记得51单片机读取端口时,先要输出高电平,然后再读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-5 00:29 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表