电子跑表 单片机课程设计
单片机跑表课程设计
单片机跑表课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握跑表程序的设计方法;2. 使学生掌握跑表程序中的计时、显示等模块的功能和使用方法;3. 让学生了解跑表程序在实际应用中的重要性。
技能目标:1. 培养学生运用所学知识设计并实现单片机跑表程序的能力;2. 培养学生分析问题、解决问题的能力,提高编程技巧;3. 提高学生的团队协作能力,学会与他人共同完成项目。
情感态度价值观目标:1. 培养学生对单片机编程的兴趣,激发学习热情;2. 培养学生勇于尝试、不怕失败的精神,树立自信心;3. 培养学生的创新意识,学会珍惜时间,养成良好的学习习惯。
课程性质:本课程为实践性较强的课程,要求学生在理论学习的基础上,动手实践,完成单片机跑表的设计与实现。
学生特点:学生处于高年级阶段,已具备一定的单片机基础知识,有较强的学习能力和动手能力。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,强调实践操作,培养学生实际编程能力。
在教学过程中,将目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 单片机基本原理回顾:包括单片机的结构、工作原理、指令系统等,重点复习与跑表程序设计相关的基础知识。
参考教材章节:第一章 单片机概述、第二章 单片机结构与原理。
2. 跑表程序设计:a. 计时模块:学习定时器/计数器的工作原理,掌握计时功能的实现方法。
参考教材章节:第三章 定时器/计数器、第四章 中断系统。
b. 显示模块:学习LED数码管或LCD液晶显示的基本原理,掌握显示部分的设计方法。
参考教材章节:第五章 显示与键盘接口、第六章 液晶显示接口。
3. 跑表程序实现:a. 程序框架设计:学习跑表程序的整体结构,明确各模块功能及其相互关系。
b. 编程实践:根据跑表功能需求,动手编写程序代码,实现跑表的基本功能。
c. 调试与优化:分析程序运行过程中的问题,学会调试程序,提高程序性能。
4. 项目实践:a. 学生分组进行项目实践,按照教学要求完成单片机跑表的设计与实现。
单片机简易跑表课程设计
单片机简易跑表课程设计一、课程目标知识目标:1. 学生能够理解单片机的基本原理,掌握跑表程序设计的基础知识。
2. 学生能够描述跑表的工作流程,了解跑表程序中的各个模块功能及其相互关系。
3. 学生掌握跑表计时器的启停、复位等功能实现所需的基本指令和程序结构。
技能目标:1. 学生能够运用C语言编写简单的跑表程序,实现计时、显示等功能。
2. 学生能够通过实验调试,解决跑表程序运行过程中出现的问题,提高程序调试能力。
3. 学生能够对跑表程序进行优化,提高程序运行效率。
情感态度价值观目标:1. 学生在课程学习中,培养对单片机编程的兴趣,激发学习主动性和创新精神。
2. 学生通过合作交流,培养团队协作能力和沟通能力,形成良好的学习氛围。
3. 学生在学习过程中,认识到编程对实际生活的意义,增强学以致用的意识。
本课程针对单片机简易跑表的设计,结合学生年级特点和教学要求,旨在帮助学生掌握单片机编程基础知识,提高实际操作能力,培养创新精神和团队协作能力,使学生在学习过程中形成积极的情感态度和价值观。
通过分解课程目标为具体的学习成果,为后续教学设计和评估提供明确方向。
二、教学内容1. 单片机基本原理:介绍单片机的组成、工作原理,使学生了解单片机的基础知识,为编程打下基础。
(对应教材第1章)2. C语言编程基础:回顾C语言的基本语法,重点讲解与单片机编程相关的内容,如数据类型、运算符、控制语句等。
(对应教材第2章)3. 跑表程序设计:详细讲解跑表程序的工作流程、模块划分,以及各模块的功能实现。
(对应教材第3章)4. 程序编写与调试:指导学生编写跑表程序,学习如何使用开发工具进行程序编译、下载和调试。
(对应教材第4章)5. 程序优化与升级:讨论如何优化跑表程序,提高运行效率,以及如何实现程序功能的升级。
(对应教材第5章)教学内容安排和进度:第一周:单片机基本原理学习,C语言编程基础回顾。
第二周:跑表程序设计,模块划分,功能实现讲解。
秒表(跑表)-课程设计-单片机
第一章设计的内容、要求及目的1.1设计内容本课题以单片机为核心,要求设计和制作一个秒表,实现计时功能。
开始时,全显示“0”,自行设计按钮,要求第1次按下按钮后就开始计时,计时精度最好为0.01秒;第2次按按钮后,计时停止,此时可读取计时数值;第3次按按钮后,计时归零,全显示“0”。
此为基本要求,学生可根据自己的创意添加相应扩张,完善或者添加部分功能。
1.2设计要求1.设计方案要合理、正确;2.系统硬件设计;3.完成必要元器件选择;4.系统软件设计及调试;5.写出设计报告。
1.3目的及意义要求通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
同时要求掌握定时器、外部中断的设置和编程原理。
此外,还希望通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
该实验通过单片机的定时器/计数器定时和计数原理,设计简单的秒表计时系统,拥有正确的计时、暂停、清零功能,并同时可以用数码管或者液晶显示器显示,在现实生活中应用广泛,比如说体育项目中的跑步竞赛计时,因此具有现实意义。
第二章 系统方框图与工作原理2.1 系统方框图秒表系统主要由单片机、显示电路,控制按钮等组成。
硬件系统比较简单,其系统方框图如下:图1 系统构成框图2.2 系统工作原理秒表系统比较简单,因此,实施了相应扩展,显示器采用了液晶显示器取代LED 数码管显示器。
同时,添加一个控制按钮,实现可计10个计数值的功能。
主要硬件部分与逻辑功能如下: 秒表系统主要用到的是一个内部定时器,如T0,每隔10MS 产生一次中断,实现秒表计时的“跑动”;一个外部中断,用于控制按钮,控制的实现由软件判定来实现;此外,就是一个显示电路,由内存读取需要显示的数值传输给显示器循环显示。
主要逻辑和控制均由51单片机的软件编程来实现。
对于内部定时器,为了保证计时要求,保证计时精度,步进定为10MS,51单片机系统内部定时器T0产生中断,定时时间为10MS,每次中断重写计数初值。
单片机实现电子计时跑表的设计实验报告
一、设计要求: 1、 能显示分、秒、1/100 秒,显示器用七段数码管(也可选
LCD) 2、 具有清零、计时、冻结功能,功能转换用一位非锁紧按
键开关。 3、 CPU 选用 89C51/MSP430,定时器芯片自选,也可用 CPU
内部的定时器。 4、 先写设计报告(要有仿真结果) 5、 编程语言可用 51 汇编/51C。 6、 焊接、调试、做出实物(也可制作 PCB) 7、 调试,误差分析,并补充到设计报告中。 二、方案设计:
D
1 0 1 1 1 1 0 5EH
A1H
E
1 1 1 1 0 0 1 79H
86H
F
1 1 1 0 0 0 1 71H
8EH
(4) 单片机的选择
根据初步设计方案的分析,设计这样一个简单的应用系 统,可以选择带有 EPROM 的单片机,应用程序直接存储 在片内,不用在外部扩展程序存储器,电路可以简化。 本系统选用 AT89C51 单片机。该芯片的功能与 MCS-51 系列单片机完全兼容。
INIT: CLR 00H MOV P3,#0FFH MOV P2,#00H MOV P0,#3FH MOV TMOD,#01H MOV TH0,#0D8H MOV TL0,#0F0H SETB EA SETB ET0 SETB TR0 MOV DPTR,#TAB MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H RET ;/////////////显示子程序
仿真图:
是
秒位增 1
增到 60?
是
分位增 1
增到 100?
基于单片机的电子跑表设计--毕业设计
毕业设计基于单片机的电子跑表设计此设计还有以下资料,有需要的朋友下载了文档后留下你的邮箱,方便我传给你。
目录第一部分过程管理资料一、毕业设计课题任务书 (3)二、本科毕业设计开题报告 (6)三、本科毕业设计进展情况记录 (10)四、本科毕业设计中期报告 (12)五、毕业设计指导教师评阅表 (13)六、毕业设计评阅教师评阅表 (14)七、毕业设计答辩及最终成绩评定表 (15)第二部分设计说明书八、设计说明书 (16)第一部分过程管理资料****届毕业设计课题任务书院(系):专业:本科毕业设计开题报告说明:开题报告作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一,此报告应在导师指导下,由学生填写,将作为毕业设计(论文)成绩考查的重要依据,经导师审查后签署意见生效。
本科毕业设计进展情况记录毕业设计题目:基于单片机的电子跑表设计班级:自本0302学号:46030216学生:刘正武指导教师:廖代文注:教师监督学生如实记录毕业设计(论文)过程中根据《课题任务书》拟定的进度与进展情况以及毕业设计(论文)撰写过程中遇到的问题和困难,并签署意见。
注:教师监督学生如实记录毕业设计(论文)过程中根据《课题任务书》拟定的进度与进展情况以及毕业设计(论文)撰写过程中遇到的问题和困难,并签署意见。
本科毕业设计中期报告院(系):电气与信息工程学院院、系:电气与信息工程学院毕业设计答辩及最终成绩评定表院、系(公章):说明:最终评定成绩=a+b+c,三个成绩的百分比由各院、系自己确定。
第二部分毕业论文摘要本次毕业设计的课题是基于单片机的电子跑表设计,设计要求为电子跑表能显示正确的时间并能作秒表使用。
设计的主要内容包括单片机最小系统(电源电路,复位电路,时钟电路),键盘电路,驱动电路,显示电路和电子跑表的程序设计。
我选用的单片机型号为AT89S52,采用两片74LS244为驱动电路,显示采用两个4位一体的七段数码显示管,通过制作实物,编程,下载程序,制作的电子跑表能够实现正确的时间显示,并且可以实时调整时间显示,作秒表使用时计时范围为000.0秒到999.9秒,通过检测,发现误差不大。
单片机课程设计电子跑表
电子跑表一.个人任务在本次课程设计中,本人负责跑表的C语言程序编程部份和开发板调试。
另一人负责proteus仿真。
二.设计要求以51开发板为核心设计一个多功能电子表。
利用AT89C52作为主控器组成一个具有跑表功能的4位LED显示器的电子跑表。
跑表的-999.9秒并具有跑表启动和跑表复位功能键。
跑表的显示范围:;当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。
三.设计思路1.计时单元由单片机内部的按时器/记数器来实现。
2.跑表的显示功能是由LED数码管动态扫描来实现。
这能够利用专用的键盘/显示器接口芯片来实现对键盘/显示器的动态扫描。
3.跑表的启动/复位/清零功能由软件来实现。
P1.0接启动键,P1.1接停止键,P1.2接清零键。
四.设计方案在单片机中,按时功能既能够由硬件实现,也可通过软件按时实现。
硬件按时是利用单片机内按时器按时,启动以后按时器可与CPU并行工作,不占用CPU时刻,CPU有较高的工作效率。
采纳硬件按时和软件按时并用的方式,即用T0出中断功能实现50ms按时,通过软件延时程序实现1s按时。
按时器的有关的寄放器有工作方式寄放器TMOD和操纵寄放器TCON。
依照设计要求和设计思路,硬件电路有两部份组成,即单片机按键电路,LED 显示器电路,以下图为系统电路设计流程图。
图1 电路设计流程图依照课程设计要求,决定计时单元由单片机内部的按时器/记数器89C52芯片来实现。
跑表显示功能通过LED数码管动态扫描来实现。
能够利用专用的键盘/显示器接口芯片可实现对键盘/显示器的动态扫描。
五.硬件设计1. 单片机型号选择由于咱们利用的单片机开发板上的单片机的型号是SCT89C52,因此咱们只能选择这款型号的单片机。
可是这款单片机和SCT89C51是一样的,也是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处置器,器件采纳ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
电子跑表
实验五 数码显示实验一、实验内容做一个电子钟:利用定时器0定时中断,控制电子钟走时;利用单片机上的六个数码管显示分、秒。
显示格式分 秒二、实验目的1 进一步掌握定时器的使用和编程方法。
2 了解七段数码显示数字的原理。
3 熟练掌握Keil c51和Proteus 联调的方法4 实验电路图5.1四、程序流程图主程序:中断程序:六、程序清单 T10.ASMST_ADDR EQU 0000HPA EQU 7FFCH;A口地址PB EQU 7FFDH;B口地址CTR EQU 7FFFH;控制字地址BUF EQU 23HSBF EQU 22H;存放秒MBF EQU 21H;存放分ORG ST_ADDRLJMP MAINORG ST_ADDR+0BH;定时器0中断入口LJMP CLOCKORG ST_ADDR+200HMAIN: MOV DPTR,#CTR;写控制字MOV A,#80HMOVX @DPTR,AMOV R0,#40HMOV A,#00HMOV @R0,AINC R0MOV @R0,AINC R0MOV A,#0AHMOV @R0,AINC R0MOV @R0,AINC R0MOV A,#00HMOV @R0,AINC R0MOV @R0,AANL TMOD,#0F0HORL TMOD,#01HMOV TL0,#00HMOV TH0,#38HMOV BUF,#00H;清零MOV SBF,#00HMOV MBF,#00HSETB ET0;开定时器0SETB EASETB TR0DS1: MOV R0,#45HMOV R2,#20HDS2: MOV DPTR,#PB;位选MOV A,R2MOVX @DPTR,AMOV DPTR,#PAMOV A,@R0LCALL TABLEMOVX @DPTR,A;送段码LCALL DELAY1;延时DEC R0CLR CMOV A,R2RRC AMOV R2,AJNZ DS2MOV R0,#45HMOV A,SBFLCALL GETDEC R0DEC R0MOV A,MBFLCALL GETSJMP DS1TABLE: INC AMOVC A,@A+PCRETDB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H,0BFH GET: MOV R1,AANL A,#0FHMOV @R0,ADEC R0MOV A,R1SWAP AANL A,#0FHMOV @R0,ADEC R0RETCLOCK:MOV TL0,#00H;定时器中断子程序MOV TH0,#38HPUSH PSWPUSH ACCINC BUFMOV A,BUFCJNE A,#0AH,QUITMOV BUF,#00HMOV A,SBFINC ADA AMOV SBF,ACJNE A,#60H,QUITMOV SBF,#00HMOV A,MBFADD A,#1HDA AMOV MBF,ACJNE A,#60H,QUITMOV MBF,#00HQUIT: POP ACCPOP PSWRETIDELAY1: MOV R4,#10;4ms延时DEL11: MOV R5,#0AHDEL12: MOV R3,#18HDEL13: DJNZ R3,DEL13DJNZ R5,DEL12DJNZ R4,DEL11RETEND实验六8279键盘、显示接口实验—LED显示实验一、实验内容利用8279键盘显示接口电路和实验台上提供的六个数码显示,作成一个电子钟。
电子跑表的设计
课程设计课程名称单片机原理与应用课程设计课题名称电子跑表设计专业电子信息工程班级1501学号03姓名谭青权指导老师肖锋2015年6月*日报告撰写要求(此页不打印)课程设计报告是体现课程设计成果的载体,具体要求如下:1、课程设计报告的基本格式(1)说明书统一使用word文档打印,A4纸张,页边距设置为:上2cm,下2cm,左2.54cm,右2cm。
(2)正文采用宋体小四,字间距20磅;1级标题采用黑体小三,2级标题采用黑体四号,3级标题采用黑体小四;1和2级标题段落间距为上下0.5行。
(3)图表需统一编号,图标标题采用黑体五号;图标题在图片下方,表格标题在表格上方。
(4)装订顺序为:封面、任务书、报告正文、评分表。
2、课程设计报告的撰写要求(1)设计报告正文内容为5-6页为宜,主要内容为自己的设计思路、设计步骤、关键性步骤的记录、重要结果的记录以及自己本次课程设计的总结。
报告撰写要求思路清晰、结构合理、层次清晰,报告简洁但又要能体现设计过程。
(2)报告中图表要求清晰、规范,图表的尺寸大小适当。
(3)课程设计报告内容(仅供参考):电气信息学院课程设计任务书课题名称电子跑表的设计姓名谭青权专业电子信息工程班级1501 学号03指导老师肖锋课程设计时间2017/12/11-2017/12/22一、任务及要求设计任务:利用单片机为核心设计一个多功能电子表,具有电时钟和跑表功能。
用做时钟时,在显示器上显示时、分、秒,用做跑表时,显示范围00时00分00秒-23时59分59秒并具有跑表启动和跑表复位功能键。
当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。
设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;5)应用系统的硬件和软件的调试。
二、进度安排第一周:周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。
周二~周三:完成硬件设计和电路连接周四~周日:完成软件设计第二周:周一~周三:程序调试周四~周五:设计报告撰写。
基于STC90C51单片机的电子跑表课程设计
基于STC90C51单片机的电子跑表课程设计物理与电子信息学院课程设计Ⅳ设计报告书基于STC90C51单片机的电子跑表姓名:XXX班级:09电信本学号:090802011指导老师:XXX时间:2011-12-20目录内容摘要 1关键词1Abstract 1Keywords 11绪论 12 系统设计 22.1 设计任务与要求 22.2 方案的选择与论证23 系统硬件设计 33.1 单片机模块 43.2 按键模块73.3 最小系统基本模块83.4 数码管显示模块103.5 驱动电路模块 113.6 硬件元件清单 114软件设计与仿真124.1主程序设计124.2 仿真软件简介 134.3 仿真结果144.4 系统调试与编译15结束语17附录一:程序清单18附录二:电路板实物图22参考文献23内容摘要:该系统以STC90C51单片机为核心控制芯片,实现电子跑表的方案。
设计使用4个NPN三极管作为驱动电路驱动四位数码管的位选,用四位数码管显示000.0到999.9秒。
另外该方案通过按键实现跑表的启动和停止,清零重启功能。
关键词:驱动 STC90C51 四位数码管Abstract:The system is based on STC90C51 single-chipmicrocomputer as the core control chip, electronic stopwatch program. Design using 4 PNP three transistor as a driving circuit for driving the four digital tube of a selected, with four digital tube display 0 to 999.9 seconds. In addition to the program through the realization of the stopwatch button start and stop, reset restart function Keywords:driveSTC90C51four digital tube1绪论近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
基于单片机的电子跑表设计
目录1 设计内容及要求 (1)1.1 设计内容与要求: (1)1.2设计要求: (1)2 系统总体方案设计 (1)2.1 总体方案设计 (1)2.2 设计说明 (1)3 各部分方案选定及接口设计 (2)3.1 主控制器单片机的选择 (2)3.2 时钟电路 (2)3.3显示接口电路 (3)3.4 键盘接口电路 (3)4 系统软件的设计 (4)4.1 设计说明 (4)4.2 主程序设计 (5)4.3 时间处理模块 (6)4.5 键盘扫描模块 (8)5 系统的调试与使用说明 (10)6 总结 (11)7 参考文献 (12)附录: (13)1 设计内容及要求1.1 设计内容与要求:具有时钟和电子跑表的功能。
开机为时钟功能,用4位LED数码管显示时、分,以24小时计时方式;用按键控制切换到电子跑表功能:可用3位数码管从00.0开始计时的功能。
1.2设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要元器件选择;4)完成应用程序设计;5)进行应用程序的调试;2 系统总体方案设计2.1 总体方案设计电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片机来实现等等。
为求结构简单,本次设计利用单片机组成数字电子跑表。
2.2 设计说明本系统采用AT89C51单片机、4位LDE数码管显示、一个排阻、4个调节按钮、2个电容与1个晶体振荡器共同构成本的单片机电子跑表的硬件。
时钟模块与计时模块则分别由单片机内部的定时器/记数器T0与T1来实现。
时间显示功能通过LED数码管动态扫描来实现。
电子跑表的启动/暂停/清零功能由软件来实现。
P1.0实现时钟与秒表的切换功能,P1.1接开始计时键,P1.2接计时暂停键,P1.3接计时重新计时键。
本系统软件部分则采用C51编写,功能模块结构化强,共利用了6个功能函数,2个中断服务函数和1个主函数构成了本次电子跑表的软件部分。
电子跑表课程设计
数字钟与电子跑表摘要数字跑表是人们日常生活中比较常见的工具,应用也比较广泛。
本课题的主要内容是用AT89C51单片机为核心,配备7段数码显示模块等功能模块设计一款数字跑表,要求用数码管可以显示百分秒、秒、分,具有暂停\启动功能和重新开始功能。
本文的核心主要有硬件设计和软件编程两个大的方面。
硬件电路设计主要包括中央处理单元电路、时钟电路、人机接口电路、信号处理电路、执行电路等几部分。
软件编程用C语言来实现,主要包括主程序、键盘扫描子程序、时间设置子程序等软件模块。
程序编译可用keil软件实现,电路功能仿真用Proteus软件实现。
关键词:数字跑表;单片机;数码显示管AbstractThe digital stopwatch is common in the daily life,the Applications also are broad. This issue's topic is designs a section digital stopwatch take the AT89C51 one-chip computer as the nucleus, provides the seven sections digital display function module and so on, request with digital tube can display the 100 seconds, seconds,minutes, and it must has suspended \ startup function and restart function.This article nucleus mainly includes the hardware design and software program two big aspects. The hardware circuit design mainly includes central processing element electric circuit, clock electric circuit, man-machine connection electric circuit, clock electric circuit, carring out the electric circuit several parts and so on. Software programming realization with the C language. Mainly includes the main program,keyboard scanning subroutine, time establishment subroutine software module and so on. The program compiled keil software to realize, usable with Proteus circuit function simulation software realization.Key words Digital stopwatch; Digital display module; One-chip computer目录摘要 (I)Abstract (II)第一章概述 (1)第二章数字钟与电子跑表设计方案 (2)2.1 基于分立式元件的数字钟与电子跑表设计 (2)2.2 基于单片机的数字钟与电子跑表设计 (2)2.3 方案分析比较 (2)第三章硬件设计 (3)3.1 单片机的基本结构 (3)3.2 复位电路 (4)3.3 时钟电路 (4)3.4 按键电路及LED显示电路 (5)3. 5 总电路原理图 (6)第四章电路的软件设计 (7)4.1 主程序流程图 (7)4.2 中断服务程序流程图 (8)第五章系统调试与仿真分析 (9)5.1 硬件调试 (9)5.2 软件调试 (9)总结 (11)致谢 (12)参考文献 (13)附录A:原理图 (14)附录B:源程序 (15)第一章概述在信息技术急速发展的今天,计算机科学日新月异。
51单片机跑表课程设计
51单片机跑表课程设计一、课程目标知识目标:1. 学生能理解51单片机的基本原理,掌握其编程方法。
2. 学生能掌握跑表功能实现的硬件设计,包括定时器/计数器的工作原理和应用。
3. 学生能了解并运用中断系统,实现跑表的精确计时功能。
技能目标:1. 学生能够运用C语言编写程序,实现对51单片机的控制。
2. 学生能够设计并搭建简单的跑表电路,进行功能调试和优化。
3. 学生能够通过课程学习,培养动手实践能力,提高问题解决技巧。
情感态度价值观目标:1. 学生在课程学习中,培养对电子技术和编程的兴趣,提高学习积极性。
2. 学生在团队协作中,学会相互沟通、合作,培养集体荣誉感。
3. 学生通过课程实践,认识到科技对社会发展的作用,树立正确的价值观。
课程性质:本课程为实践性较强的课程,注重培养学生的动手能力和实际问题解决能力。
学生特点:学生具备一定的电子技术基础和C语言编程能力,对单片机有一定了解。
教学要求:结合学生特点,注重理论与实践相结合,引导学生通过动手实践掌握课程内容,提高学生的综合运用能力。
在教学过程中,关注学生的个体差异,因材施教,确保每位学生能够达到课程目标。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 51单片机基础原理回顾:包括51单片机的内部结构、工作原理,重点复习定时器/计数器、中断系统等关键知识点。
相关教材章节:第一章《单片机概述》和第二章《51单片机结构及原理》。
2. C语言编程基础:回顾数据类型、运算符、控制语句等基础语法,为编写跑表程序打下基础。
相关教材章节:第三章《51单片机C语言编程基础》。
3. 跑表功能硬件设计:讲解跑表电路的设计方法,包括时钟电路、复位电路、显示电路等。
相关教材章节:第四章《51单片机接口技术》。
4. 跑表程序设计:教授如何利用定时器/计数器、中断系统编写跑表程序,实现计时功能。
相关教材章节:第五章《51单片机定时器/计数器与中断系统》。
课程设计--电子跑表
电子跑表的设计与实现一、设计内容:设计与实现用微机控制的电子跑表的功能。
二、设计要求:1、利用开发箱中的8255以及8254芯片完成功能。
用8254实现计时。
2、显示格式:分秒1/10秒3、定义PC机上的键盘或实验箱上的小键盘控制计时开始、停止和清零。
二、实验器材:PC机一台,实验箱一个三、实验结果1.显示格式:分、秒、1/10秒,用四个LED显示。
中间两个显示秒。
2.定义实验箱上几个开关控制计时开始、停止和清零。
三、实验流程图:8254接线图总线接口8255接线图MY8255_A EQU 0E460HMY8255_B EQU 0E461HMY8255_C EQU 0E462HMY8255_MODE EQU 0E463HMY8254CT0 EQU 0E440HMY8254MD EQU 0E443HSTACK1 SEGMENT STACKDW 64 DUP(?)STACK1 ENDSDATA SEGMENT ;数据段定义TABLE1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH BUFFER DB 6 DUP(0)count DW 0000HSE DB 00HSEC DB 00HMIN1 DB 00HSEC1 DB 00HMIN22 DB 00HMIN21 DB 00HSEC21 DB 00HSEC22 DB 00HSECOND DB 60HMINUTE DB 60HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START: MOV AX,DATAMOV DS,AXMOV BX,OFFSET TABLE1MOV DI,OFFSET BUFFERMOV SI,OFFSET SECONDINIT8255: MOV AL,82H ;向8255写入控制字,PA,PC口作输出,PB口作输入MOV DX,MY8255_MODEOUT DX,ALINIT8254: MOV AL,34H ;8254采用通道0,方式2MOV DX,MY8254MD ;向8254写入控制字OUT DX,ALMOV AX,003CH ;写入计数初值MOV DX,MY8254CT0OUT DX,ALMOV AL,AHOUT DX,ALA3: MOV CX,0004HA4: call display1 ;该死循环用于循环监测PB口的输入,以便进行相应的跳转MOV DX,MY8255_BIN Al,DXCMP AL,01H ;START启动JZ A6CMP AL,02H ;RET复位JZ KEY15CMP AL,03H ;STOP停止JZ A5JMP A4A5: MOV AL,SECONDMOV DX,MY8255_AOUT DX,Aljmp a4A6: CALL DISPLAY1CMP AX,0FFHJZ A4LOOP A4;MOV AL,SECOND ;秒加1MOV AX,countADD AX,0001HMOV count,AXJNZ ND_HOUDAAND_HOU:CALL DISPLAY1JMP A3KEY15: CALL CLEARMOV SECOND,00Hmov minute,00hMOV COUNT,0000HMOV MINUTE,00HJMP a4EXIT1: RETDISPLAY1 PROC ;显示子程序PUSH DSPUSH AXPUSH BXPUSH DXMOV AX,DATAMOV DS,AXMOV AX,countMOV BL,10DIV BLMOV SEC,AHMOV SE,ALMOV AL,SEMOV AH,0MOV BL,60DIV BLMOV MIN1,ALMOV SEC1,AHMOV AL,MIN1MOV AH,0MOV BL,10DIV BLMOV MIN21,ALMOV MIN22,AHMOV AL,SEC1MOV AH,0MOV BL,10DIV BLMOV SEC21,ALMOV SEC22,AHYY: MOV DX,MY8255_C ;选中一个数码管MOV AL,0FEHOUT DX,ALMOV AL,MIN22MOV BX,OFFSET TABLE1XLATMOV DX,MY8255_A ;输出该数码管对应的显示码OUT DX,ALCALL DELLYMOV DX,MY8255_C ;选中一个数码管MOV AL,0FDHOUT DX,ALMOV AL,SEC21MOV BX,OFFSET TABLE1XLATMOV DX,MY8255_A ;输出该数码管对应的显示码OUT DX,ALCALL DELLYMOV DX,MY8255_C ;选中一个数码管MOV AL,0FBHOUT DX,ALMOV AL,SEC22MOV BX,OFFSET TABLE1XLATMOV DX,MY8255_A ;输出该数码管对应的显示码OUT DX,ALCALL DELLYMOV DX,MY8255_C ;选中一个数码管MOV AL,0F7HOUT DX,ALMOV AL,SECMOV BX,OFFSET TABLE1XLATMOV DX,MY8255_A ;输出该数码管对应的显示码OUT DX,ALPOP DXPOP BXPOP AXPOP DSCALL DELLYRETDISPLAY1 ENDPDELLY PROC ;延时子程序PUSH AXPUSH CXMOV CX , 002FHBB: MOV AX , 0FFFFHAA: DEC AXJNZ AALOOP BBPOP CXPOP AXRETDELLY ENDPCLEAR: PUSH AX ;清零复位MOV AL,3FHMOV BUFFER,ALMOV BUFFER+1,ALMOV BUFFER+2,ALMOV BUFFER+3,ALMOV BUFFER+4,ALMOV BUFFER+5,ALPOP AXRETCODE ENDSEND START六、实验结果:正常运行后,数码管显示全零,按动实验板上的启动键开始计时,四只数码管从高到低位分别显示分、秒、1/10秒。
电子跑表课程设计
电子跑表课程设计一、课程目标知识目标:1. 学生能理解电子跑表的基本结构、工作原理及使用方法。
2. 学生能掌握电子跑表计时、数据显示等相关知识点。
3. 学生了解电子跑表在体育运动、科研实验等领域的应用。
技能目标:1. 学生能够熟练操作电子跑表,进行简单的计时和数据记录。
2. 学生能够运用电子跑表进行实际场景的测量,如短跑、长跑等运动项目的计时。
3. 学生能够分析电子跑表测量数据,提高实验结果的准确性。
情感态度价值观目标:1. 学生培养对电子跑表及计时测量工作的兴趣,增强探索精神。
2. 学生通过实际操作,培养团队协作、严谨求实的科学态度。
3. 学生认识到电子跑表在现实生活中的重要作用,增强对科技创新的认识。
课程性质:本课程为实践性课程,结合理论知识与实际操作,让学生在动手实践中掌握电子跑表的使用。
学生特点:本年级学生具备一定的物理知识和动手能力,对新鲜事物充满好奇,喜欢探索和实践。
教学要求:教师应注重理论与实践相结合,关注学生个体差异,提供充分的时间和机会让学生动手操作,提高学生的实践能力和创新能力。
通过课程目标的实现,培养学生具备实际应用电子跑表的能力,为今后的学习和工作打下基础。
二、教学内容1. 电子跑表的基本原理:讲解电子跑表的工作原理,包括内部电路、传感器、计时器等组成部分,对应教材第3章“电子计时器的原理与应用”。
2. 电子跑表的操作方法:详细介绍电子跑表的按键功能、操作步骤和注意事项,对应教材第4章“电子跑表的使用与维护”。
3. 实践操作:组织学生进行电子跑表的实践操作,包括短跑、长跑等运动项目的计时,以及数据分析,对应教材第5章“电子跑表在实际运动中的运用”。
4. 教学内容的安排与进度:- 课时1:电子跑表的基本原理及结构介绍;- 课时2:电子跑表的操作方法和注意事项讲解;- 课时3:学生进行电子跑表实践操作,教师指导;- 课时4:学生分组进行实际运动项目计时,分析数据,总结经验。
教学内容注重科学性和系统性,以教材为依据,结合课程目标,制定详细的教学大纲。
单片机电子跑表课程设计
单片机电子跑表课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其编程方法。
2. 学生能掌握电子跑表的工作原理,了解各部分功能及其相互关系。
3. 学生能运用所学知识设计并实现一个简单的单片机电子跑表。
技能目标:1. 学生能够运用C语言或汇编语言进行单片机编程,实现电子跑表的基本功能。
2. 学生能够运用电路设计软件绘制电子跑表的原理图和PCB图。
3. 学生能够运用调试工具对单片机程序进行调试,解决常见问题。
情感态度价值观目标:1. 学生培养对电子制作的兴趣,激发创新意识和动手能力。
2. 学生在团队协作中,学会沟通与交流,培养合作精神。
3. 学生能够关注单片机技术在生活中的应用,认识到科技发展对生活的影响。
课程性质:本课程为实践性较强的课程,结合理论知识与实际操作,培养学生动手能力。
学生特点:学生具备一定的电子基础知识,对单片机有一定了解,但编程和实际操作经验不足。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,培养学生解决问题的能力。
在教学过程中,关注学生的个体差异,提供个性化指导。
通过课程学习,使学生能够独立完成单片机电子跑表的设计与制作。
二、教学内容1. 单片机原理与编程基础- 单片机结构及工作原理- C语言或汇编语言基础- 单片机编程环境搭建2. 电子跑表原理与设计- 电子跑表功能需求分析- 电路设计原理及元件选择- 原理图和PCB图绘制方法3. 单片机与外围电路接口技术- 按键输入接口设计- 数码管显示接口设计- 定时器/计数器应用4. 程序设计与调试- 程序框架设计- 功能模块编写- 程序调试与优化5. 实践操作- 电子跑表组装与调试- 故障分析与排除- 课程项目展示与评价教学内容安排和进度:第一周:单片机原理与编程基础第二周:电子跑表原理与设计第三周:单片机与外围电路接口技术第四周:程序设计与调试第五周:实践操作(含课程项目展示与评价)教学内容与教材关联性:本教学内容紧密结合教材,按照教材章节逐步展开,使学生能够循序渐进地掌握单片机电子跑表的设计与制作。
电子跑表的设计与实现—(单片机)
图3 主程序设计框图
1)程序的起始地址:MCS-51单片机复位后,(PC)=0000H,而0003H-002BH分别是各中断源的入口地址。所以,编程时应在0000H
处写一条跳转指令。当CPU接收到中断请求信号并予以响应后,CPU把当前的PC内容压入栈中进行保护,然后转入响应的中断服务程序入口处执行。
跑表程序如下:
WATCH: Y
CLR RS0
CLR RS1
CJNE R6,#0FFH,TP ;跑表程序
MOV R6,#0H ;清标志位
INC R4
CJNE R4,#100,TP ;判是否到10s N
MOV 41H,R4 ;送41H单元
MOV R4,#0H Y
INC R5
CJNE R5,#100H,TP ;判是否到1000s
中断返回后,判断F0,若F0=0,即作为时钟使用时,则R7=10为一秒,60秒则清零。若F0=1,即作为跑表使用时,将R5 R6的值进行十进制调整,即为跑表显示值,到9999则R5 R6清零,重新开始计数。若STOP键按下,则R5 R6停止计数。在跑表停止状态下,则返回显示当前时间。
2软件设计与说明
PUSH DPL
PUSH ACC
MOV DPTR,#Z8279
MOV A,#LEDMOD ;置8279工作方式
MOVX @DPTR,A
MOV A,#LEDFEQ ;置键盘扫描速率
MOVX @DPTR,A
MOV A,#LEDCLS ;清除LED显示
MOVX @DPTR,A
POP ACC
POP DPL
POP DPH
RET
2.3 跑表计时程序模块的设计
1)60分钟与1000秒时间的产生。选择定时器T0,用工作方式1,定时 50ms,R7先置2,T0定时50ms中断一次,利用R7寄存器减1,当R7寄存器的值=0时,时间正好是0.1s,再利用R0寄存器计数,当R0=10时,时间刚好是1s,再利用R1寄存器计数60s,依次类推,累计60分钟的是时间值,需要用到以下几个寄存器:
电子跑表单片机课程设计
第一章课题设计内容及要求21.1 内容21.2 要求2第二章系统方案设计3. 设计方案3. 设计原理3第三章系统硬件设计43.1硬件电路的设计方案及框图43.2单片机的选择43.3时钟与复位电路的设计53.3.1时钟电路53.3.2复位电路63.4LED显示电路的设计73.4.1控制方式73.4.2段驱动芯片选择83.5按键电路8第四章系统软件设计94.1主程序的设计104.2时钟、跑表计时程序模块的设计124.3T1断程序流程图如下:164代码转换程序:185显小程序19第五章系统的安装调试说明21第六章总结与体会22参考文献23附录24.程序原理图24.程序清单24第一章课题设计内容及要求内容(1)本课题以单片机为核心,设计出电子跑表,具有以下功能:(2)具有电时钟和跑表功能;(3)做时钟时在4位LED显本器上显小分、秒;(4)做跑表时显示范围000.0秒〜999.9秒;(5)当按下启动按钮跑表开始计时,按下停止按钮停止计时,当按下复位按钮跑表回零。
要求用伟福编译程序,用Proteus画出电路图进行仿真。
第二章系统方案设计设计方案电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片机来实现等等。
本次单片机综合实验需要进行硬件设计与软件设计。
设计原理(1)本系统采用AT89C51单片机、4位LDE显示、两块块74LS244芯片、4个调节按钮、共同构成我的单片机电子跑表的硬件。
(2)计时单元由单片机内部的定时器/记数器来实现。
(3)时间显示功能通过LED数码管动态扫描来实现。
由于数码管要显示时钟,还要显示跑表,因此,我分别用31H32H计时钟,用R5R6计跑表,当要显示哪一个的时候,就把哪一个地址送到显示地址35H、36H中,达到跑表显示与时钟显示互不影响。
(4)电子跑表的启动/复位/清零功能由软件来实现。
基于单片机实现的电子跑表设计
目录第1章绪论 (1)1.1 单片机简介 (1)1.2 89C51单片机介绍 (1)第2章系统总体方案设计 (3)2.1 课题设计内容及思路 (3)2.1.1 设计内容 (3)2.1.2 设计思路 (3)2.2 系统总体设计方案 (3)第3章电子跑表的设计 (5)3.1 控制系统硬件设计 (5)3.1.1 单片机型号选择 (5)3.1.2 键盘电路设计 (5)3.1.3 数码管显示原理 (5)3.1.4 74LS244芯片 (6)3.2 控制系统软件设计 (7)3.2.1 时钟计时程序模块的设计 (7)3.2.2 跑表模块的设计 (8)3.3主程序设计 (11)3.4 PROTEUS 仿真图 (13)3.5 系统的安装调试说明 (13)课程设计总结与体会 (15)参考文献 (16)附录 (17)附录A 系统原理图 (17)附录B 源程序清单 (18)电气与信息工程系课程设计评分表 (30)第1章绪论1.1 单片机简介单片机称为单片机微型计算机。
从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。
单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。
单片机还具有如下特点:1.单片机的存储器ROM和RAM时严格区分的。
ROM称为程序存储器,只存放程序,固定常数,及数据表格。
RAM则为数据存储器,用作工作区及存放用户数据。
2.采用面向控制的指令系统。
为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。
3.单片机的I/O口通常时多功能的。
由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分。
4.单片机的外部扩展能力很强。
在内部的各种功能部件不能满足应用的需求时,均可在外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录第一章课题设计内容及要求 (2)1.1 内容 (2)1.2 要求 (2)第二章系统方案设计 (3)2.1设计方案 (3)2.2 设计原理 (3)第三章系统硬件设计 (4)3.1 硬件电路的设计方案及框图 (4)3.2 单片机的选择 (4)3.3 时钟与复位电路的设计 (5)3.3.1 时钟电路 (5)3.3.2 复位电路 (6)3.4 LED显示电路的设计 (7)3.4.1 控制方式 (7)3.4.2 段驱动芯片选择 (8)3.5 按键电路 (8)第四章系统软件设计 (9)4.1 主程序的设计 (10)4.2 时钟、跑表计时程序模块的设计 (12)4.3 T1断程序流程图如下: (16)4.4 代码转换程序: (18)4.5 显示程序 (19)第五章系统的安装调试说明 (21)第六章总结与体会 (22)参考文献 (23)附录 (24)1.程序原理图 (24)2.程序清单 (24)第一章课题设计内容及要求1.1 内容(1)本课题以单片机为核心,设计出电子跑表,具有以下功能:(2)具有电时钟和跑表功能;(3)做时钟时在4位LED 显示器上显示分、秒;(4)做跑表时显示范围000.0秒~999.9秒;(5)当按下启动按钮跑表开始计时,按下停止按钮停止计时,当按下复位按钮跑表回零。
1.2 要求用伟福编译程序,用Proteus画出电路图进行仿真。
第二章系统方案设计2.1设计方案电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片机来实现等等。
本次单片机综合实验需要进行硬件设计与软件设计。
2.2 设计原理(1)本系统采用AT89C51单片机、4位LDE显示、两块块74LS244芯片、4个调节按钮、共同构成我的单片机电子跑表的硬件。
(2)计时单元由单片机内部的定时器/记数器来实现。
(3)时间显示功能通过LED数码管动态扫描来实现。
由于数码管要显示时钟,还要显示跑表,因此,我分别用31H、32 H计时钟,用R5、R6计跑表,当要显示哪一个的时候,就把哪一个地址送到显示地址35 H、36 H中,达到跑表显示与时钟显示互不影响。
(4)电子跑表的启动/复位/清零功能由软件来实现。
P1.1接启动键,P1.3接停止键,P1.0接清零键。
P1.2实现时钟和跑表的转换功能。
(5)由于跑表和时钟的中断服务程序有冲突,我们就把跑表的中断服务程序写成另外的子程序了,这样就必须要引入标志位了,我们在此用42H标志位,用标志位来给跑表计数。
第三章系统硬件设计3.1 硬件电路的设计方案及框图根据设计要求和设计思路,确定该系统的设计方案,图1所示为该系统设计方案的硬件电路设计框图。
硬件电路有五部分组成,即单片机按键输入电路,单片机时钟电路,复位电路,LED显示器段码驱动电路,4位LED显示器电路。
图1 硬件电路设计框图3.2 单片机的选择根据初步设计方案的分析,设计这样一个简单的应用系统,可以选择带有EPROM的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。
本系统选用AT89C51单片机。
该芯片的功能与MCS-51系列单片机完全兼容。
下图为MCS51的管脚图。
共有40个管脚,P口32个输入输出管脚本次设计用了16个。
3.3 时钟与复位电路的设计3.3.1 时钟电路单片机工作的时间基准是由时钟电路提供的。
在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路,如下图所示。
电路中,电容器C1和C2对振荡频率有微调作用,通常的取值范围(20-40)pF。
石英晶体选择6MHz或12MHz都可以,起结果只是机器周期时间不同,影响计数器的计数初值。
3.3.2 复位电路单片机的RST管脚为主机提供一个外部复位信号输入端口。
复位信号是高电平有效,高电平有效的持续时间应为2个机器周期以上。
单片机的复位方式有上电自动复位和手工复位两种。
复位电路图是下图所示。
下图是51系列单片机常用的上电复位和手动复位组合电路。
3.4 LED显示电路的设计3.4.1 控制方式LED显示器的显示控制方式分为静态显示和动态显示两种,若选择静态显示,则LED驱动器的选择较为简单,只要驱动器的驱动能力与显示器的电流相匹配即可,而且一般只需考虑段的驱动;动态显示则不同,由于一位数据的显示是由段和位选信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。
此设计选用共阴极接法的4位时钟型LED显示器。
其中管脚a,b,c,d,e,f,g为4位LED各段的公共引出端;D1,D2,D3,D4分别是每一位的共阴极输出端;dp是小数点引出端。
对于这种结构的LED显示器,它的体积和结构都符合我们的设计要求,由于4位LED阴极的各段已经在内部接在一起,所以必须使用动态扫描方式。
如下图所示。
段码输入端位码输入端3.4.2 段驱动芯片选择LED的段驱动电路有很多种,在本设计中选择了型号为74LS244的芯片。
该芯片具有锁存,译码,驱动的功能。
即在输入端输入要显示字形的BCD码,在输出端局可以得到具有一定驱动能力的7段显示字形码。
3.5 按键电路按键的开关状态通过一定的电路转换为高、低电平状态。
按键闭合过程在相应的I/O端口形成一个负脉冲。
闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。
抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。
为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。
第四章系统软件设计进行应用软件设计时可采用模块化结构设计,其优点是:首先,每个模块的程序结构简单,任务明确,易于编写,调试和修改;其次,程序可读性好,对程序的修改课局部进行,其他部分可以保持不变,便与功能扩充和版本升级;最后,便与多个模块调用和分工合作。
将本系统分为,时钟记时程序模块,数制转换模块,显示模块,跑表工作模块。
如下图所示。
将这些事先划分好的模块用汇编语言编成不同的子程序,再将它们有机的结合起来从而达到系统的整体功能。
其中显示程序贯穿整个系统软件的始终,其它的程序以一定的规律改变显示程序的显示内容为目的。
电子跑表软件设计的模块4.1(1)程序的起始地址:MCS-51单片机复位后,(PC)=0000H,而0003H-002BH分别是各中断源的入口地址。
所以,编程时应在0000H处写一条跳转指令。
当CPU接收到中断请求信号并予以响应后,CPU把当前的PC内容压入栈中进行保护,然后转入响应的中断服务程序入口处执行。
(2)主程序的初始化:将要用到的MCS-51系列单片机内部部件或扩展芯片进行初始工作设定。
ORG 0000HLJMP MAINORG 000BH ;T0中断入口地址LJMP INTT0ORG 0030HMAINMOV TMOD, #01H ;T0工作方式MOV TH0, #3CH ;T0初值MOV TL0, #0B0HMOV IE,#82H ;开中断MOV R7,#2 ;中断两次MOV 31H,#0 ;放后两位数字MOV 32H,#0 ;放前两位数字MOV 41H,#0 ;用在定时器计中断个数MOV P1,#0FFH ;开放P1口SETB TR0 ;启动定时器LOOP:JNB P1.0,ZHONG ;判开关P1.0信号,时钟与跑表切换。
MOV R5,#0 ;跑表清0MOV R6,#0TING:LCALL PAO ;调跑表子序MOV R5,#0 ;跑表清0MOV R6,#0ZHONG:MOV 35H,31H ;用于时钟记数的31H,32H送入显示地址MOV 36H,32HLCALL DIVID ;时钟显示MOV A,52H ;加小数点(分和秒之间)ADD A,#10MOV 52H,ALCALL DZSPLAYLJMP LOOP ;循环执行主程序RET4.2 时钟、跑表计时程序模块的设计(1)60分钟与1000秒时间的产生。
选择定时器T0,用工作方式1,定时 50ms,R7先置2,T0定时50ms中断一次,利用R7寄存器减1,当R7寄存器的值=0时,时间正好是0.1s,再利用R0寄存器计数,当R0=10时,时间刚好是1s,再利用R1寄存器计数60s,依次类推,累计60分钟的是时间值,需要用到以下几个寄存器:R7:累计0.1s时间寄存器。
T0每中断一次R7=R7-1,计数10次向30H进位,并将R7置2。
30H:累计1s时间寄存器。
当R0=60s时,向31H进位,然后将30H清零。
31H:累计60s时间寄存器。
当31H=60s时,当31H=60时,将30H、31H清零。
30H、31H用于时钟计时,以下R6、R5用于跑表计时。
R5:累计10S时间寄存器。
当R5=100时,向R6进位,然后将R5清零。
R6:累计1000S时间寄存器。
当R6=100时,将R6清零。
42H:为标志寄存器。
42H=1时,跑表、时钟计数器都计数,42H=0时,仅时钟计数器计数。
(2)内部计数器用作定时器时,是对机器周期计数。
每个机器周期的长度是12个振荡器周期。
因为实验系统的晶振是11.0592MHz,所以定时常数的设置可按以下方法计算:机器周期=12÷11.0592MH z=1.0857μS(65536-定时常数)*1.0857μS=50mS定时常数=EC78H初值寄存器的初值 TH1=ECH,TL1=78H工作方式计数器 TMOD=0000 0001B=01H(3)启动跑表时,T1计时到0.1s时,置42H=1,则在时钟计数器工作的同时,跑表计数器也在工作,并将跑表计数器的值送到显示缓冲区显示。
跑表程序如下:WATCH:CLR RS0CLR RS1CJNE R6,#0FFH,TP ;跑表程序MOV R6,#0H ;清标志位INC R4CJNE R4,#100,TP ;判是否到10s MOV 41H,R4 ;送41H单元MOV R4,#0HINC R5CJNE R5,#100H,TP ;判是否到1000sMOV 42H,R5MOV R5,#0HMOV R4,#OHTP: LCALL DIVID ;调代码转换程序RET4.3 T1断程序流程图如下:T1定时器程序设计流程图T1中断服务程序如下:INT_T0:PUSH DPHPUSH DPLPUSH ACCPUSH PSWCLR TR1 ;关T1MOV TH0,#4CH ;重置T1初值MOV TL0,#00HSETB TR0 ;启动T1CLR RS1 ;选择0区工作寄存器CLR RS0DJNZ R7,EXIT ;判断是否完成0.1s定时MOV R7,#2 ;到0.1sMOV R6,#0FFH ;置标志位INC R0CJNE R0,#10,EXIT ;判断是否到1sMOV R0,#0HINC R1MOV 41H,R1 ;秒值送41H单元CJNE R1,#60,EXIT ;判断是否到1minMOV R1,#0HINC R2MOV 42H,R2 ;分值送42H单元CJNE R2,#60,EXIT ;判断是否到1hMOV R2,#0HINC R3MOV 43H,R3 ;CJNE R3,#24,EXIT ;MOV R3,#0HMOV R2,#0HMOV R1,#0HEXIT:POP PSWPOP ACCPOP DPLPOP DPHRETI4.4 代码转换程序:由于人们日常习惯使用十进制数,而计算机的键盘输入、输出以及显示常采用二进制编码的十进制(即BCD码)或ASCII码。