课程设计计时器.docx

上传人:b****6 文档编号:8689843 上传时间:2023-02-01 格式:DOCX 页数:13 大小:170.93KB
下载 相关 举报
课程设计计时器.docx_第1页
第1页 / 共13页
课程设计计时器.docx_第2页
第2页 / 共13页
课程设计计时器.docx_第3页
第3页 / 共13页
课程设计计时器.docx_第4页
第4页 / 共13页
课程设计计时器.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

课程设计计时器.docx

《课程设计计时器.docx》由会员分享,可在线阅读,更多相关《课程设计计时器.docx(13页珍藏版)》请在冰豆网上搜索。

课程设计计时器.docx

课程设计计时器

单片机课程设计论文

 

设计题目:

计时器的设计

 

 

学院:

汽车学院

班级:

电气工程及其自动化3班

成员名单

 

*******

课程设计时间:

2012年5月14----2012年5月

 

一、绪言……………………………………………………………………………1

(一)设计任务………………………………………………………………2

(二)计时器控制方案选择……………………………………………2

二、系统设计………………………………………………………………………3

(一)硬件电路设计…………………………………………………………3

(二)程序流程图……………………………………………………………4

(三)汇编语言程序设计……………………………………………………6

三、计时器仿真………………………………………………………9

(一)系统仿真………………………………………………………………10

(二)工作原理分析…………………………………………………………12

结束语……………………………………………………………………………12

参考文献………………………………………………………………………………12

一、绪言

计时器

(一)设计任务

主要方法和要求:

利用单片机的定时器/计数器定时,用LED数码管显示计时的时间,显示的时间应有显示格式为小时十位、小时个位-分十位、分个位-秒十位、秒个位。

利用单片机的外部中断,具有模式转换功能,如没有按键,则时钟正常走时。

按下1键时,进入调分状态,时钟停止走动;按2键或3键可进行加1或减1操作; 继续按1键可分别进行分和小时的调整;按下4键时间显示暂停;最后按1键将退出调整状态,时钟开始计进运行。

  

(二)计进器控制方案选择

1、计进器的控制方案论证

定时计时器是单片机中重要功能模块之一,在检测,控制和智能仪器等设备中经常用它来定时,MCS-51系列中51子系列有2个16位的可编程定时/计时器:

T0和T1;每个定时计时器既可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能,通过编程设定来实现。

T0有4种工作方式,T1有3种工作方式,T2有3种工作方式,可通过编程设定。

每个定时/计数器计数事件到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理。

2、单片机的控制方案论证

定时器/计数器T0用于时间计时,选择方式1,重复定时,定时时间设定50ms,定时时间到则中断,在中断服务程序中用一个计数器对500us计数,计2次则对秒单元加1,毫秒单元加到100则对分单元加1,同时毫秒单元清0;秒单元加到100则对时单元加1,同时秒单元清0;同时秒单元加到100则对秒单元清0。

在对各单元计数的同时,把它们的值放到存储单元的指定位置。

二、系统设计

(一)硬件电路设计

关键词:

单片机内部定时/计数器

中断系统

行列键盘

LED显示器

1、计时器控制电路图

采用AT89C51单片机实现计时器功能的电路原理如图2-1所示。

图2-1计时器控制线路图

2、主要元器件选择

主要元器件选用型号和数量如表2-1所示:

表2-1主要元器件清单

序号

材料名称

规格型号

数量

元件代号

1

单片机

AT89C51

1

U1

2

晶振

6MHz

1

X1

3

按钮

5

S1-S5

4

LED显示

7SEG-MPX8-CA-BLUE

1

8位LED

5

有极电容

ELECTRO1

1

C

6

无极电容

CAP

2

C1-C2

7

电阻

RES

14

R1-R14

(二)程序流程图

1、主程序流程图

 

3、中断服务程序流程图

(三)汇编语言程序设计

程序清单:

ORG0000H

LJMPSTART

ORG000BH;定时器/计时器T0中断程序入口

LJMPINTT0

;主程序

START:

MOVR0,#70H;程序初始化

MOVR7,#0CH

INIT:

MOV@R0,#00H

INCR0

DJNZR7,INIT

MOV72H,#10

MOV75H,#10

MOVTMOD,#01H;采用定时器方式0

MOVTH0,#63H;定时时间为5ms

MOVTL0,#18H

SETBEA

SETBET0

SETBTR0

START1:

LCALLSCAN

LCALLKEYSCAN

SJMPSTART1

;延时1ms子程序

DL1MS:

MOVR6,#20;调用延时1ms的程序

DL1:

MOVR7,#25

DL2:

DJNZR7,DL2

DJNZR6,DL1

RET

;调用延时20ms的程序

DL20MS:

ACALLSCAN

ACALLSCAN

ACALLSCAN

RET

;数码管显示程序

SCAN:

MOVA,78H;时间存入显示缓冲区相应位置

MOVB,#10

DIVAB

MOV71H,A;A中存放十分之一秒位的值

MOV70H,B;B中存放百分之一秒位的值

MOVA,79H

MOVB,#10

DIVAB

MOV74H,A;A中存放十位秒的值

MOV73H,B;B中存放个位秒的值

MOVA,7AH

MOVB,#10

DIVAB

MOV77H,A;A中存放十位分的值

MOV76H,B;B中存放个位秒的值

MOVR1,#70H;循环扫描显示

MOVR5,#80H

MOVR3,#08H

SCAN1:

MOVA,R5

MOVP2,A

MOVA,@R1

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP0,A

MOVA,R5

LCALLDL1MS

INCR1

MOVA,R5

RRA

MOVR5,A

DJNZR3,SCAN1

MOVP2,#00H

MOVP0,#0FFH

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH

;‘0—9’,‘—’的共阳极字段码

;定时器/计时器T0中断服务程序

INTT0:

PUSHACC;保护现场

PUSHPSW

CLRET0

CLRTR0

MOVTH0,#0F0H

MOVTL0,#0CH

SETBTR0

INC7BH

MOVA,7BH

CJNEA,#2,OUTT0;A值不为2转到程序OUTT0

MOV7BH,#00

INC78H

MOVA,78H

CJNEA,#100,OUTT0;A值不为100转到程序OUTT0

MOV78H,#00

INC79H

MOVA,79H

CJNEA,#100,OUTT0;A值不为100转到程序OUTT0

MOV79H,#00

INC7AH

MOVA,7AH

CJNEA,#100,OUTT0;A值不为100转到程序OUTT0

MOV7AH,#00

OUTT0:

SETBET0

POPPSW

POPACC

RETI

;按键处理程序

KEYSCAN:

CLREA

JNBP1.0,KEYSCAN0;P1.0口为低电平时转到程序KEYSCAN0

JNBP1.1,KEYSCAN1

JNBP1.2,KEYSCAN2

JNBP1.3,KEYSCAN3

KEYOUT:

SETBEA;开中断

RET

KEYSCAN0:

LCALLDL20MS

JBP1.0,KEYOUT;P1.0口为高电平时转到程序KEYOUT

WAIT0:

JNBP1.0,WAIT0;P1.0口为低电平时转到程序WAIT0

INC7CH

MOVA,7CH

CLRET0

CLRTR0

CJNEA,#03H,KEYOUT;A值不为3转到程序KEYOUT

MOV7CH,#00

SETBET0

SETBTR0

SJMPKEYOUT

KEYSCAN1:

LCALLDL20MS

JBP1.1,KEYOUT;P1.1口为高电平时转到程序KEYOUT

WAIT1:

JNBP1.1,WAIT1;P1.1口为低电平时转到程序WAIT1

MOVA,7CH

CJNEA,#02H,KSCAN11;A值不为2转到程序KSCAN11

INC79H

MOVA,79H

CJNEA,#60,KEYOUT

MOV79H,#00

SJMPKEYOUT

KSCAN11:

INC7AH

MOVA,7AH

CJNEA,#60,KEYOUT

MOV7AH,#00

SJMPKEYOUT

KEYSCAN2:

LCALLDL20MS

JBP1.2,KEYOUT

WAIT2:

JNBP1.2,WAIT2

MOVA,7CH

CJNEA,#02H,KSCAN21;A值不为2转到程序KSCAN21

DEC79H

CJNEA,#0FFH,KEYOUT;A值不为00转到程序KEYOUT

MOV79H,#59

SJMPKEYOUT

KSCAN21:

DEC7AH

MOVA,7AH

CJNEA,#0FFH,KEYOUT;A值不为00转到程序KEYOUT

MOV7AH,#59

SJMPKEYOUT

KEYSCAN3:

CLREA

END

三、计时器仿真

(一)系统仿真

在完成了计时器硬件设计和软件设计以后,便进入系统的调试阶段。

系统的调试步骤和方法基本上是相同的,但具体细节和所采用的开发系统以及用户系统选用的单片机型号有关,如可选用Keil软件进行软件调试,用Proteus软件完成硬件调试。

1、Keil调试

 

2、Proteus调试

图3-2计时器联调效果图

(二)工作原理分析

该课程设计是利用MCS-51单片机内部定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。

设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制等。

用定时/计数器T0,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为xxyy(自己计算)。

形成定时时间为500us。

用片内RAM的7BH单元对500us计数,计2次产生秒计数器78H单元加1,毫秒计数器加到100则秒计数器79H单元加1,秒计数器加到100则时计数器7AH单元加1,时计数器加到100则时计数器清0。

然后把毫秒、秒、分计数器分成十位和个位放在8个数码管的显示缓冲区,通过数码管显示出来。

显示格式为分十位、分个位-秒十位、秒个位-毫秒十位、毫秒个位。

在处理过程中加上了按键判断程序,能对按键处理。

 

结束语

完成情况:

经过一个月的努力,完成了计时器方案的设计,用AT89C51单片机实现计时方案,本方案也可用AT89C51单片机来实现,这样可减小电路板的体积、降低生产成本。

所得收获:

通过这次课程设计,使我得到了一次用专业知识和专业技能去分析问题、解决问题全面系统的锻炼。

使我在单片机的基本原理、单片机应用系统开发过程,以及用汇编语言设计程序的思路技巧等方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。

参考文献

1、51单片机开发入门与典型实例---编著:

王守中

2《AVR单片机嵌入式系统原理与应用实践》马潮编著北京航空航天大学出版社

3、单片机原理与应用技术---编著:

江力

4.《模拟电路》童诗白华成英主编高等教育出版社

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1