打印

急求教一个关于Keil uVision3的问题

[复制链接]
2796|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
攀登者|  楼主 | 2008-9-10 12:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jiangrh| | 2008-9-10 13:04 | 只看该作者

RE

#include<reg51.h>
#include<stdio.h>

void main()
{
  SCON=0X50;
  TMOD|=0x20;
  TH1=0xf3;
  TR1=1;
  TI=1;   //此处T1
  printf("Hello C51 ");
 while(1);
}
 

使用特权

评论回复
板凳
攀登者|  楼主 | 2008-9-10 13:23 | 只看该作者

急求教一个关于Keil uVision3的问题

这个问题困扰我两天了 ,希望高手们能指点一下小弟!不胜感激!!!!

使用特权

评论回复
地板
xuyaqi| | 2008-9-10 14:49 | 只看该作者

二楼不是已经给你解决了!你没看到!

使用特权

评论回复
5
攀登者|  楼主 | 2008-9-10 15:38 | 只看该作者

求教一个关于Keil uVision3的问题

问题解决 谢谢上面的两位高手!!!!我还有个问题想请教 要是运行我下面的程序后打开串口能看到仿真结果吗?谢谢
#include <reg51.h>
#include <intrins.h>
#include <stdio.h>
#include <absacc.h>
#define uchar unsigned char

main ()
{uchar code valuecode1[]={
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xff,0xf0,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x18,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xdc,0x00,0x01,
0x80,0x00,0x1f,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xbc,0x00,0x01,
0x80,0x00,0x30,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x01,0x7f,0xff,0xb8,0x00,0x01,
0x80,0x00,0x30,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x01,0x7f,0xff,0x78,0x00,0x01,
0x80,0x00,0x19,0xff,0xfe,0xc0,0x00,0x00,0x00,0x00,0x02,0xff,0xff,0x70,0x00,0x01,
0x80,0x00,0x18,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,0xff,0xfe,0xf0,0x00,0x01,
0x80,0x00,0x0c,0x01,0xff,0x06,0x00,0x00,0x00,0x00,0x05,0xff,0xfe,0xe0,0x00,0x01,
0x80,0x00,0x0c,0x7f,0xd0,0x20,0x00,0x00,0x00,0x00,0x05,0xff,0xfd,0xe0,0x00,0x01,
0x80,0x00,0x06,0x00,0x0f,0xb0,0x00,0x00,0x00,0x00,0x0b,0xff,0xfd,0xc0,0x00,0x01,
0x80,0x00,0x06,0x03,0xfc,0x10,0x00,0x00,0x00,0x00,0x0b,0xff,0xfb,0xc0,0x00,0x01,
0x80,0x00,0x03,0x1f,0x00,0x18,0x00,0x00,0x00,0x00,0x17,0xff,0xfb,0x80,0x00,0x01,
0x80,0x00,0x03,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x17,0xff,0xf7,0x80,0x00,0x01,
0x80,0x00,0x01,0x80,0x00,0x0c,0x00,0x00,0x00,0x00,0x17,0xff,0xf7,0x00,0x00,0x01,
0x80,0x00,0x01,0x80,0x00,0x04,0x00,0x00,0x00,0x00,0x09,0xff,0xef,0x00,0x00,0x01,
0x80,0x00,0x00,0xc0,0x00,0xf6,0x00,0x00,0x00,0x00,0x06,0x7f,0xee,0x00,0x00,0x01,
0x80,0x00,0x00,0xc0,0x03,0xc2,0x00,0x00,0x00,0x00,0x01,0x9f,0xde,0x00,0x00,0x01,
0x80,0x00,0x00,0x06,0x00,0x3b,0x00,0x00,0x00,0x00,0x00,0x67,0xdf,0x00,0x00,0x01,
0x80,0x00,0x00,0x06,0x00,0xe3,0x00,0x00,0x00,0x00,0x00,0x19,0xbf,0x00,0x00,0x01,
0x80,0x00,0x00,0x30,0x03,0x8e,0x00,0x00,0x00,0x00,0x00,0x06,0x3f,0x00,0x00,0x01,
0x80,0x00,0x00,0x30,0x06,0x3c,0x00,0x00,0x00,0x00,0x00,0x01,0xff,0x00,0x00,0x01,
0x80,0x00,0x00,0x18,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x01,
0x80,0x00,0x00,0x18,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x0f,0x7f,0x80,0x00,0x01,
0x80,0x00,0x00,0x0c,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x1f,0xc0,0x00,0x01,
0x80,0x00,0x00,0x0c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x07,0xe0,0x00,0x01,
0x80,0x00,0x00,0x06,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x1f,0xe0,0x00,0x01,
0x80,0x00,0x00,0x07,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x3f,0xc0,0x00,0x01,
0x80,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0xff,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xfc,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xf0,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xc0,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x80,0x05,0x40,0x88,0x04,0x01,0x08,0x00,0x00,0x0a,0x81,0x10,0x04,0x00,0x20,0x01,
0x80,0x79,0x21,0x08,0x02,0x21,0x49,0x00,0x00,0xf2,0x42,0x10,0x04,0x47,0x10,0x01,
0x80,0x09,0x07,0x7f,0xf7,0xaa,0x00,0x00,0x12,0x0f,0xbe,0x7f,0xe5,0xfe,0x01,0x80,
0x7f,0xf4,0x51,0x08,0x81,0x2c,0x00,0x00,0xff,0xe8,0xa2,0x44,0x47,0x00,0x01,0x80,
0x09,0x04,0x61,0x08,0x81,0x7f,0x00,0x00,0x12,0x08,0xc2,0x7f,0xc5,0x4a,0x01,0x80,
0x0b,0x24,0x51,0x08,0x83,0x81,0x00,0x00,0x16,0x48,0xa2,0x44,0x45,0x6a,0x01,0x80,
0x1d,0x47,0xc9,0x05,0x05,0x01,0x00,0x00,0x3a,0x8f,0x92,0x44,0x47,0x52,0x01,0x80,
0x68,0x84,0x49,0x05,0x05,0x7f,0x00,0x00,0xd1,0x08,0x92,0x7f,0xc5,0x6a,0x01,0x80,
0x09,0x94,0x41,0x02,0x01,0x01,0x00,0x00,0x13,0x28,0x82,0x44,0x05,0x4a,0x01,0x80,
0x0e,0x57,0xc1,0x0d,0x81,0x01,0x00,0x00,0x1c,0xaf,0x82,0x04,0x29,0x42,0x01,0x80,
0x38,0x34,0x4e,0x70,0x71,0x7f,0x00,0x00,0x70,0x68,0x9c,0x03,0x9c,0x7e,0x01,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80 ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xff ,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};
 uchar j,n,i,s1;
 
 for (j=0;j<32;j++)
  {
    for(i=0;i<16;i++)
     {n=valuecode1[s1++]; 
  
      printf("%d",n);}
  }
}

