想自行車后面裝一個LED胸牌做的顯示屏,這樣夜晚騎車安全點。自己不會寫。因為胸牌內置程序不能改,只能用單片機控制自動切換字體了。
這程序要求如下:
開關打開,LED屏和單片機同時上電,LED屏初始化后,自動顯示“小心尾隨”。
下面為單片機需要的程序:
單片機上電后,輸入高電平,輸出高電平。//LED屏顯示“小心尾隨”字不變。
(1)當剎車時:輸入低電平,單片機輸出低電平350毫秒。//(此時等于手動按了下胸牌的切換鍵,LED屏顯示“剎車.....)
(2)當一直剎車時:輸入一直是低電平,單片機在步驟(1)輸出低電平350毫秒后保持輸出高電平。//(此時LED屏會一直顯示“剎車....”)
(3)當松開剎車時:輸入高電平,單片機輸出低電平350毫秒后恢復輸出高電平,然后再次輸出低電平350毫秒。//(此時LED屏跳過內置的滾動播放內容后顯示“小心尾隨”)
(4)再次剎車時和松開剎車時,程序又從以上(1)至(3)循環。
————————————————————————————————————————————————————————————————
是的,硬件我自己會搞,但不會編程,想編來騎自行車。買了個STC15W204S單片機,特別是那個延時不會弄。幫我看下下面自己糊弄的這個程序。
#include <reg52.h>
#define uint unsigned int
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++);
}
|