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

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

?? rr1050 ver11 pir.bas

?? AVR PWM Audio player from FAT16 MMC version11-1
?? 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 Pind.5

'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 Pind.5 = Input

' mute
Config Pind.4 = Output
Mute = 1

'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 > 2500 Then                                     '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 = 0

 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 = 1

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一区二区三区免费野_久草精品视频
亚洲精品视频一区| 欧美日韩精品欧美日韩精品一 | 精品视频1区2区3区| 亚洲精品一二三四区| 91福利在线免费观看| 亚洲午夜av在线| 91精品久久久久久久99蜜桃| 蜜桃视频在线观看一区二区| 日韩精品一区二区三区中文精品| 久久国产精品第一页| 国产日韩成人精品| 99精品视频免费在线观看| 亚洲日穴在线视频| 91精品国产高清一区二区三区| 老司机精品视频线观看86| 国产情人综合久久777777| 一本大道av一区二区在线播放| 亚洲黄色小视频| 欧美sm美女调教| av电影在线观看一区| 亚洲一二三区不卡| 精品精品国产高清a毛片牛牛| 懂色av中文一区二区三区| 一区二区成人在线视频| 日韩一区二区在线免费观看| 成人黄色777网| 视频一区二区中文字幕| 亚洲国产岛国毛片在线| 欧洲一区在线电影| 极品少妇xxxx精品少妇偷拍| 中文字幕在线观看不卡视频| 欧美高清性hdvideosex| 成人一区二区三区| 日本v片在线高清不卡在线观看| 国产精品午夜电影| 欧美精品成人一区二区三区四区| 国产精品99久久久久久久vr| 亚洲国产综合91精品麻豆| 久久久久久久精| 欧美精品乱人伦久久久久久| 大胆欧美人体老妇| 免费一级片91| 亚洲1区2区3区视频| 中文字幕免费不卡在线| 日韩一区二区在线看| 欧美亚洲综合久久| 大美女一区二区三区| 久久国产精品第一页| 亚洲成a人片在线不卡一二三区| 中文字幕精品综合| 日韩欧美色综合网站| 欧美性欧美巨大黑白大战| 国产福利一区在线| 免费成人结看片| 亚洲第一精品在线| 亚洲精品久久久蜜桃| 国产精品视频看| 久久亚洲欧美国产精品乐播| 3d成人动漫网站| 欧美天堂亚洲电影院在线播放| 粉嫩av一区二区三区粉嫩| 国产一区二区精品久久99 | 日韩国产精品91| 亚洲精品国久久99热| 国产精品久久一卡二卡| 久久精品一区八戒影视| 欧美大片一区二区| 制服.丝袜.亚洲.中文.综合| 91亚洲精华国产精华精华液| 成人黄色a**站在线观看| 成人免费视频网站在线观看| 国产一区二区看久久| 国产精品一区二区三区四区| 狠狠色丁香久久婷婷综| 精品一区二区三区在线观看| 日本成人在线视频网站| 日韩精品久久理论片| 日韩精品免费专区| 美女看a上一区| 久久国产视频网| 国产在线麻豆精品观看| 国产另类ts人妖一区二区| 国产另类ts人妖一区二区| 国产精品自拍一区| 不卡的av电影| 99麻豆久久久国产精品免费优播| www.爱久久.com| 色婷婷国产精品| 欧美日韩黄色一区二区| 91精品国产福利| 久久久久亚洲综合| 国产精品色眯眯| 亚洲三级电影全部在线观看高清| 一区二区三区丝袜| 石原莉奈在线亚洲二区| 久久精品av麻豆的观看方式| 国产精品综合二区| 色视频欧美一区二区三区| 欧美吞精做爰啪啪高潮| 日韩一区二区三区精品视频| 精品999在线播放| 亚洲欧洲性图库| 亚洲地区一二三色| 精一区二区三区| www.亚洲激情.com| 欧美精选午夜久久久乱码6080| 日韩欧美第一区| 国产精品视频免费看| 亚洲成人av中文| 精品在线播放免费| 99国产精品久久久久| 欧美裸体一区二区三区| 久久蜜桃香蕉精品一区二区三区| 国产精品嫩草影院av蜜臀| 亚洲成人动漫精品| 久久99精品久久久久久动态图| 成人性生交大片免费看中文网站| 91极品美女在线| 久久亚洲精品小早川怜子| 中文字幕中文乱码欧美一区二区| 亚洲成精国产精品女| 国产精品一区2区| 欧洲亚洲精品在线| 国产日韩精品一区二区三区在线| 亚洲一区精品在线| 国产成人免费视频一区| 欧美美女视频在线观看| 国产精品欧美经典| 免费观看日韩av| 色婷婷激情综合| 国产精品免费av| 日本三级亚洲精品| 91香蕉视频黄| 国产婷婷色一区二区三区| 调教+趴+乳夹+国产+精品| 成人av网站在线观看免费| 欧美一区二区免费视频| 亚洲欧美日韩在线| 国产精品一区免费视频| 日韩欧美高清在线| 天天av天天翘天天综合网| 成人av综合在线| 2021中文字幕一区亚洲| 午夜精品一区二区三区免费视频| av电影在线观看一区| 久久青草欧美一区二区三区| 丝袜国产日韩另类美女| 色婷婷精品久久二区二区蜜臀av| 国产女同性恋一区二区| 久久99精品久久久| 欧美一区二区在线播放| 亚洲影院免费观看| 一本一道综合狠狠老| 中文乱码免费一区二区| 国产精品一二一区| 精品奇米国产一区二区三区| 日韩精品免费专区| 欧美一区二区三区性视频| 亚洲午夜av在线| 欧美日韩中文字幕一区| 一区二区三区四区五区视频在线观看| 不卡视频一二三四| 日本一区二区三级电影在线观看 | 狠狠色2019综合网| 欧美一区二区视频在线观看2022| 婷婷开心激情综合| 91.com视频| 偷窥国产亚洲免费视频| 91精品国产手机| 人人狠狠综合久久亚洲| 日韩欧美高清一区| 国内精品久久久久影院一蜜桃| 欧美成人一区二区三区| 精品综合久久久久久8888| 久久在线免费观看| 国产成人免费视频| 中文字幕一区视频| 色综合中文综合网| 欧美日韩综合不卡| 天天综合色天天综合| 91精品国产品国语在线不卡| 男女男精品视频网| 2014亚洲片线观看视频免费| 国产在线精品免费av| 国产精品乱码妇女bbbb| 91在线观看高清| 亚洲国产精品视频| 91精品国产色综合久久不卡蜜臀 | 色婷婷综合久久久久中文| 亚洲福利视频三区| 日韩亚洲电影在线| 国产精品香蕉一区二区三区| 国产精品美女久久久久久2018| 91香蕉视频污在线| 日本va欧美va瓶| 国产精品水嫩水嫩| 欧美日韩一区二区电影| 九色|91porny| 亚洲欧美成aⅴ人在线观看| 欧美人xxxx|