使用特权

评论回复
6
箫笑| | 2008-9-10 15:46 | 只看该作者

......

能不能看到效果不是自己试一下就知道了吗????

不过第一眼看上去,s1这个变量的初值不会是0的,局部变量是不会自动初始化的。

使用特权

评论回复
7
攀登者|  楼主 | 2008-9-10 16:11 | 只看该作者

Keil uVision3

我试过了,编译能通过,运行仿真时Keil uVision3的提示窗口显示代码过大,Keil uVision3软件我这几天才学习的,所以我想请高手帮我看一下是不是软件还要设置其他东西啊 谢谢

使用特权

评论回复
8
gjg191| | 2008-9-10 16:29 | 只看该作者

o

你不会用的是限制版吧 找个**板的

使用特权

评论回复
9
攀登者|  楼主 | 2008-9-10 16:33 | 只看该作者

Keil uVision3

我用的就是**版的啊

使用特权

评论回复
10
torch888| | 2008-9-10 16:48 | 只看该作者

RE

你的数组太大的缘故吧,把数组减小试试

使用特权

评论回复
11
攀登者|  楼主 | 2008-9-10 17:00 | 只看该作者

Keil uVision3

我已经把数组减少了 但运行仿真后打开串口看还是什么东西都没有,这是为什么呢?

使用特权

评论回复
12
xuyaqi| | 2008-9-10 22:43 | 只看该作者

我改了一下,自己去对比吧。

#include <reg51.h>
#include <intrins.h>
#include <stdio.h>
#include <absacc.h>
#define uchar unsigned char
#define uint  unsigned int

