سلام این تاپیکو در تکمیل یک تاپیک قدیمی که زدم ایجاد کردم
این سورس کد بسکام مگا 32 یک دزگیر است
اون قسمت تماس گرفتنش در حقیقت وقفه در وقفه شده اول enable enterapt بعد هم وقتی وقفه میاد ،یکی از دوستان گفته بود با dtmf تداخل ایجاد میکنه و هیچ شماره ایی نمیگیره
به نظرتون چطور باید کدو درست کنم.پیشاپیش از همه دوستان eca برای ایجاد چنین محفل صمیمی تشکر میکنم.در پناه حق
$regfile = "M32def.dat" ' use the Mega8
$crystal = 4000000
$baud = 9600
Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0
Config Lcd = 16 * 2
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.2 = Output
Dim In_put As Byte
Dim Mobile As String * 12
Mobile = "09161234567"
Enable Interrupts
Enable Urxc
Enable Int0
Enable Int1
On Int0 Zone_1_alarm
On Int1 Zone_2_alarm
On Urxc Stop_alarm
Set Portb.2
Cursor Off
Cls
Lcd "remot is active"
Do
Loop
Zone_1_alarm:
Cls
Lcd "zone_1 is on"
Home
Set Portb.1
Goto Telephone
Return
Zone_2_alarm:
Cls
Lcd "zone_2 is on"
Home
Set Portb.1
Goto Telephone
Return
Stop_alarm:
In_put = Waitkey()
If In_put = 0 Then
Goto L
Elseif In_put = 99 Then
Cls
Lcd "alarm off"
Reset Portb.2
Reset Portb.1
Home
Elseif In_put = 100 Then
Cls
Lcd "alarm on"
Reset Portb.1
Set Portb.2
Home
End If
L:
Return
Telephone:
Wait 2
Cls
Lcd "daill number"
Lowerline
Lcd "09161234567"
Set Portb.0
Wait 2
Dtmfout Mobile , 50
Wait 10
Cls
Lcd "call done"
Reset Portb.0
Wait 10
Return
این سورس کد بسکام مگا 32 یک دزگیر است
اون قسمت تماس گرفتنش در حقیقت وقفه در وقفه شده اول enable enterapt بعد هم وقتی وقفه میاد ،یکی از دوستان گفته بود با dtmf تداخل ایجاد میکنه و هیچ شماره ایی نمیگیره
به نظرتون چطور باید کدو درست کنم.پیشاپیش از همه دوستان eca برای ایجاد چنین محفل صمیمی تشکر میکنم.در پناه حق
$regfile = "M32def.dat" ' use the Mega8
$crystal = 4000000
$baud = 9600
Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0
Config Lcd = 16 * 2
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.2 = Output
Dim In_put As Byte
Dim Mobile As String * 12
Mobile = "09161234567"
Enable Interrupts
Enable Urxc
Enable Int0
Enable Int1
On Int0 Zone_1_alarm
On Int1 Zone_2_alarm
On Urxc Stop_alarm
Set Portb.2
Cursor Off
Cls
Lcd "remot is active"
Do
Loop
Zone_1_alarm:
Cls
Lcd "zone_1 is on"
Home
Set Portb.1
Goto Telephone
Return
Zone_2_alarm:
Cls
Lcd "zone_2 is on"
Home
Set Portb.1
Goto Telephone
Return
Stop_alarm:
In_put = Waitkey()
If In_put = 0 Then
Goto L
Elseif In_put = 99 Then
Cls
Lcd "alarm off"
Reset Portb.2
Reset Portb.1
Home
Elseif In_put = 100 Then
Cls
Lcd "alarm on"
Reset Portb.1
Set Portb.2
Home
End If
L:
Return
Telephone:
Wait 2
Cls
Lcd "daill number"
Lowerline
Lcd "09161234567"
Set Portb.0
Wait 2
Dtmfout Mobile , 50
Wait 10
Cls
Lcd "call done"
Reset Portb.0
Wait 10
Return
دیدگاه