主题:我们的第一个单片机程序
时间:2005-04-08 14:00
主持人:A1.茶园村长

2005-04-08 13:49:31 A1.茶园村长(2282902)
这次是单片机的。

2005-04-08 15:03:25 A1.茶园村长(2282902)
好了。开始讨论了。

2005-04-08 15:04:58 三天两夜(71838805)
430的大家用什么软件开发??

2005-04-08 15:05:14 *_+(4871674)
IAR EW430

2005-04-08 15:05:24 三天两夜(71838805)
你用那个版本??

2005-04-08 15:05:31 寂寞小刀(22470886)
430  可不可以用C写

2005-04-08 15:05:34 C08.人生如歌(93882205)
A1,老大,我要先下载什么程序吗?!

2005-04-08 15:05:43 三天两夜(71838805)
可以呀

2005-04-08 15:05:51 *_+(4871674)
很低的 好像1.25
用汇编 都没用C

2005-04-08 15:06:05 寂寞小刀(22470886)
用汇编很郁闷啊

2005-04-08 15:06:14 A1.茶园村长(2282902)
请大家先下载FirstProg.*

2005-04-08 15:06:22 三天两夜(71838805)
汇编我搞不清,我用c,我用3。20

2005-04-08 15:06:50 C08.人生如歌(93882205)
FirstProg_cn吧?

2005-04-08 15:06:43 C08.人生如歌(93882205)
我们已经将开发板与ISP之间的联线已经搞定了.


2005-04-08 15:07:30 A1.茶园村长(2282902)
FirstProg_cn

2005-04-08 15:07:41 A1.茶园村长(2282902)
FirstProg_sch.rar

2005-04-08 15:07:43 B11.PassWorld(3569555)
开始了。

2005-04-08 15:07:51 C08.人生如歌(93882205)
用什么程序打开?!我看我用VS.NET可以直接打开里面的程序?!呵呵.

2005-04-08 15:08:13 C08.人生如歌(93882205)
开始上课吧!

2005-04-08 15:08:28 A1.茶园村长(2282902)
用Notepad.exe可以打开。

2005-04-08 15:09:23 C08.人生如歌(93882205)
开始吧!?

2005-04-08 15:09:25 A1.茶园村长(2282902)
我能打开。

2005-04-08 15:09:39 A1.茶园村长(2282902)
开始了。我们从头到脚来一次。

2005-04-08 15:09:54 A1.茶园村长(2282902)
跟著我走。

2005-04-08 15:10:08 A1.茶园村长(2282902)
先打开那个PDF文件。

2005-04-08 15:10:53 A1.茶园村长(2282902)
我们讲讲基本知识,不过,我也是半懂不懂的。大家别见笑。

2005-04-08 15:11:02 A1.茶园村长(2282902)
我是以一个程序员的角度去学单片机的。

2005-04-08 15:11:26 A1.茶园村长(2282902)
打开PDF了没有?

2005-04-08 15:11:38 C08.人生如歌(93882205)
打开了.是原理图!

2005-04-08 15:12:00 A1.茶园村长(2282902)
对,是源理图。


2005-04-08 15:12:46 A1.茶园村长(2282902)
[图片][LED_SHOW]

led_show.jpg
2005-04-08 15:12:49 A1.茶园村长(2282902)
大家先看看这里。

2005-04-08 15:12:59 A1.茶园村长(2282902)
这是LED显示部分。

2005-04-08 15:14:11 A1.茶园村长(2282902)

LED_electricity.jpg
[LED_electricity]

2005-04-08 15:14:18 A1.茶园村长(2282902)
红色的是电流方向。

2005-04-08 15:15:14 寂寞小刀(22470886)
三极管用来做什么

2005-04-08 15:15:43 A1.茶园村长(2282902)
三极管A1015的目的是:当基极B电压为0时,电流通过。

2005-04-08 15:15:54 A1.茶园村长(2282902)
反之不通过。

2005-04-08 15:15:54 文子(44738541)
相当于一个开关。

2005-04-08 15:16:11 寂寞小刀(22470886)
为什么不直接接IO

2005-04-08 15:16:16 A1.茶园村长(2282902)
在这里,我们把它当成开关来用。

2005-04-08 15:16:32 A1.茶园村长(2282902)
因为有时候IO脚功力不大。

2005-04-08 15:17:10 寂寞小刀(22470886)
下拉一个LED也不行?

2005-04-08 15:17:25 A1.茶园村长(2282902)
方法有很多。

2005-04-08 15:17:33 A1.茶园村长(2282902)
这只是一个方法而已。[:D]

2005-04-08 15:17:42 寂寞小刀(22470886)
三极管要钱的嘛

2005-04-08 15:18:04 D8。飘尘(43745429)
便宜呀

2005-04-08 15:18:20 A1.茶园村长(2282902)
在此图中,当PB7的电压为0时。A1015开关通过。

2005-04-08 15:18:32 A1.茶园村长(2282902)
反之A1015断开。

2005-04-08 15:18:41 寂寞小刀(22470886)
这个我知道的哈

2005-04-08 15:19:04 A1.茶园村长(2282902)
所以,要LED亮的话,就必须PB7为低电压。

2005-04-08 15:19:13 A1.茶园村长(2282902)
这一点大家能理解吧?

2005-04-08 15:19:24 *_+(4871674)
为什么不用一些总线驱动器扩流呢?

2005-04-08 15:19:26 *_+(4871674)
LED

2005-04-08 15:19:57 A1.茶园村长(2282902)
这是入门的东西,不想搞得太复杂了。

2005-04-08 15:20:23 A1.茶园村长(2282902)
因为此图和程序是为了带大家进入AVR的大门的。

2005-04-08 15:20:25 C08.人生如歌(93882205)
咱们是不是让老大讲课,讲完课,再发问.这样,讲一句.回答八个问题,需要很长时间的.

2005-04-08 15:21:02 A1.茶园村长(2282902)
我建议这样好不,一般都是我问,大家答。
这样才不会乱了头绪。

2005-04-08 15:21:37 A1.茶园村长(2282902)
刚才的图大家没问题了吧?

2005-04-08 15:22:00 A1.茶园村长(2282902)
好,看第二个图。

2005-04-08 15:22:06 A1.茶园村长(2282902)
输入部分。

2005-04-08 15:22:51 A1.茶园村长(2282902) 
INPUT.jpg

[INPUT]

2005-04-08 15:23:31 A1.茶园村长(2282902)
当按键没有按下的时候,电流是按红色的走。

