单片机应用技术
单片机应用技术(C语言版)王静霞

8031
8051 8751 89C51
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 24 22 21
VCC P0. 0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA ALE PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0
什么是单片机
T INT
定时器/计数器
中断系 统
P0-P3
并 行 I/ O 口
CPU
存储 器
串 行 I/ O 口
TxD RxD
单片机应用系统
单片机应用系统
单片机应用系统由硬件和软件组 成 硬件是应用系统的基础
单 片 机
+
接口 电路 及外 设等
+
软 件
软件是在硬件的基础上对其资源 进行合理调配和使用,从而完成 应用系统所要求的任务,二者相 互依赖,缺一不可
MCS-51单片机信号引脚简介
P1. 0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST RXD/ P3. 0 TXD/ P3.1 INT0/ P3.2 INT1/ P3.3 T0/ P3.4 T1/ P3.5 WR/ P3.6 RD/ P3.7 XTAL2 XTAL1 VSS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
3)机器周期 一个机器周期分为6个状态:S1~S6。每个状态又分为 两拍:P1和P2。因此,一个机器周期中的12个时钟周 期表示为: S1P1、S1P2、S2P1、S2P2、…、S6P2。
时 序
4)指令周期 是执行一条指令所需的机器周期数。 小提示 当振荡脉冲频率为12 MHz时, 一个机器周期 为1µs;当振荡脉冲频率为6 MHz时,一个机 器周期为2 µs。
单片机应用技术考试题答案

单片机应用技术考试试题(1)一、填空题(每空1分,共20分)1.MCS-51是指单片机的(系列号)号,8031、8051是指单片机的(型)号。
2.MCS-51共有(111)条指令,可分为几种不同的寻址方式。
如:MOV A,Ri 属于(寄存器间接)寻址方式,MOV C, bit 属于(位)寻址方式。
3.单片机(计算机)在进行(有符号)运算的情况下应使用补码。
4.单片机位寻址区的单元地址是从(20H)单元到(2FH)单元,若*位地址是09H,它所在单元的地址应该是(21H)。
5.转移指令与调用指令的相同点是两种指令都是通过改变程序计数器PC的内容来实现转移的;不同点是,当执行调用指令时,它不仅能转移到*一指定地址处,而且当子程序执行到(RET)指令后,它能自动返回到(调用指令的下一条)指令处,而普通转移指令(不)能返回。
6.8031有两个16位可编程定时/计数器,其中定时作用是指对单片机(对内部f osc/12)脉冲进行计数,而计数器作用是指对单片机(外部)脉冲进行计数。
7.当P1口做输入口输入数据时,必须先向该端口的锁存器写入(FF),否则输入数据可能出错。
8.堆栈指针SP的内容将始终指示(堆栈的栈的栈顶),当单步执行了调用指令LCALL addr16后SP的内容将(不会)改变。
9.由于执行每条指令都要占用CPU的时间,因此采用循环结构并多次重复执行*些指令可实现软件延时。
而硬件延时一般是采用单片机的(定时/计数器)再通过软件编程来实现。
10.单片机串行通信时,若要发送数据,就必须将要发送的数据送至(SBUF)单元,若要接收数据也要到该单元取数。
11.单片机串行通信时,其波特率分为固定和可变两种方式,在波特率可变的方式中,可采用(定时器T1)的溢出率来设定和计算波特率。
二、选择题(每空1分,共10分)1.判断是否溢出时用PSW的(B)标志位,判断是否有进位时用PSW的(A)标志位。
A.CY B.OV C.P D.RS0 E.RS12.在运用仿真系统调试程序时,当要观察子程序内部指令的执行结果时,通常采用(B)调试方法。
单片机技术及应用百度文库

