佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: pikachew

请问RS232能显示BREADBOARD上的资料吗?

  [复制链接]
 楼主| 发表于 13-6-2011 11:34 PM | 显示全部楼层
哦,谢谢大大
可以再问多一个问题吗?
如果我是用4 MHZ CRYSTAL OSCILLATOR
让后
PIC16F877A
LDR 和LED 接去PIC INPUT了。然后,要如何PROGRAM 那个LDR 呢?
比如说当亮的是后,LED就不亮,暗的时候LED就亮。
要如何让PIC知道它的RESISTANCE是高还是LOW呢?
谢谢
回复

使用道具 举报


ADVERTISEMENT

发表于 14-6-2011 09:47 AM | 显示全部楼层
如果我是用4 MHZ CRYSTAL OSCILLATOR
让后PIC16F877A

也可以用20Mhz

LDR 和LED 接去PIC INPUT了。然后,要如何PROGRAM 那个LDR 呢?
比如说当亮的是后,LED就不亮,暗的时候LED就亮。

这就需要你去编程



要如何让PIC知道它的RESISTANCE是高还是LOW呢?
pikachew 发表于 13-6-2011 11:34 PM


voltage divider 的方法,那个10K, 可以换成 10K~50K 的POT, 那么你可以调整敏感度

回复

使用道具 举报

 楼主| 发表于 16-6-2011 08:41 PM | 显示全部楼层
本帖最后由 pic 于 18-6-2011 09:31 AM 编辑



大大这是我LDRTO pic 的CIRCUIT
我想请问下,我想让这LDR当它被东西盖住时,哪个LED就会暗。
请问他的CODING 大概是怎样开始?
因为如果是LED.是SET 那个PORT HIGH OR LOW 它就会开关了。
但是这LDR 我要怎样让它有SENSOR的FUNCTION呢?
我不是要求完整CODING。只是想知道要如何开始写这CODE.请问是用到ADCON 和ADRESH 吗?
谢谢
回复

使用道具 举报

发表于 18-6-2011 09:52 AM | 显示全部楼层
本帖最后由 pic 于 18-6-2011 09:55 AM 编辑
大大这是我LDRTO pic 的CIRCUIT
我想请问下,我想让这LDR当它被东西盖住时,哪个LED就会暗。
请问他 ...
pikachew 发表于 16-6-2011 08:41 PM


下面是CCS C 的范例。
按你的电路, 当R5 LDR 没光时, 电阻会变大, 调整R4, 令RA0的电压》2.5V,变成logic 1
已经100%回答你了, 而且下面的code 是完整的。


  1. // 18 Jun 2011
  2. // By pic@cari

  3. #include <16F877A.H>
  4. #fuses  HS,PROTECT,NoWDT,put,brownout
  5. #use delay(clock=20000000)

  6. #define  LDR1 pin_A0 // 你的R5 LDR1 是接在RA0
  7. #define  LDR2 pin_A1 // 你的R8 LDR2 是接在RA1
  8. #define  LED1 pin_B0  // 假设你的LED1 是接在RB0
  9. #define  LED2 pin_B1 // 假设你的LED2 是接在RB1


  10. void main()
  11. {


  12. while(1)
  13. {
  14.    // 楼主要求: LDR当它被东西盖住时,那个LED就会暗。
  15.    //按你的电路, 当R5 LDR 没光时, 电阻变大, 调整R4, 令RA0的电压》2.5V,变成logic 1
  16.    if(input(LDR1)==1)  
  17.    {   
  18.       output_Low(LED1); /// LED 灭
  19.    }
  20.    else
  21.    {
  22.       output_high(LED1);/// LED 亮
  23.    }


  24.    if(input(LDR2)==1)
  25.    {   
  26.       output_Low(LED2); /// LED 灭
  27.    }
  28.    else
  29.    {
  30.       output_high(LED2);/// LED 亮
  31.    }

  32. }
  33. }

复制代码
回复

使用道具 举报

 楼主| 发表于 7-7-2011 06:12 PM | 显示全部楼层
