⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 traffic1.abl

📁 自己编写的GAL可编程逻辑电路的编译软件abel4的windows界面
💻 ABL
字号:
module TRAFFIC1 
title 'Traffic Signal Controller  
Mike McClure   Data I/O Corp   9 Aug 1990'

        traffic1        device 'F167';

        Clk,SenA,SenB   pin   1, 8, 7;
        PR              pin  16;        "Preset control
        GA,YA,RA        pin  15,14,13;
        GB,YB,RB        pin  11,10,9; 

        S3,S2,S1,S0     node 31,32,33,34; 
        S3,S2,S1,S0     istype 'buffer,reg_rs'; 

        H,L,Ck,X        = 1, 0, .C., .X.;

        Count           = [S3,S2,S1,S0];

"Define Set and Reset inputs to traffic light flip flops
        GreenA  = [GA.S,GA.R];
        YellowA = [YA.S,YA.R];
        RedA    = [RA.S,RA.R];
        GreenB  = [GB.S,GB.R];
        YellowB = [YB.S,YB.R];
        RedB    = [RB.S,RB.R];
        On      = [ 1  ,  0 ];
        Off     = [ 0  ,  1 ];

test_vectors    
       ([Clk,PR,SenA,SenB] -> [Count,GA,YA,RA,GB,YB,RB])
        [ 0 , 0, 0  , 0  ] -> [  X  , X, X, X, X, X, X];
        [ 1 , 1, 1  , 1  ] -> [ 15  , X, X, X, X, X, X];
        [ 1 , 0, 1  , 1  ] -> [ 15  , X, X, X, X, X, X];
        [ Ck, 0, 1  , 0  ] -> [  0  , H, L, L, L, L, H];

test_vectors            
       ([Clk,PR,SenA,SenB] -> [Count,GA,YA,RA,GB,YB,RB])
        [ Ck, 0, 1  , 0  ] -> [  0  , H, L, L, L, L, H];
        [ Ck, 0, 1  , 0  ] -> [  0  , H, L, L, L, L, H];
        [ Ck, 0, 1  , 1  ] -> [  1  , H, L, L, L, L, H];
        [ Ck, 0, 1  , 1  ] -> [  2  , H, L, L, L, L, H];
        [ Ck, 0, 1  , 1  ] -> [  3  , H, L, L, L, L, H];
        [ Ck, 0, 1  , 1  ] -> [  4  , H, L, L, L, L, H];
        [ Ck, 0, 1  , 1  ] -> [  5  , L, H, L, L, L, H];
        [ Ck, 0, 1  , 0  ] -> [  8  , L, L, H, H, L, L];
        [ Ck, 0, 1  , 0  ] -> [ 12  , L, L, H, H, L, L];
        [ Ck, 0, 1  , 0  ] -> [ 13  , L, L, H, L, H, L];
        [ Ck, 0, 1  , 0  ] -> [  0  , H, L, L, L, L, H];
        [ Ck, 0, 1  , 0  ] -> [  0  , H, L, L, L, L, H];
        [ Ck, 0, 1  , 1  ] -> [  1  , H, L, L, L, L, H];
        [ Ck, 0, 1  , 1  ] -> [  2  , H, L, L, L, L, H];
        [ Ck, 0, 1  , 1  ] -> [  3  , H, L, L, L, L, H];
        [ 1 , 1, 1  , 1  ] -> [ 15  , X, X, X, X, X, X];
        [ 1 , 0, 1  , 1  ] -> [ 15  , X, X, X, X, X, X];
        [ Ck, 0, 1  , 0  ] -> [  0  , H, L, L, L, L, H];

@page 
equations
        [GB,YB,RB].AP = PR;
        [GA,YA,RA].AP = PR;

        [GB,YB,RB].CLK = Clk;
        [GA,YA,RA].CLK = Clk;

        [S3,S2,S1,S0].AP = PR;
        [S3,S2,S1,S0].CLK = Clk;
@dcset
state_diagram Count

        State 0:        if ( SenA & !SenB ) then 0;
                        if (!SenA &  SenB ) then 4;
                        if ( SenA == SenB ) then 1;

        State 1:        goto  2;
        State 2:        goto  3;
        State 3:        goto  4;

        State 4:        GreenA  = Off;
                        YellowA = On ;
                        goto  5;

        State 5:        YellowA = Off;
                        RedA    = On ;
                        RedB    = Off;
                        GreenB  = On ;
                        goto  8;

        State 8:        if (!SenA &  SenB ) then  8;
                        if ( SenA & !SenB ) then 12;
                        if ( SenA == SenB ) then  9;

        State 9:        goto  10;
        State 10:       goto  11;
        State 11:       goto  12;

        State 12:       GreenB  = Off;
                        YellowB = On ;
                        goto  13;

        State 13:       YellowB = Off;
                        RedB    = On ;
                        RedA    = Off;
                        GreenA  = On ;
                        goto  0;

        State 15:       "Power up and preset state
                        RedA    = Off;
                        YellowA = Off;
                        GreenA  = On ;
                        RedB    = On ;
                        YellowB = Off;
                        GreenB  = Off;
                        goto  0;

"Unused states
        State 6:         goto 0;
        State 7:         goto 0;
        State 14:        goto 0;

end 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -