亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rr1050 ver12 pir (4n35 mute) zaboravi.bas

?? AVR PWM Audio player from FAT16 MMC version12pir
?? BAS
?? 第 1 頁 / 共 2 頁
字號:
'**************************** COMPILER INSTRUCTIONS ****************************

$crystal = 11059200
$regfile = "m8def.dat"
$baud = 57600

'********************************** ALIASES ************************************


' MMC
Cs Alias Portc.3
Clk Alias Portc.0
Mosi Alias Portc.2
Miso Alias Pinc.1

' Audio output
Ppwm Alias Portb.1

' Mute
Mute Alias Portd.4

' Tipke
Tipka Alias Pinb.0

'PIR
Pir Alias Pind.6


'****************************** HARDWARE CONFIG ********************************

' MMC
Config Pinc.3 = Output
Config Pinc.0 = Output
Config Pinc.2 = Output
Config Pinc.1 = Input
Portc.1 = 1
Cs = 1

' Audio output
Config Pinb.1 = Output
Portb.1 = 0

' Tipka
Config Pinb.0 = Input

' mute
Config Pind.4 = Output
Mute = 0

'PIR
Config Pind.6 = Input

' I2C config
Config Scl = Portc.5
Config Sda = Portc.4
Config I2cdelay = 30


'configurates watchdog timer
Config Watchdog = 256
Start Watchdog


' Timer for randomization
Config Timer0 = Timer , Prescale = 1024
On Ovf0 Randomizetimer
Enable Interrupts
Enable Timer0
Start Timer0


' Timer for PWM output
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down


On Ovf1 Changepwm
Disable Timer1
Start Timer1
Pwm1a = 128
Pwm1b = 0



'**************************** VARIABLE DECLARATIONS ****************************

Dim Startid As Eram Byte

' za MMC protokol
Dim Mcmd As Byte
Dim Maddr As Long
Dim Mdata As Byte
Dim Mresp As Byte                                           'MMC response type1
Dim Mmccid As Word                                          'part of MMC CID
Dim Mdat(512) As Byte                                       'Matrica for data
Dim Readsector As Long                                      'adresa sektora
Dim Mmcrestarted As Bit                                     'MMC is inserted

' file sistem var's
Dim Filesystemtype As Byte                                  'type of file system
Dim Brsector As Long                                        'boot rector
Dim Fatno As Byte                                           'no of fat tables
Dim Maxroot As Word                                         'max root directory entries
Dim Sectorsperfat As Word                                   'sectors per fat table
Dim Sectorspercluster As Byte
Dim Reservedsector As Word                                  'reserved sector size
Dim Fatsector As Long                                       'FAT tables
Dim Dirsector As Long                                       'directory entries
Dim Datasector As Long                                      'data start
Dim Systemfound As Bit
Dim Bpointer As Word                                        'buffer pointer
Dim Filename As String * 8                                  'filename
Dim Fileextension As String * 3                             'fileextension
Dim Filesector As Long
Dim Filesize As Long
Dim Eofsector As Long
Dim Eofbyte As Word
Dim Filefound As Bit
Dim Proslo As Word
Proslo = 0

'random file
Dim Randomfilenumber As Byte
Randomfilenumber = Rnd(0)                                   'to fix bascom bug

'time variables
Dim Ts As Byte
Dim Tm As Byte
Dim Th As Byte
Dim Ty As Byte
Dim Tw As Byte

'alarm variables
Dim Noalarms As Byte
Dim Tas(50) As Byte
Dim Tam(50) As Byte
Dim Tah(50) As Byte
Dim Taw(50) As Byte

'play variables
Dim Parttoread As Bit
Dim Partloaded As Bit
Dim Playend As Bit

'temporary variables
Dim Tempstring As String * 8
Dim Tempword As Word
Dim Templong As Long
Dim Tempbyte As Byte
Dim Q As Word                                               'za petlje
Dim W As Word

'****************************** SUB DECLARATION ********************************

Declare Sub Mmcinit
Declare Sub Mmccmd
Declare Sub Mmccheck
Declare Sub Mmcget1stpart
Declare Sub Mmcget2ndpart
Declare Sub Mmcstartread
Declare Sub Mmcread
Declare Sub Mmcwrite

