太阳能路灯毕业论文 联系客服

发布时间 : 星期六 文章太阳能路灯毕业论文更新完毕开始阅读

太阳能路灯毕业论文

附录2

程序: BITCNT EQU 30H

BYTECNT EQU 31H COMMAND EQU 32H

RCUDAT EQU 33H ; 定义1302 读出地址 XMTDAT EQU 3BH ; 定义1302 写入地址

IO_DATA BIT P1.4 ; 定义1302数据输入/输出端 SCLK BIT P1.3 ; 定义1302串行时钟 RST BIT P1.5 ; 定义1302复位

SCL BIT P1.6 ; 定义24c02串行时钟 SDA BIT P1.7 ; 定义24c02串行数据 XSJ BIT P3.2 ; 定义显示开关键 GNJ BIT P3.3 ; 定义功能键 JYJ BIT P3.4 ; 定义加1键

GM BIT P3.5 ; 定义光敏电阻输入端

TS2 BIT P1.0 ; 定义调时钟指示发光二极管 TGLD BIT P1.1 ;定义调关路灯指示发光二极管 TKLD BIT P1.2 ;定义调开路灯指示发光二极管 ORG 0000H

AJMP MAIN ;主程序入口地址 ORG 000BH

AJMP T0INT ;T0中断入口地址 ORG 001BH

AJMP T1INT ;T1中断入口地址 ORG 0030H

MAIN: MOV TMOD,#11H ;设置定时器T0,T1工作于模式1 SETB 30H CLR 31H

MOV 73H,#0 ; 功能键标志位 MOV 72H,#0 ; 闪烁标志位 CLR 32H

CLR 33H ; 闪烁标志位 MOV 70H,#0

MOV TH0,#0D8H MOV TL0,#0F0H MOV TH1,#0D8H

MOV TL1,#0F0H ; 定时10ms初值 MOV R3 ,#0AIH MOV R4 ,#00H MOV R1 ,#76H

MOV R7 ,#04H ; 读出24c02操作 LCALL EEPR

LCALL OSC_ENABLE ; 初始化1302时钟启动操作 LCALL WRIT_ENABLE ; 初始化1302允许数据输入

17

太阳能路灯毕业论文

LCALL R_MANY ; 调1302多字节读出程序 SETB TR0

KGXS: LCALL R_MANY

*******按键扫描程序******* JB XSJ ,XSBZ LCALL YS10MS

JB XSJ, XSBZ ; 判断显示开关键 CPL 30H ; 显示标志位

MOV 7BH ,75H MOV 7AH ,74H LCALL XS

XSBZ: JB30H ,PDGX ; 判断标志位

SETB TR1

JB GNJ ,PDGX ; 判断功能键 LCALL YS10MS JB GNJ , PDGX

INC 73H ; 功能键标志位加1 MOV A , #1 , POTS; ; 调时钟时 CLR TSZ

JB JYJ , PDGX LCALL TS10MS

JB JYJ , PDGX ; 加一键 INC 75H ;1302 ; 1302时加一 MOV A , 75H

CJNE A , #2 , PDTS

MOV 75H ,#0 ; 判断是否调到24时

PDTS: CJNE A , #2 , POTF

JB JYJ , PDTF LCALL YS10MS JB JYJ , PDTF

INC 74H ; 1302分加一 MOV A , 74H

CJNE A , #60 ,PDTF MOV 74H ,#0

PDTF: CJNE A , #3 ,PDGS

SETB TSZ CLR TGLD

LCALL W_MANY ; 存1302时、分 JB JYJ , PDGS LCALL YS 10MS JB JYJ , PDGS

INC 79H ; 关路灯时加一 MOV A , #24 , PDGS MOV 79H ,#0

18

太阳能路灯毕业论文

PDGS: CJNE A , #4 , PDKS

JB JYJ , PDKS

LCALL YS10MS JB JYJ PDKS

INC 78H ; 关路灯分加一 CJNE A ,#60 , PDKS MOV 78H , #0

PDKS: CJNE A , #5 , PDKF

SETB TGLD CLR TKLD JB JYJ PDKF LCALL YS10MS JB JYJ , PDKF

INC 77H ; 开路灯时加一 MOV A , #77H

CJNE A ,#24 , PDKF MOV 77H , #0

PDKF: CJNE A , #6 , PDJS

JB JYJ , PDJS LCALL YS10MS JB JYJ , PDJS

INC 76H ; 开路灯分加一 MOV A , #76H

CJNE A ,#60 , PDJS MOV 76H ,#0

PDJS: CJNE A , #7 , PDGX

MOV 73H ,#0 MOV R3 , #0A0H MOV R4 , #00H MOV R1 , #76H MOV R7 , #04H

LCALL EEPW ; 向24c02存内容 SETB TKLD SETB TR0

PDGX :JB 30H , KGXS

CLR TR1

*******中断T0服务程序******* T0INT: PUSH PSW

PUSH ACC

MOV 7H0 , #0D8H MOV TL0 , #0F0H

JB P3.5 RETTT ; 判断光线强弱 JB 32H , WSKD ; 判断是否已开灯 CLR 31H

19

太阳能路灯毕业论文

S ETB 32H

WSKD: JB 31H , YSC ; 输出标志位

MOV A , 75H

CJNE A , 79H , KLD ; 比较关灯时间点 MOV 74H

CJNE A , 78H , KLD ; 比较关灯分时间点

GLD: SETB P3.6 ; 关灯

SETB 31H AJMP RETT

YSC: MOV A , 75H

CJNE A , 77H , GLD MOV A , 74H

CJNE A , 76好,GLD CLR 31H

KLD: CLR P3.6

AJMP RETT

RETT: SETB P3.6

CLR 32H

RETT: POP ACC

POP PSW RETI

*******中断T1服务程序*********

T1INTPUSH PSW

PUSH ACC

MOV 7H1, #0D8H MOV TL1 , #0F0H INC 70H MOV A ,70H

CJNE A , #30 , FRET MOV A , 73 H

CJNE A ,#0 , SZSS

MOV 7BH , 75H MOV 7AH , 74H AJMP FRET

SZSS: CJNE A , #1 , SZSF

JB 33H , SSSZ MOV 7BH , 75H MOV 7AH , 74H AJMP FRET

SSSZ: MOV 7BH , # 0FFH

MOV 74H , #74H CPL 33H AJMP FRET

SZSF: CJNE A , #2 , GDSS

20