谢谢大大
目前正在TROUBLESHOOT circuit。
回复

使用道具 举报

发表于 8-7-2011 08:04 AM | 显示全部楼层
谢谢大大
目前正在TROUBLESHOOT circuit。
pikachew 发表于 7-7-2011 06:12 PM


等你回来报告, 至少简报下, 那么以后看帖的人可以参考吧。。谢谢
回复

使用道具 举报

Follow Us
 楼主| 发表于 13-7-2011 11:56 PM | 显示全部楼层
回来简报。
目前专注在SOFTWARE PART.HARDWARE PART DELAY 到迟点才做。
我想请问一下。有什么COMPILER能让MPLAB C LANGUAGE (。C)变成.DLL(DYNAMIC LINK LIBRARY) file?。
我找到的是LABVIEW可惜LICENSE问题。
谢谢~
回复

使用道具 举报

发表于 14-7-2011 06:38 PM | 显示全部楼层
有什么COMPILER能让MPLAB C LANGUAGE (。C)变成.DLL(DYNAMIC LINK LIBRARY) file?。
pikachew 发表于 13-7-2011 11:56 PM

没有。
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 17-7-2011 03:20 PM | 显示全部楼层
回复 28# pic

哦。
今天有点空所以试了我的电路

    这是我的CODING
#include "16f877a.h"
#include "stdio.h"
#use delay (clock=4000000)
void main ()
{

output_high(pin_B1);

output_high(pin_B2);

}

两个LED都亮了。

接下来
试了这个
#include "16f877a.h"
#include "stdio.h"
#use delay (clock=4000000)
void main ()
{

output_high(pin_B1);
delay_ms(5000);  
output_high(pin_B2);
delay_ms(5000);
output_low(pin_b1);
delay_ms(5000);
output_low(pin_b2);
}
奇怪的是只有一个LED亮吧了。
在SIMULATION里试是没问题的。可是去到CIRCUIT那里就只有一个LED可以亮吧了。请问是什么问题呢?
为甚么加了DELAY在REAL CIRCUIT就只有一个LED能亮呢?
DELAY 5000MS = 5 SECONDS
谢谢。

因为试了LDR那个CIRCUIT不能WORK
所以才试这个~过后再回去TEST LDRCIRCUIT
回复

使用道具 举报

发表于 17-7-2011 06:46 PM | 显示全部楼层
回复  pic

哦。
今天有点空所以试了我的电路

    这是我的CODING
#include "16f877a.h"
#include ...
pikachew 发表于 17-7-2011 03:20 PM


  1. void main ()
  2. {
  3.   while(1)
  4.   {
  5.     output_high(pin_B1);
  6.     delay_ms(5000);  
  7.     output_high(pin_B2);
  8.     delay_ms(5000);
  9.     output_low(pin_b1);
  10.     delay_ms(5000);
  11.     output_low(pin_b2);
  12.     delay_ms(5000);
  13.   }
  14. }
复制代码


你没有加While Loop, 程序走完就进入Sleep mode了。
#include "stdio.h" ,你为什么要加入这行?
   

奇怪的是只有一个LED亮吧了。
在SIMULATION里试是没问题的。可是去到CIRCUIT那里就只有一个LED可以亮吧了。请问是什么问题呢?

你怎样接LED? 有串联电阻吗?
你的MCU 怎样接? 你用4Mhz 的crystal?
如果不会描述, 请放照片。
回复

使用道具 举报

 楼主| 发表于 17-7-2011 11:11 PM | 显示全部楼层
你没有加While Loop, 程序走完就进入Sleep mode了。
#include "stdio.h" ,你为什么要加入这行?
...
pic 发表于 17-7-2011 06:46 PM


因为老师给我的LAB MANUAL有这。所以我就加。C LANGUAGE我没学过~但是老师要我自己看MANUAL学然后做FYP.
我去试看+ loop
我是用4MHZ CRYSTAL
回复

使用道具 举报

 楼主| 发表于 23-7-2011 07:12 PM | 显示全部楼层
