单片机原理综合实训指导书v2(201306)(6)

2019-01-12 13:18

接线方法:

1、按键接到P1口下半部分。用一条4PIN数据排线,把按键部份的JP37,接到CPU部份的P1口JP44的p1.4—p1.7.

2、接8位数码管的数据线。将数码管部份的数据口 JP5接到CPU部份的P0口JP51. 3、接8位数码管的显示位线。将数码管部份的显示位口 JP8接到CPU部份的P2口JP52. 4、用1条1PIN线把喇叭部分的JP16接单片机P3.3 5、用1条1PIN线把继电器部分的JP18接单片机P3.5

6、用一条4PIN数据排线,把DS1302部份的JP83,接到CPU部份的P1口JP44的p1.0—p1.3 汇编语言参考程序:

;8位数码管显示

;P0 为段码口、P2 为位码口 ;时钟芯片:DS1302 ;接线方法:

;八位数码管用两条8pin排线分别连p0,p2口 ;24c02 用一条2pin线连接P3.6, P3.7 ;喇叭用一条1pin线连接P3.3

;端口按键JP37用一条4PIN线连接P1.4,1.5,1.6,1.7 ;DS1302的JP83用一条4PIN线连接P1.0,1.1,1.2,1.3

;************** DS1302 端口位定义 ************** IO_DATA BIT P1.1 ; 数据传送总线 SCLK BIT P1.0 ; 时钟控制总线 RST BIT P1.2 ; 复位总线

K1 EQU P1.4 ;独立键 K2 EQU P1.5

K3 EQU P1.6 K4 EQU P1.7

BEEP EQU P3.3 ;蜂鸣器 RELAY EQU P3.5 ;继电器

T_CONU EQU 22H ;中断计数 TIME_L EQU 23H ;定时初值 TIME_H EQU 24H

TIME_DATA EQU 50H ;显示时间单元首地址 DATE_DATA EQU 60H ;显示日期单元首地址 DS_DATA EQU 58H ;显示定时时间单元首地址

;------------------------------------------------ ORG 0000H AJMP MAIN

ORG 000BH AJMP INT_T0

ORG 0080H

;------------------------------------------------ MAIN:

MOV TMOD,#01H ;T0,方式1

MOV TIME_L,#00H ;50MS定时值 MOV TIME_H,#4CH

MOV T_CONU,#00H ;中断次数 MOV IE,#82H ;EA=1,ET0=1

MOV A,#00H

MOV R0,#40H ;从40H单元开始 MOV R1,#40H ;清64个单元 M_CLEAR: MOV @R0,A INC R0

DJNZ R1,M_CLEAR

MOV 7FH,#0AH ;送熄灭符 SETB BEEP

LCALL TIME_DELAY ;调显示延时 LCALL PROSET ;DS1302初始化

MAIN1:

LCALL GET_TIME ;从DS1302读数据程序 LCALL CHULI ;实时时间数据处理

MOV R0,#TIME_DATA ;显示时、分、秒 LCALL DISP

MOV R0,#TIME_DATA LCALL TIME_DISPLAY

LCALL SET_KEY ;键功能程序

LCALL COMP ;实时时间与定时时间比较 JB K1,MAIN1 CALL BEEP_BL MAIN2:

LCALL CHULI ;日期数据处理 MOV R0,#DATE_DATA

LCALL DISP ;显示年、月、日 MOV R0,#DATE_DATA LCALL TIME_DISPLAY JB K1,MAIN2 CALL BEEP_BL MAIN3:

LCALL DS_CHULI ;定时时间数据处理 MOV R0,#DS_DATA

LCALL DS_SP ;显示定时时间 MOV R0,#DS_DATA LCALL DS_DISPLAY JB K1,MAIN3 CALL BEEP_BL AJMP MAIN1

;-------------------------------------------- ;中断服务子程序

;300MS对闪动标记取反一次

;-------------------------------------------- INT_T0: PUSH ACC PUSH PSW

MOV TL0,TIME_L MOV TH0,TIME_H INC T_CONU MOV A,T_CONU

CJNE A,#06H,INT_END MOV T_CONU,#00H CPL 0AH INT_END: POP PSW POP ACC RETI

;--------------------------------------------

;DS1302 初始化子程序 ; (R0)=数据 (R1)=地址

;-------------------------------------------- PROSET:

CLR RST ;DS1302复位 CLR SCLK NOP NOP

SETB RST

;MOV R1,#80H ;写秒寄存器 ;MOV R0,#00H ;启动振荡器 ;LCALL WRITE

;MOV R1,#82H ;写分寄存器 ;MOV R0,#58H ;LCALL WRITE

;MOV R1,#84H ;写时寄存器 ;MOV R0,#80H ;LCALL WRITE

MOV R1,#90H ;写充电寄存器 MOV R0,#0ABH LCALL WRITE RET

;=============================================== ;读时间、日期数据子程序 ;存放单元 40H - 46H

;=============================================== GET_TIME:

MOV R1,#81H ;读秒 LCALL READ MOV 40H,R0

MOV R1,#83H ;读分 LCALL READ MOV 41H,R0

MOV R1,#85H ;读时 LCALL READ MOV 42H,R0

MOV R1,#87H ;读出日期

LCALL READ MOV 43H,R0

MOV R1,#89H ;读出月份 LCALL READ MOV 44H,R0

MOV R1,#8BH ;读出星期 LCALL READ MOV 46H,R0

MOV R1,#8DH ;读出年 LCALL READ MOV 45H,R0 RET

;================================================ ;写 DS1302 子程序

;================================================ WRITE: CLR SCLK NOP NOP

SETB RST NOP

MOV A,R1 MOV R2,#08H WRI_01:

RRC A ;传输地址到DS1302 NOP NOP

CLR SCLK NOP NOP

MOV IO_DATA,C NOP NOP

SETB SCLK NOP NOP

DJNZ R2,WRI_01 CLR SCLK NOP NOP


单片机原理综合实训指导书v2(201306)(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2005年日语能力考试2级真题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: