单片机
单片机概述
说明:
不同位数的单片机同时存在,各有市场,适 用于不同场合
第1章 概 述
单片机技术的发展
1、体系结构的变化
SCM
SOC: SCM: MCU:
MCU
SOC
一块单片机芯片就是一个比较完整的小型控制系统 寻求单片形态的嵌入式系统的最佳体系结构 芯片包含完整的硬件系统和嵌入式软件 Philips公司的80C51是MCU的典型代表 MCS-51是SCM的典型代表 C8051F
计算机
高速运算 数据分析与处理 存储器容量
增强控制功能 提高工业环境下的可靠性 灵活方便
通用计算机
单片机
第1章 概 述
微机组成结构框图
第1章 概 述
单片机组成框图
实 时 控 制 器 件
定时器/计数器 中断控制 微型计 ADC、DAC 根据需要 算机 PWM 而定 电压比较器 看门狗、DMA 串行口、传感器等 I2C、SPI等外部串行总线接口
单片机
全称为单片微型计算机(Single Chip Microcomputer)
微控制器(Microcontroller Unit)或嵌入式控制器(Embedded Controller)
将微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件
集成在一块芯片上,称其为单片微型计算机,简称单片机。
第1章 概 述
单片机技术的发展
2、单片机的速度越来越快 采用锁相环技术或内部倍频技术 3、低电压与低功耗 2.7V 2.2V 1.8V
0.9V
双电源供电: I/O口,芯片内部
第1章 概 述
单片机技术的发展
4、低噪声与高可靠性技术 WDT:看门狗 5、OTP与掩膜 OPT:(One Time Programmable) 一次性编程 6、MTP向OTP挑战 MTP:(Multiple Time Programmable) 可多次编程
单片机简单介绍
2.系统结构简单,使用方便,实现模块化
3.单片机可靠性高,可工作到10^6 ~10^7小时无故障
4.处理功能强,速度快 5.低电压,低功耗,便于生产便携式产品 6.控制功能强和环境适应能力强
四、单片机的应用范围
目前单片机渗透到我们生活的各个领域,几乎很难找 到哪个领域没有单片机的踪迹.其典型的应用领域有:
现在单片机种类不下100种,现在主流的 51、STC、PLC、avrmaga等等还有很多很多, 比如:
1、51单片机:是一种比较成熟 的产品,并且资源丰富,使 用简单的机电控制,价格便 宜的优点 2、STC单片机:价格便宜、 公能更多抗干扰能力强、兼 容做的很好,软复位功能是 它的一大特点
51SCM仿真器
重点介绍以下几点:
一、什么是单片机 二、单片机发展历程
三、单片机的特点
四、单片机的应用场合 五、单片机的发展趋势
六、主流的单片机产品
单片机是工业控制 的掌门 !
单片机芯片
一、什么是单片机
•
单片机是一种集成电路芯片,是采用超大规模集成电 路技术把具有数据处理能力的中央处理器CPU、随机存储 器RAM、只读存储器ROM、多种I/O口和终端系统、定时器/ 计时器等功能集成到一块硅片上构成的一个小而完善的计 算机系统。
单片机芯片一什么是单片机一什么是单片机?单片机是一种集成电路芯片是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu随机存储器ram只读存储器rom多种io口和终端系统器ram只读存储器rom多种io口和终端系统定时器计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统
制作人:张玉源
二、单片机的发展历程
单片机诞生于1971年,经历了SCM、 MUC、SOC三大阶段
第1章单片机概述
第1章 单片机概述1.1 单片机的概念1.1.1 单片机的定义单片机的全称是单片微型计算机(Single Chip Microcomputer,SCM),也称为微控制器(Micro-Controller Unit,MCU),它是将中央处理单元(Central Processing Unit,CPU)、数据存储器RAM(Random Access Memory,随机读写存储器)、程序存储器ROM(Read Only Memory,只读存储器)以及I/O(Input/Output,输入/输出)接口集成在一块芯片上,构成的一个计算机系统,其组成框图如图1.1所示。
单片机可用下面的“表达式”来表示:单片机 = MPU+ROM+RAM+I/O+功能部件图1.1 单片机的组成框图1.1.2 单片机的诞生单片机诞生于20世纪70年代末,具有代表性的事件是1976年Intel公司推出了MCS-48单片机系列的第一款产品:8048。
这款单片机在一个芯片内集成了超过17000个晶体管,包含一个CPU,1KB的EPROM(Erasable Programmable Read Only Memory,可擦可编程只读存储器),64字节的RAM,27个I/O端口和一个8位的定时器。
8048很快就成为了控制领域的工业标准,它们起初被广泛用来替代诸如洗衣机或交通灯等产品中的控制部分。
1980年,Intel公司在MCS-48的基础上推出了MCS-51系列的第一款单片机8051,这款单片机的功耗、大小和复杂程度都比8048提高了一个数量级。
8051集成了超过60000个晶体管,拥有4KB的ROM,128B的RAM,32个I/O端口,一个串行通信接口和两个16位的定时器。
经过三十多年的发展,MCS-51系列单片机已经形成了一个规模庞大、功能齐全、资源丰富的产品群。
单片机原理与应用技术·2·1.1.3 单片机的应用领域单片机在我们的日常生活和工作中无处不在、无处不有:家用电器中的微波炉、洗衣机、电饭煲、豆浆机、电子秤;住宅小区的监控系统、电梯智能化控制系统;汽车电子设备中的ABS、GPS、ESP、TPMS;医用设备中的呼吸机,各种分析仪,监护仪,病床呼叫系统;公交汽车、地铁站的IC卡读卡机、滚动显示车次和时间的LED点阵显示屏;电脑的外设,如键盘、鼠标、光驱、打印机、复印机、传真机、调制解调器;计算机网络的通信设备;智能化仪表中的万用表、示波器、逻辑分析仪;工厂流水线的智能化管理系统,成套设备中关键工作点的分布式监控系统;导弹的导航装置,飞机上的各种仪表等。
单片机到底是什么呢
单片机到底是什么呢单片机,全称为单片微型计算机,是一种在单个集成电路芯片上集成了处理器、存储器和输入输出接口等各种功能模块的微型计算机系统。
它被广泛应用于电子设备中,如家用电器、汽车电子、工业控制等领域。
本文将从多个角度介绍单片机的定义、特点、应用和发展趋势等内容。
一、单片机的定义与特点单片机是一种集成度非常高的微型计算机系统,其核心部分是一个微型处理器。
相比于传统的计算机系统,单片机具有以下几个特点:1. 高度集成:单片机将处理器、存储器和输入输出接口等功能模块集成在一颗芯片上,大大减小了电路板的体积和重量。
2. 低功耗:由于单片机内部的电路非常简单,功耗较低,适合工作在电池供电的环境。
3. 低成本:由于集成度高,制造工艺成熟,单片机的成本相对较低,可以大规模应用于各个领域。
4. 易编程:单片机采用高级语言编写程序,不需要了解底层电路的细节,开发门槛较低,适合初学者学习和使用。
二、单片机的应用领域单片机在各个领域都得到了广泛的应用,下面将介绍几个典型的应用领域:1. 家用电器:单片机被广泛应用于家用电器中,如空调、洗衣机、冰箱等。
通过单片机的控制,可以实现自动化、智能化的功能,提高用户体验。
2. 汽车电子:单片机在汽车电子领域有着重要的应用,如发动机控制系统、车身控制系统等。
通过单片机的控制,可以提高车辆的安全性、舒适性和燃油效率。
3. 工业控制:单片机在工业控制领域被广泛应用,如自动化生产线、工厂设备等。
通过单片机的控制,可以提高生产效率、降低劳动力成本。
4. 通信设备:单片机在通信设备中起着重要的作用,如手机、路由器等。
通过单片机的控制,可以实现无线通信、数据处理等功能。
三、单片机的发展趋势随着科技的不断发展,单片机也在不断演进和进步。
下面将介绍单片机的几个发展趋势:1. 高性能:随着半导体技术的不断进步,单片机的处理能力越来越强大,可以处理更复杂的任务。
2. 低功耗:随着对节能环保的要求越来越高,单片机的功耗也在不断降低,以满足电池供电等低功耗应用的需求。
第1章单片机简介
玻璃壳
簧片
簧片
触点
N S
惰性气体
N S
ON
OFF
OFF
ON
5.2 干簧管测试原理
N S
N S
匀速旋转
干簧管测试仪单片机系统的面板
单片机
+5V
5.3 干簧管测试仪电路原理图与印制板图
电路原理图(PROTEL绘制)
2.1 单片机的应用特点
● 单片机主要为工业测控而设计,又称微控制器(Microcontroller),具有高集成度、高可靠性、高性价比的特点。 ● 主要应用于工业检测与控制、计算机外设、智能仪器仪表、通讯设备、家用电器等。 特别适合于嵌入式微型机应用系统。
2.3 单片机的发展趋势
★ 程序存储器和数据存储器分开的原因?
① 指令和数据分开存放,分开调取,不会相互混淆; ② 程序存储器和数据存储器使用不同工艺。程序存储器烧录后,运行时内容不改变,要求掉电保持,一般用ROM实现,集成度高,造价低;数据存储器运行时才赋值,一般用RAM实现,造价相对较高; ③ 程序存储器和数据存储器的宽度可以不一致,在CPU字长较短时,可实现单字节指令,提高单片机的可靠性; ④ 程序存储器和数据存储器可使用不同的总线,实现真正的流水作业; ⑤ 单片机面向测控领域,通常情况下,需要较大容量的程序存储器和较少的数据存储器,提高性价比。
印制板图(PROTEL软件绘制)
5.4 编写单片机软件并调试
常用51单片机开发工具软件 Keil uVision
印制板图1 (采用PROTEL软件绘制)
印制板图2 (采用PROTEL软件绘制)
编写单片机软件并调试
常用51单片机开发工具软件 Keil uVision
单片机的简介
单片机的简介单片机(Microcontroller Unit,简称MCU)是一种集成了微处理器核心、存储器、输入输出接口和定时器等功能于一体的集成电路芯片。
它具有体积小、功耗低、成本低廉等特点,广泛应用于各种电子设备中。
本文将对单片机的基本特点、应用领域以及优缺点进行简要介绍。
一、单片机的基本特点单片机主要由中央处理器(CPU)、存储器、输入输出接口(I/O)和定时器等组成。
其核心部分是CPU,负责执行程序,处理数据。
常见的单片机有8位、16位和32位等不同位数的CPU。
存储器包括程序存储器(ROM)和数据存储器(RAM),用于存储程序和数据。
输入输出接口(I/O)用于与外部设备进行通信,可实现数据输入、输出等功能。
定时器用于产生精确的时间延迟。
单片机具有体积小、功耗低的特点,由于其集成度高,外部元器件少,因此相对于传统的电路设计方案,可以大大减小产品体积和功耗。
此外,单片机具有较高的可编程性,可以根据需求进行程序设计,实现各种功能。
其性价比也较高,适合大规模生产。
二、单片机的应用领域由于单片机具有体积小、功耗低、成本低等特点,因此在各个领域都有广泛的应用。
1. 家电控制:单片机广泛应用于家用电器,如洗衣机、冰箱、电视等。
通过控制单片机,可以实现温度控制、计时器功能等。
2. 工业自动化:单片机在工业设备和自动化领域也有重要应用。
例如,可以通过单片机实现对机器设备的监控和控制,提高生产效率和质量。
3. 交通领域:单片机在交通领域有着广泛的应用,如智能交通信号灯、车辆控制系统等。
通过单片机的智能控制,可以提高交通流量和安全性。
4. 医疗设备:单片机在医疗设备中具有重要地位,如心电图仪、血压计等。
通过单片机的高精度控制和数据处理,可以提高医疗设备的性能和准确性。
5. 智能家居:随着物联网的发展,单片机在智能家居领域有着广泛应用。
通过单片机的控制,可以实现家庭安防、远程控制等功能。
三、单片机的优缺点1. 优点:a. 体积小、功耗低:由于单片机的集成度高,体积相对较小,适合应用于体积有限的电子设备中,并且其功耗低,有助于延长电池寿命。
什么是单片机
第0章绪论1.什么是单片机?其主要特点有那些?解:单片微型计算机(Single-Chip Microcomputer),简称单片机。
就是将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)和其他多种功能器件集成在一块芯片上的微型计算机。
单片机的主要特点有:(1)可靠性高(2)便于扩展(3)控制功能强(4)低电压、低功耗(5)片内存储容量较小,除此之外,单片机还具有集成度高、体积小、性价比高、应用广泛、易于产品化等特点2.当前单片机的主要产品有那些?各有何特点?举出你生活中应用单片机的例子。
解:当前单片机的主要产品有:Intel的8051系列、Motorola的M68HC系列、Philips(飞利浦)的80C51系列、台湾义隆公司(EMC)EM78系列单片机、美国Microchip公司的PIC 单片机系列、Atmel公司的A T90系列单片机Ubicom公司的Scenix单片机、日本爱普生科技公司的Epson单片机、Zilog公司的Z86系列、美国国家半导体公司NSCOP8单片机、台湾Winbond(华邦)的W78系列等。
MCS-51为主流产品。
MSP430的功能较强。
是一种特低功耗的Flash微控制器。
主要用于三表及超低功耗场合。
EM78系列单片机采用高速CMOS工艺制造,低功耗设计为低功耗产品,价格较低。
具有三个中断源、R-OPTION功能、I/O唤醒功能、多功能I/O口等。
具有优越的数据处理性能,采用RISC结构设计。
Microship单片机是市场份额增长较快的单片机。
它的主要产品是PIC系列8位单片机。
CPU采用RISC结构,运行速度快,价格低适于用量大、档次低、价格敏感的产品。
Motorola是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。
其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。
A VR是增强RISC内载Flash的单片机,单片机内部32个寄存器全部与ALU直接连接,突破瓶颈限制,每1MHz可实现1MIPS的处理能力,为高速、低功耗产品。
1.1 单片机概述
第1章 单片机基础知识概述
随着单片机从早期的4位发展到8位、16位直至32位,单片 机的功能在不断增强,嵌入式应用能力也在不断提高。
然而,由于复杂系统的功能大都可以通过简单嵌入式系统 组合实现,而8位单片机以其价格低廉性能适中的特点, 已可满足简单嵌入式系统的要求。这表明,嵌入式应用领 域中大量需要的仍是8位单片机,在当前及以后的相当一 段时间内8位单片机仍将占据单片机应用的主导地位。
第1章 单片机基础知识概述
第二阶段:MCU(Micro Controller Unit)即微控制器阶段 ,其主要的技术发展方向是,不断推进在嵌入式系统中集 成各种外围电路与接口电路的能力,以满足智能化控制的 需求。在此阶段中,Philips公司以其在嵌入式应用方面的 强大实力,推出了基于MCS-51内核的微控制器系列产品 ,使单片机进入MCU阶段。
第1章 单片机基础知识概述
③ 低功耗。目前,市场上有一半以上的单片机产品已 CHMOS化,这类单片机具有功耗小的优点,许多单片机 已可以在2.2V电压下运行,有的能在1.2V或0.9V低电压 下工作,功耗为μW级。
④ 高性价比。随着单片机的应用越来越广泛,各单片 机厂家会进一步改进单片机的性能,从而增强产品的竞 争力。同时,价格也是各厂家竞争的一个重要方面。所 以,更高性价比的单片机会逐渐进入市场。
第1章 单片机基础知识概述
④ 汽车电子与航空航天电子系统。通常这些系统中的集中 显示系统、动力监测控制系统、自动驾驭系统、通信系统 及运行监视器(黑匣子)等,都是将单片机嵌入其中实现 系统功能。
第1章 单片机基础知识概述
⑤ 家用电器。单片机应用到消费类产品之中,能大大提高 它们的性价比,提高产品在市场上的竞争力。目前家用电 器几乎都是单片机控制的产品,例如,空调、冰箱、洗衣 机、微波炉、彩电、音响、家庭报警器及电子玩具等。
单片机
1.什么是单片机?单片机即单片微型计算机,是将微型处理器CPU、储存器(只读存储器POM和随机存储器PAM)、总线、定时/计数器、输入/输出接口I/O和其他多种功能器件集成在一小块芯片上构成的微型计算机。
2.单片机主要特点:集成度高、体积小、可靠性高、控制功能强、低功耗、可扩展性好、性价比高3.51单片机内部结构:8位CPU、5个中断源,分为2个优先级、一个全双工串行I/O口、8位并行I/O口P0,P1,P2,P3、4KB的片内程序存储器(8031无)、片内数据存储器(片内RAM)、含21个特殊功能寄存器SFR- Special Function Register 、2个16位定时器/计数器、振荡器和时序逻辑(振荡频率1.2~12MHZ )CPU是单片机的核心部分,振荡器和时序逻辑产生内部时钟,中断控制逻辑应付突发事件,并行I/O接口和串行I/O接口是数据传输通道,程序存储器存放单片机程序,是指挥所,数据存储器存放内部待定处理的数据和处理后的结果,是数据仓库,定时/计数器完成对外输入脉冲的计数或根据内部时钟及定时设置,周期性的产生定时信号。
4.CPU结构与工作原理CPU是单片机的核心,由运算器和控制器等部件组成(1)运算器以8位算术/逻辑运算部件ALU为核心,加上通过内部总线而挂在其周围的暂存器TMP1、TMP2、累加器ACC、寄存器B、状态标志寄存器PSW以及布尔处理器组成整个运算器的逻辑电路。
(2)累加器ACC(8位)需要ALU处理的数据和计算结果多数要经过A累加器。
单片机内部数据传送的中转站。
累加器A在数据传输和处理过程中起重要作用。
(3)寄存器B(8位)与A累加器配合执行乘、除运算。
也可用作通用寄存器。
A和ACC的实质是一样的,对应地址都是0E0H,只是汇编在使用时,在格式上取了两个名字。
使用有一定的规律:当其要进行位表示时,必须用ACC,比如要写成ACC.7,而不能写成A.7;但当其作为8位二进制数时,ACC 和A都能用,但还是有区别:比如INC ACC和INC A都能用还有PUSH ACC, POP ACC不可以写成PUSH A 和POP A(4)程序状态字寄存器PSW (8位)1.进位标志Cy(PSW.7)表示运算是否有进位(借位),有“1”,否则“0”,很多算术逻辑运算指令都会影响。
单片机—百度百科
单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端[1]的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机芯片单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。 可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
单片机基础知识
▼F0 (PSW.5)可由用户定义的标志位。
PSW.7 PSW.6 PSW.5
CY AC F0 RS1 RS0 OV
PSW.0
P
▼RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位。
RS1,RS0 = 0 0 则选择了工作寄存器组 0 区
R0~R7分别代表00H ~07H单元。 RS1,RS0 = 0 1 则选择了工作寄存器组 1 区 R0~R7分别代表08H ~0FH单元。
5、MSP430系列
TI(德州仪器)公司推出的新型高性能单片机。 16位精简指令结构可确保运行速度、带FLASH 的微控制器可将功耗降低5倍、具有多种省电模 式、型号相当丰富。
五、 单片机的应用和应用系统结构
1、单片机的应用
◆智能仪器仪表
单片机用于各种仪器仪表, 一方面提高了仪器仪表的使用 功能和精度,使仪器仪表智能 化,同时还简化了仪器仪表的 硬件结构,从而可以方便地完 成仪器仪表产品的升级换代。 如各种智能电气测量仪表、智 能传感器等。
总
线
并行端口
串行端口
中断系统
P0 P1 P2 P3
TXD RXD
INT0 INT1
1、中央处理器CPU
CPU(Central Processing Unit)是计算机的核心部件,
它由运算器和控制器组成, 完成计算机的运算和控制功能。
运算器又称算术逻辑部件(ALU, Aithmctieal Logic
4、AVR系列
美国ATMEL公司推出的全新配置精简指令集 (RISC)的单片机系列。高速度、高保密性、低 功耗。
片内程序存储器采用Flash 大多数指令仅用1个晶振周期 采用C语言编程 CMOS工艺生产
单片机概述
3. MCS-51单片机系列产品
MCS-51是一个单片机系列产品,具有多种芯片型号。具 体说,按其内部资源配置的不同,MCS-51可分为两个子系列和 四种类型,见表1.1。
表1.1 MCS-51系列单片机
资源配置
子系列
无
片内ROM形式片内源自片内定时(3)可靠性高
单片机产品和其他产品一样,出厂指标有军用品、工业品和 商用品之分。其中军用品要求绝对可靠,在任何恶劣的环境下都 能可靠工作,主要用于武器系统、航空器等方面。单片机属于工 业品,能在常温下工作,不需要在温度恒定的机房内工作。由于 单片机总线大多在芯片内部不易受干扰,而且单片机应用系统体 积小,易于屏蔽,所以单片机的可靠性较高。
8751:是以4KB的EPROM代替4KB ROM的8051。
8951:是以4KB的E2PROM(或Flash ROM)代替4KB ROM的8051。
8031:是内部无ROM的8051。单片机8031不构成完整计算机,必 须外接EPROM作为程序存储器。
52子系列也包含4个产品,分别是51子系列的增强型。由于 资源数量的增加,芯片的功能有所增强。片内ROM容量从4KB 增加到8KB;RAM容量从128B增加到256B;定时器数目从2个增 加到3个;中断源从5个增加到6个等。
单片机原理与应用
1.什么叫单片机
它是把组成微型计算机的各功能部件:中央处理器CPU、 随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/ 计数器以及串行通信接口等制作在一块集成芯片中,构成一个 完整的微型计算机。
单片机是单片微型计算机的简称。
单片机主要应用于控制领域,它的结构与指令功能都是按 照工业控制要求设计的,故又称为微控制器(Micro Controller Unit)。在国际上,“微控制器”的叫法更通用 些,在我国比较习惯“单片机”这一名称。
1.1单片机的概念
二、单片机的应用领域 1. 工业自动化方面 2. 仪器仪表方面 3. 家用电器方面 4. 信息和通信产品方面 5. 军事装备方面
ICE —— In Circuit Emulator 专门的单片机开发系统,本身也是一个单片机系统, 只不过它是一个用于设计系统的系统。
五、单片机的程序设计语言和软件 在单片机开发系统中使用机器语言、汇编语言和 高级语言,而在单片机应用系统中只使用机器语 言。 汇编语言:对机器语言的改进,与单片机硬件关 系密切。 高级语言:编译型语言有PL/M51、C-51、C、 MBASIC-51等,解释型的有MBASIC和 MBASIC—52等。
三、单片机与单片机系统
单片机由CPU、RAM、ROM、中断系统、定时 器/计数器以及I/O口电路等主要微机部件组成, 但一块芯片不能把计算机的全部电路都集成到上 面。如电阻、电容、石英晶体等都很难集成到芯 片上。另外,在实际应用中,常常需要扩展外围 电路和外围芯片。 区别:单片机一般指芯片本身。通常所说的单片 机系统都是为实现某一控制应用需要由用户设计 的围绕单片机芯片而组建的计算机应用系统。
二、通用单片机与专用单片机
按单片机适用范围区分,可分为通用型和专用型 两类。 通用型单片机(如8051)适用面广,可根据用户需要 设计成各种不同应用的控制系统。 专用型单片机是针对某一类产品甚至某一个产品 设计生产的。这种应用的特点是针对性强、批量 大。由于专用单片机芯片是针对特定产品或应用 而专门设计的,已经对系统结构的最简化、软硬 件资源利用的最优化、可靠性和成本的最佳化等 方面都作了通盘的考虑。所以,专用单片机具有 综合优势。
1. 1. 3 单片机的应用
一、单片机应用的特点
1. 控制系统在线应用 2. 软硬件结合 3. 应用现场环境恶劣 4. 应用的广泛性及其重要意义 以软件取代硬件并能提高系统性能的控制系统 “软化”技术,称之为微控制技术。微控制技术 是对传统控制技术的一次革命,单片机的应用从 根本上改变了控制系统传统的设计思想和设计方 法。
单片机名词解释
单片机名词解释单片机(Microcontroller),是一种集成电路芯片,主要用于嵌入式系统中的控制和运算。
它集成了处理器核心、存储器、输入输出接口和定时器等外围设备,具备一定的运算能力和控制能力。
单片机由于其体积小、功耗低、性能高、接口丰富等特点,被广泛应用于家电、汽车电子、工控自动化、通信设备等领域。
以下是一些单片机常见的名词解释:1. 处理器核心(Processor Core):单片机的处理器核心是其计算和控制的主要部分,包括中央处理器(CPU)、运算器(ALU)和控制器等。
它负责执行指令、处理数据和控制系统的运行。
2. 存储器(Memory):单片机的存储器分为内部存储器和外部存储器。
内部存储器包括RAM(随机存取存储器)和ROM(只读存储器),用于存储程序指令和数据。
外部存储器可以是闪存、EPROM、EEPROM等,用于扩展单片机的存储容量。
3. 输入输出接口(I/O Interface):单片机的输入输出接口用于与外部设备进行数据交互。
例如,GPIO(通用输入输出口)可以连接开关、LED等外部设备;串口、并口可以连接显示器、打印机等外部设备。
4. 定时器(Timer):定时器是单片机的一个重要外设,用于生成精确的时间延迟和定时事件。
它可以产生定时中断,使程序能够按照一定的时间间隔执行特定的操作。
5. 中断(Interrupt):中断是单片机的一种机制,可以在特定事件发生时打断程序的正常执行,优先执行相应的中断服务程序。
中断可以是外部中断,例如按钮按下;也可以是定时器中断,例如定时器溢出。
6. 片内外设(Peripheral):片内外设是指单片机集成在芯片内部的各种功能模块,例如ADC(模数转换器)、PWM(脉冲宽度调制器)、I2C(串行通信接口)等。
这些外设可以直接与单片机核心进行数据交互,实现更多的应用功能。
7. 编程(Programming):单片机的编程是指将用户的程序代码加载到单片机内存中,使单片机能够执行这些代码。
单片机究竟是什么
单片机1. 名词解释:单片机(Single-Chip Microcomputer)是一种集成电路芯片,也称Microcontroller(MCU). 包括:中央处理器(CPU), 存储器(RAM和ROM), 输入/输出(I/O), 计时器/计数器(timer, counter)等,集成到一块硅片上构成完善的微型计算机系统。
相比于离线式计算机(比如家用PC), 单片机是在线式实时控制的计算机。
在线式即现场控制,需要抗干扰能力和较低的成本。
2. 类型:包括8位、16位、32位、ARM、PIC、AVR和基于FPGA的单片机。
通过程序代码控制,存放在存储器中:只读存储器ROM(用来存储用户编译好的程序), 随机存储器RAM(变量放在随机存储器中).3. 单片机组成部分:1)CPU核心是单片机的主要计算单元,负责执行程序指令和数据处理。
2)RAM, ROM. 存储器用于存储程序指令、数据和临时变量等。
3)I/O, 输入/输出接口用于与外部设备进行数据交互。
(在单片机上,IO其实就是芯片上的引脚)4)Timer, counter. 时钟和计时器用于提供时间基准和定时功能。
5)晶振的作用就是给单片机提供一个时钟信号,时钟信号使单片机各内部组件同步工作并且和外部设备通信时也能达到同步,时钟信号会形成规律的时钟周期。
时钟周期是单片机内CPU工作最基本的,最小的时间单位,在一个或者多个时钟周期内,一系列的动作被执行。
无晶振,就没有时钟周期,没有时间周期,就无法执行程序代码,单片机无法工作。
4. 应用单片机通常具有较强的实时性能和可编程性,可以通过编程来实现各种功能和任务。
单片机可编程,并支持C, C++和汇编等编程语言。
常用于控制和执行各种嵌入式系统中的任务,如家电、汽车电子、工业自动化、通信设备等。
对单片机的认识
对单片机的认识单片机(Microcontroller Unit,缩写为MCU)是一种集成电路芯片,具有微处理器核心、存储器、输入输出接口以及其他功能模块,通常用于控制和执行特定任务。
单片机在各种电子设备中广泛应用,包括家电、汽车电子、智能手机等。
本文将从单片机的定义、工作原理、应用领域以及未来发展趋势等方面对单片机进行介绍。
一、单片机的定义单片机是一种集成电路芯片,内部集成了微处理器、存储器和外围设备控制接口等功能模块。
与传统的大型计算机相比,单片机体积小、功耗低,适合嵌入式系统应用。
单片机通常由指令系统、执行单元、存储器和I/O接口等部分组成,可以完成各种控制任务和算术运算。
二、单片机的工作原理单片机的工作原理可以简单概括为:接收输入信号、处理输入信号、输出控制信号。
单片机通过内部的运算、逻辑电路对输入信号进行处理,然后根据处理结果控制输出接口的状态。
单片机的运算和逻辑电路根据事先编写好的程序进行操作,程序中包含了各种指令和算法,用于实现特定的功能。
三、单片机的应用领域1. 家电控制:单片机广泛应用于家电产品,如洗衣机、冰箱、空调等。
通过单片机的控制,可以实现家电的自动化控制、定时启动等功能,提高用户的使用体验。
2. 汽车电子:现代汽车中的许多功能都是通过单片机实现的,例如发动机控制单元(ECU)、车载娱乐系统、智能导航等。
单片机在汽车电子领域的应用不断推动了汽车智能化和安全性的提升。
3. 工业控制:单片机在工业控制领域具有广泛的应用,例如自动化生产线、仪器仪表、传感器控制等。
单片机的高可靠性和强大的功能确保了工业设备的稳定运行和精确控制。
4. 智能手机:单片机也被用于智能手机等消费电子产品中,用于控制电源管理、触摸屏驱动、无线通信等功能。
单片机的小尺寸和低功耗满足了智能手机对电池寿命和性能的要求。
四、单片机的未来发展趋势随着物联网和人工智能等技术的快速发展,单片机将迎来更广阔的应用前景。
未来的单片机将更加小型化、智能化,具备更强大的计算和通信能力,可以满足各种异构系统的要求。
单片机原理与应用
单片机原理与应用一、引言单片机作为一种高度集成的微型计算机系统,具有体积小、成本低、功能强、可靠性高等优点,广泛应用于工业自动化、智能仪器、消费电子、家用电器等领域。
本文将详细介绍单片机的原理及其在各行各业中的应用。
二、单片机原理1.单片机概述单片机(MicrocontrollerUnit,MCU)是一种将微处理器、存储器、定时器/计数器、输入/输出接口等集成在一块芯片上的微型计算机系统。
它具有处理能力强、体积小、功耗低、成本低等特点,便于应用于各种嵌入式系统。
2.单片机结构单片机主要由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入/输出接口(I/O口)、定时器/计数器、中断系统等组成。
其中,CPU负责执行程序和数据处理,存储器用于存储程序和数据,I/O口负责与外部设备通信,定时器/计数器用于实现定时和计数功能,中断系统用于处理各种中断请求。
3.单片机工作原理单片机的工作原理可以分为取指令、译码、执行、存储等阶段。
在取指令阶段,CPU从程序存储器中读取指令;在译码阶段,CPU对指令进行解码,确定操作类型和操作数;在执行阶段,CPU根据指令执行相应的操作;在存储阶段,CPU将执行结果存储到数据存储器中。
三、单片机应用1.工业控制单片机在工业控制领域具有广泛的应用,如PLC(可编程逻辑控制器)、温度控制器、电机控制器等。
通过编程,单片机可以实现复杂的逻辑控制和运算功能,提高生产效率和产品质量。
2.智能仪器单片机在智能仪器领域中的应用包括数字电压表、数字频率计、示波器等。
利用单片机的处理能力和I/O口功能,可以实现对各种信号的采集、处理、显示和控制。
3.消费电子单片机在消费电子领域中的应用包括方式、电视、洗衣机、空调等。
通过编程,单片机可以实现各种功能,如用户界面控制、信号处理、通信等。
4.家用电器单片机在家用电器领域中的应用包括微波炉、电饭煲、豆浆机等。
利用单片机的控制功能,可以实现温度控制、定时控制、故障检测等功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南科技大学信息与电气工程学院《课程设计报告》题目:多功能数字时钟专业:通信工程班级:一班姓名:徐升炜学号: 1254040128指导教师:尹艳群2015年 6 月 23 日信息与电气工程学院课程设计任务书2014—2015 学年第二学期专业:通信工程班级:一班学号: 1254040128 姓名:徐升炜课程设计名称:单片机课程设计设计题目:多功能数字时钟完成期限:自 2015 年 6 月 8 日至 2015 年 6 月 19 日共 2 周设计依据、要求及主要内容(可另加附页):一、设计依据本方案以STC15F2K60S2单片机作为主控核心,与时钟芯片、LED显示、按键等模块组成硬件系统,通过《单片机原理与应用》这门课的课程设计,学生应能对STC15系列单片机有一个全面的认识,掌握以STC15系列单片机为核心的电子电路的设计方法和应用技术。
二、要求(1)利用STC15F2K60S2单片机作为主控器组成一个电子日历和电子钟。
(2)利用LED分别显示当前时间和日历。
(3)利用尽可能少的开关实现:校正日历和时间(4)定制闹钟(时、分、表)三、设计内容该课程设计是利用STC15F2K60S2单片机内容的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。
设计的电子时钟通过数码管显示,并通过按键实现时间和暂停、启动控制等。
我们选择的方法是单片机开发设计使用的传统方法,通过本次设计,可以了解整个单片机开发的流程。
文章首先介绍了单片机的基本知识,然后同时给出了框图,流程图等。
论文涵盖了从需求分析,系统设计,编程,原理图等产品开发的基本过程。
近几年,单片机在各个领域得到广泛的应用。
从工业到人们的日常生活,大部分的科技产品都是通过单片机来控制。
在它问世之前,自动控制设备不能被广泛的应用,这是因为控制设备的体积庞大,耗电量大,价格昂贵。
在第一台微处理器成功研制不久,第一个单片机就问世了。
因为其小巧的体积,低功耗,以及高效的性能,单片机受到了大家的欢迎。
指导教师(签字):批准日期:年月日摘要随着科学技术的不断发展,人们对时间计量的精度要求越来越高。
高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟石晶表石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便;另一方面《单片机微机原理与接口技术》是一门实践性很强的的课程,只靠短短的课堂教学,学生只能略懂一些肤浅的表面知识,通过课程设计,学生亲自动手去做,在发现问题和解决问题中,才能够更好的理解《单片机微机原理与接口技术》的理论知识,提干我们的知识运用能力和实验技术,增强实践能力,为我们将来在技术领域的发展奠定了一定的实践基础。
本次电子技术基础课程设计选题是数字钟的设计。
主要原理是由晶体振荡电路产生多谐振荡,经过分频器分频后输出稳定的秒脉冲,作为时间基准。
秒计数器满60向分计数器进位,分计数器满60向小时计数器进位,小时计数器以24为一个周期,并实现小时高位具有零熄灭的功能。
计数器的输出经译码器送到显示器,可在相应位置正确显示时、分、秒。
计时出现误差或者调整时间可以用校时电路进行时、分的调整。
目录1.设计的任务与要求 (5)1.1数字钟的设计目的: (5)1.2数字钟的设计要求 (5)1.3数字电子钟的基本原理 (5)2.电路仿真与设计 (6)2.1系统设计框图 (6)2.2单元模块设计 (7)2.2.1 74LHC595芯片 (7)2.2.2 数码管驱动 (7)2.2.3 行列式按键 (8)2.2.4电子日历主芯片STC15F2K60S2 (9)2.2.5综合框图 (9)3.程序设计 (10)4.课程设计心得体会 (19)5.参考资料 (20)1.设计的任务与要求1.1数字钟的设计目的:(1) 掌握数字电子钟的设计方法和制作过程。
(2)掌握常用数字集成电路的功能和使用。
(3)了解各芯片的逻辑功能、引脚安排和使用方法。
(4)掌握计数器相互级联的方法。
(5)学会用仿真软件对设计的原理图进行仿真。
1.2数字钟的设计要求:(1)利用STC15F2K60S2单片机作为主控器组成一个电子日历和电子钟。
(2)利用LED分别显示当前时间和日历。
(3)利用尽可能少的开关实现:校正日历和时间(4)定制闹钟(时、分、表)1.3数字电子钟的基本原理:单片机先通过了STC15F2K60S2主芯片,再通过74LHC595寄存器驱动时钟屏幕,,芯片驱动方式则是并行驱动,这样可以避免每次传送新的显示数据时,都需要从头到尾传送 24 个笔段数据。
目前的传送方式可以只是传送已经变化了的显示数据。
晶体频率使用的是 32768HZ,这种低频率时基,对掉电保护的电池耗电关系极大,STC15F2K60S2单片机具有的实时时钟的功能,大大方便了电路设计。
按照常规,在如此低的频率下,对单片机的指令执行速度会有矛盾,但是,这种单片机却能够让程序运行时使用“内部RC ”振荡频率而仅仅是时钟部分使用 32768HZ频率,这样,就可以选择“内部RC”高达数 MHZ 的指令运行频率而不用理会时钟走时频率,两者依靠这种特有的“RTC”功能获得了很理想的配合。
当进入电池掉电保护的时候,可以令电池耗电维持在仅仅数十 uA 的水平,一只 60mAh的掉电保护电池,就可以让掉电保护时间长达几个月之久!进入掉电保护后,屏幕不显示,所有按钮和控制功能暂时失效,仅仅实时时钟仍然继续走时。
当外部主电源恢复供电后,所有功能自动恢复,实时时钟无需调整。
单片机的 15P是复位引脚,当上电时或者程序运行发生异常时,可以通过此引脚让程序重新运行。
但是,一般地,单片机本身具有“看门狗”自动复位功能,可以快速地自动对程序运行异常进行复位,人们几乎觉察不到它的复位影响。
单片机的 10P 引脚安排为专门检测外部供电是否正常,当外部 5V供电掉电后,单片机将立即进入掉电保护状态,而在电路中电源能量还没有完全消耗尽之前,程序也必须抢先对各个端口进行配置,以便进入低电源消耗状态。
电路图中有两个输出端口,一个是“睡眠”控制输出端口,它只有在开始倒计时的时候才会输出高电平;另一个时“定时”输出端口,它只有在到达定时时间的时候才会输出高电平。
合理地利用这两个输出,就能够安排一些简单的自动控制,例如,可以利用“睡眠”的倒计时功能来给电孵化行业的“自动翻蛋”使用,利用“定时”功能来作为一只“电子闹钟”等等。
电路中,屏幕的公共引脚接有一只 NPN小功率三极管,这主要是在单片机对 74LHC595 传送数据时,临时关闭显示屏幕的供电以免产生“鬼影”,同时,在掉电保护时则可以完全关闭屏幕的供电。
单片机预留了两个端口没有使用,这里可以在将来安排外接电存储器,以便派生例如电子打铃仪或者多次定时数据存储,成为功能更加丰富的时钟品种。
各个按钮的使用说明:(请参考印刷板图)。
各按键在印刷板上的编号与单片机芯片引脚和功能关系,请参考下面表格。
其中,标注“G”的焊盘是电路供电的参考点,即 5V电源的负极,俗称“地线”。
所有按键都是需要与这个“G”接通的时候(需要串入 1K 左右电阻),该按键才算是“被按下”。
当这个“G”引出到按键板时,需要在它上面串接一只 1K左右的电阻,不要直接让其与各按键引脚直接“短接”,以防止芯片内部引脚损坏。
2.电路仿真与设计2.1系统设计框图2.2单元模块设计2.2.1 74LHC595芯片这是由两片74Lhc595连接成的60进制计数器他们都是工作在置数方式,低位是连接成为一个十进制计数器,它的clk端接的是低位的进位脉冲。
高位接成了六进制计数器。
当输出端为0101的时候在下个时钟的上升沿把数据置数成0000 这样就形成了6进制计数器,连个级联就成为了60进制计数器,分别可以作为秒和分记时。
24进制计数器的个位也是用置数法连接成了十进制计数器。
74LHC595的两个输入引脚接到了十位的Q1和个位的Q2 上输出引脚接到了电路板上所有161芯片的Rest端。
也就是说当十位为0010个位为0100的时候(24)使所有161复位归0。
完成24进制计数。
2.2.2数码管驱动数码管驱动电路时由DPY组成,它能将161输出的标准BCD码变换成驱动七段数码管所需的信号。
上面的200欧电阻是为数码管限流用的,防止由于电流太大损坏主芯片2.2.3行列式按键键盘分编码键盘和非编码键盘,键盘上闭合键的识别由专用的硬件编码器实现,并产生按键编码号或键值的称为编码键盘,如计算机键盘。
而靠软件编程来识别的称为非编码键盘,在单片机组成的各种系统中,用的最多的是非编码键盘,也有用到编码键盘的,我们这里用的就是非编码键盘。
如图2键盘图所示,当按钮按下时;端口会变成低电平,我们设计一段扫描程序来判断那个端口是低电平来判断是否有按键按下。
2.2.4电子日历主芯片STC15F2K60S22.2.5综合框图3.程序设计#define MAIN_Fosc 22118400L#include "STC15Fxxxx.H"#define Timer0_Reload (65536UL -(MAIN_Fosc / 1000))#define DIS_DOT 0x20#define DIS_BLACK 0x10#define DIS_ 0x11u8 code t_display[]={// 0 1 2 3 4 5 6 7 8 9 A B CD E F0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,//black - H J K L N o P U t G Q r M y0x00,0x40,0x76,0x1E,0x70,0x38,0x37,0x5C,0x73,0x3E,0x78,0x3d,0x67,0x50 ,0x37,0x6e,0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x46 };u8 code T_COM[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};sbit P_HC595_SER = P4^0; //pin 14 SER data inputsbit P_HC595_RCLK = P5^4; //pin 12 RCLk store (latch) clock sbit P_HC595_SRCLK = P4^3; //pin 11 SRCLK Shift data clocku8 LED8[8];u8 display_index;bit B_1ms;u8 hour,minute,second;u8 hour1,minute1,second1;u16 year,month,day;u16 msecond;u8 KeyCode;u8 cnt10ms;u8 IO_KeyState, IO_KeyState1, IO_KeyHoldCnt;u8 cnt50ms;u8 m;void IO_KeyScan(void); //50ms callvoid DisplayRTC(void){if(m==0) //{if(hour >= 10) LED8[0] = hour / 10;else LED8[0] = DIS_BLACK;LED8[1] = hour % 10;LED8[2] = DIS_;LED8[3] = minute / 10;LED8[4] = minute % 10;LED8[5] = DIS_;LED8[6] = second / 10;LED8[7] = second % 10;}else if(m==1){LED8[0]=2;LED8[1]=0;LED8[2]=year/10;LED8[3]=year%10;LED8[4]=month/10;LED8[5]=month%10;LED8[6] = day / 10;LED8[7] = day % 10;}else if(m==2){if(hour >= 10) LED8[0] = hour1 / 10;else LED8[0] = DIS_BLACK;LED8[1] = hour1 % 10;LED8[2] = DIS_;LED8[3] = minute1 / 10;LED8[4] = minute1 % 10;LED8[5] = DIS_;LED8[6] = second1 / 10;LED8[7] = second1 % 10;}if(hour==hour1)if(minute==minute1)if(second==second1){P17=P16=P47=P46=0;}}void RTC(void){if(++second >= 60){second = 0;if(++minute >= 60){minute = 0;if(++hour >= 24){hour = 0;day++;if(day>30){day=0;month++;if(month>12){month=0;year++;}}}}}}void main(void){u8 i,k;P0M1 = 0; P0M0 = 0;P1M1 = 0; P1M0 = 0;P2M1 = 0; P2M0 = 0;P3M1 = 0; P3M0 = 0;P4M1 = 0; P4M0 = 0;P5M1 = 0; P5M0 = 0;P6M1 = 0; P6M0 = 0;P7M1 = 0; P7M0 = 0;AUXR = 0x80; //Timer0 set as 1T, 16 bits timer auto-reload, TH0 = (u8)(Timer0_Reload / 256);TL0 = (u8)(Timer0_Reload % 256);ET0 = 1; //Timer0 interrupt enableTR0 = 1; //Tiner0 runEA = 1;display_index = 0;hour = 11;minute = 59;second = 58;hour1 = 11;minute1 = 59;second1 = 58;year = 15;month = 6;day = 19;m=0;RTC();DisplayRTC();// for(i=0; i<8; i++) LED8[i] = DIS_BLACK;for(i=0; i<8; i++) LED8[i] = i;k = 0;KeyCode = 0;cnt10ms = 0;IO_KeyState = 0;IO_KeyState1 = 0;IO_KeyHoldCnt = 0;cnt50ms = 0;while(1){if(B_1ms){B_1ms = 0;if(++msecond >= 1000){msecond = 0;RTC();DisplayRTC();}if(++cnt50ms >= 50){cnt50ms = 0;IO_KeyScan();}if(KeyCode > 0){if(KeyCode == 17) //hour +1{if(m==0){if(++hour >= 24) hour = 0;}else if(m==1){if(++year>=100)year=0;}else if(m==2){if(++hour1 >= 24) hour1 = 0;}DisplayRTC();}if(KeyCode == 18) //hour -1{if(m==0){if(--hour >= 24) hour = 23;}else if(m==1){if(--year>=100)year=99;}else if(m==2){if(--hour1 >= 24) hour1 = 23;}DisplayRTC();}if(KeyCode == 19) //minute +1{if(m==0){second = 0;if(++minute >= 60) minute = 0;}else if(m==1){month++;if(month>=30)month=0;}else if(m==2){if(++minute1 >= 60) minute1 = 0;}DisplayRTC();}if(KeyCode == 20) //minute -1{if(m==0){second = 0;if(--minute >= 60) minute = 59;}else if(m==1){month--;if(month>30)month=29;}else if(m==2){if(--minute1 >= 60) minute1 = 59;}DisplayRTC();}if(KeyCode == 21) //second +1{if(m==0){if(++second >= 60) hour = 0;}else if(m==1){if(++day>=30)day=0;}else if(m==2){if(++second1 >= 60) second1 = 0;}DisplayRTC();}if(KeyCode == 22) //second -1{if(m==0){if(--second >= 60) second = 59;}else if(m==1){if(--day>=30)day=29;}else if(m==2){if(--second1 >= 60) hour1 = 59;}DisplayRTC();}if(KeyCode ==32){m++;if(m>2)m=0;}KeyCode = 0;}}}}/**********************************************/u8 code T_KeyTable[16] = {0,1,2,0,3,0,0,0,4,0,0,0,0,0,0,0};void IO_KeyDelay(void){u8 i;i = 60;while(--i) ;}void IO_KeyScan(void) //50ms call{u8 j;j = IO_KeyState1;P0 = 0xf0;IO_KeyDelay();IO_KeyState1 = P0 & 0xf0;P0 = 0x0f;IO_KeyDelay();IO_KeyState1 |= (P0 & 0x0f);IO_KeyState1 ^= 0xff;if(j == IO_KeyState1){j = IO_KeyState;IO_KeyState = IO_KeyState1;if(IO_KeyState != 0){F0 = 0;if(j == 0) F0 = 1;else if(j == IO_KeyState){if(++IO_KeyHoldCnt >= 20){IO_KeyHoldCnt = 18;F0 = 1;}}if(F0){j = T_KeyTable[IO_KeyState >> 4];if((j != 0) && (T_KeyTable[IO_KeyState& 0x0f] != 0))KeyCode = (j - 1) * 4 + T_KeyTable[IO_KeyState & 0x0f] + 16;}}else IO_KeyHoldCnt = 0;}P0 = 0xff;}void Send_595(u8 dat){u8 i;for(i=0; i<8; i++){dat <<= 1;P_HC595_SER = CY;P_HC595_SRCLK = 1;P_HC595_SRCLK = 0;}}void DisplayScan(void){Send_595(~T_COM[display_index]);Send_595(t_display[LED8[display_index]]);P_HC595_RCLK = 1;P_HC595_RCLK = 0;if(++display_index >= 8) display_index = 0;}void timer0 (void) interrupt TIMER0_VECTOR{DisplayScan();B_1ms = 1;}4.课程设计心得体会通过本次实验,能初步理论联系实际、应用C语言与电路设计、能简单实现程序、并且能通自己的调试进行修改。