课程设计--单片机控制的数字钟
数字电子钟单片机课程设计

数字电子钟单片机课程设计一、课程目标知识目标:1. 学生能理解数字电子钟的基本工作原理,掌握单片机在数字电子钟中的应用。
2. 学生能掌握数字电子钟的各功能模块(如计时、闹钟、显示等)的设计与实现。
3. 学生了解并掌握数字电子钟程序编写的基本方法,学会运用编程语言(如C 语言)进行程序设计。
技能目标:1. 学生能运用所学知识,设计并制作一个简易的数字电子时钟,具备基本的时间显示、闹钟等功能。
2. 学生能够独立完成程序编写,实现数字电子钟的基本功能,并具备一定的调试与优化能力。
3. 学生能够通过团队合作,发挥各自专长,共同完成课程设计任务。
情感态度价值观目标:1. 学生在课程学习中,培养对电子技术的兴趣和爱好,激发创新意识。
2. 学生通过实践活动,培养动手能力、解决问题的能力和团队协作精神。
3. 学生在学习过程中,树立正确的价值观,认识到科技对生活的重要性,增强社会责任感。
本课程针对高年级学生,课程性质为实践性较强的设计与制作类课程。
学生在前期课程中已具备一定的电子技术基础和编程能力,本课程旨在巩固和拓展这些知识。
在教学过程中,要求教师注重引导学生主动探索、实践,鼓励学生发挥创新能力,同时关注学生的个体差异,提供有针对性的指导。
通过课程目标的实现,使学生在知识、技能和情感态度价值观方面取得具体的学习成果,为后续相关课程的学习打下坚实基础。
二、教学内容1. 数字电子钟原理及单片机基础:包括时钟电路、计数器、寄存器等基本原理,以及单片机的内部结构、工作原理和编程接口。
- 教材章节:第一章 电子时钟原理;第二章 单片机基础- 内容列举:时钟电路设计、计数器应用、寄存器配置、单片机内部结构、I/O 口编程。
2. 数字电子钟功能模块设计:讲解并实践计时、闹钟、显示等模块的设计方法。
- 教材章节:第三章 数字电子钟设计;第四章 模块化设计- 内容列举:计时模块、闹钟模块、显示模块设计,模块间通信协议。
3. 程序设计与编写:学习数字电子钟的程序编写方法,运用C语言进行程序设计。
单片机数字时钟课程设计

单片机数字时钟课程设计一、课程目标单片机数字时钟课程设计旨在让八年级学生在巩固已学电子技术知识的基础上,通过实践操作,实现以下目标:1. 知识目标:(1)理解单片机的基本原理,掌握其编程方法;(2)掌握数字时钟的构成和工作原理;(3)学会使用相关电子元件,如LED显示屏、时钟芯片等。
2. 技能目标:(1)能够运用C语言进行单片机编程,实现数字时钟的基本功能;(2)通过动手实践,提高电路搭建和调试能力;(3)培养团队协作和问题解决能力。
3. 情感态度价值观目标:(1)激发学生对电子技术的兴趣,培养创新精神和动手实践能力;(2)养成严谨的学习态度,提高自主学习能力;(3)培养学生关爱环境、珍惜资源的意识,强化责任感。
本课程针对八年级学生的认知特点,注重理论与实践相结合,以学生为主体,教师为主导。
通过本课程的学习,学生能够将所学知识应用于实际项目中,提高综合运用能力,培养科学精神和创新意识。
课程目标分解为具体学习成果,便于后续教学设计和评估。
二、教学内容依据课程目标,教学内容围绕单片机数字时钟设计与实现展开,包括以下部分:1. 理论知识:(1)单片机原理及编程基础,参考教材第3章;(2)数字时钟工作原理及电路设计,参考教材第5章;(3)C语言编程及应用,参考教材第4章。
2. 实践操作:(1)数字时钟电路搭建,使用LED显示屏、时钟芯片等元件;(2)单片机编程,编写控制程序,实现时钟显示、校时等功能;(3)调试与优化,对搭建的数字时钟进行调试,确保其稳定运行。
3. 教学大纲:第1周:回顾单片机原理及编程基础,学习数字时钟工作原理;第2周:学习C语言编程,编写简单的数字时钟程序;第3周:设计数字时钟电路,进行电路搭建;第4周:编程实现数字时钟功能,进行调试与优化。
教学内容注重科学性和系统性,结合教材章节内容,以实践操作为主,使学生能够将理论知识与实际应用紧密结合,提高综合运用能力。
同时,教学进度安排合理,确保学生在规定时间内完成课程学习。
单片机数字时钟课程设计

