سلام به همه برو بچ انجمن
بلاخره تونستم برنامه ساعت با Ds1307 و 7سگمنت رو بنویسم
تو پروتئوس کار میکنه فقط الان مشکل کار اینجاست که چه طور باید ساعت رو تنظیم کنم
برنامه رو میزارم ببینین باید چه کار کرد
بلاخره تونستم برنامه ساعت با Ds1307 و 7سگمنت رو بنویسم
تو پروتئوس کار میکنه فقط الان مشکل کار اینجاست که چه طور باید ساعت رو تنظیم کنم
برنامه رو میزارم ببینین باید چه کار کرد
کد:
$regfile = "M8def.dat" $crystal = 8000000 Dim Minute As Word Dim Hour As Word Dim K As Word Config Scl = Portc.5 Config Sda = Portc.4 Dim _sec As Byte , _min As Byte , _hour As Byte Dim Strg1 As Word Dim Strg2 As Word Dim Strg3 As Word Dim Saniye1 As Word Dim Saniye2 As Word Dim Daghighe1 As Word Dim Daghighe2 As Word Dim Saat1 As Word Dim Saat2 As Word Config Portd = Output Config Portb = Output Const Ds1307w = &HD0 Const Ds1307r = &HD1 Config Pinc.0 = Input Config Pinc.1 = Input Config Pinc.2 = Input Config Pinc.3 = Input Pinc.2 Alias Minute Pinc.3 Alias Hour Do If Minute = 0 Then Incr Strg2 End If Gosub Getdatetime Strg1 = Makedec(_sec) Strg2 = Makedec(_min) Strg3 = Makedec(_hour) Saniye1 = Strg1 / 10 Saniye2 = Strg1 Mod 10 Daghighe1 = Strg2 / 10 Daghighe2 = Strg2 Mod 10 Saat1 = Strg3 / 10 Saat2 = Strg3 Mod 10 Portb = &B00000001 Portd = Lookup(saniye2 , Lable1) Waitms 2 Portb = &B00000010 Portd = Lookup(saniye1 , Lable1) Waitms 2 Portb = &B00000100 Portd = Lookup(daghighe2 , Lable1) Waitms 2 Portb = &B00001000 Portd = Lookup(daghighe1 , Lable1) Waitms 2 Portb = &B00010000 Portd = Lookup(saat2 , Lable1) Waitms 2 Portb = &B00100000 Portd = Lookup(saat1 , Lable1) Waitms 2 Loop End Getdatetime: I2cstart I2cwbyte Ds1307w I2cwbyte 0 I2cstart I2cwbyte Ds1307r I2crbyte _sec , Ack I2crbyte _min , Ack I2crbyte _hour , Nack I2cstop Return Lable1: Data &B11000000 '00111111 Data &B11111001 '00000110 Data &B10100100 '01011011 Data &B10110000 '01001111 Data &B10011001 '01100110 Data &B10010010 '01101101 Data &B10000010 '01111101 Data &B11111000 '00000111 Data &B10000000 '01111111 Data &B10010000 '01101111
دیدگاه