向Qian看 发表于 2023-4-27 11:37

有没大神帮写个骑自行车的单片机程序

本帖最后由 向Qian看 于 2023-7-5 16:50 编辑

想自行车后面装一个LED胸牌做的显示屏,这样夜晚骑车安全点。自己不会写。因为胸牌内置程序不能改,只能用单片机控制自动切换字体了。
这程序要求如下:

开关打开,LED屏和单片机同时上电,LED屏初始化后,自动显示“小心尾随”。

下面为单片机需要的程序:

单片机上电后,输入高电平,输出高电平。//LED屏显示“小心尾随”字不变。

(1)当刹车时:输入低电平,单片机输出低电平350毫秒。//(此时等于手动按了下胸牌的切换键,LED屏显示“刹车.....)

(2)当一直刹车时:输入一直是低电平,单片机在步骤(1)输出低电平350毫秒后保持输出高电平。//(此时LED屏会一直显示“刹车....”)

(3)当松开刹车时:输入高电平,单片机输出低电平350毫秒后恢复输出高电平,然后再次输出低电平350毫秒。//(此时LED屏跳过内置的滚动播放内容后显示“小心尾随”)

(4)再次刹车时和松开刹车时,程序又从以上(1)至(3)循环。

aeqw 发表于 2023-5-2 11:13

LED屏上的文字顯示是原本就有的功能對嗎?
如果是這樣的話,只有(3)這動作比較麻煩點,要不然直接把按鍵跟煞車搞一起就收工了對嗎?

suncl110 发表于 2023-5-3 16:22

有商用价值吗?如果有,可以搞搞。

rgjinxuan 发表于 2023-5-5 13:30

加微信15915366935

向Qian看 发表于 2023-7-5 16:43

yyy71cj 发表于 2023-5-4 11:31
我帮你写吧,硬件是你自己搞吗?搞好了我帮你撸几行代码

硬件我自己会,就是这个程序不会,我买了个STC15W204S单片机来弄。特别那个延时不会搞。
#include <reg52.h>
#define uintunsigned int
sbit red= P3^2;
sbit key= P3^4;
sbit led= P3^5;

初始输入端口和输出端口电平
/******************主程序**********************/
void main()
{
        while(1)
         {
               if(key=0)                      //刹车
               {
                  led=0;                     //输出低电平,PNP三极管开启,LED显示“刹车”
                  delay(350);
                  }
                  if(key=1);                     //松开手挚
               {
                  led=0;                        //输出低电平,PNP三极管开启,LED显示“勿靠近”
                  delay(350);
                  }
   
               if(key=0)                     //再次刹车
               {
                  led=0;                     
                  delay(350);
                  led=0;                      //连续两次输出低电平,连续两次开关PNP三极管,LED跳过闪烁程序后再次显示“刹车”
                  delay(350);
                  }
         }
}

void delay_1ms(uint 350)
{
        uint i,j;
        for(i=0;i<350;i++)
           for(j=0;j<120;j++);
}

向Qian看 发表于 2023-7-5 16:46

aeqw 发表于 2023-5-2 11:13
LED屏上的文字顯示是原本就有的功能對嗎?
如果是這樣的話,只有(3)這動作比較麻煩點,要不然直接把按鍵跟 ...

是的,硬件我自己会搞,就是不会编程,想编来骑自行车。买了个STC15W204S单片机,特别是那个延时不会弄。帮我看下下面自己糊弄的这个程序。
#include <reg52.h>
#define uintunsigned int
sbit red= P3^2;
sbit key= P3^4;
sbit led= P3^5;

初始输入端口和输出端口电平
/******************主程序**********************/
void main()
{
        while(1)
         {
               if(key=0)                      //刹车
               {
                  led=0;                     //输出低电平,PNP三极管开启,LED显示“刹车”
                  delay(350);
                  }
                  if(key=1);                     //松开手挚
               {
                  led=0;                        //输出低电平,PNP三极管开启,LED显示“勿靠近”
                  delay(350);
                  }
   
               if(key=0)                     //再次刹车
               {
                  led=0;                     
                  delay(350);
                  led=0;                      //连续两次输出低电平,连续两次开关PNP三极管,LED跳过闪烁程序后再次显示“刹车”
                  delay(350);
                  }
         }
}

void delay_1ms(uint 350)
{
        uint i,j;
        for(i=0;i<350;i++)
           for(j=0;j<120;j++);
}

单模先声 发表于 2023-7-5 17:41

还需要不?能给多少?

向Qian看 发表于 2023-7-6 15:31

单模先声 发表于 2023-7-5 17:41
还需要不?能给多少?

要钱不需要了,谢谢,这个只是自己搞来骑自行车的不是商业的

田舍郎 发表于 2023-8-30 22:42

众筹个开源项目吧
页: [1]
查看完整版本: 有没大神帮写个骑自行车的单片机程序