单片机数字时钟课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理和编程方法,掌握数字时钟的设计与实现过程。
2. 使学生掌握数字时钟的显示原理,包括时、分、秒的显示和调整方法。
3. 让学生了解单片机与其他硬件设备(如LED显示屏、按键等)的接口技术。
技能目标:1. 培养学生运用单片机编程实现数字时钟功能的能力。
2. 培养学生运用所学知识解决实际问题的能力,如调试程序、排查故障等。
3. 提高学生的动手实践能力,能够独立完成数字时钟的搭建和调试。
情感态度价值观目标:1. 培养学生对单片机及电子制作的兴趣,激发学生的创新意识和探索精神。
2. 培养学生团队协作精神,学会在合作中解决问题,共同完成任务。
3. 培养学生严谨的学习态度和良好的学习习惯,注重实践与理论相结合。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为单片机应用实践课程,注重理论联系实际,培养学生的动手能力和创新能力。
2. 学生特点:学生已具备一定的单片机基础知识,有一定的编程基础,但实践能力有待提高。
3. 教学要求:以学生为主体,教师为主导,采用项目式教学,引导学生主动探究和解决问题。
二、教学内容1. 理论知识:- 单片机原理及编程基础回顾;- 数字时钟的原理与设计思路;- 单片机与其他硬件设备的接口技术。
2. 实践操作:- 数字时钟的硬件搭建,包括LED显示屏、按键等;- 单片机程序编写,实现时、分、秒的显示与调整;- 程序调试与故障排查。
3. 教学大纲:- 第一阶段(1课时):单片机原理及编程基础回顾;- 第二阶段(2课时):数字时钟原理学习,设计思路讲解;- 第三阶段(2课时):硬件搭建与程序编写;- 第四阶段(1课时):程序调试与故障排查;- 第五阶段(1课时):成果展示与总结。
4. 教材关联:- 教材第3章:单片机原理及编程基础;- 教材第4章:数字时钟设计与实现;- 教材第5章:单片机与其他硬件设备接口技术。
单片机数字钟课程设计

单片机数字钟课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握数字时钟的工作机制;2. 学生能描述数字时钟的各个模块功能,如时钟电路、计数器、显示电路等;3. 学生能运用所学编程语言,如C语言,编写数字时钟的程序代码。
技能目标:1. 学生能运用单片机开发工具进行程序编写、调试和下载;2. 学生能动手搭建数字时钟硬件电路,实现时钟的显示和计时功能;3. 学生能通过实际操作,掌握基本电路故障排查和程序调试技巧。
情感态度价值观目标:1. 学生培养对单片机及电子制作的兴趣,激发创新意识和动手能力;2. 学生在团队协作中学会沟通、分享和承担责任,培养合作精神;3. 学生通过解决实际问题,体会科技对社会发展的作用,增强社会责任感。
课程性质:本课程为实践性较强的课程,结合理论教学和动手操作,让学生在实际操作中掌握单片机数字时钟的制作。
学生特点:学生具备一定的电子基础知识,对单片机有一定了解,喜欢动手实践,具有较强的求知欲和好奇心。
教学要求:注重理论与实践相结合,强调学生在操作过程中掌握知识,培养学生动手能力、创新意识和团队协作能力。
通过课程学习,使学生能够独立完成单片机数字时钟的设计与制作。
二、教学内容1. 理论知识:- 单片机原理:介绍单片机的硬件结构、工作原理和编程方法;- 数字时钟原理:分析数字时钟的组成、工作原理及各模块功能。
2. 实践操作:- 硬件设计:指导学生设计数字时钟的硬件电路,包括时钟电路、计数器、显示电路等;- 程序编写:教授学生使用C语言编写单片机程序,实现数字时钟的功能;- 调试与下载:教授学生如何使用开发工具进行程序调试和下载。
3. 教学大纲:- 第一周:单片机原理学习,了解数字时钟的基本原理;- 第二周:分析数字时钟各模块功能,学习C语言编程基础;- 第三周:设计数字时钟硬件电路,编写程序代码;- 第四周:进行程序调试,搭建完整的数字时钟系统。
4. 教材关联:- 教材第一章:单片机原理及其应用;- 教材第二章:数字电路设计基础;- 教材第三章:C语言编程基础;- 教材第四章:单片机程序设计与实践。
单片机课程设计电子时钟

