数码之家

 找回密码
 立即注册
搜索
查看: 1556|回复: 94

[家电] 用RX8025T做个简易小时钟

  [复制链接]
发表于 2024-11-24 22:22:29 | 显示全部楼层 |阅读模式
本帖最后由 海上生明月丶 于 2024-11-25 10:03 编辑

成品展示:
最近在学习单片机,看视频时全能看懂,想做点啥时,脑子就全忘了
这次趁着脑子不注意,做了一个简易的小时钟






做了两个,一个是C口,另一个也是C口只能插电用,因为数码管比较费电,没做电池版的。

制作过程:



先根据自己库存画原理图,原理图下面有PDF。



准备原件,从左到右,从上到下
1.数码管0.56寸共阴,是以前在老王还是老五还是谁家买的了,忘记了吃灰好久了。
2.排针
3.排针
4.micro口,本来打算做一个C口,一个M口的,发现自己找出来的M口不是板子上画的那种,懒得找做了两个C口的。
5.电容0.1uF   2个     封装.0603
6.电容10uF   1个     封装.0603
7.二极管1N4148  3个 封装.SOD323  实际只用两个,用来给备用电池隔离,另一个用来防反接的取消掉了(低估了这个小钟的电流,选择小了,直接短接)。
8.单片机STC15F104W,很久以前买的,不知道买来要干什么的
9.TM1650数码管扫描芯片,新买的,还支持28个矩阵按键。
10.RX8025T 时钟芯片,坛友给的,只用了一片。
11、12.按键,库存。
13.还有一块备用电池CR1620,3V的,好像是鹌鹑那买什么给带一盘吧,消耗下,太多了

上面数码管的引脚,它中间的7、8脚是时钟的:,正常应该要单独控制,我给接到了TM1650第四位和DP上了,用第四位DP来控制时钟:


然后根据原理图画PCB,供电接口支持micro和Typec,结尾上传的PCB有小修改


板到切割,感谢嘉立创,双层中间用排针连接,后面平面,方便固定。


一共也没有几个原件,焊接上。

这里焊接C口要把micro的焊盘用高温胶带贴下,绝缘。

数码管先插上比对,按键这里需要休整点,要不高度不够,差大概0.2mm?

还有备用电池

然后写程序,由于我也是刚入门(可能算入门了吧),程序写的可能比较繁琐,大家就当看个乐吧。

下载程序,制作完成。

设置方法:




一共两个按键,按SET,进入小时设置,按UP小时加1,24小时模式,只能加不能减,按过一次,再等一年。

再按一次SET进入分钟设置,真正的按过一次再等一年,这里如果再按下SET进入下一模式的同时会把时间写入8025,秒会写入00,可以调到比实际时间大一分钟,等刚跳到60秒时按SET。(秒写入00好处能对秒,坏处,没事按设置时间会变慢)

再按SET进入H1,第一个时间设定点,可以设置0~23小时,到点会自动调整亮度

再按SET进入L1,第一个时间设置点的亮度,范围1~8,1最暗8最亮,L1同时也是系统上电的默认亮度(在设置一次后,烧录固件后默认亮度1)

再按SET进入H2,第二个时间设定点,可以设置0~23小时,到点会自动调整亮度

再按SET进入L2,第二个时间设置点的亮度,范围0~8,1最暗8最亮,0是关闭显示,当关闭显示时按SET或者重新上电,会调用L1亮度,如果不想用调整亮度,把L2设置成和L1一样就可以了。

再按一次SET进入正常时钟模式,中间不能提前退出,只能一项一项设置。

测试功耗:



8级亮度时,单位mA,实际电流根据数码管扫描和显示的数字不同电流也不同。

4级亮度

1级亮度

8级亮度还是挺耗电的,实际白天用4级或者5级,晚上1级或者关闭。(和数码管颜色也有关系)

附件下载:

里面有这个时钟的原理图,打板文件,嘉立创PCB导出文件,程序。

TM1650规格书

RX8025T规格书,英文的



