佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1947|回复: 10

我要做的东西(用PIC16F877A的)已更新,帮我看下!!!!!!!

 关闭 [复制链接]
发表于 3-1-2010 03:22 PM | 显示全部楼层 |阅读模式
本帖最后由 cfy0104 于 8-2-2010 11:09 AM 编辑

想问下那PORT B的I/O全部给了2X16的LCD过后
3X4的KEYPAD用PORTC 和PORT D来做I/O可以吗?
编写语言是用C LANGUAGE的
回复

使用道具 举报


ADVERTISEMENT

发表于 3-1-2010 03:34 PM | 显示全部楼层
可以。。。。。。。。。
回复

使用道具 举报

发表于 19-1-2010 11:45 PM | 显示全部楼层
portA 也可以用啊
不过要用 ADCON
回复

使用道具 举报

 楼主| 发表于 19-1-2010 11:48 PM | 显示全部楼层
portA 也可以用啊
不过要用 ADCON
panasonic 发表于 19-1-2010 11:45 PM


PORTA没那么多个I/O

用PORTC了
已经有那个PROGRAM了

迟点再UPDATE
回复

使用道具 举报

发表于 20-1-2010 09:49 AM | 显示全部楼层
portA 也可以用啊
不过要用 ADCON
panasonic 发表于 19-1-2010 11:45 PM

请问为什么要用 ADCON?
回复

使用道具 举报

发表于 20-1-2010 11:35 PM | 显示全部楼层
回复 5# pic

by default portA = analog input
所以 A2D 转换
回复

使用道具 举报

Follow Us
发表于 8-2-2010 10:50 AM | 显示全部楼层
我其实是LZ的分身
有谁可以帮帮我
我是要做到KEYPAD和LCD是这样的
之前说了
我的KEYPAD是3X4的
PORTB已经用完去LCD
而PORTC给了KEYPAD
号码是0-9然后两个符号分别是*和#
我是想做到这样的
当我按*一次的时候
LCD出现ENROLL USER
如果要选择这项目录的话就按#直接进入
如果我没按到#而是再按多一次*就LCD出现DELETE USER
按#选择进入这个目录
然后如果之前没按#而是按多一次*就LCD空白回

以下是我暂时的PROGRAM
回复

使用道具 举报

发表于 8-2-2010 10:53 AM | 显示全部楼层
#include<16f877A.h>
#use delay(clock=20000000)
#fuses hs, noprotect, nowdt, nolvp
#define use_portb_lcd TRUE
#include <lcd.c>
#byte porta=5
#byte portb=6
#byte portc=7
#byte portd=8
#byte porte=9
int indata;

//row detection module
void getkey()
{
  indata=0;
  if(input(PIN_C6)==0)
  { indata=6;  }
  else if(input(PIN_C1)==0)
  { indata=1;  }
  else if(input(PIN_C2)==0)
  { indata=2;  }
  else if(input(PIN_C4)==0)
  { indata=4;  }
}



void main()
{  int mysta;
   byte k;
   set_tris_b(0);
   set_tris_c(0x57);
   lcd_init();
   portb=0xff;
   delay_ms(1000);
   portb=0x00;
   delay_ms(1000);

  do
  {
    mysta=0;

    //enable 1st column
    portc=0xDF;
    getkey();
   
    if(indata==6)
    { k=1;
      mysta=1;
      lcd_putc("1"; }
   
    else if(indata==1)
    { k=4;
      mysta=1;
      lcd_putc("4"; }

    else if(indata==2)
    { k=7;
      mysta=1;
      lcd_putc("7"; }
    else if(indata==4)
    { k='*';
      mysta=1;
      lcd_gotoxy(1,1);
      lcd_putc("Enroll user     ";
      lcd_putc("\n                ";STUCK在这边
      }
   
    if(mysta==1)
    { portb=k;
      delay_ms(100);
      mysta=0; }
        

    //enable 2nd column
    portc=0x7F;
    getkey();
  
    if(indata==6)
    { k=2;
      mysta=1;
      lcd_putc("2"; }
    else if(indata==1)
    { k=5;
      mysta=1;
      lcd_putc("5"; }
   
    else if(indata==2)
    { k=8;
      mysta=1;
      lcd_putc("8"; }
   
    else if(indata==4)
    { k=0;
      mysta=1;
      lcd_putc("0"; }
      
    if(mysta==1)
    { portb=k;
      delay_ms(100);
      mysta=0; }

    //enable 3rd column
    portc=0xF7;
    getkey();
   
    if(indata==6)
    { k=3;
      mysta=1;
      lcd_putc("3"; }
   
    else if(indata==1)
    { k=6;
      mysta=1;
      lcd_putc("6"; }
   
    else if(indata==2)
    { k=9;
      mysta=1;
      lcd_putc("9"; }
   
    else if(indata==4)
    { k='#';
      mysta=1; }
   
    if(mysta==1)
    { portb=k;
      delay_ms(100);
      mysta=0; }
  }while(1);
}
回复

使用道具 举报


ADVERTISEMENT

发表于 8-2-2010 11:06 AM | 显示全部楼层
还有
其实我是要做的是一个用RFID来ACCESS的一个出口和一个进口的CAR PARK CONTROLLER 咯
然后那个CONTROLLER我就称他为MASTER READER 咯
他是可以ENROLL USER 的
他是用一个WIEGAND 26的RFID SENSOR来ENROLL的咯

然后那进口和出口也是用WIEGAND 26的RFID SENSOR来SCAN的咯

如之前所说的
当我按到ENROLL USER了就用那个WIEGAND 26的RFID SENSOR 来ENROLL咯
ENROLL了我不懂放在自己的EEPROM还是EXTERNAL EEPROM比较好
我的I/O DISTRIBUTION 暂时是这样了的

The distribution of the I/O of the PIC microcontroller for this project will be as following:

a)        All PORTB I/O will be set as output for 2x16 LCD display
b)        RC1 to RC7 will be set as input for 3x4 keypad
c)        RA0 to RA2 will be for the RFID sensor at the entrance while RA3 to RA5 will be for the RFID sensor at the exit
d)        RE0 to RE2 will be for the RFID sensor that used for enrolling users’ data
e)        RD7 for relay 1 to trigger signal to lift up the bar and RD6 for the switch input 1 of the entrance
f)        RD5 for relay 1 to trigger signal to lift up the bar and RD4 for the switch input 2 of the exit
回复

使用道具 举报

 楼主| 发表于 9-2-2010 12:26 PM | 显示全部楼层
没人帮我
回复

使用道具 举报

发表于 19-2-2010 04:43 PM | 显示全部楼层
我想帮你, 不过请:
请依照版规发贴。。。。
更改过后pm斑竹。 谢谢。 我先封了。。。。

再加上
你要问的问题请update在一楼。 没有的话, 要帮你还要慢慢爬贴。很显的
还有
code请用代码回复, 没有的话一大堆emoticon,还要从emoticon换成: ) ( 等符号,也是很显的。。。。。
而且
你的主题也顺便改一下。。。。。看你的主题, 就不想进来。。。。。

谢谢合作
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 19-4-2024 09:35 PM , Processed in 0.069611 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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