找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6471|回复: 4
打印 上一主题 下一主题
收起左侧

[求助]C51里怎么实现P1口输入啊?

[复制链接]
跳转到指定楼层
楼主
ID:33944 发表于 2012-2-1 20:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我在做AD实验时,用C语言的程序里,把P1置1了,发现还是不能当做输入,具体该怎么做呢?下面是我写的程序:

硬件:AD输出接到P1,同时也接到8个LED。led可以显示不同的灯亮。我想把这些值从P1输入,然后从P0输出,从P0口输出后面的也解决了。只是P1=1后,还是没有 能 把AD的值从P1输入(这就是问题)。请问程序里有什么问题?

该怎么修改?不胜感激!
  

#include<reg52.h>
sbit wr=P3^6;
sbit rd=P3^7;
sbit dula=P2^6;
sbit wela=P2^7;
#define uchar unsigned char
#define uint unsigned int
uchar disnum,count,bai,shi,ge;
uint m,n;
display(uchar,uchar,uchar);
delay(uchar);
uchar code tabledu[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void init();
void start();
void main()
{
 P1=0xFF; //P1 gao?
 delay(500);
 while(1)
  { 
   init();
   start();
   delay(2);
   rd=0;
   delay(2);
   rd=1;  
      delay(2);
 //P0=P1;
  disnum=P1;//?????P1??
   bai=disnum/100;
   shi=disnum%100/10;
   ge=disnum%100%10;
   display(bai,shi,ge); 
  }
}
void init()//
{ 
 P0=0x7f;
 dula=0;//
 wela=0; 
}
void start()
{ 
 wr=1;
 wr=0;
 wr=1;
}
delay(uchar x)
{
 for(m=10;m>0;m--)
  for(n=x;n>0;n--);
}
display(uchar bai,uchar shi,uchar ge)
{
  P0=0x7f;//0111 1111,make ADC's CS low.
  wela=1;
  wela=0;
 P0=tabledu[bai];
 dula=1;
 dula=0;
 P0=0x7e;//0111 1111,make ADC's CS low.
 wela=1;
 wela=0;
 delay(1);
  P0=0x7f;
  wela=1;
  wela=0;//
 P0=tabledu[shi];//
 dula=1;
 dula=0;
 P0=0x7d;
 wela=1;
 wela=0;
 delay(1);//lesson4_5
 
  P0=0x7f;
  wela=1;
  wela=0;//
 P0=tabledu[ge];//
 dula=1;
 dula=0;
 P0=0x7b;
 wela=1;
 wela=0;
 //delay(1);
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:33944 发表于 2012-2-1 20:58 | 只看该作者
没人帮忙吗?
回复

使用道具 举报

板凳
ID:1 发表于 2012-2-2 11:00 | 只看该作者
8个LED 不能同时接到p1的,这样会发生错误
回复

使用道具 举报

地板
ID:33944 发表于 2012-2-4 13:38 | 只看该作者

怎么实现输入呢?

回复

使用道具 举报

5#
ID:34116 发表于 2012-2-10 15:17 | 只看该作者
以下是引用lsfxyz在2012-2-4 13:38:46的发言:

怎么实现输入呢?

我是菜鸟。轻拍砖!

硬件电路已经定了。接口都定了。怎么输入输出只能用接好的口。

光盘自带的电路图,要按照电路图来写程序吧。

假如想自由发挥,得自己焊板子了。

多研究研究电路图。电路是基础,软件可以改,但是开发板是已经定了,不能越过开发板去随意写程序。

我也是刚学,不过有一定的数电模电基础。有机会砸门多交流交流啊。

嘿嘿。

qq757084734

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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