大家帮忙看看这个程序,为什么读取IO口不成功?

[复制链接]
 楼主| 金字塔陷阱 发表于 2013-8-26 17:02 | 显示全部楼层 |阅读模式
#include<pic.h>

#define uint8 unsigned char
#define uint16 unsigned int
#define Micro_Spaker_Out         RA5                //喇叭输出
void delaym(uint16 t)
{
        uint8 i;
        while(t--)
        {
                for(i=120;i>0;i--);
        }
}
void Init_MCU()
{
        TRISA  = 0x1F;
        ANSELA = 0x10;
}
int main()
{
        Init_MCU();
while(1)
        {
                //Keycan();
                if(RA4 == 1)
                {
                        Micro_Spaker_Out  = 0;
                        delaym(100);
                        Micro_Spaker_Out  = 1;
                        delaym(100);                       
                }
                else
                {
                        Micro_Spaker_Out  = 0;
                        delaym(50);
                        Micro_Spaker_Out  = 1;
                        delaym(50);               
                }
        }       
}
NE5532 发表于 2013-8-26 17:15 | 显示全部楼层
我记得ANSEL置1是模拟端口状态,0才是数字口吧。
soso 发表于 2013-8-26 17:18 | 显示全部楼层
你这也叫程序,一堆东西,程序格式都没有,谁能给你看啊 。
yklstudent 发表于 2013-8-26 20:21 | 显示全部楼层
楼主来玩的 问题也不出清楚  什么芯片?
PIC芯片引脚一般都是复用的 仔细自己看看芯片手册吧
opal11 发表于 2013-8-26 22:02 | 显示全部楼层
定义错误
y651503148 发表于 2013-8-28 09:09 | 显示全部楼层
不知LZ用的什么芯片?初始化设置还是需要蛮多配置的
wzx2088 发表于 2013-8-30 19:36 | 显示全部楼层
Note:On a Power-On Reset,these pins are configured as analog inputs and read as '0'.
所以应该还得配置一下ADCON1寄存器为数字输入口。
仅供参考,我是看的PIC16F877的datasheet
tianyazhix 发表于 2013-9-5 14:52 | 显示全部楼层
程序,发给我,我帮你调试!嘿嘿
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

112

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部