单片机技术及应用百度文库
单片机技术是一种基于微处理器技术的电子技术。
它集成了中央处理器、内存、输入输出接口以及定时/计数器等设备,适用于各种嵌入式系统中。
单片机技术广泛应用于家用电器、工业自动化、汽车控制、医疗设备以及航空航天等领域。
单片机技术的应用主要包括以下几个方面:
1. 家用电器
单片机技术在家用电器中应用非常广泛,例如空调、洗衣机、烤箱等。
单片机可以用于控制电器的开关状态、温度控制、定时等功能,使家用电器的操作更加智能化和便捷化。
2. 工业自动化
单片机技术的应用在工业自动化中非常突出。
例如在流程控制、设备协调、数据采集、信息处理等方面,单片机技术可以实现对各种工业设备的监控和控制,有助于提高工业生产的效率和质量。
3. 汽车控制
单片机技术在汽车控制领域也有广泛应用,例如引擎管理系统、制动系统、入门
系统等。
单片机技术可以给汽车带来更加智能和人性化的体验,同时也可以提高汽车行驶的安全性和稳定性。
4. 医疗设备
单片机技术在医疗设备中也得到了广泛应用,例如心电图机、血糖仪、呼吸机等。
单片机技术可以实现医疗设备的数据采集和处理,为医生提供更为准确和即时的信息,同时也有助于提高医疗设备的精度和效率。
5. 航空航天
单片机技术在航空航天中也占有一席之地,例如导航仪、飞行控制系统、通讯系统等。
单片机技术可以实现对飞行状态的监测和控制,同时也可以提高航空航天设备的安全性和可靠性。
总之,单片机技术是一种重要的电子技术,应用领域广泛。
随着科技的不断进步和人们对智能化的需求不断提高,单片机技术在未来的应用前景也十分广阔。
《单片机技术应用》课程标准

《单片机技术应用》课程标准课程名称:单片机技术应用适用专业:电气技术应用专业一、课程性质《单片机技术应用》前叙课程是:电工电子综合课程、机床电气控制、电机与变压器,单片机技术应用课程是将综合应用上述课程的知识,让学生掌握单片机小型控制系统的设计、调试、维护方法,为后继《机电一体化设备》课程和顶岗实习做准备。
二、课程设计思路大部分的单片机控制设备属于机电一体系统,单片机岗位群的典型工作是从事单片机应用系统进行设计、制作和维护的。
具体工作包括:1.根据产品开发需要设计单机片系统,包括总体设计方案、硬件电路设计、软件程序开发;2.撰写相关的技术文档,包括进行材料表的整理和归档,作业文件的编写。
3.参与产品的可靠性测试、转产和生产的支持。
岗位要求从业者熟悉单片机的相关知识,可以熟练运用单片机做应用开发;具有能熟练应用单片机开发软件的能力;了解相关硬件调测仪器的使用方法和测试仪器:万用表、数字示波器、逻辑分析仪等;根据岗位对从业者的知识技能、工作的情感态度要求,单片机课程教学应当围绕岗位的要求、岗位的组成环节来提出教学的能力目标和知识系统的构建方式。
《单片机技术应用》是机电技术应用三年制中职专业设置的必修课程之一,是一门集合了电力电子知识、传感器知识和自动控制知识于一体的课程。
课程从工作过程分析出发,根据企业机电岗位岗位,职业能力需求,使课程的目标、内容、设计和评价贴近真实的工作岗位的需求,培养学生胜任实际工作岗位的能力。
工作项目是课程实施的载体,《单片机技术应用》课程的工作项目的内容选取应当具备以下特点:选用典型的单片机控制系统作为开展教学活动的载体;工作项目中应当使用岗位常用的编译软件;工作项目应当尽量使用单片机控制系统常用的器件,例如:主流单片机芯片、各种传感器、电机;工作项目中应当包含典型单片机技术应用的安装、调试、维护和维修各个完整的工作过程。
《单片机技术应用》本课程开设一学期,教学课时数为80学时,4学分。
《单片机应用技术》课程标准

