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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4417|回復: 0
收起左側

基于BASCOM主干道的八狀態十字路口交通燈

[復制鏈接]
ID:71259 發表于 2014-12-29 02:07 | 顯示全部樓層 |閱讀模式
哈哈,發一個BASCOM交通燈程序~~
   昨晚編寫的簡單十字路口交通燈,以學校東門的十字路口的交通燈為模板,以實地調查(昨晚)獲得的狀態轉換機制設計。模塊化編寫,使用LED與LCD雙重顯示,有倒計時,設東西方向(橫向)為主干道。不使用中斷,暫時還沒有添加掉電保存~~~

添加了版本與版權信息顯得正式些~~


$regfile = "m16def.dat"
$crystal = 4000000


'--------------------------------------------------------

'        項目名稱:基于主干道的八狀態十字路口交通燈

'        版本序列:V1.0

'        創 建 者:白 羽

'        單位信息:物電學院07物本班

'        Q Q聯系    白羽

'        創鍵時間:2010.7.14

'        版權信息:任意共享
'--------------------------------------------------------


Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2
Config Lcd = 16 * 2
Cls
Cursor Off


'************* IO口初始化 **************
Config Portb = Output
Config Portd = Output
Portb = &HFF
Portd = &HFF
'************* IO口初始化 **************


Declare Sub Show_time(byval Longth As Byte)                 '函數聲明



'******************************************************************
'(
                                   北

                    |                                     /\       |
                    |                                      ||       |
                    |              <=紅黃綠 紅黃綠 |
                    |                    0 1 2      3 4 5   |
       ----------                                                 ---------
            綠 B
      <= 黃 A
            紅 9

            綠 8
  西      黃 7                                                                東
            紅 6
             ||                                                         
             \/



       ----------                                                 ---------
                    |                                               |
                    |                                               |
                    |                                               |


                                    南

  燈0 -7 : Pd0 -pd7
  燈8 -b : Pb0 -pb3

')
'******************************************************************


'********************* 自 定 義 字 符 (箭 頭) *************************
Deflcdchar 0 , 4 , 10 , 17 , 10 , 10 , 10 , 14 , 32                            ' 上
Deflcdchar 1 , 32 , 14 , 10 , 10 , 10 , 17 , 10 , 4                            ' 下
Deflcdchar 2 , 32 , 4 , 11 , 16 , 11 , 4 , 32 , 32                              ' 左
Deflcdchar 3 , 32 , 4 , 26 , 1 , 26 , 4 , 32 , 32                                ' 右
Deflcdchar 4 , 32 , 15 , 8 , 11 , 10 , 17 , 10 , 4                              ' 左上
Deflcdchar 5 , 4 , 10 , 17 , 10 , 26 , 2 , 30 , 32                              ' 左下
Deflcdchar 6 , 16 , 16 , 20 , 26 , 17 , 26 , 4 , 32                            ' 右上
Deflcdchar 7 , 32 , 4 , 11 , 16 , 11 , 5 , 1 , 1                                  ' 右下
'******************************************************************


'################## 以 下 是 主 程 序 ########################
Main:

   Do
      Gosub Line_straight                                   '橫向直行
      Show_time 10
      Gosub Clean_sign
      Gosub Line_temp                                       '緩沖(黃燈)
      Show_time 2


      Gosub Line_turn_left                                  '橫向左拐
      Show_time 5
      Gosub Clean_sign
      Gosub Line_left_temp                                  '緩沖(黃燈)
      Show_time 2


      Gosub Row_straight                                    '縱向直行
      Show_time 5
      Gosub Clean_sign
      Gosub Row_temp                                        '緩沖(黃燈)                                        '
      Show_time 2

      Gosub Row_turn_left                                   '縱向左拐
      Show_time 5
      Gosub Clean_sign
      Gosub Row_left_temp                                  '緩沖(黃燈)
      Show_time 2

   Loop

End
'#####################################################




'################### 以 下 是 子 程 序 #######################




'~~~~~~~~~~~~~~~~~~~ 橫 向 直 行 子 程 序 ~~~~~~~~~~~~~~~~~~~~~
Line_straight:                                              '東西方向(橫向),直走

   Portb = &HFF                                             '初始化LED:全滅
   Portd = &HFF

   Portd.0 = 0
   Portd.3 = 0
   Portd.6 = 0
   Portb.3 = 0

   Locate 1 , 1
   Lcd "Going  "
   Locate 1 , 9
   Lcd Chr(2) ; Spc(1)
   Locate 2 , 9
   Lcd Spc(1) ; Chr(3)

Return
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



'~~~~~~~~~~~~~~~~~~~ 橫 向 左 拐 子 程 序 ~~~~~~~~~~~~~~~~~~~~~
Line_turn_left:                                             '東西方向(橫向),左拐

   Portb = &HFF                                             '初始化LED:全滅
   Portd = &HFF

   Portd.0 = 0
   Portd.3 = 0
   Portb.0 = 0
   Portb.1 = 0

   Locate 1 , 1
   Lcd "Going  "
   Locate 1 , 9
   Lcd Spc(1) ; Chr(4)
   Locate 2 , 9
   Lcd Chr(5) ; Spc(1)

