久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

STM32簡(jiǎn)易交通燈設(shè)計(jì)(定時(shí)可調(diào))

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年10月21日   【字體:

//按鍵key1 設(shè)置紅燈時(shí)間
  按鍵key2 設(shè)置綠燈時(shí)間
  按鍵key3 設(shè)置黃燈時(shí)間

 
#include <stm32f10x_lib.h>
#include "sys.h"

 
#include "delay.h"
#include "usart.h"
#include "stdlib.h"

 
static int G=0,R=0,Y=0;   //設(shè)置綠,紅,黃燈時(shí)間變量

 
#include "lcd.h"
#include "key.h"
#include "time.h"

 
//-----------  按鍵函數(shù)----------
void scan_key1()
{
static u8 i,j;
if(key1==0)
{
if(i==0)
{
 j++;
 if(j>3)
 {
  i=1;j=0;
  R++;
  if(R>20)R=0;
printf("key1 is inputed \r\n");
 }
}
}
else
{
i=j=0;
}
}

 
void scan_key2()
{
  static u8 i,j;
if(key2==0)
{
if(i==0)
{
 j++;
 if(j>3)
 {
  i=1;j=0;
  G++;
  if(G>20)G=0;
   printf("key2 is inputed. \r\n");
 }
}
}
else
{
i=j=0;
}
}

 
void scan_key3()
{
  static u8 i,j;
if(key3==1)
{
if(i==0)
{
 j++;
 if(j>3)
 {
  i=1;j=0;
  Y++;
  if(Y>20)Y=0;
   printf("key3 is inputed. \r\n");
 }
}
}
else
{
i=j=0;
}
}

 

 
//各指示燈顯示秒數(shù)函數(shù)
void LED_RED(u8 k)
{
 LCD_ShowNum(120,55,k,2,16);
}
void LED_YELLOW(u8 k)
{
 LCD_ShowNum(120,145,k,2,16);
}
void LED_GREEN(u8 k)
{
 LCD_ShowNum(120,235,k,2,16);
}

 
//-----定時(shí)設(shè)置函數(shù)-------
void LED_SET_GREEN(u8 k)
{
  LCD_ShowNum(160,235,k,2,16);

 
}
void LED_SET_YELLOW(u8 k)
{
 LCD_ShowNum(160,145,k,2,16);
}
void LED_SET_RED(u8 k)
{
 LCD_ShowNum(160,55,k,2,16);
}

 
//-----定時(shí)器中斷函數(shù)---掃描按鍵和顯示設(shè)定值用----
void TIM3_IRQHandler(void)
{
 if(TIM3->SR&0x0001)
 {

 
  scan_key1();
  scan_key2();
  scan_key3();
   LED_SET_RED(R);
 LED_SET_GREEN(G);
 LED_SET_YELLOW(Y);
 }
 TIM3->SR=~(1<<0);
}

 
//------主函數(shù)-----------
int main(void)
 u16 code;   //TFT驅(qū)動(dòng)芯片代號(hào)
 int i;
 Stm32_Clock_Init(9);
 delay_init(72);
 uart_init(72,9600);
 printf("uart is ok. \r\n");
 Timer_init(300,7199);   //定時(shí)器初始化 設(shè)定溢出時(shí)間是 30ms 
 printf("time_init is ok. \r\n");
 LCD_Init(); //TFT-LCD初始化
 printf("lcd_init is ok.\r\n");
 key_init();     //按鍵I/O口設(shè)置初始化
 printf("key_init is ok.\r\n");
 JTAG_Set(JTAG_SWD_DISABLE); //關(guān)閉JTAG調(diào)試器
 code=LCD_ReadReg(0x0000);
 delay_ms(500);
 printf("deiver code is %ld",code); //讀取驅(qū)動(dòng)芯片型號(hào)是發(fā)送到串口
 LCD_Fill(30,200,100,270,BLACK);
 LCD_Fill(30,110,100,180,BLACK);
 LCD_Fill(30,20,100,90,BLACK);
 LCD_ShowString(110,15,"Show");
 LCD_ShowString(110,30,"Time");
 LCD_ShowString(160,15,"Set ");
 LCD_ShowString(160,30,"Time");
 LED_GREEN(0);  
 LED_YELLOW(0);
 LED_RED(0);
  while(1)
 {
 for(i=G;i>=0;i--)  //綠燈控制
 {
  LED_GREEN(i);   
  LCD_Fill(30,200,100,270,GREEN);
 delay_ms(1000);
 LCD_Fill(30,200,100,270,BLACK);
 delay_ms(1000);
 }
 for(i=Y;i>=0;i--) //黃燈控制
 {
  LED_YELLOW(i);
  LCD_Fill(30,110,100,180,YELLOW);
  delay_ms(1000);
  LCD_Fill(30,110,100,180,BLACK);
  delay_ms(1000);
 }
 for(i=R;i>=0;i--) //紅燈控制
 {
  LED_RED(i);
  LCD_Fill(30,20,100,90,RED);
  delay_ms(1000);
  LCD_Fill(30,20,100,90,BLACK);
  delay_ms(1000);
 }
 }
}

//-------各類庫(kù)函數(shù)省略---------
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 中文字幕在线播放第一页 | 欧美激情综合五月色丁香小说 | 成人一区在线观看 | 91视频国产一区 | 一区二区三区四区国产 | 日本精品久久久久 | 一二三在线视频 | 一区二区三区 在线 | 久久久久国产精品一区二区 | 91久久国产精品 | 国产7777 | 亚洲综合无码一区二区 | 91国在线| 一区二区三区韩国 | 欧美一页 | 国产无人区一区二区三区 | 激情五月综合网 | 五月婷婷中文 | 黄色免费观看网站 | 日韩精品免费看 | 天天操天天射综合网 | 中文字幕男人的天堂 | 国产精品高潮呻吟久久av黑人 | av影音资源| 91免费入口 | 日本大片在线播放 | 久久人体 | 国产69精品久久久久777 | 91精品一区 | 亚洲精品视频在线 | 国产精品一区二区久久 | 成人在线观看欧美 | 亚洲国产18| www.色午夜.com | h视频免费观看 | 久久久999精品| 欧美jizzhd精品欧美巨大免费 | 国产精品www | 涩爱av一区二区三区 | 在线成人精品视频 | 99精品久久 |