找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1362|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

為什么單片機(jī)交通燈不發(fā)生變化?而且LCD1602顯示的都是亂碼呢?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主



下面是程序部分
#include "traffic.h"

#include "lcdA.h"
#include "lcdB.h"
bit FLAG=0;
void menu()
{
int i;
LCD1602_Init_A();
LCD1602_Init_B();
while(1)
{
     char TIME=20;
   if(TIME>15)
                 {
                  N_S_GREEN=ON;N_S_RED=OFF;N_S_YELLOW=OFF;W_E_GREEN=OFF;W_E_RED=ON;W_E_YELLOW=OFF;
                 
                 LCD_Str_A("RUN!  TIME:    S",1,1);
                 LCD_Str_B("STOP! TIME:    S",1,1);
                 LCD_Str_A("COUNT:",2,1);
                 LCD_Str_B("COUNT:",2,1);
                 }
              else if(TIME>10)
                 {
                  N_S_YELLOW=ON;N_S_RED=OFF;N_S_GREEN=OFF;W_E_GREEN=OFF;W_E_RED=ON;W_E_YELLOW=OFF;
                  LCD_Str_A("STOP! TIME:    S",1,1);
                 LCD_Str_B("STOP! TIME:    S",1,1);
                 LCD_Str_A("COUNT:",2,1);
                 LCD_Str_B("COUNT:",2,1);
                 }
           
                     else if(TIME>5)
                 {
                  N_S_GREEN=OFF;N_S_RED=ON;N_S_YELLOW=OFF;W_E_GREEN=ON;W_E_RED=OFF;W_E_YELLOW=OFF;
                 LCD_Str_A("STOP! TIME:    S",1,1);
                 LCD_Str_B("RUN!  TIME:    S",1,1);
                 LCD_Str_A("COUNT:",2,1);
                 LCD_Str_B("COUNT:",2,1);
                 
                 
                 }
               else if(TIME>0)
                 {
N_S_YELLOW=OFF;N_S_RED=ON;N_S_GREEN=OFF;W_E_GREEN=OFF;W_E_RED=OFF;W_E_YELLOW=ON;
               
                 LCD_Str_A("STOP! TIME:    S",1,1);
                 LCD_Str_B("STOP! TIME:    S",1,1);
                 LCD_Str_A("COUNT:",2,1);
                 LCD_Str_B("COUNT:",2,1);
                 }
               else if(TIME<=0)
               {
               TIME=20;
               }
                 if(TIME>10)
                              {
                             TIMEE=TIME-10;
     
                                }
                               else
                               {
                             TIMEE=TIME;
                                }
           for(i=100;i>0;i--)
      {
       LCD_Write_3_Float_A(TIMEE,1,12);
       LCD_Write_3_Float_B(TIMEE,1,12);
       LCD_Write_3_Float_A(COUNTA,2,7);
       LCD_Write_3_Float_B(COUNTB,2,7);
      }   
           }
}void Timer0Init()

{
TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
TR0=1;
EA=1;
}
void timer0( ) interrupt 1
{
int i;
static char COUNT_1S=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
COUNT_1S++;
if(COUNT_1S==20)      
  {
  COUNT_1S=0;
  TIME--;
   if(TIME=0)
    TIME=TIMERED;
   
  }
}
void ExtiInit()
{
EX0=1;
EX1=1;
IT0=1;
IT1=1;
EA=1;
}
void Exti0() interrupt 0
{
COUNTA++;
if(COUNTA==100)
  COUNTA=0;
}
void Exti1() interrupt 2
{
COUNTB++;
if(COUNTB==100)
  COUNTB=0;
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:235200 發(fā)表于 2019-8-27 00:02 | 只看該作者
把程序中這一句  void menu() 改為void main()試試
回復(fù)

使用道具 舉報(bào)

板凳
ID:581300 發(fā)表于 2019-8-27 09:23 來自手機(jī) | 只看該作者
csmyldl 發(fā)表于 2019-8-27 00:02
把程序中這一句  void menu() 改為void main()試試

但是這個(gè)是之后主程序里面要用到的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表