搜索
bottom↓
回复: 3

请各位帮忙看看这个流水灯的程序问题出在哪

[复制链接]

出0入0汤圆

发表于 2010-8-16 10:57:25 | 显示全部楼层 |阅读模式
/*包含头文件*/
#include<pic.h>//**********************************************PIC16F690芯片
/*宏定义*/
#define uchar unsigned char
#define uint  unsigned int
/*定义子函数*/
void delay(uint);//延时子函数

/*配置位*/

__CONFIG(0x3FF2);
/*主函数*/
void main()
{
uchar i;
TRISC = 0x00;//配置PORTC口为输出
while(1)
{
  PORTC = 0x01;//这句赋值在MPLAB SIM Debug里面调试
                     //看不到PORTC口有变化
  for(i=8;i>0;i--)
  {
   delay(200);//延时200ms
   PORTC = PORTC<<1;//PORTC口数据左移一位
  }
}
}
/*延时1ms子函数*/
void delay(uint z)//z的值为多少就大概延时多少ms
{
uint x,y;
for(x=z;x>0;x--)
  for(y=152;y>0;y--);
}




上面这个程序是我根据下面这个程序改的,上面的PORTC赋值有问题,而下面的这个程序给PORTD赋值没有问题



#include<pic.h>//****************************************************************PIC16F877芯片
#define uchar unsigned char
#define uint  unsigned int
__CONFIG(0x3B31);
void delay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
  for(b=110;b>0;b--);
}
void main()
{
uchar i;
TRISD=0x00;
while(1)
{
  PORTD=0x01;
  for(i=8;i>0;i--)
  {
   delay(200);
   PORTD=PORTD<<1;
  }
}
}

出0入0汤圆

 楼主| 发表于 2010-8-17 10:37:04 | 显示全部楼层
我用的单片机型号是PIC16F690,调试环境是MPLAB SIM,内置8M晶振
单步调试,执行PORTC=0x01;语句后PORTC的值仍然是00!
用proteus方针调试,RC0会亮一下然后熄灭,但是其他的LED没有反应

应该是很简单的问题,但是我在这困住了,希望哪位能帮忙指点一下

出0入0汤圆

发表于 2010-8-18 15:43:31 | 显示全部楼层
C口有跟AD功能复用 要设置为IO数字功能

出0入0汤圆

 楼主| 发表于 2010-8-18 16:00:57 | 显示全部楼层
回复【2楼】dianxinwuban
-----------------------------------------------------------------------

就是这个原因,谢谢电信五班
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-9 02:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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