找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 940|回复: 1
打印 上一主题 下一主题

一个简单的IO程序问题!

[复制链接]

8

主题

11

帖子

92

积分

二级会员(20)

Rank: 2Rank: 2

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

EDA365欢迎您!

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

x
各位大侠帮忙看一下这个程序,为何我无法对单片机的IO口进行单独的位操作。即使按键没有按下,也就是PIND0为高电平的状态下,程序依然进入到了if里面去执行语句。按正常情况的话,它是不应该执行if里面的语句的。这是怎么回事?程序和仿真图片如下:
; l; p2 R4 N* f) {" F. m#include<stdio.h>
: o8 L& H' }1 Q: Q; _: ^#include<iom128v.h>& ]. q/ K4 |/ {: L
void delayns(void)
  \7 g! S9 a; y6 O/ z2 t; O0 S& S{
! _3 _, E/ P$ j6 Y( L1 x- v   unsigned int i;
6 N9 Q& H* X$ K9 ]& n# ~( ~! H  for(i=0;i<50;i++);
1 r  J0 I' n( t8 [/ b}6 R: A" [' A. E6 o: k  e
' T! r* u2 L' X' M6 l" f
void main(void)  _4 \( J: u3 w9 g
{6 \. v  W% L9 H2 n& F
   DDRD=0X00;! i& L3 T; F! U! A0 v  o
  DDRA=0XFF;! P  e. t3 Y1 z0 d3 g: O
  DDRE=0X04;
2 |" j9 }3 F4 ^( l4 L2 z: {5 ]  PORTD=0XFF;( ]! W  x5 v8 W+ S8 @" i' }" p
  PORTA=0XFF;
. T) u- ^+ W; D: r0 ~. U( W" ]5 J  PORTE=0X04;* M# \2 G* {6 w9 \, L
  while(1). u4 U! a3 e$ T4 n
  {
; U, y$ M7 I# N  L    if(PIND0==0)
# @, ^7 O+ y7 x* J% K6 h6 N  {
* z) K$ V& c4 A) P    delayns();
1 @& Q& w7 j" \5 R+ M) D     if(PIND0==0)
! t0 w3 ?! ~- A- p    {PORTA=0XFE;}
1 ~! v' l+ X0 q9 b9 ?  }4 i) m% m1 y5 S7 f" B, Q
  }% v0 g. x$ I9 m  S& R
}
3 h( H+ F8 z* M9 ]) j

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

1111111111.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

0

主题

168

帖子

2538

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

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

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-22 16:52 , Processed in 0.059585 second(s), 34 queries , Gzip On.

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

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

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