Declare Sub Getsysteminfo
Declare Sub Getfileinfo
Declare Sub Getendoffile

Declare Sub Getalarms
Declare Sub Checkalarm
Declare Sub Gettimetoset
Declare Sub Getrandomfile

Declare Sub Playfile

Declare Sub Settime
Declare Sub Gettime

Declare Function Getlong(byval Pocetak As Word ) As Long
Declare Function Clustertosector(byval Cluster As Word) As Long

Declare Sub Printbuffer


'***************************** MAIN PROGRAM ************************************

Waitms 100
Reset Watchdog

' main loop

Do
 Mainloop:
 Mmccheck
 If Mmcrestarted = 1 Then
  Reset Watchdog
  Getsysteminfo
   Reset Watchdog
  'Getalarms
  'Reset Watchdog
  Mmcrestarted = 0                                          '
 End If

 Reset Watchdog
 If Pir = 0 Then
  If Proslo > 300 Then                                      '8 sec - 2500 = 60 sec
   Getrandomfile
   Reset Watchdog
   Playfile
   Reset Watchdog
   Proslo = 0
  End If
 End If
 If Tipka = 0 Then
  'Reset Watchdog
  'Gettimetoset
  Reset Watchdog
  Getrandomfile
  Reset Watchdog
  Playfile
  Reset Watchdog
 End If
 Reset Watchdog
 Waitms 50



 'Checkalarm
Loop

End                                                         'end program



'******************************** CHANGE PWM ***********************************

' on timer1 (PWM) interrupt
' changes pwm value to next value from buffer

Changepwm:
  Pwm1a = Mdat(bpointer)
  Bpointer = Bpointer + 1
  If Bpointer = 513 Then                                    '513
    Bpointer = 1
    Parttoread = 1
    Partloaded = 0
  End If
  If Bpointer = 257 Then
    Parttoread = 0
    Partloaded = 0
  End If
Return


'******************************* RANDOMIZE TIMER *******************************

' on timer0 interrupt
' changes random number for better randomization
Randomizetimer:
 If Proslo < 30000 Then
   Proslo = Proslo + 1
 End If
 ___rseed = ___rseed + 1
Return


'****************************** PLAY FILE **************************************

Sub Playfile
 'play file written in filename, fileextension
 Getfileinfo
 If Filefound = 0 Then
  Do
  Loop
 End If


 Mute = 1

 Readsector = Filesector
 Mmcread
 Playend = 0
 Bpointer = 1
 Partloaded = 1

 Reset Watchdog

 Enable Timer1

 Do
  If Partloaded = 0 Then                                    'if part needs to be readed
   If Parttoread = 0 Then                                   'if part0 is need to be readed
     Readsector = Readsector + 1
     Mmcget1stpart
     Partloaded = 1
     Reset Watchdog
   Else                                                     'if part1 is need to be readed
     Mmcget2ndpart
     Partloaded = 1
     Reset Watchdog
   End If
  End If
  If Readsector => Eofsector Then                           'pusten je prvi dio predzadnjeg sektora
    Playend = 1
  End If

 Loop Until Playend = 1

 Reset Watchdog

 If Eofbyte <= 256 Then                                     'hold last value to end of byte
   For Q = Eofbyte To 256
    Mdat(q) = 128
   Next Q
   Reset Watchdog
 End If
 Do
  Reset Watchdog
 Loop Until Partloaded = 0                                  'pusten je zadnji dio predzadnjeg sektora
 Mmcget2ndpart
 Partloaded = 1
 For Q = Eofbyte To 512                                     'hold last value to end of byte
   Mdat(q) = 128
 Next Q

 Do
 Reset Watchdog
 Loop Until Partloaded = 0
 Partloaded = 1                                             'pusten je prvi dio zadanjeg sektora
 For Q = 1 To 256
    Mdat(q) = 128
 Next Q

 Do
  Reset Watchdog
 Loop Until Partloaded = 0                                  'pusten je drugi dio zadnjeg sektora
 Partloaded = 1
 For Q = 257 To 512
    Mdat(q) = 128
 Next Q
 Disable Timer1
 Mute = 0

End Sub


'******************************* GET RANDOM FILE *******************************

