基于微处理器的定时器的设计 上海电力学院.docx

上传人:b****2 文档编号:947151 上传时间:2023-04-30 格式:DOCX 页数:10 大小:306.40KB
下载 相关 举报
基于微处理器的定时器的设计 上海电力学院.docx_第1页
第1页 / 共10页
基于微处理器的定时器的设计 上海电力学院.docx_第2页
第2页 / 共10页
基于微处理器的定时器的设计 上海电力学院.docx_第3页
第3页 / 共10页
基于微处理器的定时器的设计 上海电力学院.docx_第4页
第4页 / 共10页
基于微处理器的定时器的设计 上海电力学院.docx_第5页
第5页 / 共10页
基于微处理器的定时器的设计 上海电力学院.docx_第6页
第6页 / 共10页
基于微处理器的定时器的设计 上海电力学院.docx_第7页
第7页 / 共10页
基于微处理器的定时器的设计 上海电力学院.docx_第8页
第8页 / 共10页
基于微处理器的定时器的设计 上海电力学院.docx_第9页
第9页 / 共10页
基于微处理器的定时器的设计 上海电力学院.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于微处理器的定时器的设计 上海电力学院.docx

《基于微处理器的定时器的设计 上海电力学院.docx》由会员分享,可在线阅读,更多相关《基于微处理器的定时器的设计 上海电力学院.docx(10页珍藏版)》请在冰点文库上搜索。

基于微处理器的定时器的设计 上海电力学院.docx

基于微处理器的定时器的设计上海电力学院

课程设计报告

基于微处理器的定时器的设计

 

姓名:

专业:

电子与信息工程

学号:

指导老师:

一、课程设计目的

本课程设计目的是制作基于微处理器的定时器,将学过的微处理器硬件和软件知识,以及电子线路知识进行综合应用,形成一个能实际运行的定时器。

为将来设计更复杂的电子系统打好基础。

二、课程设计要求

本课程设计的定时器,待机状态是一台时钟,以秒为单位时钟两点闪烁,可设置多个闹铃时间,蜂鸣器鸣叫时间持续一分钟,并可作秒表使用,可控制秒表启停。

三、系统组成与工作原理

本系统的微处理器芯片采用ATMEL公司的AT89S51芯片,芯片的引脚定义、指令系统与MCS-51系列微处理器相似;液晶显示屏的引脚定义见附图,画出系统的框图,在此基础上,设计完整的电气原理图,并阐述其工作原理。

四、硬件电路调试

硬件电路是系统的基础,因此首先要进行硬件电路的测试和调试。

不同的硬件电路需要采用不同的测试方法,如用万用表检测电气参数,人为的输入高低电平的组合作为测试输入信号,用示波器观察波形等。

本实践中应先检测微处理器的最小系统是否正确,再用软件的方法检测液晶各个引脚是否接通,这是整个电子作品成功的关键。

五、软件设计

调用不同的功能软件模块,就能在相同的硬件坏境中,实现不同的功能。

本实践的重点是程序的编写,应先编写单片机定时器1、2的应用子程序和液晶显示子程序并验证,再在此基础上编写整个系统的主程序。

写出各功能模块的流程图,并附软件清单。

6.设计过程

1,原理图

2,根据实验原理图在实验板上搭建硬件电路

3,检查电路板的连线是否正确:

用万用表查看所有的VCC和接地是否连通,给面包板上电,检查器件是否有反应,确保线路正确。

4,编写简单程序,检查硬件是否完好

最小系统

ORG0000H

AJMPMAIN

ORG0030H

MAIN:

SETBP2.0

ACALLDEL

CLRP2.0

ACALLDEL

AJMPMAIN

DEL:

MOVR7,#200

DEL1:

MOVR6,#125

DEL2:

DJNZR6,DEL2

DJNZR7,DEL1

RET

END

1234显示系统

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVP2,#7FH

MOVP0,#0F9H

LCALLDELAY

MOVP2,#0BFH

MOVP0,#0A4H

LCALLDELAY

MOVP2,#0DFH

MOVP0,#0B0H

LCALLDELAY

MOVP2,#0EFH

MOVP0,#99H

LCALLDELAY

LJMPMAIN

DELAY:

MOVR5,#20

DEL1:

MOVR4,#20

DJNZR4,$

DJNZR5,DEL1

RET小灯1S闪烁的程序

ORG0000H

AJMPMAIN

ORG000BH

LJMPTIME

ORG0030H

MAIN:

MOVSP,#60H

MOVTMOD,#01H

MOVTH0,#3CH

MOVTL0,#0B0H

MOVR1,#10

SETBEA

SETBET0

SETBTR0

SJMP$

TIME:

DJNZR1,NEXT

CPLP2.0

MOVR1,#10

NEXT:

MOVTL0,#0B0H

MOVTH0,#3CH

RETI

END

主程序

SECEQU70H

MINEQU71H

HOUREQU72H

TSEQU73H;脉冲

ARMEQU74H

CHOICEBITP1.0;对choice的操作视为对P1.0的操作

ORG0000H

AJMPMAIN

ORG000BH

LJMPINTT0

MAIN:

SETBP3.3

SHOW:

;赋值初状态

MOVDPTR,#TAB

MOVTMOD,#01H

MOVTS,#0

MOVSEC,#0

MOVMIN,#20

MOVHOUR,#10;此段程序设置时钟起始位10:

20

MOVTH0,#3CH

MOVTL0,#0B0H

MOVIE,#82H;开总开关

MOVTR0

SK:

LCALLDISP

JNBCHOICE,TIMING;判断低电平跳秒表

SJMPSK

TIMING:

ACALLDELAY

MOVSEC,#0

SETBTR0

SETBET0

SR:

LCALLDISP2

JBCHOICE,SHOW;中途判断高电平恢复时钟

SJMPSR

DISP:

;待机时钟显示子程序

MOVA,MIN

MOVB,#10

DIVAB

CLRP2.6

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP2.6

MOVA,B

CLRP2.7

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP2.7

MOVA,HOUR

MOVB,#10

DIVAB

CLRP2.4

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP2.4

MOVA,B

CLRP2.5

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP2.5

RET

DISP2:

;秒表显示主程序

MOVA,SEC

MOVB,#10

DIVAB

CLRP2.6

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP2.6

MOVA,B

CLRP2.7

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP2.7

RET

INTT0:

;中断服务子程序

MOVTH1,#3CH

MOVTL1,#0B0H

INCTS

MOVA,TS

CJNEA,#20,AGAIN

INCSEC

MOVTS,#0

MOVA,SEC;;

CPLP2.0

CJNEA,#60,AGAIN

INCMIN

MOVSEC,#0

MOVA,MIN

CJNEA,#21,SHUT;开闹钟

SETBP3.3

ACALLDELAY

CLRP3.3

LCALLDELAY

SETBP3.3

LCALLDELAY

CLRP3.3

MOVA,MIN

CJNEA,#22,DONE;关闹钟

SHUT:

SETBP3.3;关闭蜂鸣器

CJNEA,#60,AGAIN

MOVMIN,#0

INCHOUR

DONE:

;未到闹钟时按原计划执行(实际闹钟也在走)

CJNEA,#60,AGAIN

MOVMIN,#0

MOVSEC,#0

AGAIN:

RETI

DELAY:

MOVR7,#20:

延时一秒程序

D1:

MOVR6,#249

DJNZR6,$

DJNZR7,D1

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H

DB92H,82H,0F8H,80H,90H

END

 

此程序设计时间为10:

20,开关是秒表计时功能,可以计时60秒,然后自动归零,重新计时。

当经过60秒,时间显示为10:

21,蜂鸣器响,实现定时器工程。

六,实验小结

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2