源码部分:转楼下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 13家元 +390 收起 理由
hongo + 30 優秀文章
moontree + 30 謝謝分享
aec + 30 謝謝分享
fu691 + 30 原創內容
闻太师 + 30
bluenight + 30 謝謝分享
ljlun + 30 優秀文章
aacyxjz + 30
qrut + 30 優秀文章
微醉 + 30 会做单片机的大佬

查看全部打赏

 楼主| 发表于 2024-11-24 22:23:24 | 显示全部楼层
本帖最后由 海上生明月丶 于 2024-11-24 22:24 编辑
  1. #include <REG51.H>
  2. #include <INTRINS.H>


  3. sfr         WDT_CONTR   =           0xC1;

  4. sfr         ISP_DATA    =           0xC2;
  5. sfr         ISP_ADDRH   =           0xC3;
  6. sfr         ISP_ADDRL   =           0xC4;
  7. sfr         ISP_CMD     =           0xC5;
  8. sfr         ISP_TRIG    =           0xC6;
  9. sfr         ISP_CONTR   =           0xC7;



  10. sbit        TM1650_SDA  =           0xB5;         
  11. sbit        TM1650_SCL  =           0xB4;      
  12. sbit        KEY2        =           0xB3;      
  13. sbit        KEY1         =          0xB2;      
  14. sbit        SCL         =           0xB1;      
  15. sbit        SDA         =           0xB0;

  16. unsigned char  Sec,Min,Hour,BMin,BHour,Mode,H1,L1,H2,L2;

  17. /******************************************海上生明月******************************************/

  18. //延时xms
  19. void Delay(unsigned int Xms)        //1ms延时函数 @11.0592MHz
  20. {
  21.         unsigned char data i, j;
  22.         while(Xms--)
  23.         {
  24.                 _nop_();
  25.                 _nop_();
  26.                 _nop_();
  27.                 i = 11;
  28.                 j = 190;
  29.                 do
  30.                 {
  31.                         while (--j);
  32.                 } while (--i);
  33.         }
  34. }

  35. void Delay5us(void)        //@11.0592MHz
  36. {
  37.         unsigned char data i;

  38.         _nop_();
  39.         i = 11;
  40.         while (--i);
  41. }


  42. /******************************************海上生明月******************************************/

  43. //TM1650_I2C

  44. void TM1650_I2C_S()//I2C开始
  45. {
  46.         TM1650_SDA=1;
  47.         TM1650_SCL=1;
  48.         Delay5us();
  49.         TM1650_SDA=0;
  50.         TM1650_SCL=0;
  51.         Delay5us();
  52. }

  53. void TM1650_I2C_P()//I2C结束
  54. {
  55.         TM1650_SDA=0;
  56.         TM1650_SCL=1;
  57.         Delay5us();
  58.         TM1650_SDA=1;
  59. }
  60. void TM1650_I2C_W(unsigned char Data)//I2C发送数据
  61. {
  62.         char i;
  63.         for(i=0;i<8;i++)
  64.         {
  65.                 TM1650_SDA=Data&(0x80>>i);
  66.                 TM1650_SCL=1;
  67.                 Delay5us();
  68.                 TM1650_SCL=0;
  69.                 Delay5us();
  70.         }
  71. }
  72. void TM1650_I2C_ACK(void)//I2C接收ACK
  73. {
  74.         TM1650_SDA=1;
  75.         TM1650_SCL=1;
  76.         Delay5us();
  77.         TM1650_SCL=0;
  78.         Delay5us();
  79. }

  80. /******************************************海上生明月******************************************/

  81. //TM1650数码管显示

  82. //数码管段码
  83. unsigned char  NixieTable[24]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x80,0x76,0x38};
  84. unsigned char  Location[4]={0x6E,0x6C,0x6A,0x68};//位选
  85. unsigned char  Luminance[9]={0x00,0x11,0x21,0x31,0x41,0x51,0x61,0x71,0x01};//数码管亮度

  86. //TM1650初始化
  87. //Data数码管亮度  范围0~8 8最亮 0关闭显示
  88. void TM1650_Init(unsigned char Data)
  89. {

  90.         TM1650_I2C_S();
  91.         TM1650_I2C_W(0x48);
  92.         TM1650_I2C_ACK();
  93.         TM1650_I2C_W(Luminance[Data]);
  94.         TM1650_I2C_ACK();
  95.         TM1650_I2C_P();
  96. }
  97. //数码管显示
  98. //Digit 要显示的位置,范围1~4
  99. //Number 要显示的数字,范围0~10 10是关闭显示
  100. void TM1650_Nixie(unsigned char Digit,unsigned char Number)
  101. {
  102.         TM1650_I2C_S();
  103.         TM1650_I2C_W(Location[Digit-1]);
  104.         TM1650_I2C_ACK();
  105.         TM1650_I2C_W(NixieTable[Number]);
  106.         TM1650_I2C_ACK();
  107.         TM1650_I2C_P();
  108. }

  109. /******************************************海上生明月******************************************/

  110. //RX8025T_I2C

  111. void I2C_S()
  112. {
  113.         SDA=1;
  114.         SCL=1;
  115.         Delay5us();
  116.         SDA=0;
  117.         SCL=0;
  118.         Delay5us();
  119. }

  120. void I2C_P()
  121. {
  122.         SDA=0;
  123.         SCL=1;
  124.         Delay5us();
  125.         SDA=1;
  126. }
  127. void I2C_W(unsigned char Data)
  128. {
  129.         char i;
  130.         for(i=0;i<8;i++)
  131.         {
  132.                 SDA=Data&(0x80>>i);
  133.                 SCL=1;
  134.                 Delay5us();
  135.                 SCL=0;
  136.                 Delay5us();
  137.         }
  138. }
  139. unsigned char I2C_R(void)
  140. {
  141.         unsigned char i,Data=0x00;
  142.         SDA=1;
  143.         for(i=0;i<8;i++)
  144.         {
  145.                 SCL=1;
  146.                 Delay5us();
  147.                 if(SDA)
  148.                 Data|=(0x80>>i);
  149.                 SCL=0;
  150.                 Delay5us();
  151.         }
  152.         return Data;
  153. }
  154. void I2C_ACK(void)
  155. {
  156.         SDA=1;
  157.         SCL=1;
  158.         Delay5us();
  159.         SCL=0;
  160.         Delay5us();
  161. }
  162. void I2C_WACK(bit Data)
  163. {
  164.         SDA=Data;
  165.         SCL=1;
  166.         Delay5us();
  167.         SCL=0;
  168.         Delay5us();
  169. }

  170. /******************************************海上生明月******************************************/

  171. //RX8025T

  172. void R8025_Init(void)//R8025初始化
  173. {
  174.         I2C_S();
  175.         I2C_W(0x64);
  176.         I2C_ACK();
  177.         I2C_W(0x0D);
  178.         I2C_ACK();
  179.         I2C_W(0x00);
  180.         I2C_ACK();
  181.         I2C_W(0x00);
  182.         I2C_ACK();
  183.         I2C_W(0x40);
  184.         I2C_ACK();
  185.         I2C_P();
  186. }
  187. void R8025_R(void)//RX8025T读取分钟、小时
  188. {
  189.         I2C_S();
  190.         I2C_W(0x64);
  191.         I2C_ACK();
  192.         I2C_W(0x00);
  193.         I2C_ACK();
  194.         I2C_S();
  195.         I2C_W(0x65);
  196.         I2C_ACK();
  197.         Sec=I2C_R();
  198.         I2C_WACK(0);
  199.         BMin=I2C_R();
  200.         I2C_WACK(0);
  201.         BHour=I2C_R();
  202.         I2C_WACK(0);
  203.         I2C_P();
  204. }
  205. void R8025_W(void)//R8025写入时、分、秒(00)
  206. {
  207.         I2C_S();
  208.         I2C_W(0x64);
  209.         I2C_ACK();
  210.         I2C_W(0x00);
  211.         I2C_ACK();
  212.         I2C_W(0x00);
  213.         I2C_ACK();
  214.         I2C_W(BMin);
  215.         I2C_ACK();
  216.         I2C_W(BHour);
  217.         I2C_ACK();
  218.         I2C_P();
  219. }

  220. /******************************************海上生明月******************************************/

  221. void BCD_Num(void)//BCD码转10进制
  222. {
  223.         Min=(BMin/16)*10+BMin%16;
  224.         Hour=(BHour/16)*10+BHour%16;
  225. }
  226. void Num_BCD(void)//10进制转BCD码
  227. {
  228.         BMin=(Min/10)*16+Min%10;
  229.         BHour=(Hour/10)*16+Hour%10;
  230. }


  231. /******************************************海上生明月******************************************/

  232. //Eeprom初始化
  233. //STC15W104 Eeprom地址0x0000~0x03FF共2个扇区

  234. void Eeprom_Init()
  235. {
  236.         ISP_CONTR=0x82;
  237. }
  238. //Eeprom写入一个字节
  239. //ADDRH写入地址高8位,ADDRL写入地址低8位,Data要写入的字节
  240. void Eeprom_W(unsigned char ADDRH,unsigned char ADDRL,unsigned char Data)
  241. {
  242.         ISP_ADDRH=ADDRH;
  243.         ISP_ADDRL=ADDRL;
  244.         ISP_DATA=Data;
  245.         ISP_CMD=0x02;
  246.         ISP_TRIG=0x5A;
  247.         ISP_TRIG=0xA5;
  248.         Delay(5);
  249. }
  250. //Eeprom读取一个字节
  251. //ADDRH读取地址高8位,ADDRL读取地址低8位
  252. unsigned char Eeprom_R(unsigned char ADDRH,unsigned char ADDRL)
  253. {
  254.         unsigned char Data;
  255.         ISP_ADDRH=ADDRH;
  256.         ISP_ADDRL=ADDRL;
  257.         ISP_CMD=0x01;
  258.         ISP_TRIG=0x5A;
  259.         ISP_TRIG=0xA5;
  260.         Data=ISP_DATA;
  261.         Delay(2);
  262.         return Data;
  263. }
  264. //Eeprom擦除一个扇区
  265. //ADDRH擦除地址高8位,ADDRL擦除地址低8位(擦除扇区的任何一个地址)
  266. void Eeprom_Del(unsigned char ADDRH,unsigned char ADDRL)
  267. {
  268.         ISP_ADDRH=ADDRH;
  269.         ISP_ADDRL=ADDRL;
  270.         ISP_CMD=0x03;
  271.         ISP_TRIG=0x5A;
  272.         ISP_TRIG=0xA5;
  273.         Delay(30);
  274. }
  275. /******************************************海上生明月******************************************/
  276. void TimeShow(void)//时间显示
  277. {
  278.        
  279.         R8025_R();                 //读取时间
  280.         BCD_Num();                 //把读取的时间BCD码转为10进制
  281.         if(Hour/10==0)             //小时显示,小时十位为0,不显示
  282.                 TM1650_Nixie(4,10);
  283.         if(Hour/10)
  284.                 TM1650_Nixie(4,Hour/10);
  285.         TM1650_Nixie(3,Hour%10);
  286.         TM1650_Nixie(2,Min/10);    //分钟显示
  287.         TM1650_Nixie(1,Min%10);
  288.         Delay(500);                //延时半秒

  289.        

  290.         if(Hour/10==0)
  291.                 TM1650_Nixie(4,10+11);  //显示“:”让“:”循环闪烁
  292.         if(Hour/10)
  293.                 TM1650_Nixie(4,(Hour/10)+11);
  294.         Delay(500);
  295.         if(Hour==H1 && Min==00 && Sec<=1)//定时判断,只判断整点的0秒和1秒避免一直初始化TM1650
  296.                 TM1650_Init(L1);               //设置时间到,初始化为指定亮度
  297.         if(Hour==H2 && Min==00 && Sec<=1)
  298.                 TM1650_Init(L2);
  299.        
  300.         WDT_CONTR|=0x10;//喂狗
  301. }

  302. /******************************************海上生明月******************************************/

  303. void HourSet(void)//小时设置
  304. {
  305.         TM1650_Nixie(1,10);
  306.         TM1650_Nixie(2,10);

  307.         if(KEY2==0)
  308.                 {
  309.                         Delay(20);
  310.                         while(KEY2==0);
  311.                         Delay(20);
  312.                         Hour++;
  313.                         Hour%=24;
  314.                 }
  315.         if(Hour/10==0)
  316.                 TM1650_Nixie(4,10);
  317.         if(Hour/10)
  318.                 TM1650_Nixie(4,Hour/10);
  319.         TM1650_Nixie(3,Hour%10);
  320.         WDT_CONTR|=0x10;
  321. }       
  322. void MinSet(void)//分钟设置
  323. {
  324.         TM1650_Nixie(3,10);
  325.         TM1650_Nixie(4,10);

  326.         if(KEY2==0)
  327.                 {
  328.                         Delay(20);
  329.                         while(KEY2==0);
  330.                         Delay(20);
  331.                         Min++;
  332.                         Min%=60;
  333.                 }       
  334.         TM1650_Nixie(2,Min/10);
  335.         TM1650_Nixie(1,Min%10);
  336.         Num_BCD();
  337.         WDT_CONTR|=0x10;
  338. }

  339. /******************************************海上生明月******************************************/

  340. void H1Set(void)//第一时间点设置
  341. {
  342.         TM1650_Nixie(4,22);//数码管第四位显示 H
  343.         TM1650_Nixie(3,1); //数码管第三位显示 1
  344.        
  345.         TM1650_Nixie(2,H1/10);
  346.         TM1650_Nixie(1,H1%10);
  347.         if(KEY2==0)
  348.         {
  349.                 Delay(20);
  350.                 while(KEY2==0);
  351.                 Delay(20);
  352.                 H1++;
  353.                 H1%=24;
  354.         }
  355.         WDT_CONTR|=0x10;
  356. }
  357. void L1Set(void)//第一时间点亮度设置
  358. {
  359.         TM1650_Nixie(4,23);//数码管第四位显示 L
  360.         TM1650_Nixie(3,1);
  361.        
  362.         TM1650_Nixie(2,L1/10);
  363.         TM1650_Nixie(1,L1%10);
  364.         if(KEY2==0)
  365.         {
  366.                 Delay(20);
  367.                 while(KEY2==0);
  368.                 Delay(20);
  369.                 L1++;
  370.                 if(L1>=9)
  371.                         L1=1;
  372.         }
  373.         WDT_CONTR|=0x10;
  374. }
  375. void H2Set(void)//第二个时间点设置
  376. {
  377.         TM1650_Nixie(4,22);
  378.         TM1650_Nixie(3,2);
  379.        
  380.         TM1650_Nixie(2,H2/10);
  381.         TM1650_Nixie(1,H2%10);
  382.         if(KEY2==0)
  383.         {
  384.                 Delay(20);
  385.                 while(KEY2==0);
  386.                 Delay(20);
  387.                 H2++;
  388.                 H2%=24;
  389.         }
  390.         WDT_CONTR|=0x10;
  391. }
  392. void L2Set(void)//第二时间点亮度设置
  393. {
  394.         TM1650_Nixie(4,23);
  395.         TM1650_Nixie(3,2);
  396.        
  397.         TM1650_Nixie(2,L2/10);
  398.         TM1650_Nixie(1,L2%10);
  399.         if(KEY2==0)
  400.         {
  401.                 Delay(20);
  402.                 while(KEY2==0);
  403.                 Delay(20);
  404.                 L2++;
  405.                 L2%=9;
  406.         }
  407.         WDT_CONTR|=0x10;
  408. }
  409. /******************************************海上生明月******************************************/

  410. void Int_Init(void)//INT0中断初始化
  411. {
  412.        
  413.         IT0=1;
  414.         IE0=0;
  415.         EX0=1;
  416.         EA =1;
  417. }
  418. void Int0_Routine(void) interrupt 0//INT0中断函数
  419. {
  420.         EA =0;                    //关闭中断
  421.         Delay(30);                //按键消抖
  422.         if(KEY1==0)               //二次判断
  423.         {
  424.                 if(Mode==0)
  425.                 {
  426.                         if(L1<=8)             //检测Eeprom内是否存储上次设置
  427.                                 TM1650_Init(L1);
  428.                         else
  429.                                 TM1650_Init(1);
  430.                         Delay(10);
  431.                         Mode=1;
  432.                        
  433.                 }
  434.                 else if(Mode==1)
  435.                 {
  436.                         Delay(10);
  437.                         Mode=2;
  438.                 }
  439.                 else if(Mode==2)
  440.                 {
  441.                         R8025_W();            //设置的时间写入8025,秒位写入00
  442.                         Eeprom_Del(0x00,0x00);//擦除Eeprom
  443.                         Delay(10);
  444.                         Mode=3;       
  445.                 }
  446.                 else if(Mode==3)
  447.                 {
  448.                         Eeprom_W(0x00,0x00,H1);//向Eeprom写入H1
  449.                         Delay(10);
  450.                         Mode=4;
  451.                 }
  452.                 else if(Mode==4)
  453.                 {
  454.                         Eeprom_W(0x00,0x01,L1);//向Eeprom写入L1
  455.                         Delay(10);
  456.                         Mode=5;
  457.                 }
  458.                 else if(Mode==5)
  459.                 {
  460.                         Eeprom_W(0x00,0x02,H2);//向Eeprom写入H2
  461.                         Delay(10);
  462.                         Mode=6;;
  463.                 }
  464.                 else if(Mode==6)
  465.                 {
  466.                         Eeprom_W(0x00,0x03,L2);//向Eeprom写入L2
  467.                         TM1650_Init(L1);       //进入时间显示后,亮度按L1设置
  468.                         Delay(10);
  469.                         Mode=0;
  470.                 }       
  471.         }
  472.         EA =1;                     //打开中断,等待下次按键
  473. }
  474. /******************************************海上生明月******************************************/

  475. void main()
  476. {

  477.         Eeprom_Init();   //Eeprom初始化
  478.         R8025_Init();    //RX8025T初始化
  479.         WDT_CONTR=0x3F;  //看门狗初始化
  480.                       
  481.         H1=Eeprom_R(0x00,0x00);//读取上次设置
  482.         L1=Eeprom_R(0x00,0x01);//读取上次设置                       
  483.         H2=Eeprom_R(0x00,0x02);//读取上次设置                       
  484.         L2=Eeprom_R(0x00,0x03);//读取上次设置
  485.        
  486.         Delay(100);
  487.         if(L1<=8)//检测Eeprom内是否存储上次设置
  488.         {
  489.                 TM1650_Init(L1);//如果存储上次设置,TM1650初始化按上次L1设置
  490.         }
  491.         else
  492.         {
  493.                 TM1650_Init(1);//如果未存储上次设置,TM1650初始化亮度1
  494.         }
  495.         Int_Init();//按键中断初始化
  496.        
  497.         while(1)
  498.         {       
  499.                 switch(Mode)
  500.                 {
  501.                         case 0: TimeShow(); break;//时间显示
  502.                         case 1: HourSet();  break;//小时设置
  503.                         case 2: MinSet();   break;//分钟设置
  504.                         case 3: H1Set();    break;//H1设置,设置第1个时间点
  505.                         case 4: L1Set();    break;//L1设置,第1个时间点,变化亮度值,L1也是默认亮度值(不能设置为0)
  506.                         case 5: H2Set();    break;//H2设置,设置第2个时间点
  507.                         case 6: L2Set();    break;//L2设置,第2个时间点,变化亮度值(0,关闭显示)
  508.                 }               
  509.         }
  510. }

  511. /******************************************海上生明月******************************************/
