佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: ckchung

18f4550 usb interfacing...

[复制链接]
发表于 17-2-2009 08:42 AM | 显示全部楼层

回复 40# pic 的帖子

明白了!谢谢版主一直以来的帮忙。
回复

使用道具 举报


ADVERTISEMENT

发表于 3-3-2009 03:33 PM | 显示全部楼层
版主大大,前阵子在忙其他功课。
现在可以继续做project了。
上次说到那个lcd和lm35的部分。
1.请问MPLAB是不是不可以用那个program的啊?
2.那么如果我是用mplab的话,要怎么改啊?会很难吗?

3.另外再问下,请问有没有软件可以在电脑上就可以测试到或看到我自己写的program烧进pic单片后的结果?
4.我今天装了ccs demo version.当我把上面的code放进去compile之后,出现 error90, 说 LCD_INIT_STRING (Attempt to create a pointer to a constant)的错误。
   然后我把16f877a.h换成18f4550之后也有问题,不能compile,说unknown device..
希望PIC 版主可以帮我。。

[ 本帖最后由 冷血趙雲 于 4-3-2009 10:47 PM 编辑 ]
回复

使用道具 举报

发表于 5-3-2009 09:35 AM | 显示全部楼层
原帖由 冷血趙雲 于 3-3-2009 03:33 PM 发表
1.请问MPLAB是不是不可以用那个program的啊?

不可以。

2.那么如果我是用mplab的话,要怎么改啊?会很难吗?

MPlab只是界面, 不是Compiler, 除非你挂上C18, CCS C, ASM 之类的。

3.另外再问下,请问有没有软件可以在电脑上就可以测试到或看到我自己写的program烧进pic单片后的结果?
参考:【讨论】Proteus VSM

4.我今天装了ccs demo version.当我把上面的code放进去compile之后,出现 error90, 说 LCD_INIT_STRING (Attempt to create a pointer to a constant)的错误。

你修改过源码?

  然后我把16f877a.h换成18f4550之后也有问题,不能compile,说unknown device..

建议你要求学校购买CCS C PCWH 完整版。
回复

使用道具 举报

发表于 5-3-2009 06:49 PM | 显示全部楼层
原帖由 pic 于 5-3-2009 09:35 AM 发表

不可以。


MPlab只是界面, 不是Compiler, 除非你挂上C18, CCS C, ASM 之类的。

参考:【讨论】Proteus VSM


你修改过源码?


建议你要求学校购买CCS C PCWH 完整版。


那个源码我没有改变过。
MPLAB我有C18了。也有用microchip所给的example测试过我的电路。
一切顺利。
可是要我自己写一个ADC+LCD的program给18F4550我就真的不会了。。
请问pic版主用的ccs是完整版的吗?
不知道版主可以用你的code compile了hex file给我测试吗?

[ 本帖最后由 冷血趙雲 于 5-3-2009 06:50 PM 编辑 ]
回复

使用道具 举报

发表于 5-3-2009 09:57 PM | 显示全部楼层
原帖由 冷血趙雲 于 5-3-2009 06:49 PM 发表
可是要我自己写一个ADC+LCD的program给18F4550我就真的不会了。。

只是把16F877A 改成 18F4550而已

请问pic版主用的ccs是完整版的吗?

是。

不知道版主可以用你的code compile了hex file给我测试吗?