uchar code valuecode1[]=
{
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xff,0xf0,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x18,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xdc,0x00,0x01,
    0x80,0x00,0x1f,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0xff,0xbc,0x00,0x01,
    0x80,0x00,0x30,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x01,0x7f,0xff,0xb8,0x00,0x01,
    0x80,0x00,0x30,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x01,0x7f,0xff,0x78,0x00,0x01,
    0x80,0x00,0x19,0xff,0xfe,0xc0,0x00,0x00,0x00,0x00,0x02,0xff,0xff,0x70,0x00,0x01,
    0x80,0x00,0x18,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,0xff,0xfe,0xf0,0x00,0x01,
    0x80,0x00,0x0c,0x01,0xff,0x06,0x00,0x00,0x00,0x00,0x05,0xff,0xfe,0xe0,0x00,0x01,
    0x80,0x00,0x0c,0x7f,0xd0,0x20,0x00,0x00,0x00,0x00,0x05,0xff,0xfd,0xe0,0x00,0x01,
    0x80,0x00,0x06,0x00,0x0f,0xb0,0x00,0x00,0x00,0x00,0x0b,0xff,0xfd,0xc0,0x00,0x01,
    0x80,0x00,0x06,0x03,0xfc,0x10,0x00,0x00,0x00,0x00,0x0b,0xff,0xfb,0xc0,0x00,0x01,
    0x80,0x00,0x03,0x1f,0x00,0x18,0x00,0x00,0x00,0x00,0x17,0xff,0xfb,0x80,0x00,0x01,
    0x80,0x00,0x03,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x17,0xff,0xf7,0x80,0x00,0x01,
    0x80,0x00,0x01,0x80,0x00,0x0c,0x00,0x00,0x00,0x00,0x17,0xff,0xf7,0x00,0x00,0x01,
    0x80,0x00,0x01,0x80,0x00,0x04,0x00,0x00,0x00,0x00,0x09,0xff,0xef,0x00,0x00,0x01,
    0x80,0x00,0x00,0xc0,0x00,0xf6,0x00,0x00,0x00,0x00,0x06,0x7f,0xee,0x00,0x00,0x01,
    0x80,0x00,0x00,0xc0,0x03,0xc2,0x00,0x00,0x00,0x00,0x01,0x9f,0xde,0x00,0x00,0x01,
    0x80,0x00,0x00,0x06,0x00,0x3b,0x00,0x00,0x00,0x00,0x00,0x67,0xdf,0x00,0x00,0x01,
    0x80,0x00,0x00,0x06,0x00,0xe3,0x00,0x00,0x00,0x00,0x00,0x19,0xbf,0x00,0x00,0x01,
    0x80,0x00,0x00,0x30,0x03,0x8e,0x00,0x00,0x00,0x00,0x00,0x06,0x3f,0x00,0x00,0x01,
    0x80,0x00,0x00,0x30,0x06,0x3c,0x00,0x00,0x00,0x00,0x00,0x01,0xff,0x00,0x00,0x01,
    0x80,0x00,0x00,0x18,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x01,
    0x80,0x00,0x00,0x18,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x0f,0x7f,0x80,0x00,0x01,
    0x80,0x00,0x00,0x0c,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x1f,0xc0,0x00,0x01,
    0x80,0x00,0x00,0x0c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x07,0xe0,0x00,0x01,
    0x80,0x00,0x00,0x06,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x1f,0xe0,0x00,0x01,
    0x80,0x00,0x00,0x07,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x3f,0xc0,0x00,0x01,
    0x80,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0xff,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xfc,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xf0,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xc0,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x05,0x40,0x88,0x04,0x01,0x08,0x00,0x00,0x0a,0x81,0x10,0x04,0x00,0x20,0x01,
    0x80,0x79,0x21,0x08,0x02,0x21,0x49,0x00,0x00,0xf2,0x42,0x10,0x04,0x47,0x10,0x01,
    0x80,0x09,0x07,0x7f,0xf7,0xaa,0x00,0x00,0x12,0x0f,0xbe,0x7f,0xe5,0xfe,0x01,0x80,
    0x7f,0xf4,0x51,0x08,0x81,0x2c,0x00,0x00,0xff,0xe8,0xa2,0x44,0x47,0x00,0x01,0x80,
    0x09,0x04,0x61,0x08,0x81,0x7f,0x00,0x00,0x12,0x08,0xc2,0x7f,0xc5,0x4a,0x01,0x80,
    0x0b,0x24,0x51,0x08,0x83,0x81,0x00,0x00,0x16,0x48,0xa2,0x44,0x45,0x6a,0x01,0x80,
    0x1d,0x47,0xc9,0x05,0x05,0x01,0x00,0x00,0x3a,0x8f,0x92,0x44,0x47,0x52,0x01,0x80,
    0x68,0x84,0x49,0x05,0x05,0x7f,0x00,0x00,0xd1,0x08,0x92,0x7f,0xc5,0x6a,0x01,0x80,
    0x09,0x94,0x41,0x02,0x01,0x01,0x00,0x00,0x13,0x28,0x82,0x44,0x05,0x4a,0x01,0x80,
    0x0e,0x57,0xc1,0x0d,0x81,0x01,0x00,0x00,0x1c,0xaf,0x82,0x04,0x29,0x42,0x01,0x80,
    0x38,0x34,0x4e,0x70,0x71,0x7f,0x00,0x00,0x70,0x68,0x9c,0x03,0x9c,0x7e,0x01,0x80,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80 ,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80 ,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80 ,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80 ,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xff ,
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};

main ()
{
  uchar n;//,s1;
  uint i;

  SCON=0X50;
  TMOD|=0x20;
  TH1=0xf3;
  TR1=1;
  TI=1;   //

 
  for(i=0;i<1024;)
  {
   n=valuecode1;// 
   printf("%u ",n);
   i++;
  }
    
  while(1);
}

使用特权

评论回复
13
1248| | 2008-9-10 23:03 | 只看该作者

呵呵!

有时问题很简单,可是找半天都找不问题所在。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

36

帖子

0

粉丝