复制代码

打赏

参与人数 2家元 +60 收起 理由
panmouse + 30 原創內容
8139 + 30 優秀文章

查看全部打赏

回复 支持 1 反对 0

使用道具 举报

发表于 2024-11-24 22:37:41 | 显示全部楼层
大师真厉害
回复 支持 反对

使用道具 举报

发表于 2024-11-24 22:43:32 | 显示全部楼层
希望楼主开发一个
      
用单片机来筛选RX8025的东东
回复 支持 1 反对 0

使用道具 举报

发表于 2024-11-24 22:58:13 | 显示全部楼层
厉害
膜拜一下
回复 支持 反对

使用道具 举报

发表于 2024-11-24 23:30:10 来自手机浏览器 | 显示全部楼层
单片机+编程,用语言文字(软件)来控制信号,虽说是简单小时钟,档次也跃上了好几层楼!
回复 支持 反对

使用道具 举报

发表于 2024-11-24 23:31:17 | 显示全部楼层
明月的时钟终于完工了,可喜可贺,两个都做成红色的是不是有点单调了,可以做成橙色的或者绿色的,时钟嘛,花花绿绿的才好看

打赏

参与人数 1家元 +12 收起 理由
海上生明月丶 + 12 歡迎探討

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2024-11-24 23:32:18 | 显示全部楼层
謝謝分享!祝贺学习单片机成功
回复 支持 反对

