當前位置:編程學習大全網 - 編程語言 - Proteus不能被編程。

Proteus不能被編程。

給妳壹個參考程序,帶時鐘芯片驅動。

SCL2位p 1.3;//SCL2定義為P1端口的第三個引腳,連接到ADC0831SCL引腳。

SDA2位p 1.4;//SDA2定義為P1端口的第4個管腳,連接到ADC0831SDA管腳。

CS2位p 1.6;//CS2定義為P1端口的第4個引腳,連接到ADC0831CS引腳。

RST鉆頭p 1.5;// DS1302片選,因為這兩個芯片用的是同壹個數據引腳(SDA,SCL),所以需要定義壹下,關閉DS1302片選,否則會有沖突。

l _顯示EQU 30H

l _ tmpdate 1 EQU 38H;第二

l _ tmpdate 2 EQU 39H;分鐘

l _ tmpdate 3 EQU 3AH;時間

l _ tmpdate 4 EQU 3BH;周

l _ tmpdate 5 EQU 3CH;太陽

l _ tmpdate 6 EQU 3DH;月球

l _ tmpdate 7 EQU 3EH;年

ORG 0100H

write_rtc_address: DB 80H,82H,84H,86H,88H,8aH,8cH

read_rtc_address: DB 81H,83H,85H,87H,89H,8bH,8dH

L_TIMER: DB 00H,59H,18H,01H,01H,01H,01H

表:DB 3fH、06H、5bH、4fH、66H、6dH、7dH、07H、7fH、6fH、40H

/* * * *數碼管0-9-表*/

ORG 0000H

LJMP總管

組織0200H

主要:MOV SP,#60H

CLR RST

LCALL SET _ RTC先寫初始值

M0:LCALL READ _ RTC;循環讀取時間數據

MOV R0,# L _顯示

MOV A,L _ TMPDATE3把時間拆分成兩個數據,壹個時間和壹個時間。

MOV B,#16

分部AB

MOV @R0,A;十點鐘

INC R0

MOV @R0,B;個人時間

INC R0

MOV @R0,# 10;添加“-”

INC R0

MOV A,L _ TMPDATE2同上

MOV B,#16

分部AB

MOV @R0,A

INC R0

MOV @R0,B

INC R0

MOV @R0,#10

INC R0

MOV A,L_TMPDATE1

MOV B,#16

分部AB

MOV @R0,A

INC R0

MOV @R0,B

MOV R0,# L _顯示

MOV R7,8號

LCALL顯示

SJMP·M0

顯示:MOV·DPTR,#TABLE /*R0是地址,R7是數字*/

MOV P2,#0

ANL P1,#0F8H

L2: MOV A,@R0

MOVC A,@A+DPTR

MOV·P2

LCALL延遲

MOV P2,#0

INC P1

INC R0

DJNZ R7

浸水使柔軟

延遲:MOV R5,#20

D1: DJNZ R5,D1

浸水使柔軟

SET_RTC:MOV R6,# 7;輸入7個數據:秒、分、小時、周、日、月和年。

MOV DPTR,# L _ TIMER最初的7個數據從rom傳輸到我們定義的RAM。

MOV R0,#L_TMPDATE1

S0: CLR A

MOVC A,@A+DPTR

MOV @R0,A

INC R0

DPTR公司

DJNZ R6,S0

MOV R1,#8EH

MOV R2,#0

LCALL w 1302;首先將地址8EH寫為0,即解鎖,否則無法寫入數據。

MOV R0,# L _ tmpdate 1;保存數據的地址。

MOV DPTR,# write _ rtc _ address寫入數據的地址

MOV·R6,排名第七;寫7個數據:秒、分、小時、周、日、月、年。

S1: MOV A,@R0

MOV·R2

CLR A

MOVC A,@A+DPTR

MOV R1,A

LCALL W1302

DPTR公司

INC R0

DJNZ R6,S1

MOV R1,#8EH

MOV R2,80H號

LCALL w 1302;;最後寫地址8EH是80H,也就是加了鎖,防止數據被寫入。

浸水使柔軟

READ_RTC:MOV R6,# 7;讀取七個數據:秒、分、小時、周、日、月、年。

MOV R0,# L _ tmpdate 1;存儲在規定的RAM中。

MOV DPTR,#讀取rtc地址

RE0: CLR A

MOVC A,@A+DPTR

MOV R1,A

LCALL R1302

MOV @R0,A

DPTR公司

INC R0

DJNZ R6,RE0

浸水使柔軟

W1302B: MOV R7,# 8;單字節寫入,R1參數是寫入的數據。

MOV A,R1

W0: RRC A

MOV SDA2,C

nototherwiseprovided(for)除非另有規定

SETB SCL2

nototherwiseprovided(for)除非另有規定

CLR SCL2

DJNZ R7,W0

浸水使柔軟

w 1302:CLR RST;在指定地址寫數據,R1:地址,R2:數據。

nototherwiseprovided(for)除非另有規定

CLR SCL2

nototherwiseprovided(for)除非另有規定

SETB·RST

nototherwiseprovided(for)除非另有規定

LCALL W1302B

R2 MOV

MOV R1,A

LCALL W1302B

CLR RST

nototherwiseprovided(for)除非另有規定

浸水使柔軟

R1302: MOV R2,# 0;指定讀取數據的地址,R1:地址,a:返回數據。

CLR RST

nototherwiseprovided(for)除非另有規定

CLR SCL2

nototherwiseprovided(for)除非另有規定

SETB·RST

nototherwiseprovided(for)除非另有規定

LCALL W1302B

MOV R7,8號

CLR A

RR0: MOV C,SDA2;單字節讀取,讀取存儲在A中的數據並發送出去。

RRC A

SETB SCL2

nototherwiseprovided(for)除非另有規定

CLR SCL2

DJNZ R7,RR0

CLR RST

nototherwiseprovided(for)除非另有規定

CLR SCL2

nototherwiseprovided(for)除非另有規定

SETB SCL2

nototherwiseprovided(for)除非另有規定

CLR SDA2

nototherwiseprovided(for)除非另有規定

SETB SDA2

nototherwiseprovided(for)除非另有規定

浸水使柔軟

結束

  • 上一篇:鎮江二手數控機床編程培訓
  • 下一篇:學IT,軟件工程方向,網絡方向,信息安全方向,哪個比較容易?
  • copyright 2024編程學習大全網