google-site-verification=JzeiPoAiuNQXJPCmlDV7cDXBM571JmQYu5nkhw5nxMY

راه اندازی 74hc595 با avr

راه اندازی 74hc595 با avr

راه اندازی 74hc595 با avr-در این مدار ما آی سی 74hc595 را به میکروکنترلر atmega16 متصل نموده. و  با 4 عدد آی سی 74hc595  و با  استفاده از 3 پایه میکروکنترلر  هیجده عدد سون سگمنت را راه اندازی نموده ایم.  که بترتیب ثانیه دقیقه و ساعت را نمایش می دهد  که شما می توانید با تغییر متغیرها آنها را به موارد دیگر همانند تاریخ و دما تغییر دهید هدف از این آموزش نحوه  کارکرد آی سی 74595  می باشد

راه اندازی 74hc595 با avr

 

 

 

 

 

 

 

 

 

‘—————————–www.pc21.ir————————————–
$regfile = “m16def.dat”
$crystal = 1000000
Config Portd = Output
‘Config Portb = Output
Config Clock = Soft

Enable Interrupts
Config Timer1 = Timer , Prescale = 1
Enable Interrupts
Enable Timer1

‘On Timer1 Ss
Config Sda = Portd.6
Config Scl = Portd.7

Dim Array(95) As Byte
Dim Hm As Byte , A As Byte , B As Byte , C As Byte , D As Byte,

Dim E As Byte , F As Byte , G As Byte ‘, H As Byte , F10 As Byte,
Dim R As Byte
Dim Dat As Byte , Mine As Byte , Seco As Byte , Hour As Byte
Dim Haft As Byte , Rooz As Byte , Mah As Byte , Sal As Byte
Do
Gosub Ds1307
Hm = &B11111111

Gosub Mmm
Gosub Nnn
If R = 0 Then Gosub Aaa
If R = 1 Then Gosub Bbb
If R = 2 Then Gosub Ccc
If R = 3 Then Gosub Ddd
If R = 4 Then Gosub Eee
If R = 5 Then Gosub Fff

Loop

راه اندازی 74hc595 با avr

‘@@@@@@@@@@@@@@@@@@@@@@@@@@@@ www.pc21.ir @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Ds1307:

I2cstart
I2cwbyte &HD0
I2cwbyte 0
I2cstart
I2cwbyte &HD1
I2crbyte Seco , Ack
I2crbyte Mine , Ack
I2crbyte Hour , Ack
I2crbyte Rooz , Ack
I2crbyte Haft , Ack
I2crbyte Mah , Ack
I2crbyte Sal , Nack

I2cstop
Seco = Makedec(seco) : Mine = Makedec(mine) : Hour = Makedec(hour)
Haft = Makedec(haft) : Rooz = Makedec(rooz) : Mah = Makedec(mah)
Sal = Makedec(sal)
Return

‘@@@@@@@@@@@@@@@@@@@@@@@@@@@@ www.pc21.ir @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Nnn:
Incr R
Waitus 1
If R > 5 Then R = 0

Return

Mmm:
Dat = Array(b)

Shiftout Portd.0 , Portd.1 , Dat , 3
C = B + 8
Dat = Array(c)

Shiftout Portd.0 , Portd.1 , Dat , 3
D = C + 8
Dat = Array(d)

Shiftout Portd.0 , Portd.1 , Dat , 3

E = D + 8
Dat = Array(e)

Shiftout Portd.0 , Portd.1 , Dat , 3

Portd.1 = 0 : Portd.1 = 1

Portd.2 = 0

Return

راه اندازی 74hc595 با avr
‘@@@@@@@@@@@@@@@@@@@@@@@@@@@@ www.pc21.ir @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Aaa:

Hm = R Mod 10
For A = 0 To 6
Array(a) = Lookup(hm , Dab1)
Next

Hm = Hour / 10
For A = 7 To 14
Array(a) = Lookup(hm , Dab)
Next

Hm = Hour / 10
For A = 15 To 21
Array(a) = Lookup(hm , Dab)
Next

Hm = Hour / 10
For A = 22 To 28
Array(a) = Lookup(hm , Dab)
Next

Portd.2 = 1

Return

راه اندازی 74hc595 با avr

‘@@@@@@@@@@@@@@@@@@@@@@@@@@@@ www.pc21.ir @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Bbb:
Hm = R Mod 10
For A = 0 To 6
Array(a) = Lookup(hm , Dab1)
Next

Hm = Hour Mod 10
For A = 7 To 14
Array(a) = Lookup(hm , Dab)
Next

Hm = Hour Mod 10
For A = 15 To 21
Array(a) = Lookup(hm , Dab)
Next

Hm = Hour Mod 10
For A = 22 To 28
Array(a) = Lookup(hm , Dab)
Next

Portd.2 = 1

Return

‘@@@@@@@@@@@@@@@@@@@@@@@@@@@@ www.pc21.ir @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Ccc:

Hm = R Mod 10
For A = 0 To 6
Array(a) = Lookup(hm , Dab1)
Next

Hm = Mine / 10
For A = 7 To 14
Array(a) = Lookup(hm , Dab)
Next

Hm = Mine / 10
For A = 15 To 21
Array(a) = Lookup(hm , Dab)
Next

Hm = Mine / 10
For A = 22 To 28
Array(a) = Lookup(hm , Dab)
Next

Portd.2 = 1

Return

‘@@@@@@@@@@@@@@@@@@@@@@@@@@@@ www.pc21.ir @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Ddd:

Hm = R Mod 10
For A = 0 To 6
Array(a) = Lookup(hm , Dab1)
Next

Hm = Mine Mod 10
For A = 7 To 14
Array(a) = Lookup(hm , Dab)
Next

Hm = Mine Mod 10
For A = 15 To 21
Array(a) = Lookup(hm , Dab)
Next

Hm = Mine Mod 10
For A = 22 To 28
Array(a) = Lookup(hm , Dab)
Next

Portd.2 = 1

Return
‘@@@@@@@@@@@@@@@@@@@@@@@@@@@@ www.pc21.ir @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Eee:

Hm = R Mod 10
For A = 0 To 6
Array(a) = Lookup(hm , Dab1)
Next

Hm = Seco / 10
For A = 7 To 14
Array(a) = Lookup(hm , Dab)
Next

Hm = Seco / 10
For A = 15 To 21
Array(a) = Lookup(hm , Dab)
Next

Hm = Seco / 10
For A = 22 To 28
Array(a) = Lookup(hm , Dab)
Next

Portd.2 = 1

Return

‘@@@@@@@@@@@@@@@@@@@@@@@@@@@@ www.pc21.ir @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Fff:

Hm = R Mod 10
For A = 0 To 6
Array(a) = Lookup(hm , Dab1)
Next

Hm = Seco Mod 10

For A = 7 To 14
Array(a) = Lookup(hm , Dab)
Next

Hm = Seco Mod 10
For A = 15 To 21
Array(a) = Lookup(hm , Dab)
Next

Hm = Seco Mod 10
For A = 22 To 28
Array(a) = Lookup(hm , Dab)
Next

Portd.2 = 1

Return
راه اندازی 74hc595 با avr
‘@@@@@@@@@@@@@@@@@@@@@@@@@@@@ www.pc21.ir @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

‘****************************** www.pc21.ir ***********************************
Dab:
‘Data 3 , 159 , 37 , 13 , 153 , 73 , 065 , 031 , 1 , 9 , 255
Data &B00000010 , &B10011111 , &B00100101 , &B00001101 , &B10011001 , &B01001000
Data &B11000000 , &B00011010 , &B00000000 , &B00011000
‘Data &B11111101 , &B01100000 , &B11011010 , &B11110010 , &B0100110 , &B10110111
‘Data &B00111111 , &B11100101 , &B11111111 , &B11100111

Dab1:
‘Data &B00000001 , &B00000010 , &B00000100 , &B00001000 , &B00010000 , &B00100000
Data &B10000000 , &B01000000 , &B00100000 , &B00010000 , &B00001000 , &B00000100,
‘ Data &B01111111 , &B10111111 , &B11011111 , &B11101111 , &B11110111 , &B11111011,

Ss:

 

 

 

Return

 

 

دانلودpdf شماتیک

 

 

راه اندازی 74hc595 با avr

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

آمار