使用道具 举报

发表于 2024-11-25 07:51:48 | 显示全部楼层
这么多命令是怎么记住的,果然不是我能玩的层次。

打赏

参与人数 1家元 +12 收起 理由
8139 + 12 精彩回帖

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2024-11-25 08:09:20 | 显示全部楼层
很精致的一个时钟
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-25 08:13:26 来自手机浏览器 | 显示全部楼层
wjmbest777 发表于 2024-11-24 22:37
大师真厉害

刚入门,可能连入门都不算
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-25 08:14:07 来自手机浏览器 | 显示全部楼层
石墨 发表于 2024-11-24 22:43
希望楼主开发一个
      
用单片机来筛选RX8025的东东

这个你找错人了要交给真正的大佬
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-25 08:14:34 来自手机浏览器 | 显示全部楼层
h314921212 发表于 2024-11-24 22:58
厉害
膜拜一下

正在学习,正在学习
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-25 08:15:27 来自手机浏览器 | 显示全部楼层
b26359 发表于 2024-11-24 23:30
单片机+编程,用语言文字(软件)来控制信号,虽说是简单小时钟,档次也跃上了好几层楼! ...

我这半桶水,啥都研究一点,没有大佬研究东西透彻
回复 支持 反对

使用道具 举报

发表于 2024-11-25 08:16:26 | 显示全部楼层
厉害啊!会写程序了

打赏

参与人数 1家元 +6 收起 理由
8139 + 6 精彩回帖

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-25 08:16:43 来自手机浏览器 | 显示全部楼层
8139 发表于 2024-11-24 23:31
明月的时钟终于完工了,可喜可贺,两个都做成红色的是不是有点单调了,可以做成橙色的或者绿色的, ...

又想骗我去买数码管,不可能的,家里一堆东西在吃灰,可算是用出去几个
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-25 08:17:36 来自手机浏览器 | 显示全部楼层
kkdkj 发表于 2024-11-24 23:32
謝謝分享!祝贺学习单片机成功

离成功还差十万八千里刚入门,可能连入门都不算
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-25 08:18:40 来自手机浏览器 | 显示全部楼层
微醉 发表于 2024-11-25 07:51
这么多命令是怎么记住的,果然不是我能玩的层次。

其实需要记住的就那几个,然后就都是重复的了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-25 08:19:20 来自手机浏览器 | 显示全部楼层
add 发表于 2024-11-25 08:16
厉害啊!会写程序了

学习,学习
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-12-4 14:16 , Processed in 0.265200 second(s), 9 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

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