导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→有关51的IO口的几个问题?

* 37101: 有关51的IO口的几个问题?

   齐浩 
齐浩发表的帖子 

 有关51的IO口的几个问题?
我是初学者
有关51的IO口我有几个问题要问,请指教:
1.P0口在做IO口用时,要加上了电阻,一般多大?10K?这是怎么算出来的?

2.P1/2/3内部有上拉电阻,所以当作IO口时不需加上拉电阻,那么是不是说,任何时候,都不需加?遇到OC呢?如有I2C挂在上边,那还要再另加上拉电阻吗?像有些DATASHEET上的典型应用中接到uP(并未特别指出哪种uP)的示意图中,加上拉电阻的情况,我用P1/2/3时还需再加上拉吗?如DS1820等的DATASHEET上建议的强上拉的情况怎么处理呢?如果用P口做按键输入,那么由于内部有上拉,是不是可以直接经过按键接地呢?我没看见过这种用法,但是否理论上可行?

3.P1/2/3的操作有对锁存器和对引脚操作的区别,我有些区分不开,是不是简单点,用指令就能分开?如只有MOV是对引脚读写,其他的如ANL,ORL等就是对锁存器操作?两种操作的结果有什么区别,会互相影响吗?是不是这两种操作的区别仅体现在读上?

4.很多地方提到对端口的操作:读--修改--些端口操作,没能搞懂,这样操作,有什么好处?是因为这样不会引起错误?那么,如果引起错误,会是什么样的错误呢?不用这种,直接读写,不行吗?

5.P1/2/3做输入口,学要先写FFH,以使内部场效应管截止,从而不会出现误读,那么还是那个问题,我若对某1个端口做读操作,先写了1,用什么命令才是读入了引脚的信息呢?举个例子,如果我用P1.1接按键,来查询,用如下命令能实现吗(有健按下跳到KEY1)?SETB P1.1    LOOP:JNB P1.1,KEY1   AJMP LOOP;(暂且不去管消抖) ,这样写,能实现吗?是在读引脚状态吗?另外,我也读了一些程序,我特地注意了一下,很多在进行端口读操作时并未进行先写1,是不是因为复位时P口已经是FFH了?还有的程序,如用口线对串行器件操作,先写一的操作怎么处理?我看过一个对DS1302进行读写的程序,在对一串数据进行读时,只是在第一次时进行了写一操作,其他的就是顺着读下去了,这样行吗?不会误读?还是就是应该这样,只对P口进行一次写一,就可以?从P口的结构来看,我觉得不是,应该每读一位前都写一,不知对不对?最后,如果不进行写一操作,错误率会很高吗?


我是初学者,这些问题想了很久,一直也没搞清,请大虾帮忙,别光看看,发表点评论,解决一个是一个啊。

再次感谢!


发表时间:2003年7月15日11:13:55

  
回复该帖

本主题共有 19 帖,分页:>>>>>该主题的所有内容[19]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  37104.[详细]都20好几的人了,如果上述这些问题都没搞定,还是改行吧,这口饭不是谁都能吃的..
摘要:都20好几的人了,如果上述这些问题都没搞定,还是改行吧,这口饭不是谁都能吃的......(71字)
- [guest][1011次] 2003年7月15日

  37168.[详细]入门有先后术业有专攻这很正常
摘要:入门有先后 术业有专攻 这很正常......(32字)
- [麦迪那师][1555次] 2003年7月15日

  37110.[详细]不要打击他,或许他在这方面了解不透(我也不懂,但我会用),齐浩,认真看看书吧(北航的不错)..
摘要:......(无内容)
- [xdkjason][1140次] 2003年7月15日

[上一篇帖子]:错误理解。 我的观点是:女生学电子,除加倍努力外,还应具有男生的思维方式。 我不是老
[下一篇帖子]:请不要在公众场合讨论商业软件的downlode与crack问题(不要太嚣张)