امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ساعت و دما با سون سگمنت با باتري بك آپ
نویسنده پیام
mobah آفلاین
كاربر تک ستاره
*

ارسال‌ها: 32
موضوع‌ها: 3
تاریخ عضویت: اسفند ۱۳۹۰

تشکرها : 6
( 29 تشکر در 16 ارسال )
ارسال: #7
RE: ساعت و دما با سون سگمنت با باتري بك آپ
متوجه شدم .
پس حداقل مدار و بسكام رو نگاه كنيد و بگيد من اول بسازم بعد كم كم برنامه نويسي كنم يا فقط شبيه سازي كنم و ...

مسيري كه من بايد برم چيه اينطور كه شما ميگيد بايد بسكام خوبي بلد باشم درسته؟

من دقيقا بايد چكار كنم
مدار آماده هست بسكامشم دارم خوب كمي تغييرات ميخواد تا هم ساعت رو نمايش بده هم دما رو....چكار كنم

اين شماتيكشه
   

اين هم فايل بسكامش

کد:
$regfile = "m8def.dat"
$crystal = 1000000
Config Timer1 = Timer , Prescale = 8
Enable Interrupts
Enable Timer1

On Timer1 Ss
'--------------------------- ds 1307 -----------------------------------------
$lib "ds1307clock.lib"
'configure the scl and sda pins
Config Sda = Portd.7
Config Scl = Portd.6
'address of ds1307
Const Ds1307w = &HD0 ' Addresses of Ds1307 clock
Const Ds1307r = &HD1
'------------------------------ key --------------------------------------------
Config Pinc.1 = Input
Config Pinc.2 = Input
Config Pinc.3 = Input
Config Pinc.4 = Input
Config Portc.5 = Output
Config Portd = Output
Config Portb = Output
Dp Alias Portc.5
Comm Alias Portd
Dataport Alias Portb
'------------------------------------------------------------------------------
Config Debounce = 30

Dim A As Byte , B As Byte , Data1 As Byte , C As Byte

Dim Seco As Byte , Mine As Byte , Hour As Byte , Hm As Byte , S As Bit
'------------------------------------------------------------------------------
Cursor Off

I2cstart ' Generate start code
I2cwbyte Ds1307w ' send address
I2cwbyte 0 ' start address in 1307
I2cstart ' Generate start code
I2cwbyte Ds1307r ' send address
I2crbyte Seco , Ack 'sec
I2crbyte Mine , Ack ' MINUTES
I2crbyte Hour , Nack ' Hours
I2cstop
Gosub Seco
'-----------------------------

'-------------------------------------------------------------------------------
Main:
Do
Gosub Ds1307
Gosub 24_12
Gosub Chekkey

Loop
'-------------------------------------------------------------------------------
Ds1307:
I2cstart ' Generate start code
I2cwbyte Ds1307w ' send address
I2cwbyte 0 ' start address in 1307
I2cstart ' Generate start code
I2cwbyte Ds1307r ' send address
I2crbyte Seco , Ack 'sec
I2crbyte Mine , Ack ' MINUTES
I2crbyte Hour , Nack ' Hours
I2cstop

Seco = Makedec(seco) : Mine = Makedec(mine) : Hour = Makedec(hour)

If Seco > 59 Then Seco = 0
If Mine > 59 Then Mine = 0
If Hour > 23 Then
Hour = 0
Gosub Seco
End If

Return
'-------------------------------------------------------------------------------
24_12:
If Pinc.4 = 1 Then Gosub Disply_24
If Pinc.4 = 0 Then Gosub Disply_12
Return
'-------------------------------------------------------------------------------
Disply_24:
Comm = &B1110 : Dp = 0 : Hm = Hour / 10 : Gosub 7seg
Comm = &B1101 : Dp = S : Hm = Hour Mod 10 : Gosub 7seg
Comm = &B1011 : Dp = 0 : Hm = Mine / 10 : Gosub 7seg
Comm = &B0111 : Dp = 0 : Hm = Mine Mod 10 : Gosub 7seg

Return

7seg:
Dataport = Lookup(hm , Dat)
Waitms 10
Return
'-------------------------------------------------------------------------------
Disply_12:

If Hour = 0 Then Hour = 12
If Hour > 12 Then Hour = Hour - 12
Comm = &B1110 : Dp = 0 : Hm = Hour / 10 : Gosub 7seg
Comm = &B1101 : Dp = S : Hm = Hour Mod 10 : Gosub 7seg
Comm = &B1011 : Dp = 0 : Hm = Mine / 10 : Gosub 7seg
Comm = &B0111 : Dp = 0 : Hm = Mine Mod 10 : Gosub 7seg


Return
'-------------------------------------------------------------------------------
Chekkey:

Debounce Pinc.1 , 0 , Seco , Sub
Debounce Pinc.2 , 0 , Mine , Sub
Debounce Pinc.3 , 0 , Hour , Sub


Return
'---------------------------------------------
Seco:
Incr Seco
If Seco > 59 Then Seco = 0
Seco = Makebcd(seco)
I2cstart ' Generate start code
I2cwbyte Ds1307w ' send address
I2cwbyte 0 ' starting address in 1307
I2cwbyte Seco
I2cstop
Return

'-------------------------------------
Mine:
Incr Mine
If Mine > 59 Then Mine = 0
Mine = Makebcd(mine)
I2cstart ' Generate start code
I2cwbyte Ds1307w ' send address
I2cwbyte 1 ' starting address in 1307
I2cwbyte Mine
I2cstop
Return
'-------------------------------------