Return



'~~~~~~~~~~~~~~~~~~~~ 縱 向 直 行 子 程 序 ~~~~~~~~~~~~~~~~~~~~
Row_straight:                                               '南北方向(橫向),直走

   Portb = &HFF                                             '初始化LED:全滅
   Portd = &HFF

   Portd.0 = 0
   Portd.5 = 0
   Portd.6 = 0
   Portb.1 = 0

   Locate 1 , 1
   Lcd "Going  "
   Locate 1 , 9
   Lcd Spc(1) ; Chr(0)
   Locate 2 , 9
   Lcd Chr(1) ; Spc(1)

Return



'~~~~~~~~~~~~~~~~~~~ 縱 向 左 拐 子 程 序 ~~~~~~~~~~~~~~~~~~~~~
Row_turn_left:                                              '南北方向(橫向),左拐

   Portb = &HFF                                             '初始化LED:全滅
   Portd = &HFF

   Portd.2 = 0
   Portd.3 = 0
   Portd.6 = 0
   Portb.1 = 0

   Locate 1 , 1
   Lcd "Going  "
   Locate 1 , 9
   Lcd Chr(6) ; Spc(1)
   Locate 2 , 9
   Lcd Spc(1) ; Chr(7)

Return
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





'~~~~~~~~~~~~~~~~~~ 橫 向 緩 沖 子 程 序 ~~~~~~~~~~~~~~~~~~~~~
Line_temp:
   Portb = &HFF                                             '初始化LED:全滅
   Portd = &HFF

   Portd.0 = 0
   Portd.3 = 0
   Portd.7 = 0
   Portb.9 = 0

Return
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




'~~~~~~~~~~~~~~~~~ 橫 向 左 拐 緩 沖 子 程 序 ~~~~~~~~~~~~~~~~~~~
Line_left_temp:
   Portb = &HFF                                             '初始化LED:全滅
   Portd = &HFF

   Portd.0 = 0
   Portd.4 = 0
   Portd.6 = 0
   Portb.1 = 0
Return
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





'~~~~~~~~~~~~~~~~~~~ 縱 向 緩 沖 子 程 序 ~~~~~~~~~~~~~~~~~~~~~
Row_temp:

   Portb = &HFF                                             '初始化LED:全滅
   Portd = &HFF

   Portd.1 = 0
   Portd.3 = 0
   Portd.6 = 0
   Portb.1 = 0

Return
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




'~~~~~~~~~~~~~~~~ 縱 向 左 拐 緩 沖 子 程 序 ~~~~~~~~~~~~~~~~~~~~
Row_left_temp:

   Portb = &HFF                                             '初始化LED:全滅
   Portd = &HFF

   Portd.0 = 0
   Portd.3 = 0
   Portd.6 = 0
   Portb.2 = 0

Return
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



'~~~~~~~~~~~~~~~~~~~~~~ 倒 計 時 顯 示 ~~~~~~~~~~~~~~~~~~~~~~
Sub Show_time(longth As Byte)
   While Longth <> 0
      Locate 1 , 14
      Lcd Longth ; Spc(2)
      Wait 1
      Decr Longth
   Wend
   Locate 1 , 14
   Lcd Spc(3)
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




'~~~~~~~~~~~~~~~~~~~~ 清 除 方 向 標 志~~~~~~~~~~~~~~~~~~~~~~
Clean_sign:
   Locate 1 , 1
   Lcd "Waiting"
   Locate 1 , 9
   Lcd "**"
   Locate 2 , 9
   Lcd "**"
Return
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产日韩精品在线 | 99精品欧美一区二区三区综合在线 | 丁香婷婷成人 | 九色网址 | 久综合 | 99只有精品 | 久久综合99 | 黄色大片免费网站 | 国产一区二区精品在线观看 | 91精品国产综合久久久动漫日韩 | 成人精品一区 | 麻豆视频国产在线观看 | 99久久精品国产麻豆演员表 | 久久久成人免费视频 | 国产一区视频在线 | 成人精品视频在线观看 | 日韩成人高清在线 | www.中文字幕.com | 精品一区二区三区入口 | 欧美日在线| 日本中文在线视频 | 黄色精品 | 色天堂影院 | 久久精品无码一区二区三区 | 日韩午夜在线观看 | 亚洲一区二区免费视频 | 91伊人| 亚洲精品亚洲人成人网 | av一区二区三区 | 精品一区二区三区在线观看国产 | 超碰人人插 | 欧美久久久久 | 国产成人精品久久久 | 国产精品视频播放 | 免费激情av | 免费麻豆视频 | 夏同学福利网 | 国产精品美女久久久久久久久久久 | 一区二区在线免费观看 | 国产小视频在线观看 | 男人的天堂中文字幕 |