《单片机应用技术》课程标准1.课程的教育目标《单片机应用技术》是电子类相关专业的一门必修的专业课程,旨在进一步锻炼学生的动手能力。
这门课程将引领学生以单片机为核心实现五个任务的设计与制作,要求学生最终能够实现八个任务:单片机概述及其开发环境、单片机最小系统、按键控制的流水灯、简易音响、数码管显示、数字温度计、数字时钟和智能车。
完成八个任务从硬件的搭建,到软件的编写,再到整个系统的调试的全部过程。
从而达到在实际制作过程中逐步掌握单片机的具体应用的目的,即掌握一定的理论基础,又能运用理论解决实际问题,使理论与实践相结合。
2.课程的知识、能力、素质结构(1)课程的知识结构1)了解单片机在产品中所处的位置,理解单片机的工作原理,掌握单片机的应用。
2)掌握单片机最小系统的构成和原理3)掌握按键的应用与中断的概念、原理和应用。
4)掌握单片机定时计数器的原理和应用。
(2)课程的能力1)熟悉嵌入式产品的概念。
2)熟悉产品中各电子器件的使用。
3)熟悉硬件设计的过程。
4)掌握嵌入式软件的编程能力。
5)掌握嵌入式系统联合调试的能力。
6)掌握单片机的应用能力。
(3)课程的素质结构1)培养团队合作的基本素质。
2)培养搜集嵌入式产品资讯的基本素质。
3)培养嵌入式产品设计的基本素质。
4)培养实现嵌入式产品的基本素质。
5)培养撰写产品方案书和说明书的基本素质。
6)基本嵌入式产品全局规划与设计的基本素质。
3.课程内容、结构框架和基本要求、学时分配(1)课程内容与学时分配见下表:任务课程内容学时分配任务一单片机概述及其开发环境 4任务二单片机最小系统 6任务三按键控制的流水灯 6任务四简易音响8任务五数码管显示10任务六数字温度计8任务七数字时钟8任务八智能车 6学时总计56(2)结构框架与基本要求:1)单片机概述及其开发环境任务导入知识学习①认识单片机②单片机的开发环境任务实施知识拓展①Keil中程序调试时的常用窗口②各种窗口在程序调试中的用途③在系统可编程(ISP)软件2)单片机最小系统任务导入知识学习①什么是最小系统②最小系统的各个组成部分任务实施知识拓展①单片机的输入/输出接口②如何点亮一盏小灯③闪烁的小灯3)按键控制的流水灯知识学习①什么是按键②按键的去抖任务实施知识拓展①单片机的中断系统②中断方式实现流水灯4)简易音响任务导入知识学习①音频信号简介②单片机的定时/计数器任务实施知识拓展①矩阵键盘②电子琴5)数码管显示任务导入知识学习①什么是数码管②数码管的静态显示知识拓展①数码管的动态显示②秒表6)数码温度计任务导入知识学习①什么是时序②温度传感器任务实施知识拓展7)数码时钟任务导入知识学习①时钟芯片②DS1302任务实施知识拓展8)智能车任务导入知识学习①底盘②电机驱动模块③遥控模块任务实施知识拓展4.考核方式本门课程为考试课,具体考核方案见下表:项目小计项目分解分数分值比例平时成绩50考勤1050% 作业10实例完成情况30期末成绩50 期末试卷50 50% 总计1005.本课程与其它课程的联系学习该课程需要学生有电工电子基础、计算机基础知识及相应的计算机语言知识,先修《电工电子技术基础》等课程。
cc2530单片机应用技术

