找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

一个简单的IO程序问题!

[复制链接]

8

主题

11

帖子

92

积分

二级会员(20)

Rank: 2Rank: 2

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

EDA365欢迎您!

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

x
各位大侠帮忙看一下这个程序,为何我无法对单片机的IO口进行单独的位操作。即使按键没有按下,也就是PIND0为高电平的状态下,程序依然进入到了if里面去执行语句。按正常情况的话,它是不应该执行if里面的语句的。这是怎么回事?程序和仿真图片如下:; [) s5 ], i& t- K5 q
#include<stdio.h>0 W; P: I6 R- p7 R3 M! U, I( Y* C
#include<iom128v.h>
; ~- r7 ]: Y: G9 Yvoid delayns(void)
& R) U1 S# Q' r) }. D, v8 n{
$ F. ?! s( P- f+ w   unsigned int i;6 s% @$ w0 A0 }
  for(i=0;i<50;i++);
. q3 M" q! c6 g$ `2 U}1 D- ]: b* L1 y/ H
! Z2 ]5 f' z" G, w8 a8 {
void main(void)7 A& \1 ^& n5 m' r$ S+ O
{
( y% t5 ?7 p; u- L: }" k   DDRD=0X00;; S/ F% f& g; D4 P1 U" M. Y
  DDRA=0XFF;
7 u) ^% J; A& F& s  DDRE=0X04;2 \7 [7 D, Q: r7 m& ?3 v
  PORTD=0XFF;
  O. h# U( O5 R) C4 G/ ~" S  PORTA=0XFF;: p* I9 T9 x* \9 V
  PORTE=0X04;1 E. T+ d0 ?  ~6 N
  while(1)/ ?, T4 |1 K& H- r) E% \6 C
  {9 z/ c8 w4 A# k1 v- m4 l8 `
    if(PIND0==0): d) g# @/ c$ f+ W& M1 I8 p( t
  {7 S6 m1 U- K  Y6 O5 z6 H
    delayns();
- n5 g; }+ x; P7 G3 O  [1 q+ c     if(PIND0==0)& x! ~( M- d, Q" q
    {PORTA=0XFE;}
5 q1 A7 i9 k& J. v, z* o  }  u8 A3 h0 T' q2 S2 b! F0 s
  }
/ ^) t& w5 F6 {: n+ c5 B}
; t7 C6 c2 X' s3 f7 e7 Z

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-21 03:01 , Processed in 0.058475 second(s), 35 queries , Gzip On.

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

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

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