2005-04-08 15:23:35 A1.茶园村长(2282902)
对不?

2005-04-08 15:24:22 A1.茶园村长(2282902)
当按键按下后,按键的1节点和2节点是相通的,所以1节点=2节点,对不?

2005-04-08 15:25:17 A1.茶园村长(2282902)
因为1节点是低电压(0V),所以2节点也是0V。

2005-04-08 15:25:28 A1.茶园村长(2282902)
所以电流按蓝色的走,对不?

2005-04-08 15:26:37 A1.茶园村长(2282902)
所以,没按下之前,PD3脚为高电压,按下后,PD3脚为低电压。没错吧?

2005-04-08 15:27:15 A1.茶园村长(2282902)
太简单了,对不?不过我们都是程序员,学单片机只能从头开始了。

2005-04-08 15:27:35 A1.茶园村长(2282902)
不象几位新手的,有电子知识。[:D]

2005-04-08 15:28:04 C08.人生如歌(93882205)
小刀呀.我们不是学电子的呀.

2005-04-08 15:28:54 C08.人生如歌(93882205)
这是对我们这些不学电子的人上的课.而且A1老大讲完了课,我们还要负责整理文档,你们乱说话

,文档都不好整理.

2005-04-08 15:29:27 A1.茶园村长(2282902)
我简单一点了。

2005-04-08 15:29:55 A1.茶园村长(2282902)
REST.jpg
[REST]

2005-04-08 15:30:04 A1.茶园村长(2282902)
RESET部分也差不多。

2005-04-08 15:30:16 A1.茶园村长(2282902)
简单了一点,不过电阻是10K的。

2005-04-08 15:30:55 A1.茶园村长(2282902)
理由是什么,我也不清楚,这只是经验而已。

2005-04-08 15:31:09 寂寞小刀(22470886)
不是吧

2005-04-08 15:31:24 acer  :
(26694362)
限流?

2005-04-08 15:31:28 A1.茶园村长(2282902)
因为我不大懂模电。[;-D]

2005-04-08 15:31:37 寂寞小刀(22470886)
和IO口能通过的电流有关系的

2005-04-08 15:31:43 acer  :
(26694362)
你谦虚了,老大

2005-04-08 15:31:49 A1.茶园村长(2282902)
好,下面我们应该结合程序来讲解了。

2005-04-08 15:32:20 A1.茶园村长(2282902)
一起打开firstprog.c

2005-04-08 15:35:44 A1.茶园村长(2282902)
firstprog.c是繁体字,

2005-04-08 15:36:20 寂寞小刀(22470886)
什么CPU

2005-04-08 15:36:29 A1.茶园村长(2282902)
ATMega8L

2005-04-08 15:36:34 C08.人生如歌(93882205)
我已经传换好了.一会上传到群里.

2005-04-08 15:36:42 A1.茶园村长(2282902)
我来一一讲解了。

2005-04-08 15:37:03 A1.茶园村长(2282902)
#include <mega8.h>   //主芯片 Mega8 的头文件
这一句已经很明显了。

2005-04-08 15:37:15 A1.茶园村长(2282902)
是加入设备的头文件。

2005-04-08 15:37:57 A1.茶园村长(2282902)
到了讲程序的时候,可能是程序员看得懂,电子的就不知道了。

2005-04-08 15:38:01 C08.人生如歌(93882205)
firstproc繁体的.doc
已经上传了.在WORD里转换成繁体字了.