你没有加While Loop, 程序走完就进入Sleep mode了。
#include "stdio.h" ,你为什么要加入这行?
...
pic 发表于 17-7-2011 06:46 PM


大大
我觉得是DELAY的问题~
因为在SIMULATION TEST没问题
可是到REAL CIRCUIT时就有问题了。
我TEST 一个LED 自己ON /OFF 也是不能~。


Uploaded with ImageShack.us
回复

使用道具 举报

 楼主| 发表于 23-7-2011 08:41 PM | 显示全部楼层
回复

使用道具 举报

发表于 23-7-2011 10:28 PM | 显示全部楼层
回复  pic

哦。
今天有点空所以试了我的电路

    这是我的CODING
#include "16f877a.h"
#include ...
pikachew 发表于 17-7-2011 03:20 PM


根据你的这个程序,你缺少了IO port configuration 的设置。

LED output 的输出口如果没设置,IC 的初始化设置全部为输入来的。
回复

使用道具 举报

发表于 23-7-2011 10:40 PM | 显示全部楼层
大大
我觉得是DELAY的问题~
因为在SIMULATION TEST没问题
可是到REAL CIRCUIT时就有问题了。
我TES ...
pikachew 发表于 23-7-2011 07:12 PM


请问你用什么Compiler?
我的code 已经注明是要用CCS C。
回复

使用道具 举报

 楼主| 发表于 23-7-2011 11:29 PM | 显示全部楼层
根据你的这个程序,你缺少了IO port configuration 的设置。

LED output 的输出口如果没设置,IC 的 ...
wkloh 发表于 23-7-2011 10:28 PM


我不明白~
IO PORT CONFIGURATION 不是有了吗?
   @@
谢谢
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 23-7-2011 11:32 PM | 显示全部楼层
请问你用什么Compiler?
我的code 已经注明是要用CCS C。
pic 发表于 23-7-2011 10:40 PM


我用的的确是CCS COMPILER
谢谢。


Uploaded with ImageShack.us
回复

使用道具 举报

发表于 24-7-2011 12:21 AM | 显示全部楼层
回复 36# pikachew


    http://cforum1.cari.com.my/viewthread.php?tid=2331638&highlight=%2B%B5%E7%D7%D3%B4%EF%C8%CB
参考这个贴吧!

  1. TRISA=0XFF;
  2. TRISC=0B11110011;
复制代码


“TRISA” 是指Port A IO 设置,TRISA=OxFF  是为整个port A在 设置为输入。

以此类推!
回复

使用道具 举报

发表于 24-7-2011 09:27 AM | 显示全部楼层
我用的的确是CCS COMPILER
谢谢。
pikachew 发表于 23-7-2011 11:32 PM


不要加什么#include "stdio.h"
请100% 复制, 测试, 然后报告。

  1. // Compiler : CCS C
  2. #include <16F877A.H>
  3. #fuses  XT,NOPROTECT,NoWDT,put,Nobrownout  // 这行是很重要的, 4Mhz,要用XT
  4. #use delay (clock=4000000)

  5. void main ()
  6. {

  7.    while(1)  // 这个是需要的
  8.   {
  9.                
  10.       output_high(pin_B1);
  11.       delay_ms(5000);  
  12.       output_high(pin_B2);
  13.       delay_ms(5000);
  14.       output_low(pin_b1);
  15.       delay_ms(5000);
  16.       output_low(pin_b2);
  17.       delay_ms(5000);
  18.   }
  19. }
复制代码
回复

使用道具 举报

 楼主| 发表于 24-7-2011 10:18 AM | 显示全部楼层
不要加什么#include "stdio.h"
请100% 复制, 测试, 然后报告。
pic 发表于 24-7-2011 09:27 AM

大大终于可以了。
因为少了这~
#fuses  XT,NOPROTECT,NoWDT,put,Nobrownout  // 这行是很重要的, 4Mhz,要用XT
    现在要去试LDR的了。迟点报告
谢谢
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


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

GMT+8, 28-3-2024 06:22 PM , Processed in 0.081950 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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