xxxxxx大学课程设计报告课程设计名称:单片机系统综合课程设计课程设计题目:电子时钟院(系):专业:班级:学号:姓名:指导教师:完成日期:xxxxxx大学课程设计报告目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3实验环境 (2)第2章详细设计方案 (3)2.1硬件电路设计 (3)2.2主程序设计 (3)2.3功能模块的设计与实现 (4)第3章结果测试及分析 (11)3.1结果测试 (11)3.2结果分析 (11)参考文献 (12)附录 A (13)附录 B (21)附录 C (22)第1章总体设计方案1.1 设计原理根据课程设计任务书的内容,要求实现在MCS51单片机上对数字电子钟的基本功能设计,对当前时间正确显示,并可根据需要对时间进行更改,以完成时间的校对和闹钟的设置。
时钟时间以时、分、秒在6位数码管上显示,小时以24小时计时模式,分秒均为60进位。
用6MHz晶振产生振荡脉冲,定时器进行秒计时。
调整设置时间的过程运用可编程键盘上的按键进行控制,共设有5个按键,首先按键A进入校时模式或E进入闹钟模式,再分别按键B对小时或C分钟进行更改,每按键一次数码管计数显示加一,更改结束后按键D退出设置,时钟正常显示。
闹钟时间到时,蜂鸣器鸣响10秒后时钟正常显示。
1.2 设计思路采用C语言程序设计结合硬件电路设计方法,利用Lab6000实验箱来实现数字电子钟的设计。
1)提出方案根据设计要求,可将本次设计分为3个模块进行:1)时钟显示模块:主要用于时间的正确显示。
2)校时模块:此模块用于时钟的校对,以完成用户更改时间的需求。
3)闹钟模块:用于实现闹钟的时间设置和定点闹铃的功能。
2)方案论证时钟显示模块中,利用可编程定时器中断进行秒计时,将时间显示在6位数码管上。
校时模块主要利用键盘上5个键的控制完成各项功能,并在数码管上动态显示改变结果,完成设置后进入时钟显示模块。
闹钟模块的设置过程与校时模块相似,但设置完成进入时间显示模块后则等待闹铃时间,到规定时间后,通过数码管闪烁及蜂鸣器的鸣响来实现定点闹铃提醒功能。
单片机多功能电子数字钟课程设计报告

多功能电子数字钟设计数字钟在日常生活中最常见, 应用也最广泛。
本文主要就是设计一款数字钟, 以89C52单片机为核心, 配备液晶显示模块、时钟芯片、等功能模块。
数字钟采用24小时制方式显示时间, 定时信息以及年月日显示等功能。
文章的核心主要从硬件设计和软件编程两个大的方面。
硬件电路设计主要包括中央处理单元电路、时钟电路、人机接口电路、信号处理电路、执行电路等几部分组成。
软件用C语言来实现, 主要包括主程序、键盘扫描子程序、时间设置子程序等软件模块。
关键词单片机液晶显示器模块数字钟一硬件电路设计及描述;1.MCS-51单片机单片机是在一块硅片上集成了各种部件的微型计算机。
这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。
8051单片机的结构特点有以下几点: 8位CPU;片内振荡器及时钟电路; 32根I/O线;外部存储器ROM和RAM;寻址范围各64KB;两个16位的定时器/计数器; 5个中断源, 2个中断优先级;全双工串行口。
定时器/计数器8051内部有两个16位可编程定时器/计数器, 记为T0和T1。
16位是指他们都是由16个触发器构成, 故最大计数模值为2 -1。
可编程是指他们的工作方式由指令来设定, 或者当计数器来用, 或者当定时起来用, 并且计数(定时)的范围也可以由指令来设置。
这种控制功能是通过定时器方式控制寄存器TMOD来完成的。
在定时工作时, 时钟由单片机内部提供, 即系统时钟经过12分频后作为定时器的时钟。
技术工作时, 时钟脉冲由TO和T1输入。
中断系统8051的中断系统允许接受五个独立的中断源, 即两个外部中断申请, 两个定时器/计数器中断以及一个串行口中断。
外部中断申请通过INTO和INT1(即P3.2和P3.3)输入, 输入方式可以使电平触发(低电平有效), 也可以使边沿触发(下降沿有效)。
2.8051的芯片引脚如图1-2所示VCC: 供电电压。
单片机数字钟课程设计

单片机数字钟课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握数字钟的电路构成和工作原理。
2. 使学生掌握单片机编程的基本方法,能够运用C语言编写简单的数字钟程序。
3. 帮助学生了解数字钟的各个模块功能,如时钟电路、计数器、显示电路等。
技能目标:1. 培养学生动手搭建数字钟电路的能力,提高实践操作技能。
2. 培养学生运用编程软件进行程序编写、调试和优化单片机程序的能力。
3. 培养学生分析问题、解决问题的能力,能够解决数字钟运行过程中出现的故障。
情感态度价值观目标:1. 培养学生对单片机及电子技术的兴趣,激发学生的求知欲和探索精神。
2. 培养学生团队合作意识,学会与他人共同解决问题,提高沟通与协作能力。
3. 培养学生严谨的科学态度,注重实验数据的真实性,养成认真负责的学习习惯。
课程性质:本课程为实践性较强的课程,结合理论知识与实际操作,旨在培养学生的动手能力、编程能力和问题解决能力。
学生特点:学生为初中生,具备一定的电子知识基础,对单片机有一定了解,喜欢动手实践,对新鲜事物充满好奇心。
教学要求:教师需结合学生特点,以引导为主,讲解与实践相结合,注重培养学生的自主学习能力和团队合作精神。
在教学过程中,关注学生的个体差异,给予个性化指导,确保每位学生都能达到课程目标。
通过课程学习,使学生能够独立完成数字钟的搭建和程序编写,提高综合运用知识的能力。
二、教学内容1. 单片机基础理论:介绍单片机的组成、工作原理,重点讲解AT89C52单片机的内部结构、引脚功能及特性。
教材章节:第一章 单片机概述,第二节 AT89C52单片机简介2. 数字钟电路设计:讲解数字钟的电路构成,包括时钟电路、计数器、显示电路等模块,分析各模块之间的连接关系。
教材章节:第二章 数字钟电路设计,第一节 数字钟概述,第二节 电路模块介绍3. 单片机编程:教授C语言编程基础,以数字钟为例,讲解程序设计思路、流程及编程技巧。
数字时钟单片机课程设计

数字时钟单片机课程设计一、课程目标知识目标:1. 学生能理解数字时钟单片机的基本原理,掌握单片机的硬件结构和软件编程方法。
2. 学生能运用所学的单片机知识,设计并实现一个具有基本功能的数字时钟。
3. 学生了解数字时钟的显示原理,掌握时间计算和显示的编程技巧。
技能目标:1. 学生能够独立完成数字时钟单片机的硬件连接和程序编写,具备实际操作能力。
2. 学生通过课程学习,培养解决实际问题的能力,学会调试程序,找出并解决问题。
3. 学生能够运用所学知识,进行创新设计,提高动手实践能力。
情感态度价值观目标:1. 学生在学习过程中,培养对单片机技术的兴趣,提高对电子技术的认识。
2. 学生通过团队合作,培养沟通协作能力,增强团队精神。
3. 学生在课程实践中,体会科技改变生活的实际应用,激发创新意识。
课程性质:本课程为实践性较强的课程,注重培养学生的动手能力和实际操作技能。
学生特点:学生具备一定的单片机基础知识,对电子技术有较高的兴趣,喜欢动手实践。
教学要求:教师应结合学生特点,采用任务驱动法,引导学生主动探究,注重实践操作能力的培养。
在教学过程中,关注学生的个体差异,提供有针对性的指导。
通过课程学习,使学生在知识、技能和情感态度价值观方面取得具体的学习成果。
二、教学内容1. 硬件基础:介绍数字时钟单片机的硬件结构,包括处理器、时钟电路、显示模块等组成部分。
关联教材第3章“单片机硬件结构”。
- 单片机选型与特性- 时钟电路原理与设计- 显示模块工作原理与接口技术2. 程序设计:讲解数字时钟程序设计的基础知识,包括编程语言、程序结构和流程控制。
关联教材第4章“单片机编程基础”。
- 基本指令与编程语法- 时间计算与显示编程- 程序调试与优化技巧3. 系统设计与实现:引导学生进行数字时钟单片机系统的设计与实现,包括硬件连接、程序编写和功能测试。
关联教材第6章“单片机应用系统设计”。
- 硬件连接与电路搭建- 程序编写与功能实现- 系统调试与故障排除4. 创新实践:鼓励学生运用所学知识进行创新设计,提高数字时钟的功能和实用性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计--单片机控制的数字钟单片机课程设计单片机控制的数字钟专业:自动化班级:姓名:学号:指导老师:二〇〇七年七月十六日一、绪论20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。
尤其在医院,每次护士都会给病人作皮试,测试病人是否对药物过敏。
注射后,一般等待5分钟,一旦超时,所作的皮试试验就会无效。
手表当然是一个好的选择,但是,随着接受皮试的人数增加,到底是哪个人的皮试到时间却难以判断。
所以,要制作一个定时系统。
随时提醒这些容易忘记时间的人。
钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
因为是一个初学者,所以本次通过设计一个比较简单的数字钟,来加强对单片机的认识,并通过此次设计学习一些基本的单片机理论知识及其实际应用。
二、设计思路本设计采用8051单片机直接控制LED数码管显示来实现数字钟(采用12MHz晶振,中断方式采用定时器0方式2,定时250微妙,则循环4000次为1秒),所设计时钟可以随时对时间进行调整(调整采用分别对“时”“分”“秒”进行调整,且互不干扰),调整后按调整的时间往后按秒计时,时间格式采用24小时进制,显示范围为00:00:00到23:59:59。
三、设计所达到的目标1)开机时,显示12:00:00的时间并开始运行,数字钟采用24小时进制;2)P0.0/AD0控制“秒”的调整,每按一次加1秒;3)P0.1/AD1控制“分”的调整,每按一次加1分;4)P0.2/AD2控制“时”的调整,每按一次加一个小时;四、程序流程图开机初始化键盘扫描按键处理结果显示定时器0中断入口时间运行处理返回主函数五、电路原理图六、系统板上硬件连线1)把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上,控制显示对应时间值;2)把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上,其中P3.2,P3.5控制显示“:”,其余六口分别选通显示“秒”、“分”、“时”的显示数码管;3)把“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上,键盘另一端接地;七、相关基本知识1)数码管工作原理:共阳极数码管中8个发光二极管的阳极(二极管正端)连接一起。
通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。
当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。
根据发光字段的不同组合可显示出各种数字或字符。
此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
共阴极数码管中8个发光二极管的阴极(二极管负端)连接在一起。
通常,共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。
当某段驱动电路的输出端为高电平时,该端所连接的字符导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。
同样,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
(a)外型结构(b)共阴极(c)共阳极图1.1 数码管结构图2)独立式按键识别过程:本设计使用独立按键扫描低电平有效,但是可能有抖动现象,所以要用软件延时的方法来消除抖动的影响,使每一次按键均有效;3)“时”,“分”,“秒”数据送出显示处理方法:要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字码编码。
对照图1.1(a),字型码各位定义如表1.1输出口各位D7 D6 D5 D4 D3 D2 D1 D0 数码管各段Dp g F e d c b a如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮。
如要显示“0”,共阳极数码管的字型编码应为:11000000B(即C0H);共阴极数码管的字型编码应为:00111111B(3FH)。
依次类推,可求得数码管字型编码如表1.2所示。
时分秒的显示都采用除十取整和除十取余的方法来控制显示十位和个位数字。
表1.2 数码管字型编码表显示字符字型共阳极共阴极dp g F e D c b a字型码dp g f e d c b a字型码0 0 1 1 0 0 0 0 0 0 C0H 0 0 1 1 1 1 1 1 3FH1 1 1 1 1 1 1 0 0 1 F9H 0 0 0 0 0 1 1 0 06H2 2 1 0 1 0 0 1 0 0 A4H 0 1 0 1 1 0 1 1 5BH3 3 1 0 1 1 0 0 0 0 B0H 0 1 0 0 1 1 1 1 4FH4 4 1 0 0 1 1 0 0 1 99H 0 1 1 0 0 1 1 0 66H5 5 1 0 0 1 0 0 1 0 92H 0 1 1 0 1 1 0 1 6DH6 6 1 0 0 0 0 0 1 0 82H 0 1 1 1 1 1 0 1 7DH八、C 语言源程序#include <reg51.h>unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; unsigned char dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char dispbuf[8]={0,0,16,0,0,16,0,0}; unsigned char dispbitcnt; unsigned char second; unsigned char minute; unsigned char hour=12; unsigned int tcnt; unsigned char mstcnt; unsigned char i,j;7 7 1 1 1 1 1 0 0 0 F8H 0 0 0 0 0 1 1 1 07H 8 8 1 0 0 0 0 0 0 0 80H 0 1 1 1 1 1 1 1 7FH 9 9 1 0 0 1 0 0 0 0 90H 0 1 1 0 1 1 1 1 6FH A A 1 0 0 0 1 0 0 0 88H 0 1 1 1 0 1 1 1 77H B B 1 0 0 0 0 0 1 183H0 1 1 1 1 1 0 0 7CH C C 1 1 0 0 0 1 1 0 C6H 0 0 1 1 1 0 0 1 39H D D 1 0 1 0 0 0 0 1 A1H 0 1 0 1 1 1 1 0 5EH E E 1 0 0 0 0 1 1 086H0 1 1 1 1 0 0 1 79H F F 1 0 0 0 1 1 1 0 8EH 0 1 1 1 0 0 0 1 71H H H 1 0 0 0 1 0 0 189H0 1 1 1 0 1 1 0 76H L L 1 1 0 0 0 1 1 1 C7H 0 0 1 1 1 0 0 0 38H P P 1 0 0 0 1 1 0 0 8CH 0 1 1 1 0 0 1 1 73H R R 1 1 0 0 1 1 1 0 CEH 0 0 1 1 0 0 0 1 31H U U 1 1 0 0 0 0 0 1 C1H 0 0 1 1 1 1 1 0 3EH Y Y 1 0 0 1 0 0 0 191H0 1 1 0 1 1 1 0 6EH — — 1 0 1 1 1 1 1 1 BFH 0 1 0 0 0 0 0 0 40H . . 0 1 1 1 1 1 1 1 7FH 1 0 0 0 0 0 0 0 80H 熄灭灭1 1 1 1 1 1 1 1 FFH0 0 0 0 0 0 0 0 00Hsbit P0_0=P0^0;sbit P0_1=P0^1;sbit P0_2=P0^2;void main(void){TMOD=0x02; //定时器0工作方式2TH0=0x06; //定时250微秒TL0=0x06;TR0=1; //定时器0允许中断ET0=1;EA=1; //开放总中断while(1){if(P0_0==0){for(i=5;i>0;i--) //消抖动for(j=248;j>0;j--);if(P0_0==0){second++;if(second==60){second=0;}dispbuf[0]=second%10;dispbuf[1]=second/10;while(P0_0==0);}}if(P0_1==0){for(i=5;i>0;i--) //消抖动for(j=248;j>0;j--);if(P0_1==0){minute++;if(minute==60){minute=0;}dispbuf[3]=minute%10;dispbuf[4]=minute/10;while(P0_1==0);}}if(P0_2==0){for(i=5;i>0;i--) //消抖动for(j=248;j>0;j--);if(P0_2==0){hour++;if(hour==24){hour=0;}dispbuf[6]=hour%10;dispbuf[7]=hour/10;while(P0_2==0);}}}}void t0(void) interrupt 1 using 0{mstcnt++;if(mstcnt==8){mstcnt=0;P1=dispcode[dispbuf[dispbitcnt]];P3=dispbitcode[dispbitcnt];dispbitcnt++;if(dispbitcnt==8){dispbitcnt=0;}}tcnt++;if(tcnt==4000){tcnt=0;second++;if(second==60){second=0;minute++;if(minute==60){minute=0;hour++;if(hour==24){hour=0;}}}dispbuf[0]=second%10;dispbuf[1]=second/10;dispbuf[3]=minute%10;dispbuf[4]=minute/10;dispbuf[6]=hour%10;dispbuf[7]=hour/10;}}九、实验总结与心得体会本实验虽然简单,但仍使我对单片机有了进一步的了解,因为对汇编语言不是很了解,用汇编实现单片机程序的设计对我来说有点困难,以前学习过C 语言编程,比较熟悉,又因为C程序比较容易读懂读通,所以程序的设计实现采用了C语言编程,今后还要努力学习单片机知识,学好汇编语言以及C语言,争取开发出比较复杂实用可行的系统。