2005-04-08 15:38:16 A1.茶园村长(2282902)
void main(void)   //主程序入口
{
unsigned char LED; //要显示的LED的数据
unsigned char State; //LED显示方式
unsigned int i;

2005-04-08 15:38:50 A1.茶园村长(2282902)
一般,变量I都是作为循环用。

2005-04-08 15:39:12 A1.茶园村长(2282902)
PORTB=0x00;    //这两句是初始化B口
DDRB=0xFF;     //定义B口为输出  (输出到LED)

2005-04-08 15:39:34 A1.茶园村长(2282902)
DDRB=0xFF; 可以转化成 DDRB=0B11111111

2005-04-08 15:40:10 A1.茶园村长(2282902)
如果位是1,就表示IO脚是输出。是0则是输入。

2005-04-08 15:40:50 A1.茶园村长(2282902)
所以,DDRB=0B11111111 就表示B口所有的脚都是输出。

2005-04-08 15:41:45 A1.茶园村长(2282902)
如果DDRB改成DDRB=0B11110000,则表示,0~3脚输入,4~7脚输出。


2005-04-08 15:42:22 C08.人生如歌(93882205)
yes!明白

2005-04-08 15:42:42 B2.TCP INFO(31329846)

PORTB=0x00;    //这两句是初始化B口

 

2005-04-08 15:42:57 A1.茶园村长(2282902)
PORTB=0x00;    //这两句是初始化B口
DDRB=0xFF;     //定义B口为输出  (输出到LED)

PORTC=0x00;    //这两句是初始化C口
DDRC=0x00;     //定义C口为输入 (此程序没用使用到)

PORTD=0x00;    //这两句是初始化D口
DDRD=0x00;     //定义D口为输入 (键盘输入)

2005-04-08 15:43:08 B2.TCP INFO(31329846)
PORTB 这个声明表示 初始化B口 还是 0x00表示 初始化B口
 

2005-04-08 15:43:46 寂寞小刀(22470886)
PORTB=0x00;    //这两句是初始化B口
DDRB=0xFF;     //定义B口为输出  (输出到LED)

怎么是两句

2005-04-08 15:44:08 文子(44738541)
DDRB PORTB 是在哪儿定义的喃?

2005-04-08 15:44:13 C08.人生如歌(93882205)
反对一切形式的打断A1老师讲课的行为!
 
2005-04-08 15:44:24 /:D迪克木仔(28274903)
老大笔误嘛,大家还是听讲

2005-04-08 15:44:29 寂寞小刀(22470886)
DDRB PORTB 是在哪儿定义的喃?   应该在头文件里面

2005-04-08 15:44:54 A1.茶园村长(2282902)
PORTB=0x00;    //表示,B口初始值为0

2005-04-08 15:45:19 A1.茶园村长(2282902)
也就是PORTB的所有的脚都是低电位。

2005-04-08 15:46:08 A1.茶园村长(2282902)
因为,刚才我们讲为,B脚为低电压时,LED亮,所以,程序刚刚运行时,LED会闪一下。不过太

快了。

--------------------
2005-04-08 15:46:29 acer  :
(26694362)
哦,原来如此

2005-04-08 15:46:39 A1.茶园村长(2282902)
PORTD=0x00;    //这两句是初始化D口
DDRD=0x00;     //定义D口为输入 (键盘输入)

2005-04-08 15:46:53 寂寞小刀(22470886)
你先赋值  再定义它是输出脚??

2005-04-08 15:47:09 A1.茶园村长(2282902)
PORTD=0x00;实际上因为D口是输入,所以此句作用不大。

2005-04-08 15:47:38 A1.茶园村长(2282902)
是习惯用法。

2005-04-08 15:47:57 寂寞小刀(22470886)
我觉得这样不对呀

2005-04-08 15:48:08 A1.茶园村长(2282902)
为何?

2005-04-08 15:48:13 电解PIG(329891466)
要不你讲好了

2005-04-08 15:48:40 C08.人生如歌(93882205)
反对一切形式的打断A1老师讲课的行为!

2005-04-08 15:48:43 A1.茶园村长(2282902)
我们继续。

2005-04-08 15:48:51 寂寞小刀(22470886)
没定义状态之前  可以写么

2005-04-08 15:49:21 A1.茶园村长(2282902)
如果倒过来的话,初始状态都是没什么问题。

2005-04-08 15:49:30 bearcat(357043197)
可以,不过很乱

2005-04-08 15:49:31 A1.茶园村长(2282902)
如果是中间的话,就有问题了。

2005-04-08 15:49:42 acer:(26694362)

2005-04-08 15:50:01 A1.茶园村长(2282902)
以后再讲一讲,应该是一个经验和习惯问题吧。

2005-04-08 15:50:04 *_+(4871674)
只要能跑通 怎么写无所谓啦

2005-04-08 15:50:14 A1.茶园村长(2282902)
对。[:D]

2005-04-08 15:50:24 寂寞小刀(22470886)
哦  那你没去大公司面试过

2005-04-08 15:50:36 bearcat(357043197)
会出现意想不到的事

2005-04-08 15:50:54 A1.茶园村长(2282902)
我都说我是初学者了,不是什么大侠。[;-D]

2005-04-08 15:51:03 寂寞小刀(22470886)
就是啊 这样的程序稳定性肯定是不够的

2005-04-08 15:51:11 A1.茶园村长(2282902)
所以大家别见笑。

2005-04-08 15:51:30 A1.茶园村长(2282902)
我们继续。程序方面我写了几年了,应该没问题的。

2005-04-08 15:51:30 B11.PassWorld(3569555)
我最讨厌钻牛角尖的人了。

2005-04-08 15:51:41 /:D迪克木仔(28274903)
就不要争论这个事情了,是好的,就学习,不好就先不管吧

2005-04-08 15:51:54 B11.PassWorld(3569555)
小刀,你要是想引起我们的注意不是一个这样的说法,
要是引起我们的注意,你不是一般的死法。

2005-04-08 15:51:54 C08.人生如歌(93882205)
老大继续.

2005-04-08 15:52:10 A1.茶园村长(2282902)
State=0;       //初始化显示方式
我们有8个按键,所以会有8个显示方式。

2005-04-08 15:52:11 /:D迪克木仔(28274903)
最好还是先让我们有一个框架

2005-04-08 15:52:11 电解PIG(329891466)
浪费时间=谋财害命

2005-04-08 15:52:41 A1.茶园村长(2282902)
我先讲讲这个板的运行状态。

2005-04-08 15:52:45 D8。飘尘(43745429)
小刀有时间你后面补充吧

2005-04-08 15:52:53 A1.茶园村长(2282902)
对,我赞成。

2005-04-08 15:53:54 A1.茶园村长(2282902)
LED是以跑马灯的形式在跑,按任何一个按键,将会有不同的跑马灯的形式。

2005-04-08 15:54:22 A1.茶园村长(2282902)
大家能明白否?

2005-04-08 15:54:34 电解PIG(329891466)
明白

2005-04-08 15:55:23 A1.茶园村长(2282902)
好,继续。

2005-04-08 15:55:29 A1.茶园村长(2282902)
State=0;       //初始化显示方式
LED=0;

2005-04-08 15:55:55 A1.茶园村长(2282902)
State=0表示没有按任何键之前LED的显示方式。

2005-04-08 15:56:21 A1.茶园村长(2282902)
LED=0表示关掉所有的LED。

2005-04-08 15:57:02 A1.茶园村长(2282902)
while (1)  死循环了,不说大家也明白了。
      {

      if (!PIND.0)    //如果第一个键按下 (没按下为1,按下为0)
      {
       State=1;       //显示方式为第一种
      }

2005-04-08 15:57:56 A1.茶园村长(2282902)
刚才我们讲了,按键没按下之前,PD脚是高电位,按下后,则是低电位,对不?

2005-04-08 15:58:04 电解PIG(329891466)

2005-04-08 15:58:37 A1.茶园村长(2282902)
PIND.0 表示 D口的第一个脚。

2005-04-08 15:59:52 A1.茶园村长(2282902)
在程序中,如果按键按的话,PIND.0脚为1,没按则为0

2005-04-08 16:01:04 A1.茶园村长(2282902)
所以,假如,PIND.0按下,
则 PIND.0=0
则  !PIND.0=1  (反位)
则  if (!PIND.0)   为True

2005-04-08 16:01:09 A1.茶园村长(2282902)
大家明否?

2005-04-08 16:01:29 B2.TCP INFO(31329846)
See!

2005-04-08 16:01:53 A1.茶园村长(2282902)
程序员们应该没问题啦。[:D]

2005-04-08 16:02:04 /:D迪克木仔(28274903)

2005-04-08 16:02:21 A1.茶园村长(2282902)
      if (!PIND.0)    //如果第一个键按下 (没按下为1,按下为0)
      {
       State=1;       //显示方式为第一种
      }

2005-04-08 16:02:47 A1.茶园村长(2282902)
所以,当0脚按下后,我们改LED的跑马形式为第一种。

2005-04-08 16:03:03 A1.茶园村长(2282902)
下面的都一样,我就略过了。

2005-04-08 16:03:22 A1.茶园村长(2282902)
再看看
      switch (State)  //显示方式判断
      {

2005-04-08 16:03:46 A1.茶园村长(2282902)
这一句是程序+语法,就不用讲了吧?

2005-04-08 16:04:22 A1.茶园村长(2282902)
       case 1:       //如果显示方式为第1种,LED 显示为加法运算
          {
           LED++;   
           break;
          };

2005-04-08 16:04:54 A1.茶园村长(2282902)
如果,State是我们设置的第一种显示方式,则LED进位1。

2005-04-08 16:04:59 A1.茶园村长(2282902)
就是加法运算。

2005-04-08 16:05:12 A1.茶园村长(2282902)
下面都一样,相同。

2005-04-08 16:05:45 A1.茶园村长(2282902)
这是C语言语法,DELPHI们有没有问题?

2005-04-08 16:06:02 电解PIG(329891466)
偶不懂C,555555555

2005-04-08 16:06:04 /:D迪克木仔(28274903)
都差不多,应该没有

2005-04-08 16:06:11 平澜(274421848)
没问题的

2005-04-08 16:06:16 acer  :
(26694362)
我不懂

2005-04-08 16:06:29 A1.茶园村长(2282902)
 LED++;  意思就是 LED=LED+1

2005-04-08 16:06:59 A1.茶园村长(2282902)
下面的 LED--; 意思: LED=LED-1

2005-04-08 16:07:08 A1.茶园村长(2282902)
这下应该明白吧?

2005-04-08 16:07:12 平澜(274421848)
不是有注释嘛

2005-04-08 16:07:28 A1.茶园村长(2282902)
对,注解我也写好在里面了。

2005-04-08 16:08:48 A1.茶园村长(2282902)
         LED=LED<<1; 是左移位运算。
假如 LED 为  00011100
则  LED=LED<<1 为  00111000 向左移了一位。
 

2005-04-08 16:08:56 A1.茶园村长(2282902)
大家明白否?

2005-04-08 16:09:05 三天两夜(71838805)
明白

2005-04-08 16:09:12 平澜(274421848)
en

2005-04-08 16:09:30 A1.茶园村长(2282902)
LED=LED>>1;向右移,就不多讲了,道理一样。

2005-04-08 16:09:34 电解PIG(329891466)
明白

2005-04-08 16:10:27 A1.茶园村长(2282902)
LED=~LED;这个是取反。
假如 B口某个脚上的LED 是关的,最运算后变亮,反之则不亮。

2005-04-08 16:10:54 B2.TCP INFO(31329846)
明白了

2005-04-08 16:10:59 A1.茶园村长(2282902)
假如  LED=00111000 ,
则  LED=~LED 为 11000111, 1变0,0变1 。

2005-04-08 16:11:24 A1.茶园村长(2282902)
够婆婆妈妈了吧。[;-D]

2005-04-08 16:11:27 C08.人生如歌(93882205)
明白

2005-04-08 16:11:55 A1.茶园村长(2282902)
     PORTB=~LED;   //把LED数据取反,再从B口输出,(当位为0时,LED显示,为1则不显示,

所以要取反)
 

2005-04-08 16:12:35 A1.茶园村长(2282902)
因为LED是真实的数据,但B口的显示方式是0才亮,1不亮,所以B口要显示时得把数据取反才行

2005-04-08 16:12:48 A1.茶园村长(2282902)
      for (i=0;i<20000;i++)   //延时
      {                       //延时
      #asm
        nop                   //空操作指令
      #endasm
      }

2005-04-08 16:13:04 A1.茶园村长(2282902)
这一段是延时空操作,就不多说了。

2005-04-08 16:13:29 A1.茶园村长(2282902)
程序就完了,大家明白了吗?

2005-04-08 16:13:40 C08.人生如歌(93882205)
      #asm
        nop                   //空操作指令
      #endasm
不懂.
 

2005-04-08 16:13:48 文子(44738541)
[:-|] 可问了吧,,老大?

2005-04-08 16:13:54 A1.茶园村长(2282902)
可以。

2005-04-08 16:13:59 A1.茶园村长(2282902)
大家先问问吧。

2005-04-08 16:14:13 A1.茶园村长(2282902)
问完了等一下我们就来模拟运行了。

2005-04-08 16:14:24 文子(44738541)
PORTB 是不是 AVR 内部直接的什么变量啊?

2005-04-08 16:14:32 A1.茶园村长(2282902)
不是。

2005-04-08 16:14:40 A1.茶园村长(2282902)
是IO口。

2005-04-08 16:14:43 C08.人生如歌(93882205)
是端口B吧?!
 

2005-04-08 16:14:50 A1.茶园村长(2282902)
对。

2005-04-08 16:14:56 C08.人生如歌(93882205)
PORTB=PORT B

2005-04-08 16:15:00 A1.茶园村长(2282902)
对。

2005-04-08 16:15:07 *_+(4871674)
PORTB 是一个寄存器

2005-04-08 16:15:07 /:D迪克木仔(28274903)
一共有几个端口?

2005-04-08 16:15:19 A1.茶园村长(2282902)
M8有三个。

2005-04-08 16:15:21 C08.人生如歌(93882205)
 #asm
  nop                   //空操作指令
 #endasm 这个是什么东西!汇编的吗?!

2005-04-08 16:15:32 *_+(4871674)
村长 你的程序用什么编的?

2005-04-08 16:15:40 *_+(4871674)
我用ICCAVR

2005-04-08 16:16:02 A1.茶园村长(2282902)
*_+(4871674) 16:15:07
PORTB 是一个寄存器<-说成端口更容易理解。

2005-04-08 16:16:10 A1.茶园村长(2282902)
我用CVAVR。

2005-04-08 16:16:19 *_+(4871674)
哦...

2005-04-08 16:16:51 /:D迪克木仔(28274903)
我到现在还没有得到程序

2005-04-08 16:16:52 A1.茶园村长(2282902)
大家继续提问。

2005-04-08 16:17:08 /:D迪克木仔(28274903)
我要刚才讲的那个程序

2005-04-08 16:17:13 A1.茶园村长(2282902)
程序不是在此群吗,原理图也有。

2005-04-08 16:17:52 A1.茶园村长(2282902)
不然我把整个程序贴出来算了。

2005-04-08 16:17:58 A1.茶园村长(2282902)
大家COPY下来。

2005-04-08 16:17:58 /:D迪克木仔(28274903)
谢谢

2005-04-08 16:18:01 /:D迪克木仔(28274903)

2005-04-08 16:18:13 D8。飘尘(43745429)
小刀又不出来讲了

2005-04-08 16:18:11 *_+(4871674)
CVAVR是什么编译器?好用么?
有破解么?

2005-04-08 16:18:17 D8。飘尘(43745429)
晕呀

2005-04-08 16:18:14 A1.茶园村长(2282902)
/*****************************************************
This program was produced by the
CodeWizardAVR V1.24.1d Standard
Automatic Program Generator
?Copyright 1998-2004 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.ro
e-mail:office@hpinfotech.ro

Project :
Version :
Date    : 2005-3-21
Author  : Aleyn                          
Company :                                
Comments:


Chip type           : ATmega8L
Program type        : Application
Clock frequency     : 3.686400 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 256
*****************************************************/

#include <mega8.h>   //主芯片 Mega8 的头文件


// Declare your global variables here

void main(void)   //主程序入口
{
unsigned char LED; //要显示的LED的数据
unsigned char State; //LED显示方式
unsigned int i;

PORTB=0x00;    //这两句是初始化B口
DDRB=0xFF;     //定义B口为输出  (输出到LED)

PORTC=0x00;    //这两句是初始化C口
DDRC=0x00;     //定义C口为输入 (此程序没用使用到)

PORTD=0x00;    //这两句是初始化D口
DDRD=0x00;     //定义D口为输入 (键盘输入)

State=0;       //初始化显示方式
LED=0;

while (1)
      {
      if (!PIND.0)    //如果第一个键按下 (没按下为1,按下为0)
      {
       State=1;       //显示方式为第一种
      }
      if (!PIND.1)   //如果第二个键按下 (下同)
      {
       State=2;
       }
      if (!PIND.2)
      {
       State=3;
      }
      if (!PIND.3)
      {
       State=4;
      }
      if (!PIND.4)
      {
       State=5;
      }
      if (!PIND.5)
      {
       State=6;
      }
      switch (State)  //显示方式判断
      {
       case 1:       //如果显示方式为第1种,LED 显示为加法运算
          {
           LED++;   
           break;
          };
      case 2:        //如果显示方式为第2种,LED 显示为减法运算
         {
         LED--;    
          break;
         }
      case 3:        //如果显示方式为第3种,LED 显示为左移位运算
         {
         LED=LED<<1;
         if (!LED) LED=0x03;   //如果左移位到头,LED为0,则重新定义数据
          break;
         }
      case 4:       //如果显示方式为第4种,LED 显示为右移位运算
        {
         LED=LED>>1;
         if (!LED) LED=0xC0;  //如果右移位到头,LED为0,则重新定义数据
         break;
         }
       case 5:    //如果显示方式为第5种,LED 显示为取反运算
         {
         LED=~LED;
          break;
         }
      // default :
      //   LED++;
      }
     PORTB=~LED;   //把LED数据取反,再从B口输出,(当位为0时,LED显示,为1则不显示,

所以要取反)
      for (i=0;i<20000;i++)   //延时
      {                       //延时
      #asm
        nop                   //空操作指令
      #endasm
      }
      //if (LED=0) LED=1;
      //if (LED=0xFF) LED=0;
      }

}
 

2005-04-08 16:18:48 *_+(4871674)
[shake]

2005-04-08 16:19:04 A1.茶园村长(2282902)
CVAVR和ICCAVR我都用过。

2005-04-08 16:19:11 C08.人生如歌(93882205)
A1,是不是我初始化之后,做一个死循环
死循环里只有.PORTB=0x55;(01010101)
则LED会永远的一个亮一个灭一个亮一个灭一个亮一个灭 

2005-04-08 16:19:16 A1.茶园村长(2282902)
感觉CVAVR比ICCAVR好用一些。

2005-04-08 16:19:27 A1.茶园村长(2282902)
对。

2005-04-08 16:19:33 A1.茶园村长(2282902)
孺子可教也。 

2005-04-08 16:19:38 C08.人生如歌(93882205)
偶理解了.

2005-04-08 16:20:08 寂寞小刀(22470886)
茶园村长  你多大了

2005-04-08 16:20:16 A1.茶园村长(2282902)
28,你呢?

2005-04-08 16:20:17 *_+(4871674)
关键是我只有ICC是能破解的 就用它了
也没用过其他的编译器 不知道有没有更好用的

2005-04-08 16:20:26 A1.茶园村长(2282902)
CVAVR也有。

2005-04-08 16:20:42 A1.茶园村长(2282902)
也已经共享了,在我们的单片机区

2005-04-08 16:21:03 *_+(4871674)
哦?您的坛子?

2005-04-08 16:21:05 *_+(4871674)
哪里?

2005-04-08 16:21:04 /:D迪克木仔(28274903)
我想问一个菜鸟级的问题
程序是在计算机上写的,那怎么用呢》》
用到什么地方
 

2005-04-08 16:21:08 C08.人生如歌(93882205)
开发板已经做好了,我没有5V,有6V的,可以上吗?

2005-04-08 16:21:10 寂寞小刀(22470886)
我比小一些  你写单片机多少年了

2005-04-08 16:21:14 A1.茶园村长(2282902)
不是,在群共享里。

2005-04-08 16:21:21 C08.人生如歌(93882205)
开发板已经做好了,我没有5V,有6V的,可以上吗?
 

2005-04-08 16:21:23 *_+(4871674)
哦 see

2005-04-08 16:21:33 A1.茶园村长(2282902)
我写单片机1年,写ERP程序7年。

2005-04-08 16:21:50 A1.茶园村长(2282902)
千万不能用6V的。

2005-04-08 16:22:15 寂寞小刀(22470886)
我写了三年

2005-04-08 16:22:16 A1.茶园村长(2282902)
用整流二极管降一下。

2005-04-08 16:22:16 *_+(4871674)
没看见啊
什么文件名?

2005-04-08 16:22:25 C08.人生如歌(93882205)
必须用5V?
 

2005-04-08 16:22:28 平澜(274421848)
DDRB=0xFF;     //定义B口为输出  (输出到LED),DDRB也算是寄存器吗。PIND.0也是吧。
 

2005-04-08 16:22:30 A1.茶园村长(2282902)
对。

2005-04-08 16:22:50 平澜(274421848)
图看着晕啊。看不很懂

2005-04-08 16:22:51 *_+(4871674)
我大约...也弄了2~3年单片机了
现在做蓝牙

2005-04-08 16:22:52 电解PIG(329891466)
用78L05转换可以吗?

2005-04-08 16:23:14 A1.茶园村长(2282902)
DDRB也算是寄存器吗<对。
PIND.0也是吧。<-是寄存器中的一个位。

2005-04-08 16:23:14 acer  :
(26694362)
电脑USB的为5V

2005-04-08 16:23:44 A1.茶园村长(2282902)
所以说,我们学单片机是以程序员的角度还学的。

2005-04-08 16:24:21 A1.茶园村长(2282902)
写程序方面,我们都没有问题,但外围电路就不大懂了。

2005-04-08 16:24:46 A1.茶园村长(2282902)
各位见笑了。[;-D]

2005-04-08 16:24:52 *_+(4871674)
我感觉设计数字电路和写程序有很多相通的地方

2005-04-08 16:24:58 A1.茶园村长(2282902)
对。

2005-04-08 16:25:06 *_+(4871674)
模拟的就区别大一些了

2005-04-08 16:25:10 C08.人生如歌(93882205)
我们找到5V电源了,一会接到开发包上,希望不会冒烟.祝福我们吧.呵呵.

2005-04-08 16:26:05 acer  :
(26694362)
不要接反了就不会吧

2005-04-08 16:26:08 电解PIG(329891466)
对我极度不信任,以后不要找我焊板了[:@]

2005-04-08 16:26:36 acer  :
(26694362)
你们在上电之前要仔细检查有没有短路

2005-04-08 16:26:37 *_+(4871674)
祝福 祝福 祝福
建议:在电源上接一个整流桥,这样正反都不会烧板子

2005-04-08 16:26:43 A1.茶园村长(2282902)
C8搞搞笑而已。

2005-04-08 16:26:44 acer  :
(26694362)
最忌讳的了

2005-04-08 16:26:51 bearcat(357043197)
老大你的电路我越看越不理解!!

2005-04-08 16:26:56 A1.茶园村长(2282902)
why?

2005-04-08 16:27:20 电解PIG(329891466)
我的电路不会有短路,断路倒有可能

2005-04-08 16:27:29 A1.茶园村长(2282902)
我是以最简单的理解度去带大家入门的。

2005-04-08 16:27:39 bearcat(357043197)
会不会一下了全亮吧

2005-04-08 16:27:40 A1.茶园村长(2282902)
不想做得太复杂。

2005-04-08 16:27:45 文子(44738541)
刚刚断线了。。

我问。。。

2005-04-08 16:27:56 *_+(4871674)
哦...

2005-04-08 16:27:59 A1.茶园村长(2282902)
bearcat(357043197) 16:27:39
会不会一下了全亮吧 <-什么情况下?

2005-04-08 16:28:03 文子(44738541)
PORTB 、DDRB 这些是不是AVR内部的一些控制 变量还是?

2005-04-08 16:28:19 *_+(4871674)
寄存器

2005-04-08 16:28:23 A1.茶园村长(2282902)
文子,你是可以这样理解。

2005-04-08 16:28:32 电解PIG(329891466)
我们的电源和板接口不匹配,哈哈哈

2005-04-08 16:28:42 A1.茶园村长(2282902)
晕。。

2005-04-08 16:28:50 A1.茶园村长(2282902)
没烧吧?[:D]

2005-04-08 16:28:52 电解PIG(329891466)
C08已经、气死了

2005-04-08 16:29:14 文子(44738541)
那相当于是 这些个 变量 完成了变通的 IO 接口工作?

2005-04-08 16:29:13 acer  :
(26694362)
硬接撒

2005-04-08 16:29:24 电解PIG(329891466)
还没插上去呢!!!!

2005-04-08 16:29:31 A1.茶园村长(2282902)
文子,对。

2005-04-08 16:29:37 bearcat(357043197)
你只有一个输入端来控制你的二极光

2005-04-08 16:30:02 B2.TCP INFO(31329846)
竟和别人 聊天了,也没什么上课,老大

2005-04-08 16:30:13 A1.茶园村长(2282902)
bearcat,我用的是总线接法。

2005-04-08 16:30:55 A1.茶园村长(2282902)
好了,我们该模拟运行了。

2005-04-08 16:31:02 A1.茶园村长(2282902)
打开PDF。

2005-04-08 16:31:03 B2.TCP INFO(31329846)
不过 大体 都明白了,[;-D]

2005-04-08 16:31:28 bearcat(357043197)
可是也要让二极光的发亮也要有一个先后

2005-04-08 16:32:22 A1.茶园村长(2282902)
bearcat,你是不是没有理解总线接法的意思。。。

2005-04-08 16:32:54 A1.茶园村长(2282902)
运行开始。

2005-04-08 16:33:06 D8。飘尘(43745429)
偶上次用了5V的

2005-04-08 16:33:17 寂寞小刀(22470886)
D8。飘尘  我怎么了 

2005-04-08 16:33:34 A1.茶园村长(2282902)
小刀也给我们讲一讲课了。

2005-04-08 16:33:41 bearcat(357043197)
说来听听

2005-04-08 16:33:41 B11.PassWorld(3569555)
An Adaptive Peer-to-Peer Network for Distributed Caching of OLAP Results (2002) 
 

2005-04-08 16:33:43 *_+(4871674)
文子:PORTB

、DDRB实际上是几个宏,内容是一些寄存器的地址强制转换成指针类型后的引用(....),在单片

机里,对于系统的任何配置,控制,数据读写等等都是靠写寄存器实现的..........闲丑了

2005-04-08 16:34:17 寂寞小刀(22470886)
村长  你开发什么产品啊

2005-04-08 16:34:28 三天两夜(71838805)
查看一下头文件就明了

2005-04-08 16:34:33 A1.茶园村长(2282902)
没有产品,自家用的倒是用。

2005-04-08 16:34:45 *_+(4871674)
是啊 头里都有

2005-04-08 16:34:57 A1.茶园村长(2282902)
我在公司不是搞硬件的,是搞软件的。

2005-04-08 16:35:17 文子(44738541)
那宏都可以 用在 左等 啊?

2005-04-08 16:35:28 寂寞小刀(22470886)
现在的地层软件一般都分在硬件部门啊

2005-04-08 16:35:40 A1.茶园村长(2282902)
老板经常和我们说,最简单的理解方法就是最好的方法。。

2005-04-08 16:35:48 *_+(4871674)
指针的引用可以是左值

2005-04-08 16:36:01 三天两夜(71838805)
如果你习惯了delphi语法,也可把c的语法编程delphi的

2005-04-08 16:36:05 A1.茶园村长(2282902)
我本身的职位是ERP开发和系统分析。

2005-04-08 16:36:21 *_+(4871674)
(我也是几个月前才知道的)[:-|]

2005-04-08 16:36:23 文子(44738541)
明了。

2005-04-08 16:36:27 A1.茶园村长(2282902)
AVR只是我的狂热爱好。

2005-04-08 16:37:26 A1.茶园村长(2282902)
所以,我的单片机能力和模电能力肯定比不大各位电子高手了。

2005-04-08 16:37:32 三天两夜(71838805)
村长你刚才用的那个cpu多少钱一块?

2005-04-08 16:37:46 A1.茶园村长(2282902)
M8?  8.3元一片。

2005-04-08 16:37:57 A1.茶园村长(2282902)
深圳价。

2005-04-08 16:38:09 三天两夜(71838805)
便宜,比430便宜多了

2005-04-08 16:38:20 寂寞小刀(22470886)
茶园村长  你在深圳?

2005-04-08 16:38:33 A1.茶园村长(2282902)
便宜和简单就是我们动手感的选择。

2005-04-08 16:38:37 A1.茶园村长(2282902)
我不在深圳。

2005-04-08 16:38:40 A1.茶园村长(2282902)
在东莞。

2005-04-08 16:39:07 三天两夜(71838805)
我还是喜欢用430,第一次见到那个小东西我就爱上他了

2005-04-08 16:39:11 寂寞小刀(22470886)
[:~]  再具体仪下子

2005-04-08 16:39:31 A1.茶园村长(2282902)
各有所爱也。[:D]

2005-04-08 16:39:33 *_+(4871674)
其实我也不清楚CVAVR里是怎么处理寄存器的
因为不同的编译器对这种直接寻址的处理方式不一样
但如果是ANSI的编译器应该是这么处理的

2005-04-08 16:39:44 A1.茶园村长(2282902)
对。

2005-04-08 16:40:05 A1.茶园村长(2282902)
到头来都是直接面对IO口的。

2005-04-08 16:40:14 *_+(4871674)
C51里就不用这种宏 而用一个别扭的"sfr"关键字来声明寄存器

2005-04-08 16:40:30 C08.人生如歌(93882205)
我从仓库里找出一个4.8V的,这个可以用吧?!老大?!

2005-04-08 16:40:31 寂寞小刀(22470886)
村长  在东莞那里了

2005-04-08 16:40:33 A1.茶园村长(2282902)
CVAVR是用 sfrb来的。

2005-04-08 16:40:42 A1.茶园村长(2282902)
东莞常平。

2005-04-08 16:40:54 寂寞小刀(22470886)
我在长安

2005-04-08 16:40:59 C08.人生如歌(93882205)
我从仓库里找出一个4.8V的,这个可以用吧?!老大?!
 

2005-04-08 16:41:02 acer  :
(26694362)
当村长?

2005-04-08 16:41:10 A1.茶园村长(2282902)
C8可以。

2005-04-08 16:41:15 *_+(4871674)
哦 那也不是宏 看来CVAVR不是ANSI的
我刚才说错了 文字 不好意思

2005-04-08 16:41:22 A1.茶园村长(2282902)
是这个社区的村长。

2005-04-08 16:41:41 文子(44738541)
[:|]

2005-04-08 16:41:51 A1.茶园村长(2282902)
煮茶社区一共有七八个社区,我是村长。


2005-04-08 16:42:14 D8。飘尘(43745429)
偶那天用过八V的

2005-04-08 16:42:16 acer  :
(26694362)
那我要加完,行吗?

2005-04-08 16:42:30 A1.茶园村长(2282902)
[图片]

2005-04-08 16:42:37 D8。飘尘(43745429)
哈哈,昨天才在垃圾库到找插头了

2005-04-08 16:42:48 D8。飘尘(43745429)
不过电路还是好的

2005-04-08 16:43:01 *_+(4871674)
但作用是一样的

2005-04-08 16:43:26 A1.茶园村长(2282902)
什么作用是一样的?

2005-04-08 16:44:02 *_+(4871674)
村长 sfrb关键字声明的寄存器 和那种直接寻址的宏啊

2005-04-08 16:44:20 *_+(4871674)
sfrb什么语法?

2005-04-08 16:44:20 寂寞小刀(22470886)
[;d]

2005-04-08 16:44:27 B2.TCP INFO(31329846)
寻址方式 应该讲讲

2005-04-08 16:44:31 A1.茶园村长(2282902)
是CVAVR自己的语法。

2005-04-08 16:44:42 B2.TCP INFO(31329846)
直接寻址,间接寻址

2005-04-08 16:44:47 B2.TCP INFO(31329846)
寄存器寻址

2005-04-08 16:44:55 B2.TCP INFO(31329846)
寄存器间接寻址 

2005-04-08 16:44:55 *_+(4871674)
对呀 所以CVAVR不是ANSI啦
ICCAVR是ANSI的

2005-04-08 16:45:17 文子(44738541)
ANSI 是标准的意思哇?

2005-04-08 16:45:18 *_+(4871674)
这个恐怕得结合汇编讲

2005-04-08 16:45:28 *_+(4871674)

2005-04-08 16:45:42 文子(44738541)
[:-|]

2005-04-08 16:46:02 *_+(4871674)
AVR的汇编特别扭
我写过几行 受不了

2005-04-08 16:46:34 A1.茶园村长(2282902)
我喜欢CVAVR是因为CVAVR有位变量。

2005-04-08 16:46:39 A1.茶园村长(2282902)
可以直接对位操作。

2005-04-08 16:46:45 A1.茶园村长(2282902)
ICCAVR就不行。

2005-04-08 16:46:59 *_+(4871674)

类似sbit的关键字?

2005-04-08 16:47:13 A1.茶园村长(2282902)
单片机最重要的也就是位功能了。所以,我用了一段时候ICCAVR后,就转用CVAVR了。

2005-04-08 16:47:23 *_+(4871674)
ANSI C里边可以用位域啊

2005-04-08 16:47:50 A1.茶园村长(2282902)
ANSI可以不代表ICCAVR可以。[:D]

2005-04-08 16:48:15 A1.茶园村长(2282902)
我就是被ICC的“位”搞晕了。

2005-04-08 16:48:55 *_+(4871674)
嗯...也有可能 毕竟没真的这么用过..[:-|]
但ICC号称是符合ANSI标准的啊
我还是比较倾向于用ANSI的编译器

2005-04-08 16:49:25 C08.人生如歌(93882205)
打扰了,问一下,程序写在那里,怎么用下载器下载到开发板?!

2005-04-08 16:49:25 acer  :
(26694362)
你们没上班嘛?

2005-04-08 16:49:32 A1.茶园村长(2282902)
关於这个程序,大家最好是结合这块板一起用一下,就明白了。

2005-04-08 16:49:44 *_+(4871674)
AVR好像也不支持位寻址吧

2005-04-08 16:49:52 C08.人生如歌(93882205)
打扰了,问一下,程序写在那里,怎么用下载器下载到开发板?!
 

2005-04-08 16:50:01 A1.茶园村长(2282902)
我们都在上班啊,只不过是偷懒一下而已。

2005-04-08 16:50:06 A1.茶园村长(2282902)
C8弄好了?

2005-04-08 16:50:15 acer  :
(26694362)
哦,原来如此

2005-04-08 16:50:42 A1.茶园村长(2282902)
C8,用一条十芯的线,一头接开发板,一头接ISP就可以了。

2005-04-08 16:50:44 C08.人生如歌(93882205)
惨呀.找了一个4.8V的电源,插头是USB式的,C09找了一个USB母座,在接线呢.一会就好.

2005-04-08 16:50:56 acer  :
(26694362)
我也要好好学,以后在你们这个村也弄个编号

2005-04-08 16:51:04 A1.茶园村长(2282902)
[share]

2005-04-08 16:51:06 C08.人生如歌(93882205)
我是想知道,ISP与电脑是如何通讯的.

2005-04-08 16:51:04 acer  :
(26694362)
E级的也可以

2005-04-08 16:51:18 *_+(4871674)
机箱里可以直接引出5V啊

2005-04-08 16:51:35 A1.茶园村长(2282902)
不过,会议室平时不讨论的,都是在其它区各自讨论。

2005-04-08 16:51:37 *_+(4871674)
USB的电流不知道够不够...

2005-04-08 16:51:49 A1.茶园村长(2282902)
有开课时才到这里集中。

2005-04-08 16:52:11 A1.茶园村长(2282902)
对於这个板应该没有问题。

2005-04-08 16:52:23 *_+(4871674)
机箱电源比较猛,好像几个安培都扛得住[:D]

2005-04-08 16:52:24 acer  :
(26694362)
5V

2005-04-08 16:52:28 acer  :
(26694362)
标准的

2005-04-08 16:52:31 acer  :
(26694362)
我用过

2005-04-08 16:52:43 acer  :
(26694362)
不晓得电流够不?

2005-04-08 16:53:31 A1.茶园村长(2282902)
好了,下课了,大家各自讨论。

2005-04-08 16:53:44 A1.茶园村长(2282902)
Class is over.

2005-04-08 16:54:23 C08.人生如歌(93882205)
偶的所有人东西都做好了.

2005-04-08 16:54:25 A1.茶园村长(2282902)
其它时间有单片机问题的请到单片机区7617215讨论。

2005-04-08 16:54:30 C08.人生如歌(93882205)
我的所有的东西都做好了.

2005-04-08 16:54:43 A1.茶园村长(2282902)
就差测试了对不?

2005-04-08 16:54:57 A1.茶园村长(2282902)

2005-04-08 16:54:52 C08.人生如歌(93882205)
用PonyProg2000?

2005-04-08 16:56:35 C08.人生如歌(93882205)
热列庆祝C09焊接的东西,接电之后没有冒烟.

2005-04-08 16:56:43 A1.茶园村长(2282902)
[:D]

2005-04-08 16:56:56 电解PIG(329891466)
[break]

2005-04-08 16:56:57 acer  :
(26694362)
旧好

2005-04-08 16:57:01 acer  :
(26694362)
就好

2005-04-08 16:57:05 acer  :
(26694362)
着求咯

2005-04-08 16:57:14 acer  :
(26694362)
肯定不得行撒?

2005-04-08 16:57:19 acer  :
(26694362)
是不是?

2005-04-08 16:58:17 C08.人生如歌(93882205)
A1,ISP接rs232之后,开发板的LED闪了一下!

2005-04-08 16:58:23 C08.人生如歌(93882205)
正常吧?!

2005-04-08 16:58:34 C08.人生如歌(93882205)
偶去单片机群里讲.

2005-04-08 17:23:59 D2.大羽(393921295)
[TV]

2005-04-08 17:25:08 B2.TCP INFO(31329846)
看电视 呢大羽?

2005-04-08 17:25:40 D2.大羽(393921295)
[:D]点错了

2005-04-08 17:25:47 D2.大羽(393921295)
你找到rose插件了?

2005-04-08 17:25:59 D2.大羽(393921295)
找到了和偶说一声

2005-04-08 17:26:06 B2.TCP INFO(31329846)
A4 给了我一个

2005-04-08 17:26:13 D2.大羽(393921295)
[:*]

2005-04-08 17:26:14 B2.TCP INFO(31329846)
我告诉你地址

2005-04-08 17:26:18 D2.大羽(393921295)

2005-04-08 17:26:22 B2.TCP INFO(31329846)
不过 我没试呢

2005-04-08 17:27:13 B2.TCP INFO(31329846)
A4 的群

2005-04-08 17:27:10 B2.TCP INFO(31329846)
你加没

2005-04-08 17:27:20 D2.大羽(393921295)
加了

2005-04-08 17:27:34 B2.TCP INFO(31329846)
共享里

2005-04-08 17:27:32 B2.TCP INFO(31329846)
就在他群里

2005-04-08 17:28:01 D2.大羽(393921295)
rosedelphilink?

2005-04-08 17:28:14 B2.TCP INFO(31329846)

2005-04-08 17:28:51 B2.TCP INFO(31329846)
顺便 问一下 //

2005-04-08 17:28:58 D2.大羽(393921295)
[?]

2005-04-08 17:29:00 B2.TCP INFO(31329846)
有 For C++Builder 的没

2005-04-08 17:29:16 D2.大羽(393921295)
没见

2005-04-08 17:30:05 B2.TCP INFO(31329846)
应该有吧

2005-04-08 17:30:25 D2.大羽(393921295)

2005-04-08 17:30:46 D2.大羽(393921295)
不支持delphi,也会支持c++

2005-04-08 17:31:01 B2.TCP INFO(31329846)
嗯,我找找

2005-04-08 17:31:14 陈星佐(29795113)
我觉得MM和Delphi结合得更好,更好用

2005-04-08 17:31:42 陈星佐(29795113)
Rose已经被IBM收购了,以后要用我也用borland的together

2005-04-08 17:31:39 D2.大羽(393921295)
[:D]

2005-04-08 17:31:50 B2.TCP INFO(31329846)
对,MM 好

2005-04-08 17:31:56 D2.大羽(393921295)
together不好用

2005-04-08 17:32:02 B2.TCP INFO(31329846)
反正都行

2005-04-08 17:32:26 D2.大羽(393921295)
delphi不符合rose的理念

2005-04-08 17:32:47 陈星佐(29795113)
什么理念?