Hour:
Incr Hour
If Hour > 23 Then Hour = 0
Hour = Makebcd(hour)
I2cstart ' Generate start code
I2cwbyte Ds1307w ' send address
I2cwbyte 2 ' starting address in 1307
I2cwbyte Hour
I2cstop

Return
'-------------------------------------
Dat:
Data &B00111111 , &B00000110 , &B01011011 , &B01001111
Data &B01100110 , &B01101101 , &B01111101 , &B00000111
Data &B01111111 , &B01101111

Ss:
Toggle S
Return


۲۵-اسفند-۱۳۹۰, ۰۲:۱۸:۱۰
ارسال‌ها
پاسخ


پیام‌های داخل این موضوع
ساعت و دما با سون سگمنت با باتري بك آپ - توسط mobah - ۲۴-اسفند-۱۳۹۰, ۱۹:۱۳:۳۹,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط sharin - ۲۴-اسفند-۱۳۹۰, ۲۰:۰۰:۴۰,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط mobah - ۲۴-اسفند-۱۳۹۰, ۲۳:۳۱:۱۴,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط sharin - ۲۴-اسفند-۱۳۹۰, ۲۳:۳۹:۱۱,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط mobah - ۲۴-اسفند-۱۳۹۰, ۲۳:۵۱:۲۲,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط sharin - ۲۵-اسفند-۱۳۹۰, ۰۱:۱۲:۳۶,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط mobah - ۲۵-اسفند-۱۳۹۰, ۰۲:۱۸:۱۰
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط robojalal - ۲۵-اسفند-۱۳۹۰, ۰۲:۳۶:۱۹,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط robojalal - ۲۳-مرداد-۱۳۹۲, ۲۱:۲۳:۴۸,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط sharin - ۲۵-اسفند-۱۳۹۰, ۱۲:۱۱:۰۴,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط sinastar - ۲۶-اسفند-۱۳۹۰, ۰۱:۲۵:۰۰,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط sharin - ۲۶-اسفند-۱۳۹۰, ۱۱:۴۵:۵۷,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط mobah - ۲۹-اسفند-۱۳۹۰, ۱۳:۲۳:۴۷,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط sharin - ۲۹-اسفند-۱۳۹۰, ۱۴:۵۱:۲۸,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط mobah - ۲۹-اسفند-۱۳۹۰, ۱۸:۱۹:۴۳,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط sharin - ۰۱-فروردین-۱۳۹۱, ۱۳:۵۹:۴۲,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط robojalal - ۰۶-فروردین-۱۳۹۱, ۱۷:۱۷:۰۷,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط mobah - ۰۶-اردیبهشت-۱۳۹۱, ۱۰:۲۰:۲۲,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط mobah - ۰۹-آبان-۱۳۹۱, ۲۲:۱۰:۳۲,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط Ambassador - ۲۴-مرداد-۱۳۹۲, ۰۶:۳۷:۳۳,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط robojalal - ۲۴-مرداد-۱۳۹۲, ۱۵:۱۹:۴۷,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط zoliaa - ۰۹-شهریور-۱۳۹۲, ۱۵:۴۲:۱۳,
RE: ساعت و دما با سون سگمنت با باتري بك آپ - توسط Ambassador - ۰۹-شهریور-۱۳۹۲, ۱۵:۵۰:۴۶,

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تبدیل اعداد نشون داده شده روی سون سگمنت به عدد saeedsmk 2 1,761 ۰۶-اردیبهشت-۱۳۹۷, ۲۱:۵۹:۳۵
آخرین ارسال: 1نفر
  درخواست کمک برای ساعت با فونت بزرگ sobhan6831 4 2,400 ۲۴-فروردین-۱۳۹۷, ۲۰:۱۹:۱۲
آخرین ارسال: sobhan6831
  دانلود رایگان سورس ساعت حرم امام رضا (ع) ورژن 2 sina6479 3 5,371 ۲۶-اسفند-۱۳۹۶, ۲۲:۱۹:۴۴
آخرین ارسال: sajjad85
  ساخت تابلو روان و ساعت هوایی گردون یا همون Propeller Clock با موتور فن !!! t3r!p3000 85 91,068 ۲۲-شهریور-۱۳۹۵, ۲۱:۴۴:۳۸
آخرین ارسال: taherehselseleh
  سوال در مورد ساخت ساعت با ال سي دي navayi 5 4,744 ۱۲-اسفند-۱۳۹۴, ۱۲:۱۷:۱۰
آخرین ارسال: 1نفر
Sad [سوال] شمارنده ی دورقمی با سون سگمنت cloner006 4 3,847 ۳۰-دى-۱۳۹۴, ۰۴:۲۴:۱۰
آخرین ارسال: omid_phoenix
  [سوال] شمارش معکوس سه رقمی سون سگمنت مالتی پلکس amiri630 0 2,853 ۱۷-آبان-۱۳۹۴, ۱۵:۳۶:۰۶
آخرین ارسال: amiri630
  کمک در مورد نمایش کلمه روی سون سگمنت سه تایی اند مشترک amiri630 1 2,751 ۱۶-آبان-۱۳۹۴, ۱۰:۱۲:۲۴
آخرین ارسال: hadikh73
  کریستال خارجی+کریستال ساعت در atmega8 cortex-m3 1 2,967 ۰۳-مرداد-۱۳۹۴, ۲۰:۱۳:۰۳
آخرین ارسال: sharin
  شمارنده دو رقمی با سون سگمنت زبان C و AVR hosseinip 12 15,488 ۲۳-اردیبهشت-۱۳۹۴, ۱۱:۰۹:۲۶
آخرین ارسال: hosseinip

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS