课程设计计时器.docx
- 文档编号:8689843
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:13
- 大小:170.93KB
课程设计计时器.docx
《课程设计计时器.docx》由会员分享,可在线阅读,更多相关《课程设计计时器.docx(13页珍藏版)》请在冰豆网上搜索。
课程设计计时器
单片机课程设计论文
设计题目:
计时器的设计
学院:
汽车学院
班级:
电气工程及其自动化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.《模拟电路》童诗白华成英主编高等教育出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 计时器