资源描述
数字电子时钟设计101210
———————————————————————————————— 作者:
———————————————————————————————— 日期:
19
个人收集整理 勿做商业用途
实训设计任务书
专 业 年级 班
一、设计题目
数字电子时钟设计
二、主要内容
1、利用CPU的定时器定时,设计一个电子时钟,使七段数码管输出记时值,格式如下:
XX XX XX 由左向右分别为:时、分、秒
2、利用蜂鸣器实现整点报时功能
3、利用AN1~AN4实现时,分的分别加减。
三、具体要求
1、本实验连线板上已经接好,无需另外接线.
①本实验中要把跳线JP1(板子右上角,LED灯正上方)跳到DIG上,J23(在黄色继电器右上方)接到右端.
②本实验中要把跳线J9(紧贴51插座右方,蜂鸣器下方,RST复位键上方)跳到右端
③本实验要把跳线J6跳到AN端,AN1(P0。0)~ AN4(P0.4),J6在51插座右下方,4×4键盘左上方。
2、实验说明
① 与定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0—3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。本实验中用定时器T0产生1秒钟基本时间单位,本系统fosc=11.0592MHz,当定时器T0工作在方式1(16位)时,最大定时时间为:
216* 0。9216μs= 60397。9776μs
再利用软件记数,当T0中断17次时,所用时间为
60397.9776*17=1026765.6192μs≈1s
因此在T0中断处理程序中,要判断中断次数是否到17次,若不到17次,则只使中断次数加1,然后返回,若到了17次,则使电子秒表记时值加1(十进制),请参考硬件实验四有关内容。
② 本实验中要将实时时钟值送到6个共阴极数码管中显示,这可通过调用编写的显示子程序来实现,实现过程是:先将(时、分、秒)3个记时值按个位和十位拆开成6个数字,然后查(0~9)段码表,再将段码分别送到显示缓冲区(片内数据存储30H~35H设定为显示缓冲区, 用于存放段码)中去,最调用显示子程序送到6个共阴极数码管中显示.
③ 蜂鸣器由单片机的P0。7口控制:当P0.7输出高电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声;当P0。7输出低电平时,三极管导通,有电流流过线圈,蜂鸣器发出声音。
④ 使用独立式按键AN1(P0。0)~AN4(P0。3)时要注意采用软件消抖动的方法,一般采用软件延时(10ms)的方法,通过P0。0~P0.4的变化控制时,分的分别加减(手动调整时间)。
3、实验仪器和设备:PC机、WAVE软件、51超级板等.
4、参考资料见附件
四、进度安排
第1~2天:模块1,阅读任务书,查找资料,制定设计方案;
第3~5天:模块2,根据设计方案,绘制电路图;
第6~8天:模块3,编写程序,实现控制方案;
第9~10天: 模块4,完成系统软硬件仿真调试,实现设计要求,完成实训报告
实训设计题目
目 录
一、设计任务分析…………………………………………………………………1
二、**************************总体方案的设计……………………………1
2。1 ********硬件电路的设计及原理……………………………………1
2。1。1 ****************单片机最小系统的工作原理…………………X
2.1.2 ****************按键的工作原理………………………………X
2.1。3 ****************数码管的工作原理……………………………X
……
2。2 ***************软件程序设计……………………………………X
2。2。1 ****************主程序…………………………………………X
2。1.2 ****************定时器TX中断服务程序………………………X
……
三、编写程序需要注意的问题……………………………………………………X
四、总结……………………………………………………………………………X
注意:
一级标题:四号宋体加粗左对齐
二级及以下标题:小四号宋体加粗,缩进2个字
实训设计题目
一级标题:四号宋体加粗左对齐
一、设计任务分析
本课题主要的目的是为了*****************************************。
内容部分:小四号宋体,左对齐,首行缩进2个字,1.5倍行距
二、************************总体方案的设计
2.1*******************设计
二级及以下标题:小四号宋体加粗,缩进2个字
附件:
第一章 伟福开发环境简介
双击桌面上的WAVE图标或从开始/程序/WAVE FOR WINDOWS/WAVE进入本开发环境,其界面及主要功能如图2-1中所注.
仿真器设置
打开文件
新建文件
打开项目
保存文件
编译文件
复
位
全速执行
跟
踪
单
步
CPU窗口保存文件
数据窗口
图2-1 WAVE界面
1. 仿真器设置窗口
如图2—2所示,在实验开始时要先根据需要设置好仿真器类型、仿真头类型以及CPU类型,并注意是否“使用伟福软件模拟器”,若使用硬件仿真,请注意去掉“使用伟福软件模拟器”前的选择.
图2-2 仿真器设置窗口
2. 文件窗口
如图2—3,可在此窗口下进行包括新建、打开、保存等文件操作。
图2—3 文件窗口
3. 编译文件窗口
如图2-4,在此窗口下可将源文件编译成目标文件。
图2-4 编译文件窗口
4. 执行窗口
如图2-5,在此窗口下,可用全速、跟踪、断点等各种方式运行程序
图2—5 执行窗口
5.窗口窗口
如图2-6-1,在此窗口下,可以观察各种窗口信息,其中最常用到的是CPU窗口和数据窗口。
图2-6—1 窗口
a. CPU窗口
通过CPU窗口可以看到你编译正确的机器码及反汇编程序,可以让你更清楚地了解程序执行过程。CPU窗口中还有SFR窗口和位窗口,让你了解程序执行过程中寄存器内容的变化.
图2-6—2 CPU窗口
b. 数据窗口
对51系列CPU,数据窗口有:DATA 内部数据窗口;CODE 程序数据窗口;
XDATA 外部数据窗口;PDATA 外部数据窗口(页方式)
图2-6-3 数据窗口
图2—6-4 DATA(内部数据窗口)
图2-6—5 CODE(程序数据窗口)
图2—6-6 XDATA(外部数据窗口)
5151超级板
数码管显示实验
一、实验目的
1. 学习八段数码管的工作原理.
2. 学习八段数码管的使用和查表编程方法.
二、实验内容
利用共阴极的八段数码管在6个数码管上同时轮流输出显示1~6.
三、实验电路连线
本实验板中的共阴极数码管的段码a、b、c、d、e、f、g、dp分别与单片机的P2.0~ P2.7依次相连,控制数码管中显示的字型;6个数码管的位选通信号由6个非门控制,分别接到单片机的P1.0~ P1.5端口上。程序中通过P1.0~ P1.5输出高低电平控制数码管的显示和关闭,高电平时对应数码管显示,显示内容由P2.0~ P2.7输出的段码控制。
四、实验说明
开始
延时
查表取段码
位选信号输出
P2口输出显示
1、 本实验中要把跳线JP1(板子右上角,LED灯正上方)跳到DIG上,J23(在黄色继电器右上方)接到右端。
五、实验仪器和设备
PC机、WAVE软件、51超级板等。
六、参考程序框图
;*************************************************************
;* Description: *
;* LED数码管显示演示程序 *
;* 在8个LED数码管上依次显示1,2,3,4,5,6 *
;* *
;*************************************************************
;===========================================================
ORG 00000H ; Reset向量
LJMP MAIN
;===========================================================
MAIN:
MOV SP,#60H ; 初始化堆栈指针
MOV P1,#00H ; 初始化I/O口
MOV P2,#0FFH
MAIN_LP:LCALL DISPLAY
MOV DPTR, #DIS_CODE ; 设定显示初值
MOV A,#1
MOVC A,@A+DPTR
MOV 30H,A
MOV A,#2
MOVC A,@A+DPTR
MOV 31H,A
MOV A,#3
MOVC A,@A+DPTR
MOV 32H,A
MOV A,#4
MOVC A,@A+DPTR
MOV 33H,A
MOV A,#5
MOVC A,@A+DPTR
MOV 34H,A
MOV A,#6
MOVC A,@A+DPTR
MOV 35H,A
LCALL DISPLAY
SJMP MAIN_LP
; END OF main
;===========================================================
DISPLAY:PUSH ACC
MOV P1,#00H ; 先关闭所有数码管
MOV A,#01H
MOV P1,A
MOV P2,30H
LCALL DELAY1
MOV A,#02H
MOV P1,A
MOV P2,31H
LCALL DELAY1
MOV A,#04H
MOV P1,A
MOV P2,32H
LCALL DELAY1
MOV A,#08H
MOV P1,A
MOV P2,33H
ACALL DELAY1
MOV A,#10H
MOV P1,A
MOV P2,34H
ACALL DELAY1
MOV A,#20H
MOV P1,A
MOV P2,35H
ACALL DELAY1
POP ACC
RET
; END OF timer0
;===========================================================
DELAY1:MOV R5,#4
D3:MOV R6,#123
NOP
DJNZ R6,$
DJNZ R5,D3
RET
DIS_CODE:
DB 0DFH ;0
DB 086H ;1
DB 0BBH ;2
DB 0AFH ;3
DB 0E6H ;4
DB 0EDH ;5
DB 0FDH ;6
DB 087H ;7
DB 0FFH ;8
DB 0EFH ;9
DB 0F7H ;A
DB 0FCH ;B
DB 0D9H ;C
DB 0BEH ;D
DB 0F9H ;E
DB 0F1H ;F
END
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;单片机学习板005-—-—-———-—————-——-—---——-—-— 按键扫描实验;;;;;;;;
;;; ;;;;;;;;;;
;;; 本程序为按键演示程序,按下AN1,数码管显示循环加一,按下AN2;;;;
;;; 数码管显示循环减一。AN1—-—p0。0,AN2-——p0。1 ;;;;
;;; 程序运行期间可能按键出现失灵现象,长按一会就可实现其功能;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 0000H
AJMP START
ORG 0030H
START: JNB P0.0,ADD1
JNB P0.1,SUB1
AJMP START
ADD1: MOV A,#00H
MOV R0,A
MOV DPTR,#ZIXINGMA
LOOP: JNB P0。0,ADD1
JNB P0.1,SUB1
MOV A,R0
MOVC A,@A+DPTR
MOV P2,A
ACALL DELAY
CJNE A,#00,NEXT
AJMP ADD1
NEXT: INC R0
AJMP LOOP
SUB1: MOV A,#00H
MOV R1,A
MOV DPTR,#ZIXINGMA1
LOOP1: JNB P0.0,ADD1
JNB P0。1,SUB1
MOV A,R1
MOVC A,@A+DPTR
MOV P2,A
ACALL DELAY
CJNE A,#00,NEXT1
AJMP SUB1
NEXT1: INC R1
AJMP LOOP1
DELAY: MOV R4,#10
D2: MOV R5,#250
D3: MOV R6,#250
NOP
DJNZ R6,$
DJNZ R5,D3
DJNZ R4,D2
RET
ZIXINGMA:
DB 0DFH ;0
DB 086H ;1
DB 0BBH ;2
DB 0AFH ;3
DB 0E6H ;4
DB 0EDH ;5
DB 0FDH ;6
DB 087H ;7
DB 0FFH ;8
DB 0EFH ;9
DB 0F7H ;A
DB 0FCH ;B
DB 0D9H ;C
DB 0BEH ;D
DB 0F9H ;E
DB 0F1H ;F
DB 00H
ZIXINGMA1:DB 0F1H ;F
DB 0F9H ;E
DB 0BEH ;D
DB 0D9H ;C
DB 0FCH ;B
DB 0F7H ;A
DB 0EFH ;9
DB 0FFH ;8
DB 087H ;7
DB 0FDH ;6
DB 0EDH ;5
DB 0E6H ;4
DB 0AFH ;3
DB 0BBH ;2
DB 086H ;1
DB 0DFH ;0
DB 00H
END
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;单片机学习板011----—--———--—-—-—-——---———-— 定时器计数器实验;;;;;;;;
;;; ;;;;;;;;;;
;;; ;广告灯左移计时中断
;;;;;
ORG 00H
JMP START
ORG 0BH
JMP TIM0
START:
MOV TMOD,#00H
MOV TH0,#0F0H
MOV TL0,#0CH
SETB EA
SETB TR0
SETB ET0
MOV R5,#100
MOV A,#0FEH
MOV P2,A
LJMP $
TIM0:;中断服务程序
CLR TR0
MOV TH0,#05H
MOV TL0,#01H
SETB TR0
DJNZ R5,LOOP
MOV R5,#100
RL A
MOV P2,A
LOOP: RETI
END
展开阅读全文