Sub Getrandomfile
 '1st entry - no of files (0-255)
 'entry format:
 'NNNNNNNN
 'N - short filename format
 Randomfilenumber = 0
 Filename = "DATOTEKE"
 Fileextension = "CFG"
 Getfileinfo
 Tempbyte = 0
 If Filefound = 1 Then
  Readsector = Filesector - 1

  Do
   Reset Watchdog
   Readsector = Readsector + 1
   Mmcread
   If Readsector < Eofsector Then
    Tempword = 512
   Else
    Tempword = Eofbyte
   End If
   Tempword = Tempword - 1
   For Q = 1 To Tempword Step 8
    Incr Tempbyte                                           'limit to 255 files
    If Tempbyte = 1 Then
      Randomfilenumber = Rnd(mdat(1))
      Randomfilenumber = Randomfilenumber + 2
    End If

    If Tempbyte = Randomfilenumber Then
     Filename = ""
     Fileextension = "RAW"
     For W = 0 To 7
      Bpointer = Q + W
      If Mdat(bpointer) <> &H20 Then
       Filename = Filename + Chr(mdat(bpointer))
      End If
     Next W
     Filename = Ucase(filename)

    End If

   Next Q
  Loop Until Readsector => Eofsector
 End If

End Sub


'*********************************** CHECK ALARM *******************************

Sub Checkalarm
 Gettime
  For Q = 1 To Noalarms
   If Tah(q) = Th Then
    If Tam(q) = Tm Then
     If Tas(q) = Ts Then
      ' Print "Alarm at:";
      ' Print Hex(th) ; ":" ; Hex(tm) ; ":" ; Hex(ts)
       Getrandomfile
       Playfile
     End If
    End If
   End If
  Next Q
End Sub



'********************************** GET ALARMS *********************************

Sub Getalarms
 'entry format:
 'SMHWNNXX
 'S - seconds BCD
 'M - minutes BCD
 'H - hours BCD

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩免费电影| 91精品国产色综合久久不卡蜜臀 | 成人一级黄色片| 日本视频在线一区| 亚洲国产精品一区二区尤物区| 中文字幕一区二区三区在线不卡 | 欧美日产国产精品| 日本一区二区电影| 国产精品免费av| 国产精品国产三级国产aⅴ入口| 国产精品久久久久7777按摩| 日韩电影在线观看电影| 色屁屁一区二区| 欧美日韩一区二区欧美激情| 欧美日韩电影在线| 亚洲人成电影网站色mp4| 一区在线观看免费| 国产精品中文字幕日韩精品 | 亚洲不卡av一区二区三区| 香蕉久久夜色精品国产使用方法 | 亚洲综合视频在线观看| 亚洲成人动漫一区| 91热门视频在线观看| 欧美日韩欧美一区二区| 中文字幕在线不卡视频| 国产91丝袜在线观看| 欧美高清视频www夜色资源网| 日韩一级片网站| 久久久久国产精品厨房| 亚洲欧美乱综合| 91在线视频免费观看| 在线成人av影院| 亚洲午夜在线观看视频在线| 在线视频国内一区二区| 日韩精品一区在线| 亚洲欧美日韩国产综合在线| 99久久精品免费| 日韩美女久久久| 七七婷婷婷婷精品国产| 暴力调教一区二区三区| 8v天堂国产在线一区二区| 欧美激情一区不卡| 国产.欧美.日韩| 中文字幕一区二区三区不卡| 95精品视频在线| 亚洲美女淫视频| 欧美在线视频你懂得| 五月天激情综合| 91亚洲大成网污www| 亚洲桃色在线一区| 在线国产亚洲欧美| 日本欧洲一区二区| 欧美—级在线免费片| 91视频com| 日本在线不卡视频| 国产喷白浆一区二区三区| 久久国产尿小便嘘嘘尿| 在线观看一区不卡| 美女在线一区二区| 欧美久久久一区| 精品无码三级在线观看视频| 欧美性生活久久| 亚洲激情在线播放| 风流少妇一区二区| 亚洲国产综合视频在线观看| 欧美大肚乱孕交hd孕妇| 成人伦理片在线| 日韩激情av在线| 8v天堂国产在线一区二区| 国产乱国产乱300精品| 亚洲狼人国产精品| 精品粉嫩超白一线天av| 日韩av不卡一区二区| 国产日韩精品久久久| 欧美视频在线观看一区| 国产高清久久久久| 国产欧美一区二区精品性色超碰 | 亚洲高清视频的网址| 久久久久成人黄色影片| 欧美日韩你懂得| 成人美女在线观看| 久久国产免费看| 亚洲国产精品影院| |精品福利一区二区三区| 日韩视频一区二区在线观看| 色婷婷激情久久| 国产suv精品一区二区三区| 日韩精品欧美精品| 亚洲美腿欧美偷拍| 中文字幕不卡的av| 精品国产乱码久久| 欧美一区二区三区成人| 日本精品一区二区三区高清| 日韩影院免费视频| 亚洲乱码日产精品bd| 欧美国产欧美综合| 精品国内二区三区| 日韩午夜电影av| 欧美日韩一区二区三区高清| 北岛玲一区二区三区四区| 国产在线日韩欧美| 亚洲三级在线免费观看| 久久亚洲免费视频| 91蜜桃在线免费视频| 国产真实乱子伦精品视频| 美女视频免费一区| 日本怡春院一区二区| 天天色 色综合| 香蕉久久夜色精品国产使用方法| 亚洲免费成人av| 亚洲欧美日韩国产中文在线| 国产精品美女久久久久久久久| 久久久久久久久久久久电影| 欧美xxx久久| 在线观看成人免费视频| 91蝌蚪porny九色| 99精品一区二区| 91免费看片在线观看| 91亚洲永久精品| 色综合天天综合在线视频| 美国欧美日韩国产在线播放| 婷婷久久综合九色国产成人| 亚洲v日本v欧美v久久精品| 天天免费综合色| 久久精品国产99国产精品| 久久丁香综合五月国产三级网站| 精品亚洲porn| 国产白丝精品91爽爽久久| bt欧美亚洲午夜电影天堂| 色综合久久综合网欧美综合网| 欧美中文字幕一区| 欧美日韩免费高清一区色橹橹| 欧美人与禽zozo性伦| 日韩欧美国产麻豆| 久久久久亚洲蜜桃| 亚洲人xxxx| 美女视频黄免费的久久| 粉嫩高潮美女一区二区三区 | 国产成人自拍网| 91免费观看视频在线| 欧美巨大另类极品videosbest| 欧美变态tickle挠乳网站| 欧美国产一区视频在线观看| 亚洲美女区一区| 日本中文字幕一区| 成人三级伦理片| 欧美丰满少妇xxxxx高潮对白| 精品国产乱码久久久久久蜜臀| 中文字幕va一区二区三区| 亚洲第四色夜色| 国产精品正在播放| 欧美日韩情趣电影| 国产欧美一区二区在线| 婷婷综合久久一区二区三区| 国产精品综合在线视频| 欧美色精品在线视频| 中文字幕欧美国产| 日本最新不卡在线| 色欧美日韩亚洲| 久久只精品国产| 午夜在线电影亚洲一区| av中文字幕在线不卡| 欧美成人精品高清在线播放| 亚洲男人的天堂网| 国产福利视频一区二区三区| 欧美日韩美少妇| 亚洲丝袜另类动漫二区| 激情六月婷婷久久| 欧美日本高清视频在线观看| 中文字幕乱码亚洲精品一区| 蜜桃久久久久久| 欧美曰成人黄网| 亚洲私人黄色宅男| 国产大陆a不卡| 精品国产区一区| 免费在线视频一区| 在线视频一区二区免费| 欧美精彩视频一区二区三区| 天天影视色香欲综合网老头| 91在线观看免费视频| 国产亚洲人成网站| 国产精品美女久久久久久2018| 日本三级亚洲精品| 欧美日韩亚洲丝袜制服| 一区二区三区四区在线免费观看| 五月天中文字幕一区二区| 91在线观看下载| 国产精品久久一卡二卡| 国产99精品在线观看| 国产偷国产偷亚洲高清人白洁 | 亚洲成国产人片在线观看| 色综合久久88色综合天天| 国产精品网站在线播放| 国产99久久久国产精品潘金网站| 久久综合九色综合97婷婷| 美日韩黄色大片| 日韩欧美aaaaaa| 国产在线一区二区| 国产亚洲欧美激情| 国产91丝袜在线播放0|