可以, 只是一次,下不为例。
18F4550_ADC_LCD.zip
  1. #include <18F4520.h>
  2. #device ADC=10
  3. #fuses HS,NOWDT,NOPROTECT,NOLVP
  4. #use delay(clock=20000000)

  5. ///////////////////////////////////////////////////////////////////////////////
  6. // LCD Driver
  7. ///////////////////////////////////////////////////////////////////////////////
  8. // As defined in the following structure the pin connection is as follows:
  9. /*
  10. LCD 16 X 2 line
  11. PortD.0-> RS
  12. PortD.1-> RW
  13. PortD.2-> E
  14. PortD.3
  15. PortD.4-> D4
  16. PortD.5-> D5
  17. PortD.6-> D6
  18. PortD.7-> D7
  19. */

  20. /////////////////////////////////////////////////////////////////
  21. // LCD Driver
  22. struct lcd_pin_map {                 // This structure is overlayed
  23.            boolean rs;               // on to an I/O port to gain
  24.            boolean rw;               // access to the LCD pins.
  25.            boolean enable;           // The bits are allocated from
  26.            boolean unused;           // low order up.  ENABLE will
  27.            int     data : 4;         // be pin B0.
  28.         } lcd;

  29. #byte lcd = 0x08                 // on to port D (at address 0x08)
  30. byte CONST LCD_INIT_STRING[4] = {0x28, 0xc, 1, 6};


  31. void lcd_send_nibble( byte n )
  32. {
  33.       lcd.data = n;
  34.       delay_cycles(1);
  35.       lcd.enable = 1;
  36.       delay_us(2);
  37.       lcd.enable = 0;
  38. }


  39. void lcd_send_byte( byte address, byte n )
  40. {
  41.       lcd.rs = 0;
  42.       delay_ms(5);
  43.       lcd.rs = address;
  44.       delay_cycles(1);
  45.       lcd.rw = 0;
  46.       delay_cycles(1);
  47.       lcd.enable = 0;
  48.       lcd_send_nibble(n >> 4);
  49.       lcd_send_nibble(n & 0xf);
  50. }


  51. void lcd_init()
  52. {
  53.     byte i;

  54.     set_tris_d(0);
  55.     lcd.rs = 0;
  56.     lcd.rw = 0;
  57.     lcd.enable = 0;
  58.     delay_ms(15);
  59.     for(i=1;i<=3;++i) {
  60.        lcd_send_nibble(3);
  61.        delay_ms(5);
  62.     }
  63.     lcd_send_nibble(2);
  64.     for(i=0;i<=3;++i)
  65.     {
  66.       lcd_send_byte(0,LCD_INIT_STRING[i]);
  67.     }
  68. }


  69. void lcd_gotoxy( byte x, byte y)
  70. {
  71.    byte address;

  72.    if(y!=1)
  73.      address=0x40;
  74.    else
  75.      address=0;
  76.    address+=x-1;
  77.    lcd_send_byte(0,0x80|address);
  78. }

  79. void lcd_putc( char c)
  80. {
  81.    switch (c) {
  82.      case '\f'   : lcd_send_byte(0,1); //delay_ms(5);
  83.                     break;
  84.      case '\n'   : lcd_gotoxy(1,2);          break;
  85.      default     : lcd_send_byte(1,c);       break;
  86.    }
  87. }

  88. ///////////////////////////////////////////////////////////////////////////////


  89. void main()
  90. {
  91.    long value;

  92.    lcd_init();
  93.    delay_ms(6);

  94.    lcd_putc("\fLight Measure");
  95.    lcd_putc("\nBy : PIC @ cArI");
  96.    delay_ms(1000);
  97.    setup_port_a( ALL_ANALOG );
  98.    setup_adc( ADC_CLOCK_INTERNAL );
  99.    set_adc_channel( 0 );

  100.    while(TRUE)
  101.    {
  102.       value = Read_ADC();
  103.       printf(lcd_putc,"\fReading: %lu ",value);
  104.       delay_ms(500);
  105.    }
  106. }
复制代码

[ 本帖最后由 pic 于 6-3-2009 09:14 AM 编辑 ]
回复

使用道具 举报

发表于 5-3-2009 10:36 PM | 显示全部楼层
原帖由 pic 于 5-3-2009 09:57 PM 发表

只是把16F877A 改成 18F4550而已


是。


可以, 只是一次,下不为例。
18F4550_ADC_LCD.zip#include
#device ADC=10
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

/////////////// ...


真的很感谢版主的帮助!
我把这个做完了的话会整理一下资料给其他网友看,
希望他们也可以得到想我现在得到的帮助!
谢谢。
回复

使用道具 举报

Follow Us
发表于 6-3-2009 09:27 AM | 显示全部楼层
4.我今天装了ccs demo version.当我把上面的code放进去compile之后,出现 error90, 说 LCD_INIT_STRING (Attempt to create a pointer to a constant)的错误。

