单片机设计倒计时器
- 格式:doc
- 大小:36.50 KB
- 文档页数:7
编号毕业设计技术报告课题名称:学生姓名:学号:专业:班级:指导教师:2012年月摘要:随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便生活的自动控制系统进入了人们的生活,以单片机为核心的自动门控制系统就是其中之一,也标志自动控制领域成为了数字化时代的一员。
本文介绍了一种利用单片机设计的秒倒计时器, 具体介绍了硬件的电路设计、接口技术和软件的设计方法。
该方案具有一定的实用性和使用上的方便性。
其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的使用和参考价值。
关键词: 自动控制系统单片机秒倒计时Abstract :With the development of society, science and technology progress and gradually improve the living standards of people, all sorts of convenient life of automatic control system into people's life, based on single-chip automatic control system is one of them, also marks the automatic control field became a member of the digital age.This paper introduces a design of second countdown timer by using single-chip microcomputer as well as the methods of designing its hardware circuit , connector andsoftware circuit. Key words : automatic control system single-chip microcomputer second countdown timer前言在社会生活和生产的各个领域中,凡是有自动控制要求的地方都会和单片机扯上关系。
摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域。
而51单片机是各单片机中最为典型和最有代表性的一种。
本次设计以单片机(AT89S51)芯片为核心,辅以必要的外围电路,在配以相应的软件,设计了一个简易的倒计时器,它由5V直流电源供电。
在硬件方面,除了单片机外,使用一个7SEG-MPX4-CA数码管来进行显示,用两个电容和一个晶振组成了一个振荡电路,提供时钟信号,用5V的电源、一个电阻和一个电容构成了一个复位电路,再用四个电阻完成驱动。
LED采用的是动态扫描显示。
在软件方面,我采用汇编语言编程,利用系统调试工具keil C51来调试程序,然后再利用Proteus进行仿真。
经过实践证明,本系统运行稳定,其优点是硬件电路简单,软件功能完善,性价比较高等,具有一定的实用和参考价值。
关键词:单片机;AT89S51;SEG-MPX4-CA数码管;倒计时器;汇编语言。
SummaryIn recent years, as computer penetration in the social field and the development of large scale integrated circuits, microcontroller applications are continually deepening, it has strong functions, small size, low power consumption, cheap, reliable, easy to use and so on, therefore particularly suitable for systems with control of more and more widely used in automatic control, intelligent instruments, meters, data acquisition, military products and household appliances and other fields.The SCM 51 SCM is the most typical and most representative one. The design of a microcontroller (AT89S51) chip as the core, supplemented by the necessary peripheral circuits, accompanied by the corresponding software in the design of a simple countdown device, which consists of 5V DC power supply.On the hardware side, in addition to SCM, the use of a 7SEG-MPX4-CA digital control to be displayed, with two capacitors and a crystal oscillation circuit composed of a provision of the clock signal, with 5V power supply, a resistor and a capacitor form a reset circuit, and then four resistors to complete the driver. LED uses a dynamic scan showed. On the software side, I use assembly language programming, using the system debugger to debug programs keil C51, and then simulated using Proteus. Proven, the system is stable, the advantage of simple hardware circuit, software, functional, high cost, etc., has certain practical and useful.Key words:SCM;AT89S51SEG-MPX4-CA;digital control; countdown device; assembly language目录前言原理简述1.1开发意义1.2原理简述第一章硬件电路2.1 单片机概述2.2 MCS-51 系列单片机介绍2.3 AT89C51的芯片概述2.4 LED显示器接口技术2.5 元器件筛选第三章系统电路3.1 硬件调试3.2 软件调试参考文献结束语致谢附录源程序前言近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
广州理工学院《单片机原理与应用》课程设计报告设计课题:基于C51的倒计时器设计学院:电气与电子工程学院班级:姓名:学号:指导教师:日期:2020.11.6---2020.11.19评分:摘要本系统采用STC89C52单片机,设计一款可调倒计时器,该倒计时器数字可以通过按键加KEY1/减KEY2自由设定数字,4位数码管显示计时数字,可选择倒计时范围在(1-9999),设定时间后,按下按键KEY3开始倒计时,当倒计时为0时,蜂鸣器接收到信号,发出警报声。
关键词:STC89C52;数码管显示;可控倒计时器A B S T R AC TS TC89C52m i c ro c on t rol l er i s ap pl i e d i n t hi s s ys t e m, de s i gn ana d j u s t ab l e t i m e r, t h ec ou nt do wn t i m er n um b er c a n f r e el y t h r ou gh t h eb ut t o ns t o a dd KEY1/m i n us K E Y2N u m b e rs, t h e fo ur d i gi t a l t u b e d i s pl a y t i m i n g Nu m b e r s,c an ch oo s e t he c o unt do w n r a n ge i n (1-9999), s e t t i n g t i m e,p r ess t h e b ut t on K EY3s t ar t t h e c ou nt do wn,wh e n t h e c o un td ow n t o z er o, b uz ze r t o re c e i v e si gn al s, s e nd s out t he a l a r m.K E Y W O R DSSTC89C52; Digital tube display; Controlled countdown timer目录概述 (1)一、方案设计 (2)1.1设计任务及其要求 (2)1.2器材选定 (2)二、硬件设计 (3)2.1复位电路 (3)2.2按键电路 (3)2.3时钟振荡电路 (4)2.4单片机最小系统模块电路 (4)三、软件设计 (5)3.1程序流程图 (5)3.2设置数值加减程序 (6)3.3设置倒计时程序 (6)3.4设置蜂鸣器程序 (7)3.5总程序 (7)四、调试与实现 (11)4.1实物连线 (12)4.2连线步骤 (13)4.3模块测试 (14)4.4功能实现 (14)五、课程设计体会与总结 (15)5.1总结 (15)参考文献 (15)附录 (16)附录表1 倒计时器元件清单 (16)概述本项目是由单片机通过执行设定设定的程序,设计的一款可调倒计时器,该倒计时器数字可以通过按键加KEY1/减KEY2自由设定数值,由4位数码管显示计时数值,选择在(1-9999)的倒计时范围内,设定时间,按下按键KEY3开始倒计时,当倒计时为0时,蜂鸣器接收到信号,发出警报声。
《30秒倒计时计时器》课程设计专业班级:电子信息科学与技术3班姓名:韩飘飘(080212131)熊元甲(080212132)蔡正军(080212133)指导教师:郭玉设计时间:2013-2014学年第二学期物理与电气工程学院2014年5月28日目录题目,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1目录,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2第一章方案论证,,,,,,,,,,,,,,,,,,,,,,,,,,,,3 1.1课程设计的目的和要求,,,,,,,,,,,,,,,,,,,,3 1.2总体设计,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 第二章硬件设计,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 2.1CPU部分,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 2.2 LED数码管显示器概述,,,,,,,,,,,,,,,,,,,,5 2.3其他元器件介绍及参数选择,,,,,,,,,,,,,,,,,7第三章软件设计,,,,,,,,,,,,,,,,,,,,,,,8第四章4.1实验调试及结果(照片),,,,,,,,,,,,,,94.2 心得体会,,,,,,,,,,,,,,,,,,,,,,,,,,,,9附录A:软件程序,,,,,,,,,,,,,,,,,,,,,,,,,10附录B:参考文献,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12第一章方案论证1.1课程设计目的和要求(1)目的课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。
进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。
课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握、应用得的专门性实践类课程。
如何用AT89C2051单片机自制一个倒计时器
倒计时器在生活非常有用,用单片机自制,不但电路简单,而且功能可根据需要自行设计。
由74系列、40系列小规模数字芯片设计的倒计时器非常多,但有显示不直观(无LED数码管);调整参数不灵活;计时精度低(采用RC振荡)等缺点。
一、功能介绍
1.独立的三路倒计时。
均可独立设置启动、关闭。
2.范围:0~20小时,可任意设定。
关机后数据不丢失。
计时精度高:《0.1S
3.。
独立的三路输出:
a:第1路蜂鸣器输出:15S
b:第2路PNP晶体管输出:5S
c:第3路PNP晶体管输出:直致关机
二、工作原理
电路见上图整机由89c2051、三位LED数码管、K1-K4、R、T等元器件组成。
89C2051内部T1定时器完成100mS定时中断功能。
为了减少硬件,由89C2051的P1口直接输出LED的段码,BCD转换由软件完成。
位选码由P3.0,P3.1,P3.7输出。
键盘扫描与LED 位选码的脚共用。
由于89C2051的灌入电流:20mA。
故直接驱动:蜂鸣器、PNP晶体管。
LED数码管采用共阴高亮型,LED1数码管要旋转180度。
因为要显示:“19:99”,而只有三位数码管,因此用第三位的数码管的小数点表示“1”。
三、软件编制
(软件流程见图三)
在T1中断程序中做一个软时钟,在定时处理程序不断查寻时间,并根据每路的启动状态,。
单片机60秒计时器实验报告一、实验目的本实验旨在设计并实现一个基于单片机的60秒计时器,通过学习单片机的基本原理和编程语言,掌握单片机计时器的设计和实现方法。
二、实验原理1. 单片机基础知识:单片机是一种集成电路芯片,它包含了中央处理器(CPU)、存储器(RAM、ROM)、输入输出(I/O)接口等多个功能模块。
单片机可以通过编写程序来控制各种外设,如LED灯、蜂鸣器等。
2. 计时器原理:计时器是一种用于测量时间的电子设备,它通常由一个晶振作为基准信号源,通过分频和计数来实现精确计时。
在单片机中,计时器通常由定时器(Timer)模块来实现。
3. 60秒计时器设计:本次实验需要设计一个能够精确计时60秒的计时器。
具体步骤如下:(1) 设置定时器工作模式为定时模式;(2) 设置定时时间为60秒;(3) 等待定时完成,并触发中断;(4) 在中断服务函数中输出时间到LED灯或数码管上。
三、实验材料1. STC89C52RC单片机开发板;2. 4位共阳数码管或8个LED灯;3. 杜邦线若干。
四、实验步骤1. 连接电路:将单片机开发板上的P0口连接到4位共阳数码管或8个LED灯的控制引脚,P3口连接到晶振、复位电路等。
2. 编写程序:使用Keil C51编写单片机程序,实现60秒计时器功能。
具体代码如下:#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit LED1 = P0^0; //LED灯连接到P0.0sbit LED2 = P0^1; //LED灯连接到P0.1sbit LED3 = P0^2; //LED灯连接到P0.2sbit LED4 = P0^3; //LED灯连接到P0.3void InitTimer() //初始化定时器{TMOD &= 0xF0; //设置工作模式为定时模式TH1 = 0x3C; //设置定时时间为60秒TL1 = 0xB0;ET1 = 1; //开启定时器中断允许位}void TimerInterrupt() interrupt 3 //定时器中断服务函数{static uchar cnt = 60; //计数器,初始值为60秒if(cnt > 0) cnt--; //每次中断计数器减一if(cnt == 10) { //当计数器为10秒时,LED1闪烁LED1 = ~LED1;}if(cnt == 0) { //当计数器为0秒时,所有LED灯关闭 LED1 = 0;LED2 = 0;LED3 = 0;LED4 = 0;}}void main(){InitTimer(); //初始化定时器while(1) {LED2 = 1; //LED2始终点亮if(TF1) { //如果定时器溢出,重新加载计时器TF1 = 0; //清除定时器中断标志位TH1 = 0x3C; //设置定时时间为60秒TL1 = 0xB0;ET1 = 1; //开启定时器中断允许位cnt = 60; //重置计数器}}}3. 烧录程序:将编写好的程序通过ISP或其他烧录工具烧录到单片机中。
目录一、课程设计的目的、要求和设计目标 (1)1、目的 (1)2、要求 (1)3、目标.................................................................. 1二、硬件要求 (2)1、 AT89C51的芯片 (2)2、 LED 数码管显示器概述 (3)3、其他元器件介绍及参数选择.......................................... 6三、软件设计 (7)1、程序流程图 (7)2、程序导图 (7)3、定时 /计数器初值计算 (7)4、软件程序 (8)5、软件仿真设计………………………………………………… 9四、软件调试…………………………………………………………101、 <.HEX>文件的生成 (10)2、PROTEUS …………………………………………………… 10五、心得体会…………………………………………………………11一、课程设计的目的、要求和设计目标1、目的单片机课程即将结束, 课程的最后一项是单片机的课程设计。
通过课程设计, 我们要将在一个学期中所学的东西进行整理、归纳, 要把学到的知识转化成实际的运用,进一步的了解单片机的实质。
通过动手设计,深入学习,体验单片机在日常生活中的运用,提升专业知识。
课程设计的总体包括:对单片机的了解、运用,设计思路的解析,报告文字的处理等。
通过一系列的实际操作, 完善对课程的学习, 提升自我的学习能力和动手能力。
2、要求(1用单片机 AT89C51的定时器实现 60s 倒计时。
本例中用两位数码管静态显示倒计时秒值。
(2用 PROTEUS 设计,仿真基于 AT89c51单片机的 60s 倒计时实验。
(3通过 Keil uVision2软件,生成 .HEX 格式程序并植入 AT59C51单片机并调试、运行。
3、目标通过自主完成课程设计内容, 整理学期中所学到的知识, 了解单片机的程序过程和一系列的基础操作,将理论和实践相结合,完善课业。
基于单⽚机的倒计时器(计数器)设计⽬录⽬录 (1)摘要 (3)ABSTRACT (4)第⼀章设计要求与⽅案确定 (5)1.1设计意义 (5)1.2设计要求 (5)1.3⽅案确定 (5)第⼆章硬件电路 (6)2.1单⽚机概述 (6)2.1.1 单⽚机基础 (6)2.1.2单⽚机与单⽚机系统 (7)2.1.3 单⽚机的产⽣与发展 (7)2.2MCS-51系列单⽚机介绍 (8)2.2.1 80C51 芯⽚介绍 (8)2.2.3 最⼩系统 (9)2.2.4 定时与中断的概念 (10)2.4LED显⽰电路设计与器件选择 (12)2.4.1.LED显⽰器的选择 (13)2.4.2LED驱动芯⽚选择 (13)2.5按键电路设计 (13)2.6蜂鸣器电路的设计 (14)第三章倒计时器的设计 (15)3.1倒计时器系统设计⽅案及框图 (15)3.2程序设计 (15)3.2.1主程序设计 (15)3.2.2倒计时模块设计 (17)3.2.3键盘扫描数码管显⽰程序 (17)第四章倒计时器设计仿真 (18)4.1设置倒计时初值 (18)4.2开始倒计时 (18)4.3倒计时结束并报警 (18)总结 (20)参考⽂献 (21)致谢 (22)附录1 倒计时器设计源程序 (23)附录2 所⽤元器件清单 (23)摘要近年来随着计算机在社会领域的渗透,单⽚机的应⽤正在不断的⾛向深⼊,同时带动传统控制检测⽇新⽉异更新。
在实时控制和⾃动控制的单⽚机应⽤系统中,单⽚机往往是作为⼀个核⼼部件来使⽤,仅单⽚机⽅⾯知识是不够的,还应根据具体硬件结构,以及针对具体应⽤对象特点的软件结合,以作完善。
本系统由单⽚机系统、矩阵式键盘、蜂鸣器和LED数码管显⽰系统组成。
装置利⽤AT89C51单⽚机与74LS245驱动器驱动LED数码管显⽰。
通过按键控制设定倒计时时间,再通过中断控制系统开始倒计时。
当倒计时时间到时,由P1.0⼝驱动蜂鸣器发声报警。
为了简化电路,降低成本,采⽤以软件为主的的接⼝⽅法。
单片机倒计时课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握其内部结构和功能。
2. 学会编写简单的C语言程序,实现对单片机的控制。
3. 掌握倒计时功能的实现方法,理解其工作原理。
技能目标:1. 能够运用所学知识,设计并实现一个具有倒计时功能的小程序。
2. 培养学生的动手实践能力,提高问题解决和团队协作能力。
3. 提高学生编程和调试程序的能力,培养良好的编程习惯。
情感态度价值观目标:1. 激发学生对单片机及编程的兴趣,培养自主学习、持续探究的热情。
2. 培养学生面对问题时的耐心、细心和信心,形成积极向上的学习态度。
3. 增强学生的团队协作意识,培养尊重他人、共同进步的价值观。
课程性质分析:本课程为实践性较强的课程,结合单片机原理和编程技巧,培养学生动手实践能力和问题解决能力。
学生特点分析:本课程针对的是初中或高中年级的学生,他们对单片机有一定的基础认识,具备基本的编程知识,但实践能力有待提高。
教学要求:1. 课程内容要紧密结合课本,确保学生能够将所学知识应用到实际操作中。
2. 教学过程中注重启发式教学,引导学生主动思考、发现问题、解决问题。
3. 重视团队协作,培养学生的沟通能力和合作精神。
4. 教学评估关注学生的实际操作能力、编程技巧和团队协作表现。
二、教学内容1. 单片机基础理论:回顾单片机的内部结构、工作原理及功能,重点掌握时钟电路、I/O口控制、中断系统等基础知识。
相关教材章节:第一章 单片机概述,第三章 单片机内部结构及工作原理。
2. C语言编程:学习单片机编程基础,掌握C语言的基本语法和编程技巧,能编写简单的控制程序。
相关教材章节:第二章 单片机编程语言,第六章 C语言编程实例。
3. 倒计时程序设计:学习倒计时程序的设计方法,掌握定时器/计数器的工作原理,学会编写倒计时程序。
相关教材章节:第五章 定时器/计数器,第七章 常用程序设计实例。
4. 实践操作:结合所学知识,设计并实现一个具有倒计时功能的小程序,包括硬件连接、程序编写、调试与优化。
1前言12工程概况23正文23.1 设计目的与要求23.2 设计方法的目标23.3 设计方法和内容23.3.1 硬件设计方法33.3.2 软件设计方法63.4 软件调试过程83.4.1 系统调试工具keilC5183.4.2 系统调试工具PROTEUS83.4.3 焊接电路,对各节点测试导通性9 4有关说明105设计总结106致谢107参考文献10在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。
现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。
单片机就是微控制器,它是嵌入式系统中的重要且发展迅速的组成部分。
单片机接上震荡元件(或震荡源)、复位电路和接口电路,载入软件后,可以构成单片机应用系统。
将它嵌入到形形色色的应用系统中,它就成为众多产品、设备的智能化核心。
所以,生产企业称单片机为“微电脑”。
单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。
但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。
从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)方法实现了。
这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。
微控制技术是一种全新的概念,是对传统控制技术的一次革命。
随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。
近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
单片机课程设计实验
实验课程题目:倒计时器
班级:
姓名:
学号:
一、 实验目的:
学习JD51单片机定时器时间计时处理、按键扫描及LED数码管显
示的设计方法。
二、 设计要求:
设计一个倒计时器,用数码管显示剩余时间,通电后显示初始值
10.00表示设定初始值为10分钟,按开始/取消按钮(K4开关键)开
始倒计时,再次按开始/取消按钮(K4开关键)则复位到10.00;复
位后可按时间调整按钮(K1与K2开关键)调整倒计时的初始时间,
当数码管显示00.00时蜂鸣响6声。
三、程序设计:
#include
#define uchar unsigned char
#define uint unsigned int
uchar Count = 0;
uint fs=0;
sbit BELL = P2^4; //设置P2.4口,为控制蜂鸣器发声的引脚
sbit K1 = P3^2;
sbit K2 = P3^3;
sbit K3 = P3^5;
uchar min = 10 ;
uchar sec = 0 ;
uchar ws[4] = {0x01,0x02,0x04,0x08};
uchar table[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//数码管的段码编码 (0-9)
uchar table_d[10] =
{0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; //带点数码管的段
码编码 (0-9)
void delay(void) //误差 0us
{
unsigned char a,b;
for(b=1;b>0;b--)
for(a=7;a>0;a--);
}
void Delay(uint del) // 延时子程序,延时时间为 1ms * del
{ uint x,j;
for(j=0;jfor(x=0;x<=148;x++);
}
void Delay2(uint m)
{
while(--m);
}
void beep(uint n) //蜂鸣器响N次
{
uint i;
for(i=0;i
BELL=0;
Delay2(10000);
BELL=1;
Delay2(10000);
}
}
void Time0_Init() //初始化定时器 11.0592M 50ms
{ EA = 1 ;
TMOD = 0x01;
TH0= 0x4E;
TL0=0x58;
TR0 = 0;
ET0 = 1;
}
void time0() interrupt 1 /*定时器0中断程序*/
{
TH0= 0x4E;
TL0=0x58;
if (Count == 20)
{
Count = 0;
if(sec == 0)
{
if(min == 0)
{
min = 10;
}
else min--;
sec = 59;
}
else sec--;
}
else Count++;
if(min==0&&sec==0) /*调用蜂鸣器程序*/
{
beep(3);
min=0;
sec=0;TR0=0;
}
}
void display(void) //数码管每位动态显示
{
P2 = 0xfe;
P0 = table[min/10];
Delay(2);
P2 = 0xfd;
P0 = table_d[min%10];
Delay(2);
P2 = 0xfb;
P0 = table[sec/10];
Delay(2);
P2 = 0xf7;
P0 = table[sec%10];
Delay(2);
P2=0xf0;
delay();
}
void key1() //按键功能函数
{
if(K1==0||K2==0||K3==0) //判断是否有按键按下
{ display(); /*调用显示函数*/
if(K3==0)
{
if(K3==0)
{
if(fs==0) /*如果K3按下判定如果fs为0,开始计时
*/
{
TR0 = 1;
}
else /*如果fs为1,计时器复位*/
{
min=10;
sec=0;
TR0=0;
}
while(!K3) ; /*按键消抖,每按一次只执行一次*/
Delay(10);
while(!K3) ;
fs=(!fs);
}
}
else if (K1==0) /*按键K1判定函数*/
{
if(K1==0)
{
if(TR0!=1)
{ min++;
if(min==100)
{
min=0;
}
while(!K1); /*按键K1消抖*/
delay();
while(!K1);
}
}
}
else /*按键K2判定函数*/
{ display(); /*调用显示函数*/
if(K2==0)
{
if(TR0!=1)
{ min--;
}
if(min==-1)
{
min=99;
}
while(!K2); /*按键K2消抖*/
delay();
while(!K2);
}
}
}
}
void main() //主函数
{ BELL = 1;
Time0_Init();
while(1)
{
display();
key1();
if(K3==0)
{
key1();
}
}
}
三、 经验和体会
在这次的单片机程序课程设计中,学到了关于单片机的很多东
西。单片机本就是计算机的一种,对其内部结构的学习同时也让我了
解到一些计算机的工作机理。单片机具有软硬结合,体积小,可以很
容易嵌入到各种应用系统中,单片机为核心的嵌入式控制系统在工业
检测与控制、仪器仪表、消费类电子产品、通信、武器装备、各种终
端及计算机外部设备、汽车电子设备和分布式多机系统领域中得到了
广泛了应用。单片机是我们的这个专业中很重要的一门课程,同时也
是一门比较难学的课程,刚开始学习单片机的时候,觉得很难,在自
己的摸索中慢慢的有点懂了。其实单片机主要是难在写程序和写代
码,程序主要是用C语言编程,有时候脑子里没有一点思绪,什么都
想不出来,所以,如果想要把单片机学好的话,首先就要把C语言学
好,单片机主要是建立在C语言的基础上的,不过单片机也可以用汇
编语言编译。虽然我们的单片机课程结束了,我们的课程设计也顺利
地做完了,但是我对学单片机的热情只增不减,还是想要更深一步的
去了解单片机。