设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 3852|回复: 10
收起左侧

C51单片机内塞下30万公里的导线的方法。

[复制链接]
发表于 2017-6-12 18:41:43 | 显示全部楼层 |阅读模式

  1. /*
  2. C51单片机内塞下30万公里的导线的方法,输入端给的电平信号,输出端在1秒后就会做出反应。
  3. 1/256秒采样一次电平(可直接修改),加上外置sd卡可扩展到光年级,相当于在sd卡里塞进去了几光年的导线。
  4. 相当于连接了一根长约30万公里的无感抗超导体光纤。

  5. 源码(用Keil编译):



  6. */
  7. #include "reg51.h"
  8. #include "intrins.h"
  9. unsigned char n[32];  //位数据存储
  10. sbit i=P3^2; //信号输入口 连接按键与GND
  11. sbit o=P3^3; //信号输出口 连接LED与VCC



  12. void delay3ms906us(void)   //延迟 1/256秒 根据晶振频率修改
  13. {
  14.     unsigned char a,b,n;
  15.     for(b=219;b>0;b--)
  16.         for(a=52;a>0;a--);
  17.     for(n=1;n>0;n--);
  18. }


  19. bit read_bit(unsigned char a){ //读位
  20.         unsigned char b=a>>3;  
  21.         unsigned char c=a&7;   
  22.         return (1<<c&n[b])>>c;
  23.         
  24. }


  25. void write_bit(unsigned char a,bit d){ //写位
  26.         unsigned char b=a>>3;  
  27.         unsigned char c=a&7;   
  28.         bit e=(1<<c&n[b])>>c;

  29.         if(d == 0){
  30.                 if(e==1){
  31.                 n[b]-=1<<c;
  32.                 }

  33.         } else {
  34.                 if(e==0){
  35.                 n[b]+=1<<c;

  36.                 }

  37.         }

  38.                



  39.         
  40. }




  41. void main(){ //入口函数
  42. //填充数据
  43. unsigned char a=0;  //计数
  44. a=32;  //a置32
  45. while(a--){ //a不为0替减
  46. n[a]=0xFF;  //填充空数据
  47. }
  48. a=0; //a置0
  49.         while(1){ //进入死循环
  50.         o=read_bit(a); //先输出数据
  51.         write_bit(a,i); //后读入数据
  52.         delay3ms906us(); //延迟 1/256秒
  53.         a++; //指针加1
  54.         }
  55. }

复制代码

发表于 2017-6-12 22:04:37 | 显示全部楼层
小白看不懂,但还是很强大的样子:'(
发表于 2017-6-15 17:42:52 | 显示全部楼层
1看到这标题就戳进来了:D
发表于 2017-6-27 20:57:03 | 显示全部楼层
表示这玩意应该能让信号反应迟钝什么的
发表于 2017-7-3 16:47:40 | 显示全部楼层
好厉害的样子。
发表于 2017-9-22 16:54:10 来自手机 | 显示全部楼层
实际上是假的,延迟的。
发表于 2017-11-10 09:18:07 | 显示全部楼层
怎么塞进去的了
发表于 2018-4-22 10:16:06 | 显示全部楼层
塞30光年都没问题
发表于 2019-1-9 22:52:33 | 显示全部楼层
度娘了一下lz名字的含义,结果....
您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-3-29 19:32 , Processed in 0.557032 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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