单片机原理及应用设计(胡辉主编)
- 格式:doc
- 大小:6.06 KB
- 文档页数:4
单片机原理及应用课程教案课程名称:单片机原理及应用课程代码:0340424授课对象:年级:13级专业:机械设计制造及自动化层次:本科授课教师:钟奇教师职称:高工课型:专业学时:3 学时/周合计:36学时教材名称:单片机原理及应用(第3版)开课系部:机电工程系教学日期:2015年~2016年学年第一学期教案第1章概述单元教案首页支,因此,它的基本功能组成部分和工作原理与通用微型计算机具有一致性。
微型计算机(简称微机)的基本组成结构如图1.1所示。
教案第2 章51系列单片机的硬件结构单元教案首页2.251单片机的内部结构与引脚信号2.2.151单片机的基本组成51系列单片机的内部结构框图如图2.1所示各引脚功能说明如下:1. 主电源引脚VCC(40脚): 接+5 V电源正端;VSS(20脚): 接+5 V电源地端。
2. 外接晶体引脚XTAL1(19脚): 接外部石英晶体的一端。
XTAL2(18脚): 接外部石英晶体的另一端。
2.3微处理器微处理器又称CPU, 是单片机内部的核心部件, 它决定了单片机的主要功能特性。
CPU由运算部件和控制部件两大部分组成。
2.3.1运算部件运算部件是以算术逻辑单元ALU为核心, 再加上累加器ACC、寄存器B、暂存器、程序状态字PSW等部件而构成的。
广东技术师范学院天河学院单元教案首页单元教案续页广东技术师范学院天河学院单元教案首页单元教案续页广东技术师范学院天河学院单元教案首页单元教案续页和T1, 它们均可作为定时器或计数器使用。
片机默认选择工作寄存2.6.1定时器/计数器T0、T1的结构定时器/计数器T0、T1的结构框图如图2.15所示。
它由加法计数器、TMOD寄存器、TCON寄存器等组成广东技术师范学院天河学院单元教案首页位, 共10位。
当然, 停止位也可以大于1位。
(2) 波特率(Baud rate)。
波特率就是数据的传送速率, 即每秒传送的二进制位数, 单位为位/秒。
《单片机原理及应用》教学大纲课程中文名称:《单片机原理及应用》课程代码:517016课程性质:专业必修课学时学分:70学时,5学分(其中讲课56学时,实验14学时)先修课程:《电子技术》、《电工基础》适用专业:应用电子技术一、课程性质、目的和要求本课程适用于机电一体化、应用电子技术等相关专业学生学习,是一门专业基础课。
通过本课程的教学,使学生了解和掌握MCS-51 系列单片机结构、原理及其扩展系统的组成。
掌握MCS-51 系列单片机在实际应用中软件系统与硬件系统的设计思想。
结合实验课教学,增强实际动手能力,使学生能够应用MCS-51 单片机进行简单的单片机应用系统的开发。
为今后应用和设计单片机系统打下较牢固基础,也为后续专业课程的学习奠定一定基础。
二、课程内容:(一)课程重点与难点本课程的重点:为第二章、第三章和第五章。
其中第二章和第三章为单片机的基础,是学习单片机技术的必需。
第五章是单片机应用中必然要涉及的内容。
建议加强这三章的教学,并辅以必要的实验手段。
本课程中的难点:为单片机的存贮器组织、各存贮器的地址的确定及I/O口地址的确定。
难点贯穿于第二章、第三章、第四章、第五章和第七章。
在教学上应有一定的连续性,且应循序渐进,讲深讲透。
(二)课程内容第一章:概述第一节MCS-51系列单片机简介第二节单片机应用系统开发简述第二章MCS-51 系列单片机的结构和原理第一节总体结构第二节存储器组织第三节并行端口结构与操作第四节MCS-51 系列单片机片外总线和复位第三章MCS-51 单片机的指令系统第一节指令格式及常用符号第二节MCS-51 系列单片机的寻址方式第三节数据传送指令第四节算术运算指令第五节逻辑运算指令第六节控制转移指令第七节位操作指令第四章MCS-51 单片机的程序设计第一节程序设计方法和技巧第二节汇编语言源程序的编辑和汇编第三节程序设计基础与举例第五章MCS-51 单片机的中断系统及定时器第一节输入/输出的控制方式第二节中断系统第三节中断处理过程第四节定时器/计数器第六章MCS-51 单片机的串行口第一节计算机串行通信基础第二节MCS-51 单片机的串行口第三节串行口应用举例第七章单片机系统扩展技术第一节程序存贮器的扩展第二节并行口的扩展第三节接口芯片第四节键盘及显示器接口第八章MCS-51 单片机的测控接口第一节D/A转换器第二节A/D转换器第三节开关量接口三、实践性教学环节要求(一)实验教学的要求主要用于配合《单片机原理》课程的课堂教学,加强学生对MCS-51系列单片机结构的感性认识和对使用DICE-5103S单片机开发机进行单片机开发的方法的了解,提高学生对单片机原理的理解,帮助学生掌握MCS-51系列单片机在实际应用中软件系统与硬件系统的设计思想。
《单片机原理与应用》课程设计指导书一、课程设计目的《单片机原理与应用》是一门实践性和实用性都很强的课程,学习的目的在于实践。
本课程设计是配合课堂教学和实验的一个重要的实践教学环节,它能起到巩固课堂和书本上所学知识,加强综合能力,提高电路设计水平,启发创新思维的效果。
通过本课程设计希望达到以下目地:1.培养资料搜集和汇总的能力。
2.培养总体设计和方案论证的意识。
3.提高硬件、软件设计与开发的综合能力。
4.提高软件和硬件联合调试的能力。
5.熟练掌握相关测量仪器的使用方法。
6.掌握相关开发软件、调试器和仿真软件的使用方法。
二、课程设计内容与要求要求每个小组都要独立设计完成一个典型的单片机应用小系统。
设计题目可以在给出的参考题目中选,也可以自己选择设计题目,但难度不应小于参考题目,需经指导教师审查后方可确定是否采纳或修改设计题目。
课程设计的时间为一周。
设计的最终作品包括硬件和软件两个部分,要求能够演示并达到设计指标的要求。
每个小组在作品完成后,要经指导教师检查,同意拆除后方可拆卸,并分类放回元器件盒内。
课程设计报告每个学生一份,由课代表收齐后统一交给指导教师。
课程设计成绩评定由3部分组成:作品+出勤等40%;答辩30%;设计报告30%。
三、课程设计步骤研制一个单片机应用系统,可以分为硬件研制和软件研制两个部分,从设计方案到样机调试成功,常常要将硬件,软件结合起来考虑,才能取得较好的效果。
随着系统的用途不同,它们的硬、软件结构会各有不同,但系统研制的方法和步骤是基本相同的,其研制过程可以归纳为以下所述的四个步骤:1、确定任务如同任何一个新产品设计一样,单片机应用系统的研制过程也是从确定应用系统的任务开始的。
首先要明确应用系统要实现哪些功能,其技术参数和技术指标是什么,这是系统设计的起点和依据,它将贯穿于系统设计的全过程。
必须认真做好这个工作,在确定任务的阶段中必须明确:1) 本应用系统需要达到的主要目标是什么,有多少个回路,有几个参数需要进行检测和控制?检测和控制的精度为多少?2) 本应用系统有多少输入信号和输出信号?输入信号的形式和电压等级及变化频率情况,输出信号的形式,电压等级和驱动功率有何要求?3) 本应用系统需要提供哪些人机对话功能,如:小键盘要多少个按键,采用何种显示器,通常为LCD和数码管,如考虑显示几位数等。
《单片机技术及应用》教学大纲一、课程的性质、目的与任务本课程是计算机、电子类等专业的一门重要的面向应用的,实践性和综合性很强的课程。
通过本课程的教学,使学生掌握单片机原理与应用的基本知识,获得单片机应用系统设计的基本理论与基本技能,掌握单片机应用系统各主要环节的设计、调试方法及开发步骤。
培养学生分析问题、解决问题的综合能力。
为学生学习后续课程及毕业后从事与单片机应用技术相关工作岗位打下坚实基础。
通过本课程的学习,要求学生达到:1、掌握MCS-51单片机的引脚功能、工作方式、存储器组织和位寻址区;指令系统、汇编语言的程序设计和汇编方法、单片机C语言程序设计;MCS-51单片机和外部存储器的连接方法、MCS-51单片机中断系统的初始化方法、MCS-51单片机并行I/O接口的扩展方法、键盘/显示器的接口方法、MCS-51单片机内部定时器/计数器的使用方法、A/D、D/A转换器的工作原理及MCS-51单片机与A/D、D/A转换器的接口方法、串行通信的基本概念及设计方法;MCS-51单片机在不同工作方式下的应用。
2、了解单片机的基本概念、发展历史、特点及应用领域。
MCS-51单片机的内部结构;MCS-51的寻址方式、汇编语言的构成、半导体存储器的原理、中断系统的基本概念、I/0寻址方式等。
二、课程教学基本内容与要求第一章单片机系统基础知识(一)基本教学内容1.1概述1.2单片机的数制表示法1.3单片机常用逻辑电路简介(二)基本要求教学目的:了解单片机及微型计算机的基本概念、单片机的特点及单片机的发展和应用;掌握BCD码和ASII码的基本概念;掌握数制之间的换算关系以及二进数原码、反码和补码的表示方法。
教学重点:数据之间的换算关系;二进数原码、反码和补码的表示方法。
教学难点:补码之间的运算及溢出的判断。
第二章单片机的内部结构及工作原理(一)基本教学内容2.1单片机的内部结构2.2单片机的存储器结构2.3单片机并行I/O口2.4单片机的时钟与时序2.5单片机的工作方式(二)基本要求教学目的:掌握MCS-51单片机的内部结构特点及的基本工作原理;了解单片机最小系统的设计方法及单片机存储器的扩展方法。
《单片机原理及应用》课程教学大纲《单片机原理及应用》课程教学大纲一、课程基本情况课程编号 106D2001 英文名称The Principle & Application of Single-Chip Microcomputer总学时 48 讲课学时38学分 3.0 实验学时10上机学时讨论学时课程类别专业必修开课学期 6 考试方式闭卷适用专业电气工程及其自动化开课院(系)工学院课程负责人教师姓名李志伟职称教授 e-mail授课语言课件地址先修课程电路、模拟电子技术、数字电子技术、微机原理及接口技术等教学用书教材名称教材编者出版社出版年月版次主要教材微型计算机原理及应用MCS-51\MCS96系列单片机应用基础张鄂亮等华中科技大学出版社 2001.10 2主要参考书单片机原理及接口技术李朝青北京航空航天大学出版社单片微机原理及应用丁元杰机械工业出版社单片机原理与接口应用侯紫达兵器工业出版社单片机程序设计基础周航慈北京航天航空大学出版社二、课程性质、任务和作用本课程是电气化与自动化的专业必修课。
本课程的任务是从应用的目的出发,通过对MCS--51系列单片机的剖析,使学生获得有关单片机的内部结构和工作原理以及硬件、软件的基本概念,基本知识和单片机应用系统的设计和编程知识。
用汇编语言进行程序设计的基本技能。
培养学生分析问题和解决问题的能力,为开发单片机及其嵌入式应用系统打下基础。
三、教学目的单片机(Microcontrollers)具有体积小、功能强、可靠性高、面向控制和价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。
培养学生分析问题和解决问题的能力,为开发单片机及其嵌入式应用系统打下基础。
四、课堂教学的内容、基本要求及学时安排1.讲课学时分配内容讲课学时作业题量备注第一章计算机基础知识 2第二章单片微型计算机结构 4第三章指令系统 6第四章汇编语言程序设计 6第五章半导体存储器及其应用 4第六章输入/输出及中断系统 6第七章单片机I/O接口电路 4第八章微型计算机接口技术 6合计 382.教学内容2.1 计算机基础知识2.1.1 计算机的发展与组成2.1.1.1 计算机发展概况.2.1.1.2 计算机发展趋势.2.1.1.3 计算机的组成结构.2.1.1.4 计算机的主要技术指标2.1.2 计算机运算基础.2.l.2.1 进位计数制2.1.2.2 不同进位计数制之间的转换2.1.2.3 带符号数的表示方法2.1.2.4 数的定点与浮点表示2.1.2.5 运算方法2.1.2.6 二—十进制编码2.1.2.7 字符编码2.2 微型计算机结构2.2.1 微型计算机功能部件2.2.1.1 CPU结构2.2.1.2 存储器与读/写操作2.2.1.3 输入/输出接口2.2.2 微型计算机的结构特点.2.2.2.1 微型计算机的总线结构 2.2.3 微型计算机软件2.2.3.1 计算机语言2.2.4 MCS-51单片机的硬件结构 2.2.4.1 MCS-51的总体结构2.2.4.2 MCS-51CPU2.2.4.3 MCS-51存储器配置2.2.4.4 MCS-51单片机引脚2.2.4.5 MCS-51最小系统2.3 指令系统2.3.1 指令的基本格式2.3.2 操作数类型2.3.3 指令寻址方式2.3.4 状态标志位2.3.5 MCS-51指令系统分析2.3.5.1 数据传送指令2.3.5.2 算术运算指令2.3.5.3 逻辑运算指令2.3.5.4 布尔变量操作指令2.3.5.5 程序控制指令2.4 汇编语言程序设计2.4.1 汇编程序约定2.4.2 汇编语言程序设计步骤 2.4.3 直线程序2.4.4 分支程序2.4.4.1 单重分支程序2.4.4.2 多重分支程序2.4.5 循环程序2.4.5.1 循环程序的构成2.4.5.2 单重循环2.4.5.3 多重循环2.4.6 子程序2.4.6.1 子程序的设计2.4.6.2 子程序类型2.4.6.3 子程序嵌套与递归2.4.7 应用程序设计举例2.4.7.1 多字节加减运算2.4.7.2 多字节乘除运算程序 2.4.7.3 代码转换程序2.4.7.4 排序程序2.4.7.5 查找技术2.4.7.6 插入技术2.4.7.7 数字滤波2.4.7.8 软件堆栈2.5 半导体存储器及其应用2.5.1 半导体存储器结构2.5.1.1 存储器分类2.5.1.2 存储器存储矩阵2.5.1.3 存储器外部信号线2.5.2 随机读/写存储器.2.5.2.1 静态RAM2.5.2.2 动态RAM2.5.3 只读存储器2.5.4 存储器的连接2.5.4.1 存储芯片的扩充2.5.4.2 存储器芯片与CPU或单片机的连接 2.5.4.3 存储器与单片机连接实例2.6 输入/输出及中断系统2.6.1 I/O接口基本概念2.6.2 I/O寻址方式及地址译码2.6.3 I/O控制方式2.6.4 中断技术2.6.4.1 中断的概念2.6.4.2 中断处理过程2.6.4.3 寻找中断源与确定优先级2.6.4.4 中断系统的扩展2.6.5 MCS-51中断系统2.6.5.l 中断源2.6.5.2 中断系统的控制2.6.5.3 中断响应和中断返回2.6.5.4 MCS-51的单步操作2.6.5.5 多中断源系统2.6.5.6 MCS-51外部中断举例2.7 单片机I/O接口电路2.7.1 单片机并行I/O接口2.7.1.1 MCS-51片内PIO2.7.2 定时/计数器电路2.7.2.1 MCS-51定时计数器2.7.3 串行I/O接口2.7.3.1 MCS-51串行接口2.7.3.2 MCS-51串行I/0口的应用2.7.3.3 RS—232C异步通信接口2.7.4 通用I/O接口芯片2.7.4.1 可编程并行接口芯片82552.7.4.2 可编程多功能接口芯片81552.8 微型计算机接口技术2.8.1 LED显示器接口2.8.2 键盘和开关接口2.8.2.1 独立式按键键盘2.8.3 单片机应用系统中键盘、显示接口技术2.8.3.1 8155扩展I/O口的键盘、显示器接口2.8.3.2 串行口扩展的键盘、显示器接口2.8.3.3 可编程键盘、显示接口芯片82792.8.4 D/A转换器接口2.8.4.1 D/A转换原理2.8.4.2 单片集成D/A转换器2.8.5 A/D转换器接口2.8.5.1 双积分式A/D转换原理2.8.5.2 逐次逼近式A/D转换原理2.8.6 打印机接口电路3.课程的基本要求3.1 计算机基础知识了解本章内容3.2 微型计算机结构掌握MCS--51单片机的结构、引脚、存储器配置,理解CPU的时序、复位电路、输入/输出端口结构和工作原理。
《单片机原理及应用》课程实验指导书一、实验目的《单片机原理及应用》课程实验是电子信息工程专业的一门专业基础课实验,是本专业学生获得单片机知识的开端。
要求学生通过本课程实验,具备利用单片机技术解决实际控制问题的能力。
培养与提高学生科学实验的能力,动手实践能力、理论联系实际的能力、自学能力、从简单的设计到综合的应用能力和创新能力。
通过实验的训练,使学生掌握《单片机原理及应用》实验的基本方法和基本技能,加深对单片机知识的理解,掌握单片机应用系统设计方法,为今后的工作打下良好的基础。
二、实验设备及器件PC机一台DP-51PROC单片机综合仿真实验仪一台示波器一台电阻若干电容若干导线若干三、实验内容本实验共8个实验内容:实验一仿真实验仪的操作使用练习实验二单片机I/O口控制实验实验三蜂鸣器驱动实验实验四电子琴实验实验五定时器输出PWM实验实验六直流电机实验实验七点阵LED 扫描输出实验实验八串口通信实验*详细指导内容请见附录。
四、实验考核、成绩评定考核方法:设计过程中检查学生实际操作能力,根据课程设计内容要求,设计相关程序, 指导书中所给代码仅供参考,要求学生独立进行整体程序设计,教师要检查学生的运行步骤及结果。
成绩评定:实验成绩根据考勤、实验态度、动手能力、创新能力和实验报告来综合评定,实验成绩计入课程平时成绩,占总成绩的20%。
五、参考资料1、DP-51PROC实验指导书(实验设备配套指导资料),2007年.2、李广第.等单片机基础.北京航空航天大学出版社,2005年.3、蒋辉平等.基于Proteus的单片机系统设计与仿真实例,2012年.六、实验报告格式要求按学院实验报告统一格式报告内容包括:实验目的与要求、实验步骤、程序流程图和实验程序、实验步骤和实验结论。
附录——详细指导内容第一次实验(4学时)实验一仿真实验仪的操作使用练习一.实验目的和要求熟悉Keil C51 集成开发环境调试功能的使用和DP-51PROC 单片机综合仿真实验仪的使用。
第
第第
第6
66
6章
章章
章
单片机的定时器
单片机的定时器单片机的定时器
单片机的定时器/
//
/计数器
计数器计数器
计数器
习题
习题习题
习题
1.MCS-51系列的8051单片机内有几个定时/计数器?每个定时/计数器有几种
工作方式?如何选择?
答:MCS-51系列的8051单片机内有2个定时/计数器,即T0和T1,每个都可以编程为定时器或计数器,T0有四种工作方式(方式0—13位、方式1—16位、方
式2-可自动装入初值的8位、方式3-两个8位),T1有三种工作方式(与T0相
同的前三种),通过对TMOD的设置选择,其高四位选择T1,低四位选择T0。
2.如果采用的晶振频率为3MHz,定时/计数器TO分别工作在方式0、1和2下,其最大的定时时间各为多少?
答:如果采用的晶振频率为3MHz,机器周期为12×1/(3*106)=4us,由于定时/ 计数器TO工作在方式0、1和2时,其最大的计数次数为8192、65536和256
所以,其最大定时时间分别是:方式0为8192×4us=32.768ms、方式1为65536 ×4us=262.144ms、方式2为256×4us=1024us。
3.定时/计数器TO作为计数器使用时,其计数频率不能超过晶振频率的多少?答:由于定时/计数器TO作为计数器使用时,是对外部引脚输入的脉冲进行计数,CPU在每个机器周期采样一次引脚,当前一次采样为高电平,后一次采样为低电平,则为一次有效计数脉冲,所以如果晶振频率为fosc,则其采样频率fosc/12,两次采样才能决定一次计数有效,所以计数频率不能超过fosc/24。
4.简单说明定时/计数器在不同工作模式下的特点。
答:方式0为13位的定时/计数器,由THx的8位和TLx的低5位构成、方式1 为16位的定时/计数器,由THx的8位和TLx的8位构成,方式2为8位的定时/ 计数器,TLx为加1计数器,THx为计数初值寄存器。
方式3只能用于T0,是将
T0的低8位用作一个独立的定时/计数器,而高8位的TH0用作一个独立的定时
器,并借用T1的TR1和TF1作为高8位定时器的启停控制位和溢出标志位。
5.定时器工作在方式2时有何特点?适用于什么应用场合?
答:定时器工作在方式2时是一个可自动装入时间常数初值的8位定时/计数器,TLx为加1计数器,THx为计数初值寄存器。
由于其恢复初值由硬件自动完成,
所以当需要反复计数时,用方式2可以方便地实现精确的定时。
6.一个定时器的定时时间有限,如何采用两个定时器的串行定时来实现较长时
间的定时?
答:一个定时器的定时时间有限,可采用两个定时器的串行定时来实现较长时间
的定时,比如,当fosc=12MHz时,单个定时/计数器采用方式1的最大定时时
间为65.536ms,此时若用另一个定时/计数器按方式1进行溢出次数计数,在定
时器溢出中断时,给计数器发一个计数脉冲,且两者均为方式一,则两者串行可
达到的定时时间为65536×65.536ms=4294967.296ms。
7.设MCS-51单片机的晶振频率为12MHz,请编程使P1.O端输出频率为20kHz
的方波。
解:fosc = 12MHz,所以机器周期为1us。
20kHz的方波周期为1/(20×1000)=50us,方波即高电平和低电平和时间相等,所以只需设一个定时器定时25us将P1.O
求反一次即可。
由于题目没有规定,所以可以用查询方式,也可以用中断方式进
行编程实现。
方法一:采用查询方式实现
#include<reg51.h> sbit P1_0=P1^0;//定义输出引脚变量
void main(){
P1_0=0; //输出初值为0
TMOD=0x02; //T0方式2定时
TH0=256-25; //计25次,计数初值为模256减25
TL0=TH0;
TR0=1; //启动T0
while(1) //无限循环
if(TF0){ //查询T0溢出标志
TF0=0; //溢出标志复位
P1_0=!P1_0; //输出求反
}
}
方法二:采用中断方式实现
#include<reg51.h>
sbit P1_0=P1^0; //定义输出引脚变量
void main(){
P1_0=0; //输出初值为0
TMOD=0x02; //T0方式2定时
TH0=256-25; //计25次,计数初值为模256减25
TL0=TH0;
IE=0x82; //允许CPU响应中断,允许T0发中断请求
TR0=1; //启动T0
for(;;){} //无限循环等待中断
}
timer0()interrupt 1 using 1{
P1_0=!P1_0; //输出求反
}
8.采用定时/计数器TO对外部脉冲进行计数,每计数10O个脉冲,TO切换为定时工作方式。
定时1ms后,又转为计数方式,如此循环不止。
假定MCS-5l单片
机的晶体振荡器的频率为6MHz,要求T0工作在方式1状态,请编写出相应程序。
解:晶体振荡器的频率为6MHz,则机器周期为12×1/(6*106)= 2us, 要定时1ms,需计数次数为1000/2=500次
#include<reg51.h>
sbit P1_0=P1^0;
void main(){
while(1){
TMOD=0x05;//T0计数,方式一
TH0=(65536-100)/256;//计数100次
TL0=(65536-100)%256;
TR0=1;
while(!TF0);//等待计数100次的溢出
TF0=0; //溢出标志复位
TMOD=0x01;//T0定时,方式一 TH0=(65536-500)/256;//计数100次
TL0=(65536-500)%256;
TR0=1; //启动T0
while(!TF0); //等待定时时间到1ms的溢出
TF0=0; //溢出标志复位
}
}
9.设单片机的fosc = 12MHz,使P1.O和P1.1分别输出周期为1ms和lOms的
方波,请用定时器TO方式2编程实现。
解:fosc = 12MHz,所以机器周期为1us。
要使P1.0输出周期为1000us的方波,可以通过定时中断方式实现,定时时间为250us,定时计数2次来实现,对P1.0求反即可。
要使P1.1输出周期为10ms的方波,也可以通过定时中断方式实现,定时时间为5ms,当时间到时,对P1.1求反即可。
由于5ms/250us=20,所以也可以通过对250us的定时计数20次来实现。
程序如下:
#include<reg51.h>
sbit P1_0=P1^0;//输出周期为400us的方波的引脚
sbit P1_1=P1^1; //输出周期为10ms的方波的引脚
unsigned char num1=0,num2=0;//中断次数计数器,初值为0
void main(){
P1_0=0; //输出初值为0
P1_1=0; //输出初值为0
TMOD=0x02; //T0方式2定时
TH0=256-250;//计200次,计数初值为模256减200
TL0=TH0;
IE=0x82; //允许CPU响应中断,允许T0发中断请求
TR0=1; //启动T0
for(;;){} //无限循环等待中断
}
void timer0()interrupt 1 using 1{
num1++;num2++; //中断次数加1
if(num1==2) // 中断次数达到2次
{ P1_0=!P1_0; //输出P1_0求反
num1=0; //中断次数复位为0
}
if(num2==20){ // 中断次数达到20次
num2=0; //中断次数复位为0
P1_1=!P1_1; //输出P1_1求反
}
}
10.编写程序,要求使用TO,采用方式2定时,在P1.0输出周期为400us占空
比为10:1的矩形脉冲。
解:设fosc = 12MHz,则机器周期为1us。
设P1.0初值为0。
周期为400us,可定义方式2定时,计数初值为256-40,一个周期中断10 次为400us,在中断计数为1和2(或任意两次计数之间)时,对P1.0求反即可。
#include<reg51.h>
sbit P1_0=P1^0; //输出周期引脚
unsigned char cnt=0; //中断次数计数器,初值为0
void main(){
P1_0=0; //输出初值为0
TMOD=0x02; //T0方式2定时
TH0=256-40; //计40次,计数初值为模256减40
TL0=TH0;
IE=0x82; //允许CPU响应中断,允许T0发中断请求
TR0=1; //启动T0
for(;;){} //无限循环等待中断
}
void timer0()interrupt 1 using 1{
cnt++;//中断次数加1
if(cnt==1||cnt==2) P1_0=!P1_0; //中断次数为1或2时对输出引脚求反
if(cnt==10)cnt=0; //中断次数达到10时复位为0
}。