cc2530单片机应用技术
CC2530单片机是一款低功耗、高性能的无线SoC芯片,被广泛应用于无线通信和控制系统等领域。
以下是一些CC2530单片机的主要应用技术:
1. 无线通信:CC2530单片机内置高性能的射频收发器,支持多种无线通信标准和协议,如Zigbee、6LoWPAN等。
因此,它可以用于构建无线传感器网络、智能家居、智能农业等领域的通信和控制节点。
2. 能源管理:CC2530单片机具有低功耗设计,能够大大延长设备的电池寿命。
因此,它可以用于能源管理系统中,如智能电表、智能插座等。
3. 智能控制:CC2530单片机具有丰富的外设接口,包括UART、SPI、I2C和GPIO等,可以方便地与其他设备进行通信和控制。
因此,它可以用于智能控制系统中,如智能门锁、智能照明等。
4. 实时监测:CC2530单片机可以实时采集和处理各种传感器数据,并通过无线通信将数据传输到上位机或云平台进行进一步处理和分析。
因此,它可以用于环境监测、农业监测等领域。
5. 安全防范:CC2530单片机可以集成多种传感器和安全模块,实现门禁、报警等功能。
同时,它还可以通过无线通信实现远程监控和控制,提高安全防范的效率和可靠性。
总之,CC2530单片机应用技术广泛,可以根据具体的应用场景选择合适的技术方案来实现智能化、低功耗、高可靠性的系统设计。
单片机应用技术 课程标准
单片机应用技术课程标准1. 课程目标本课程旨在使学生了解单片机基本概念、工作原理、编程方法、硬件设计、应用技巧及相关领域的发展趋势,掌握单片机在各个领域方面的应用技术。
2. 课程内容(1)单片机基本概念:介绍单片机定义、发展历程、分类、特点和功能等基本概念。
(2)单片机工作原理:介绍单片机体系结构、内部组成、信号处理和调度机制等工作原理。
(3)单片机编程方法:介绍汇编语言、C语言和图形化编程语言等编程方法,以及相应的编程工具和技巧。
(4)单片机硬件设计:介绍单片机系统的硬件设计包括电源设计、时钟电路、复位电路、I/O口设计、存储器接口等硬件设计技术。
(5)单片机应用技巧:介绍单片机在不同领域的应用技巧,如嵌入式系统、工控系统、汽车电子、医疗电子、智能家居等方面的应用案例。
3. 教学要求(1)注重实践,重视应用。
(2)注重培养学生的创新创造能力和实际操作能力。
(3)注重与现代科技的紧密结合,关注行业发展趋势。
(4)注重以项目为导向的教学,讲解项目实例中的单片机应用技术。
4. 评价方式(1)作业成绩:包括课堂作业和实验报告等。
(2)考试成绩:包括期中考试和期末考试成绩。
(3)课程设计:指学生在课程结束后,完成的一门单片机应用项目设计。
(4)实习情况:考核学生的实习情况和实际操作能力。
5. 参考教材(1)《单片机原理及应用》(2)《单片机从入门到实践》(3)《单片机应用技术与实践》(4)《51单片机基础教程》(5)《STM32单片机应用开发实践》(6)《嵌入式系统设计与实践》(7)《集成电路实验与设计》。
单片机应用技术(C语言版)王静霞PPT课件
C语言在单片机开发中的重要性
高效开发
C语言具有高效、灵活的特性,能够 大大提高单片机开发的效率和代码质 量。
跨平台兼容性
C语言具有良好的跨平台兼容性,能 够实现不同单片机平台之间的移植和 复用。
丰富的第三方库支持
C语言拥有丰富的第三方库支持,能 够方便地实现各种复杂的功能和控制。
易于学习和掌握
C语言语法简单、易于理解,对于初 学者来说容易上手。
02
按键检测程序
03
串口通信程序
通过C语言编程检测单片机上的 按键输入,实现简单的输入处理。
通过C语言编程实现单片机与计 算机之间的串口通信,实现数据 传输和控制。
04
单片机应用实例
数字钟设计
总结词:功能全面 总结词:实现简单 总结词:稳定性高
详细描述:数字钟设计利用单片机实现时间的实时显示 和更新,具备时、分、秒的显示功能,同时可以设置闹 钟和进行时间校准。
单片机C语言编程基础
数据类型
包括基本数据类型(如int、char、float等)和特殊数据类型(如bit、sbit等)。
运算符
包括算术运算符、逻辑运算符、关系运算符等。
流程控制
包括if语句、switch语句、循环语句等。
函数
包括标准库函数和自定义函数。
单片机C语言编程实例
01
LED闪烁程序
通过C语言编程控制单片机上的 LED灯闪烁,实现简单的输出控 制。
物联网与智能家居
物联网技术的普及将推动单片机在智能家居、智能安防等领域的应用, 实现智能化控制和远程监控。
人工智能与机器学习
单片机将结合人工智能和机器学习技术,实现更高级别的智能化应用, 如智能机器人、智能制造等。
单片机应用技术
单片机应用技术
单片机应用技术是指使用单片机完成电子系统的设计与控制的研究。
单片机应用技术
关联硬件电路设计与软件编程开发两部分,使其在控制电子系统方面更加先进。
单片机由处理器核,储存器,外围接口元件,时钟,片外芯片等组件组成,一般可用
于实时控制和逻辑控制,是实现且节省硬件成本最理想的电子系统,有着广阔的应用前景。
单片机应用技术的使用,有助于安全性和可靠性的提高,同时实现快速调试。
使用单
片机应用技术可以存储更多的变量,实现更复杂的控制逻辑,从而提高了系统的稳定性和
可靠性,也可以提高操作质量,并且可以降低系统的发展和维护成本。
此外,单片机应用技术还可以满足用户对控制器规范和功能的要求。
单片机应用技术
还可以提高体系结构灵活性,实现复杂的硬件电路设计,例如实现传感器传输和控制等功能。
最后,单片机应用技术在应用领域非常广泛,可用于智能家居、自动化设备、汽车元件、安防系统等各个方面的控制,使产品开发更加可靠高效,方便生产厂家与客户之间的
合作。
未来,单片机应用技术也一定会得到更多的改进和发展,它们将继续为人们提供更
强大和更安全的服务。
单片机的应用与开发研究论文
单片机的应用与开发研究论文随着信息技术的不断发展和普及,单片机技术逐渐成为现代工业控制、智能家居、物联网等领域的核心技术之一。
本文将从单片机技术的应用和开发研究两个方面来探讨单片机技术的重要性以及未来的发展趋势。
一、单片机技术的应用1. 工业控制随着工业技术的不断进步和环境保护要求的不断提高,传统的机械式控制系统已经无法满足工业生产对控制精度和稳定性的要求。
单片机技术的应用可以使产品的控制精度更高,响应速度更快,可靠性更高,成本更低,节能减排等优点得到充分发挥。
2. 智能家居随着智能家居概念的兴起,越来越多的家庭开始采用智能化的家居设备。
单片机技术的应用可以使家居设备更加智能化和便捷化,比如通过手机远程控制家电设备开关、智能窗帘、智能灯光等。
3. 物联网物联网是未来科技领域的一个重要发展方向,而单片机技术作为物联网的核心技术之一,将成为未来的重要研发方向。
单片机技术可以实现对物联设备的监测、控制等功能,打通物联网和云计算之间的数据传输通道,实现交流和信息互通。
二、单片机技术的开发研究1. 单片机架构的设计单片机的核心是处理器,处理器的核心是CPU,而CPU的主要功能就是处理指令和数据。
因此,单片机的架构设计需要兼顾处理器的性能和功能,并且保证指令和数据的高速度访问。
同时,要考虑到单片机的应用领域,为不同领域提供不同的处理器和架构设计。
2. 单片机编程的开发单片机编程的开发需要按照特定的编程规则和语法来编写,这需要掌握完整的编程知识。
在编程过程中,需要考虑到单片机外围设备的控制,使用合适的编程语言以及编写合适的控制程序。
3. 单片机通信协议的研究单片机的通信协议包括串行通信协议、并行通信协议、网络通信协议等多种类型。
它们的选择取决于单片机应用领域的不同,因此在研究单片机通信协议的过程中,需要针对不同单片机应用领域进行研究,以实现单片机与外围设备的信息交互。
总之,单片机技术随着工业和智能化的发展越来越受到重视,其应用领域和研究方向越来越广泛,未来的发展前途也十分广阔。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
● 理论知识:
● 1、单片机定时器功能 ● 2、单片机中断系统的组成 ● 3、定时器和中断程序的设计方法 ● 4、C语言的函数定义与调用
● 技能:单片机中断和定时器程序的特殊调
试技巧
任务7 时间间隔为1s的流水灯控制
● 1、任务目的
通过单片机控制时间间隔为1s的流水 灯系统的制作,了解单片机定时器的结构 及定时器的工作方式设定、初始值设置等 基本技能。
● 4.2.2 函数调用
函数调用的一般格式为:
● 函数名 (实际参数列表);
任务9 可控霓虹灯控制
● 1、任务目的
通过对采用1个按键输入的可控霓虹灯系统的 制作,了解单片机中断系统的结构及与中断巧。
● ●
//函数名:delay //函数功能:实现软件延时 //形式参数:unsigned char i; //i控制空循环的外循环次数,共循环i*255次 //返回值:无 void delay(unsigned char i) //延时函数,无 符号字符型变量i为形式参数 { unsigned char j,k; //定义无符号字符型变量j和k for(k=0;k<i;k++) //双重for循环语句实现软件 延时 for(j=0;j<255;j++); }
TMOD的低4位为T0的方式字段,高4 位为T1的方式字段,它们的含义完全相同。
● (1)M1和M0:方式选择位。
C/T
● (2)C/T :功能选择位。 =0时,定时器工作方 C/T 式; =1时,计数器工作方式。 C/T ● (3)GATE:门控位。GATE=0,定时器/计数器 由软件控制位TR0或TR1控制启停;GATE=1,由 外部中断引脚和TRi位共同控制启停。
● void main() //主函数 ● { ● unsigned char i,w; ● TMOD=0x10; //设置T1为工作方式1 ● while(1) { ● w=0x01; //显示码初值为01H ● for(i=0;i<8;i++) ● { ● P1=~w; //w取反后送P1口,点亮相应LED灯 ● w<<=1; //点亮灯的位置移动 ● delay1s(); //调用1秒延时函数 ● } ● } ● }
● 2、任务要求
要求正常情况下8个霓虹灯依次顺序点亮,循 环显示,时间间隔为1s。按键按下后8个霓虹灯同 时亮灭一次,时间间隔为0.5s。用T1、工作方式1 编制延时程序,按键动作采用外部中断INT0实现。
●3、电路设计
一个按键与MCS-51系列单片机的外部 中断INT0的中断输入引脚连接,当按键按 下时,在 INT0引脚产生一个下降沿,向 CPU申请中断。
● 5、任务小结
在本任务中,在正常情况下运行主函 数main(),8个霓虹灯以1s时间间隔依次 顺序点亮,当按键按下后,当前显示模式 被中断,转去执行中断函数int_0(),使 显示模式发生变化。中断断是单片机系统 中的一个重要资源,可以大大提高单片机 的工作效率。
● 中断相关概念:
● (1)中断服务程序:CPU响应中断后,转 去执行相应的处理程序,该处理程序通常 称为中断服务程序。 ● (2)主程序:原来正常运行的程序称为主 程序。 ● (3)断点:主程序被断开的位置(或地址) 称为断点。 ● (4)中断源:引起中断的原因,或能发出 中断申请的来源,称为中断源。 ● (5)中断请求:中断源要求服务的请求称 为中断请求(或中断申请)。
● 4、程序设计
● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 可控霓虹灯源程序: //程序:ex4_3.c //功能:可控信号灯程序 #include <reg51.h> //函数名:delay0_5s //函数功能:用T0的方式1编制0.5秒延时程序,假定系统采用12MHz晶振, 定时器1、工作方式1定时50ms,再循环10次即可定时到0.5秒 //形式参数:无 //返回值:无 void delay0_5s() { unsigned char i; for(i=0;i<0x0a;i++) // 设置10次循环次数 { TH0=0x3c; // 设置定时器初值 TL0=0xb0; TR0=1; // 启动T0 while(!TF0); // 查询计数是否溢出,即定时50ms时间到,TF0=0 TF0=0; // 50ms定时时间到,将定时器溢出标志位TF0清零 } }
● 4.2 C语言的函数
C语言都是由一个主函数main()和若 干个子函数构成,有且只有一个主函数, 程序由主函数开始执行,主函数根据需要 来调用其他函数,其他函数可以有多个。
●4.2.1 函数分类和定义
从用户使用角度来看,函数有两种 类型:标准函数和用户自定义函数。
● ①方式1为16位定时/计数器工作方式,由 TL的8位和TH的8位组成。 ● ②定时: 12 16 ● 定时时间: t 2 a
f osc
● 计数初值:
12 216 t f osc a 12
● ③计数: a 216 x ● 计数初值:
●4.3 中断系统
● 4.3.1 什么是中断
● 1、中断及相关概念
中断是指通过硬件来改变CPU的运行方向。 计算机在执行程序的过程中,外部设备向CPU发 出中断请求信号,要求CPU暂时中断当前程序的 执行而转去执行相应的处理程序,待处理程序执 行完毕后,再继续执行原来被中断的程序。这种 程序在执行过程中由于外界的原因而被中间打断 的情况称为“中断”。
●3、定时/计数器控制寄存器TCON
● 4.1.2 定时/计数器的工作方式
● 1、工作方式0
● ①方式0为13位定时/计数器工作方式,由 TL的低5位和TH的8位组成。 ● ②定时: 12 13 ● 定时时间:t 2 a f osc
● //函数名:delay_t ● //函数功能:实现0.5秒~128秒延时 ● //形式参数:unsigned char t; ● // 延时时间为0.5秒×t ● //返回值:无 ● void delay_t(unsigned char t) ●{ ● unsigned char i; ● for(i=0;i<t;i++)delay0_5s(); ●}
● (2)定时/计数器的工作过程:
● ①设置定时/计数器的工作方式。
● ②设置计数初值。 ● ③启动定时/计数器。 ● ④计数溢出。
● 2、定时/计数器工作方式寄存器TMOD
● 1、标准函数
● 2、用户自定义函数
用户自定义函数必须先定义后调用,函 数定义的一般形式为:
● ● ● ● ● ● 函数类型 函数名(形式参数表); 形式参数说明; { 局部变量定义; 函数体语句; }
● 例:
● ● ● ● ● ● ● ● ●
● void main() //主函数 ● { ● unsigned char i,w; ● EA=1; // 打开中断总允许位 ● EX0=1; // 打开外部中断0允许位 ● IT0=1; // 设置外部中断为边沿(下降沿)触发方式 ● TMOD=0x01; // 设置T0为工作方式1 ● while(1) { ● w=0x01; // 显示码初值为01H ● for(i=0;i<8;i++) ● { ● P1=~w; // w取反后送P1口,点亮相应LED灯 ● w<<=1; // 点亮灯的位置移动 ● delay_t(2);// 调用延时函数delay_t(),实际参数为2,延时1秒 ● } ● } ● }
● 2、任务要求
要求8个发光二极管依次顺序点亮,时 间间隔为1s。用T1的工作方式1编制1s延时 程序,实现流水灯的控制。
● 3、电路及器件
● 4、程序设计
● //程序:ex4_1.c ● //功能:间隔显示时间为1秒的流水灯程序 ● #include "REG51.H" //包含头文件REG51.H,定义了MCS-51单片机的特 殊功能寄存器 ● //函数名:delay1s ● //函数功能:用T1工作在方式1下的1秒延时函数,采用查询方式实现 ● //形式参数:无 ● //返回值:无 ● void delay1s() ● { ● unsigned char i; ● for(i=0;i<0x14;i++) //设置20次循环次数 ● { ● TH1=0x3c; //设置定时器初值为3CB0H ● TL1=0xb0; ● TR1=1; //启动T1 ● while(!TF1); //查询计数是否溢出,即定时50ms时间到,TF1=1 ● TF1=0; //50ms定时时间到,将T1溢出标志位TF1清零 ● } ● }
12 2 t f osc ● 计数初值: a 12
13
● ③计数: 13 a ● 计数初值: 2 x
● 例:用T0、工作方式0产生周期为100ms的 方波,晶振频率为12MHz。
● 2、工作方式1
f osc
● 计数初值: a 12 2 t f osc 12 ● ③计数: 8 ● 计数初值: a 2 x
8
● 例:用T1、工作方式2计数,每记满5次, 将P1.0取反。
● 4、工作方式3
● //函数名:int_0 ● //函数功能:外部中断0中断函数,当CPU响应外 部中断0的中断请求时,自动执行该函数,实现八 个信号灯闪烁 ● //形式参数:无 ● //返回值:无 ● void int_0() interrupt 0 //外部中断0的中断号为0 ●{ ● P1=0x00; //熄灭八个信号灯 ● delay0_5s(); //调用0.5秒延时函数 ● P1=0xff; //点亮八个信号灯 ● delay0_5s(); //调用0.5秒延时函数 ●}