纠正: 我发现发源码时, 有些字符会消失, 所以, 处了 用 [ code ]     [ /code ] 代码, 还要 禁用 Smilies
还有, 当用copy paste 时, [ i ] 会被误认为是Italic 效果
这是为什么你得到:  error90, LCD_INIT_STRING (Attempt to create a pointer to a constant)的错误。
  1. ——--------------
  2. 不正确:
  3. 没有禁用 Smilies
  4. ——--------------
  5.   for(i=0;i<=3;++i)

  6.     {

  7.       lcd_send_byte(0,LCD_INIT_STRING);

  8.     }


  9.    lcd_putc("\fLight Measure";

  10.    lcd_putc("\nBy : PIC @ cArI";
复制代码
  1. ——--------------
  2. 正确:
  3. 禁用 Smilies
  4. ——--------------
  5.   for(i=0;i<=3;++i)

  6.     {

  7.       lcd_send_byte(0,LCD_INIT_STRING[i]);

  8.     }


  9.    lcd_putc("\fLight Measure");

  10.    lcd_putc("\nBy : PIC @ cArI");
复制代码
回复

使用道具 举报

发表于 6-3-2009 05:11 PM | 显示全部楼层
原来啊。。。
我就是发觉怎么一直compile就是还是不对- -
真的谢谢版主啦。
本来还想再问的。。又不好意思。。哈哈。
回复

使用道具 举报


ADVERTISEMENT

发表于 6-3-2009 05:54 PM | 显示全部楼层
报告版主。。
我的LCD和LM接上电路之后,再把那个hex file用bootloader烧进去。
可是要烧进去之前,它说我的bootloader的config和hex file的config不同,如果照样烧进去的话,以后可能不能用bootloader.
所以第一次我测试就不用hex file的config了。把program烧进去后测试。
看到LCD只是出现上面那列全部都黑色。下方没有东西。
失败了。

那就再烧一次。这次烧进去时候,用hex file 的 config了。一烧完之后,测试一下看还可以用bootloader不。结果不能了。就继续测试刚才那个lcd看可以有什么结果。
结果,和第1次的一样。。。LCD screen上面那行全部都亮,(就是都黑色的意思)。下面那行全部没有亮。。
请问是什么原因呢?
回复

使用道具 举报

发表于 6-3-2009 10:35 PM | 显示全部楼层
原帖由 冷血趙雲 于 6-3-2009 05:54 PM 发表
看到LCD只是出现上面那列全部都黑色。下方没有东西。

RV1 有调整了吗?(调Contrast)
注意检查不要接错线。

还有不好意思, 源码有错误,在第33行左右 修正如下。
  1. //#byte lcd = 0x08                 // on to port D (at address 0x08)
  2. #byte lcd = 0xf83                 // on to port D 18F MCU (at address 0xf83)
复制代码
——
下载02

回复

使用道具 举报

发表于 7-3-2009 08:01 AM | 显示全部楼层
原帖由 pic 于 6-3-2009 10:35 PM 发表

RV1 有调整了吗?(调Contrast)
注意检查不要接错线。

还有不好意思, 源码有错误,在第33行左右 修正如下。//#byte lcd = 0x08                 // on to port D (at address 0x08)
#byte lcd = 0xf83      ...


版主。请问要如何检查自己的lcd有没有坏呢?
正常的话不接program,他会是如何的?
为什么我只出现上面那排是全部黑的。。
下面的却是没有东西。。
还有我接back light和没有接好像都没有分别。。
你给的program我试了用proteus来测试,是可以走了的。
证明program没有问题。。
可是我的情况还是一样。lcd没有display.
回复

使用道具 举报

发表于 7-3-2009 09:09 AM | 显示全部楼层
原帖由 冷血趙雲 于 7-3-2009 08:01 AM 发表
版主。请问要如何检查自己的lcd有没有坏呢?
正常的话不接program,他会是如何的?

不接program, 上电后多数空一片,或乱码(很少)
如果Contrast 不对, 上排会黑一片。

为什么我只出现上面那排是全部黑的。。
下面的却是没有东西。。

请问RV1 有调整了吗?(调Contrast)
答案: 有  或 没有。

要不然就是你接错线。。。

还有我接back light和没有接好像都没有分别。。

你的LCD 有多少pin?14pin? 16 pin?
你能放清楚的照片看看吗?

清楚: 定义就是让人看了明白, 一看就明白, 不会问你长, 问你短,照时请用Macro mode, 对焦(Focus)正确, 清晰的照片,不要那种蒙蒙的, 照片640x480 为佳, 从主要的和不同的角度拍下。
回复

使用道具 举报

发表于 7-3-2009 09:29 AM | 显示全部楼层
原帖由 pic 于 7-3-2009 09:09 AM 发表

不接program, 上电后多数空一片,或乱码(很少)
如果Contrast 不对, 上排会黑一片。


请问RV1 有调整了吗?(调Contrast)
答案: 有  或 没有。

要不然就是你接错线。。。


你的LCD 有多少pin?1 ...



版主,我拍了照片,只是拍那个lcd的而已。。
本身手机拍照像素很差。。。不敢拍完全部。。不然一定“不清楚”的。。- -



link:http://i282.photobucket.com/albums/kk253/game4ulov/20090307.jpg
那么照你这么说。。这个情况是contrast问题??
可是我有接了。。用variable resistor调它也只是那排黑色浅一些或者深一些而已。。

这个是16个pin的。我把A和K分别接去gnd和vcc,没有看到背光。再把2者倒转,也是没有看到背光。。

[ 本帖最后由 冷血趙雲 于 7-3-2009 09:31 AM 编辑 ]
回复

使用道具 举报

发表于 7-3-2009 10:06 AM | 显示全部楼层
原帖由 冷血趙雲 于 7-3-2009 09:29 AM 发表
那么照你这么说。。这个情况是contrast问题??
可是我有接了。。用variable resistor调它也只是那排黑色浅一些或者深一些而已。。

请调浅一些, 隐约见到就可以了。

这个是16个pin的。我把A和K分别接去gnd和vcc,没有看到背光。再把2者倒转,也是没有看到背光。。

如没有看到背光, 请接5V,串连大概20ohm 的电阻, 去 A 和K, 如下图。
要有电阻, 不然背光LED可能会烧。


如果不可以,
请试以下的闪灯测试, 量Port D, 应该看到 5V, 0V 交替, 2秒。
如果不可以, 做到可以为止, 如你用Demo CCS C, 可能用18F4520 / 18F452, 或16F877A来compile,
18F4520/ 452 的hex 可能可以在18F4550 上运行, 但不确定, 我没试过。
  1. // 看你是用什么MCU而定
  2. #include <16F877A.h>
  3. // #include <18F4550.h>
  4. // #include <18F4520.h>
  5. // #include <18F452.h>

  6. #fuses HS,NOWDT,NOPROTECT,NOLVP
  7. #use delay(clock=20000000)

  8. void main()
  9. {
  10.    while(TRUE)
  11.    {
  12.       output_D(0b11110000)  ;
  13.       delay_ms(2000)  ;
  14.       output_D(0b00001111)  ;
  15.       delay_ms(2000)  ;
  16.    }
  17. }
复制代码
回复

使用道具 举报

发表于 7-3-2009 10:53 AM | 显示全部楼层
原帖由 pic 于 7-3-2009 10:06 AM 发表

请调浅一些, 隐约见到就可以了。


如没有看到背光, 请接5V,串连大概20ohm 的电阻, 去 A 和K, 如下图。
要有电阻, 不然背光LED可能会烧。


如果不可以 ...


版主,我测试了那个program,也compile了不同的版本。。没有一个成功= =
我怀疑是program时候的setting..
我是用bootloader来program的。
所以当我把那个led闪烁的hex file放进去时候,就会prompt这个出来。

如果我按no的话,就可以把程序烧进去。可是setting用回bootloader的。
如果我按yes的话,烧到一半时候,device根本detect不到了。结果按bootload button也没有反应了。
是不是因为这个问题呢?
回复

使用道具 举报

发表于 7-3-2009 12:21 PM | 显示全部楼层
  1. // 看你是用什么MCU而定
  2. //#include <16F877A.h>
  3. #include <18F4550.h>
  4. //#include <18F4520.h>
  5. //#include <18F452.h>
  6. #fuses HS,NOWDT,NOPROTECT,NOLVP,NOPBADEN,WRTB,VREGEN,PLL5,HSPLL
  7. #use delay(clock=20000000)
  8. void main()
  9. {
  10.    while(TRUE)
  11.    {
  12.       output_D(0b11110000)  ;
  13.       delay_ms(200)  ;
  14.       output_D(0b00001111)  ;
  15.       delay_ms(200)  ;
  16.    }
  17. }
复制代码
我加多那几项setting之后,没有那个窗口跳出来了。可以直接用bootloader烧进去里面。
可是结果,portD还是不会闪烁。。。把code换去其他的port,还是不能闪烁。。。
可是把program放进去proteus里面走,就一切很正常。

我也有check过我的circuit。可是也没有问题,因为用microchip给的那些demo code放进去的话,也很正常。。。
不知道什么原因。
我做在pcb board的circuit是这样。




我现在打算这样。
我先不要用lcd接上mcu,
而只是想接lm35进去mcu而已。
然后写一个program,看看读到lm35还是不,
不知道那个program要怎样写呢?
最简单的就可以了。
如果读到是ok的。那就应该证明mcu circuit没有问题吧。
只是猜测。。

[ 本帖最后由 冷血趙雲 于 7-3-2009 12:24 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 7-3-2009 02:24 PM | 显示全部楼层
用这个, 你应该可以用Bootloader。

  1. #include <18F4550.h>
  2. #device adc=10  
  3. #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
  4. #use delay(clock=48000000)
复制代码
我现在打算这样。
我先不要用lcd接上mcu,
而只是想接lm35进去mcu而已。
然后写一个program,看看读到lm35还是不,
不知道那个program要怎样写呢?
最简单的就可以了。
如果读到是ok的。那就应该证明mcu circuit没有问题吧。
只是猜测。。

如果闪灯在PortD 这个最基本的都做不到的话, 其他的都不用试了。
回复

使用道具 举报

发表于 7-3-2009 02:43 PM | 显示全部楼层
原帖由 pic 于 7-3-2009 02:24 PM 发表
用这个, 你应该可以用Bootloader。
#include
#device adc=10  
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
如果闪灯在PortD 这个最基本的都做不到 ...


有好转了!
今早一直都在找关于这个的资料。
结果找到这篇文章。http://www.ccsinfo.com/forum/viewtopic.php?t=31745&highlight=18f4550
所以就试了加几行进去。变成这样
  1. #include <18F4550.h>
  2. //#include <16F877A.h>
  3. #device ADC=10
  4. #fuses HS,NOWDT,NOPROTECT,NOLVP,XT
  5. #use delay(clock=20000000)
  6. #define LOADER_END 0x7FF
  7. #define LOADER_SIZE 0x6FF
  8. #build(reset=LOADER_END+1, interrupt=LOADER_END+9)
  9. #org 0, LOADER_END {} // nothing will replace the bootloader memory space
  10. ///////////////////////////////////////////////////////////////////////////////
  11. // LCD Driver
  12. ///////////////////////////////////////////////////////////////////////////////
  13. // As defined in the following structure the pin connection is as follows:
  14. /*
  15. LCD 16 X 2 line
  16. PortD.0-> RS
  17. PortD.1-> RW
  18. PortD.2-> E
  19. PortD.3
  20. PortD.4-> D4
  21. PortD.5-> D5
  22. PortD.6-> D6
  23. PortD.7-> D7
  24. */
  25. /////////////////////////////////////////////////////////////////
  26. // LCD Driver
  27. struct lcd_pin_map {                 // This structure is overlayed
  28.            boolean rs;               // on to an I/O port to gain
  29.            boolean rw;               // access to the LCD pins.
  30.            boolean enable;           // The bits are allocated from
  31.            boolean unused;           // low order up.  ENABLE will
  32.            int     data : 4;         // be pin B0.
  33.         } lcd;
  34. //#byte lcd = 0x08                 // on to port D (at address 0x08)
  35. #byte lcd = 0xf83                 // on to port D (at address 0x08)
  36. byte CONST LCD_INIT_STRING[4] = {0x28, 0xc, 1, 6};

  37. void lcd_send_nibble( byte n )
  38. {
  39.       lcd.data = n;
  40.       delay_cycles(1);
  41.       lcd.enable = 1;
  42.       delay_us(2);
  43.       lcd.enable = 0;
  44. }

  45. void lcd_send_byte( byte address, byte n )
  46. {
  47.       lcd.rs = 0;
  48.       delay_ms(5);
  49.       lcd.rs = address;
  50.       delay_cycles(1);
  51.       lcd.rw = 0;
  52.       delay_cycles(1);
  53.       lcd.enable = 0;
  54.       lcd_send_nibble(n >> 4);
  55.       lcd_send_nibble(n & 0xf);
  56. }

  57. void lcd_init()
  58. {
  59.     byte i;
  60.     set_tris_d(0);
  61.     lcd.rs = 0;
  62.     lcd.rw = 0;
  63.     lcd.enable = 0;
  64.     delay_ms(15);
  65.     for(i=1;i<=3;++i) {
  66.        lcd_send_nibble(3);
  67.        delay_ms(5);
  68.     }
  69.     lcd_send_nibble(2);
  70.     for(i=0;i<=3;++i)
  71.     {
  72.       lcd_send_byte(0,LCD_INIT_STRING);
  73.     }
  74. }

  75. void lcd_gotoxy( byte x, byte y)
  76. {
  77.    byte address;
  78.    if(y!=1)
  79.      address=0x40;
  80.    else
  81.      address=0;
  82.    address+=x-1;
  83.    lcd_send_byte(0,0x80|address);
  84. }
  85. void lcd_putc( char c)
  86. {
  87.    switch (c) {
  88.      case '\f'   : lcd_send_byte(0,1); //delay_ms(5);
  89.                     break;
  90.      case '\n'   : lcd_gotoxy(1,2);          break;
  91.      default     : lcd_send_byte(1,c);       break;
  92.    }
  93. }
  94. ///////////////////////////////////////////////////////////////////////////////

  95. void main()
  96. {
  97.    long value;
  98.    lcd_init();
  99.    delay_ms(6);
  100.    lcd_putc("\fADC on LCD");
  101.    lcd_putc("\nBy : PIC @ cArI");
  102.    delay_ms(1000);
  103.    setup_port_a( ALL_ANALOG );
  104.    setup_adc( ADC_CLOCK_INTERNAL );
  105.    set_adc_channel( 0 );
  106.    while(TRUE)
  107.    {
  108.       value = Read_ADC();
  109.       printf(lcd_putc,"\fReading: %lu C",value);
  110.       delay_ms(500);
  111.    }
  112. }
复制代码
当我加了这几行之后。
#define LOADER_END 0x7FF
#define LOADER_SIZE 0x6FF
#build(reset=LOADER_END+1, interrupt=LOADER_END+9)
#org 0, LOADER_END {} // nothing will replace the bootloader memory space

用bootloader烧在mcu之后,可以测试到portd有闪烁了!
然后接好lcd之后,却出现了乱码。。
然后按reset之后呢。
就正常了!!!
现在问题出现了。。
出来的reading是 70多.....然后那个reading一直变动。


1.那么请问版主,到底我加那几行是什么意思呢?
2.我一supply 5v进去时候就是乱码。要按reset才可以看到,是不是因为address不对?
3.reading正常吗?


补上图片:

上面是正常,下面是乱码:





[ 本帖最后由 冷血趙雲 于 7-3-2009 02:53 PM 编辑 ]
回复

使用道具 举报

发表于 7-3-2009 03:14 PM | 显示全部楼层
原帖由 冷血趙雲 于 7-3-2009 02:43 PM 发表
1.那么请问版主,到底我加那几行是什么意思呢?

bootloader 是用了0-07ff的开始位置, 那几行是叫CCS compiler reserve 前面的memory。

可以帮我看下面的code 能成功吗?
  1. #include <18F4550.h>
  2. #build(reset=0x800, interrupt=0x808)
  3. #org 0x000, 0x7ff { }
  4. #fuses HSPLL,NOWDT, NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
  5. #use delay(clock=48000000)
复制代码
2.我一supply 5v进去时候就是乱码。要按reset才可以看到,是不是因为address不对?

你的18F4550开机时是running mode 吗?

3.reading正常吗?

不知道, 你有接电到AN0 吗?
回复

使用道具 举报

发表于 7-3-2009 06:07 PM | 显示全部楼层
原帖由 pic 于 7-3-2009 03:14 PM 发表

bootloader 是用了0-07ff的开始位置, 那几行是叫CCS compiler reserve 前面的memory。

可以帮我看下面的code 能成功吗?#include
#build(reset=0x800, interrupt=0x808)
#org 0x000, 0x7ff { }
#fuses HSP ...


对不起版主,迟回复了。
之前出门了。
回到来刚刚就把你的code放进去了。
可以用!
而且没有乱码了!
然后reading从之前的70左右现在变成17左右。。(目前家里面应该有30左右)
而且reading没有那么容易飘了。
AN0有接电,就是接lm35的方法。中间脚去an0.
如果把那脚拆出来的话,reading去到110左右(之前那个program去到200多)

1.为什么不要ADC=10了?
2.fuses加了那几个是什么意思?

[ 本帖最后由 冷血趙雲 于 7-3-2009 06:53 PM 编辑 ]
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


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

GMT+8, 29-3-2024 04:35 AM , Processed in 0.062659 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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