1、 单片机原理与应用课程设计说明书 题 目: 秒表计时器 系 部: 信息与控制工程学院 专 业: 自动化 班 级: 学生姓名: 学 号: 指导教师: 2011年 12月 8 日 单片机/微机接口课程设计说明书 目
2、录 1 设计任务与要求·············································1 2 设计方案···················································2 3 硬件电路设计···············································7 4 软件设计···················································8 5 结论······················································12
3、 参考文献····················································14 1 设计任务与要求 1.1课程设计的目的 1.1.1根据单片机课程所学内容,结合其他相关课程知识,设计电子秒表,以加深对单片机知识的理解,锻炼实践动手能力,为以后的毕业设计和工作打下坚实基础; 1.1.2 熟悉汇编语言或C语言的程序设计方法,熟悉51系列单片机的使用; 1.1.3掌握单片机的内部功能模块的应用,如定时器/计数器、中断、I/O口、串行口通讯等功能; 1.1.4掌握单片机应用系统的软硬件设计过程、方法及实现。 1.2课程设计的任务 设计
4、一个单片机控制的秒表系统。利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计秒表计时器。 基本要求:用AT89C51设计一个2位LED数码显示“秒表”, 显示时间为00~99秒,每秒自动加一。当按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“复位”按键,系统清零,数码管显示00。 1.3课程设计的要求 1.1.1利用单片机内部定时器设计一个秒表, 要求能实现秒表的启动、停止和复位。 1.1.2焊接电路,编制程序,实现秒表计时器的基本功能,并完成课程设计说明书。 1.1.3课程设计期间
5、遵守纪律,注意安全,爱护设备,合理分工,加强合作。 2 设计方案 2.1设计方案介绍及工作原理说明 该实验要求进行计时并在数码管上显示时间,则可利用pretues仿真软件设计电路并仿真STC89C51。 使用STC89C51单片机作为核心控制部件,采用12M晶体振荡器及微小电容构成振荡电路;用两个四位一体共阳极或共阴极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复位电路完成此秒表的计时、清零、停止各项功能。 对于时钟,它有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了
6、单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大。 LED数码显示器有如下两种连接方法:共阳极接法:把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。共阴极接法:把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。 键盘部分方案:键盘控制采用独立式按键,每个按键的一端均接地,另一端直接和P1口相连,在按键和P1口之间通过10K电阻与+5V电源相连。键盘通过检测输入线的电平状态就可以很容易地判断哪个键被按下
7、了,这种方法操作速度高而且软件结构很简单,比较适合按键较少或操作速度较高的场合,这种独立式接口的应用很普遍。 显示部分方案:显示部分采用动态显示。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过
8、分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。动态显示是利用人眼视觉暂留特性来实现显示的。事实上,显示器上任何时刻只有一个数码管有显示。由于各数码管轮流显示的时间间隔短、节奏快,人的眼睛反应不过来,因此看到的是连续显示的现象。为防止闪烁延时的时间在1ms左右,不能太长,也不能太短。 通过编写程序使用单片机的定时计数器,以及软件延时,中断资源来实现秒计时和相关控制。 2.2数字式秒表硬件系统各模块功能简要介绍 2.2.1七段数码管简介 显示控制过程: 如第一个数码管显示数字‘1’,数字‘1’对应的16进制显示码为0xf9。
9、 1、 首先将显示码送到单片机的PA口: PORTA=0XF9;
2、然后使能第一个数码管的位码:单片机的PC0口置1--PORTC|=(1< 10、ogrammable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。
主要性能:
与MCS-51 微控制器产品系列兼容。
片内有4KB可在线重复编程的快闪擦写存储器
存储数据保存时间为10年
宽工作电压范围:Vcc可为2.7V到6V
全静态工作:可从0Hz至16MHz
程序存储器具有3级加密保护
128*8位内部RAM
32条可编程I/O线
两个16位定时器/计数器
中断结构具有5个中断源和2个优先级
可编程全双工串行通道
空闲状态维 11、持低功耗和掉电状态保存存储内容
2.2.3 74LS164简介
74LS164 为8位移位寄存器,其主要电特性的典型值如下:
54/74164 185mW 54/74LS164 80mW
当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。 串行数据输入端(A,B)可控制数据。当 A、B任意一个为 低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0 为低电平。当A、B 有一个为高电平,则另一个就允许输入数据,并在CLOCK 上升沿作用下决定Q0 的状态。
引脚功能:CLOCK :时钟输入端
CLEAR: 同步清除输入端(低电平有 12、效)
A,B :串行数据输入端
QA-QH: 输出端
2.2.3 MAX232简介
MAX232芯片是专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。
内部结构基本可分三个部分:
第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚 13、R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分是供电。15脚DNG、16脚VCC(+5v)。
2.2.4 MAX813L引脚及功能
引脚功能及工作原理
(1)手动复位输入端()
当该端输入低电平保持140 ms以上,MAX813L就输出复位信号.该输入端的最小输入脉宽要求可以有效地消除开关的抖动。与TTL/CMOS兼 14、容。
(2)工作电源端(VCC):接+5V电源。
(3)电源接地端(GND):接0 V参考电平。
(4)电源故障输入端(PFI)
当该端输入电压低于1.25 V时,5号引脚输出端的信号由高电平变为低电平。
(5)电源故障输出端()
电源正常时,保持高电平,电源电压变低或掉电时,输出由高电平变为低电平。
(6)看门狗信号输入端(WDI)
程序正常运行时,必须在小于1.6 s的时间间隔内向该输入端发送一个脉冲信号,以清除芯片内部的看门狗定时器。若超过1.6 s该输
入端收不到脉冲信号,则内部定时器溢出,8号引脚由高电平变为低电平。
(7)复位信号输出端(RS 15、T)
上电时,自动产生200 ms的复位脉冲;手动复位端输入低电平时,该端也产生复位信号输出。
(8)看门狗信号输出端()正常工作时输出保持高电平,看门狗输出时,该端输出信号由高电平变为低电平。
3 硬件电路设计
4 软件设计
4.1数字秒表工作流程图
开始
系统初始化
数码管显示
按键判断
定时启动位取反
按键2
关闭定时器时间清零
按键1
N
Y
Y
N
电子时钟工作整体流程图
开始
T0初始化
程序处理
退出中断
定时中断
4.2 STC51单片机实现数字秒表工作源程序
CLK EQU P2. 16、5
SIN EQU P2.4
S1 EQU P0.0
S2 EQU P0.1
S3 EQU P0.2
S4 EQU P2.6
S5 EQU P2.7
S6 EQU P0.7
SB EQU P1.0
CLR_S EQU P1.1
TIMER_ON EQU 20H
ORG 0000H
SJMP START
ORG 000BH
LCALL T0_S
RETI
ORG 0030H
START: //0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 17、0x6f,
//段码
MOV 60H,#0E7H
MOV 61H,#05H
MOV 62H,#0E9H
MOV 63H,#0ADH
MOV 64H,#00FH
MOV 65H,#0AEH
MOV 66H,#0EEH
MOV 67H,#85H
MOV 68H,#0EFH
MOV 69H,#0BFH
MOV 6AH,#08H
//6 暂存
MOV 70H,#0AH
MOV 71H,#0AH
MOV 72H,#00H
MOV 73H,#00H
MOV 74H,#0AH
MOV 75 18、H,#0AH
CLR S1
CLR S2
CLR S3
CLR S4
CLR S5
CLR S6
MOV 30H,#12H
CLR TIMER_ON
MOV TMOD,#01H
MOV TH1,#00H
MOV TL1,#00H
SETB ET0
SETB EA
CLR TR0
MAIN:
JB CLR_S,NOT_CLR //是否按下清零键
MOV 73H,#00H
MOV 72H,#00H
CLR TIMER_ON
CLR TR0
NOT_CLR:
JB SB,S 19、KIP //开始与停止,是否按下SB,是向下执行,否跳到skip
JB TIMER_ON,OFF //是否开启,为0位没有开启,向下执行开启。否则关闭
SETB TIMER_ON
SETB TR0
SJMP SKIP
OFF: CLR TIMER_ON
CLR TR0
SKIP:
MOV R1,#70H
CLR S1;
LCALL DIS_N
INC R1
SETB S1;
CLR S2;
LCALL DIS_N
INC R1
SETB S2;
CLR S3;
LCALL DIS_N
20、 INC R1
SETB S3;
CLR S4;
LCALL DIS_N
INC R1
SETB S4;
CLR S5;
LCALL DIS_N
INC R1
SETB S5;
CLR S6;
LCALL DIS_N
INC R1
SETB S6;
SJMP MAIN
DIS_N:
MOV A,#0FFH //clear
LCALL PRINT_BYTE
MOV A,@R1 //获取暂存器内数值
ADD A,#60H //获取码值地址
MOV R0,A
MOV A,@R0 21、 //获取码值
CPL A //根据数码管 共阴共阳情况 是否取反
LCALL PRINT_BYTE //send data
LCALL DELAY
RET
//向一位寄存器写于一字节
PRINT_BYTE:
MOV R0,#08H //8个字节
RLA: RLC A //右移1位
CLR CLK
MOV SIN,C
SETB CLK
DJNZ R0,RLA
RET
DELAY: MOV R0,#0FFH
DE1: DJNZ R0,DE1
RET
T0_S: //T0中断程序
MOV TH1,# 22、00H
MOV TL1,#00H
DJNZ 30H,OUT_T0 //定时器是否跑完设定变数 ,是就向下执行,没有只是各位家1
MOV 30H,#12H //初始化遍数
MOV A,73H
CJNE A,#09H,INC_G //各位是否为九
MOV 73H,#00H //清零个位
INC 72H //十位加1
SJMP OUT_T0
INC_G:
INC 73H
OUT_T0:RET
END
5 结论
本文主要从硬件方面说明设计的总体思路和设计的实现过程,预期的设计目的是:能够实现秒表的基本功能,正 23、常显示.在设计过程中,曾经遇到很多的障碍,设计图经过许多次的修改最后才定下来,但在调试的过程中又出现了问题;并不没有想象中的那么容易;再焊接过程中稍不注意就会出现管脚的错位,有些在硬件测试过程中才检查出来。
在设计中有好多问题都是因为理论知识不扎实,在有些管脚的置零置一上,概念的模糊,这使作者明白要把所学到的理论转化为实践需要一段努力学习的过程;在做一个设计的过程中,一定要注意理论和实践同步进行,光有理论知识还是远远不够的,要用时间去检验理论,用理论指导实践。
刚开始接到课程设计任务,认为挺简单的,然而真正开始动手制作时才知道并不是那么简单,从初期的资料收集以及原理图的绘制都受到了老师以及 24、同学的帮助,在遇到困难时请教老师和同学都能得到耐心的解答,帮助我们少走弯路。感谢我的老师,以及我的同学,在整个硬件电路的设计与制作过程中,他们都给了我很大的支持,是我从此次课程设计过程中获益匪浅,本人对设计过程中给予了通力合作,以及精神的支持,的老师和同学深表感谢。如果没有他们我想我的设计不会这样顺利的完成。由于本人水平有限,在技术指标和论文写作中可能存在一些缺陷,恳请各位老师和同学们批评指教。
参考文献
[1] 吴金戎,沈庆阳,郭庭吉. 8051单片机实践与应用[M]. 北京 25、清华大学出版社,2002
[2] 楼然苗,李光飞. 51系列单片机设计实例[M]. 北京:航空航天大学出版社,2003
[4] 李鸿. 单片机原理及应用[M]. 湖南:湖南大学出版社,2004
[5] 何立民. 单片机高级教程[M]. 第1版.北京:北京航空航天大学出版社,2001
[6] 徐惠民、安德宁. 单片微型计算机原理接口与应用[M]. 第1版. 北京:北京邮电大学出版社,1996
[7] 肖洪兵. 跟我学用单片机[M]. 北京:北京航空航天大学出版社,2002.8
[8]李广第. 单片机基础[M]. 第1版.北京:北京航空航天大学出版社,1999
[9] 赵晓安 26、 MCS-51单片机原理及应用[M]. 天津:天津大学出版社,2001.3
[10]何立民.从Cygnal 80C51F看8位单片机发展之路[M]. 单片机与嵌入式系统应用,2002年,第5期:P5~8
[11]夏继强. 单片机实验与实践教程[M]. 北京:北京航空航天大学出版社, 2001
指导教师评语:
成绩:
指导教师签字:
年 月 日
14
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818