51系列单片机程序设计解析
- 格式:ppt
- 大小:2.07 MB
- 文档页数:87
51单片机汇编语言及C语言经典实例实验及课程设计一、闪烁灯如图1 所示为一简单单片机系统原理图:在P1.0 端口上接一个发光二极管L1,使L1 在不停地一亮一灭,一亮一灭的时间间隔为0.2 秒。
延时程序的设计方法,作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为0.2 秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢?下面具体介绍其原理:如图4.1.1 所示的石英晶体为12MHz,因此,1 个机器周期为 1 微秒,机器周期微秒如图 1 所示,当P1.0 端口输出高电平,即P1.0=1 时,根据发光二极管的单向导电性可知,这时发光二极管L1 熄灭;当P1.0 端口输出低电平,即P1.0=0 时,发光二极管L1 亮;我们可以使用SETB P1.0 指令使P1.0端口输出高电平,使用CLR P1.0 指令使P1.0 端口输出低电平。
C 语言源程序#include <AT89X51.H>sbit L1=P1^0;void delay02s(void) //延时0.2 秒子程序{unsigned char i,j,k;for(i=20;i>0;i--)for(j=20;j>0;j--)for(k=248;k>0;k--);}void main(void){while(1){L1=0;delay02s();L1=1;delay02s();}汇编源程序ORG 0START: CLR P1.0LCALL DELAYSETB P1.0LCALL DELAYLJMP START DELAY: MOV R5,#20 ;延时子程序,延时0.2 秒D1: MOV R6,#20D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND图2 程序设计流程图图1 单片机原理图二、多路开关状态指示如图 3 所示,AT89S51 单片机的 P1.0-P1.3 接四个发光二极管 L1-L4,P1.4-P1.7 接了四个开关 K1-K4,编程将开关的状态反映到发光二极管上。
PHILIPS 51LPC 系列单片机解析方案1 概述PHILIPS 51LPC 系列单片机目前已包括P87LPC760/1/2/4/7/8/9 共七个型号。
51LPC 提供高速和低速的晶振和RC 振荡方式,可编程选择;具有较宽的操作电压范围2.7~6.0V,可编程I/O 口线输出模式选择,可选择施密特触发输入,LED 驱动输出;有内部看门狗定时器及提供掉电检测模拟功能,最大限度地减少了外部元件的使用。
这些特性和改进的C51 结构结合在一起,使得在设计高集成度、低成本和低功耗控制电路时具有更多的选择。
该系列主要用于对系统成本有严格要求,且系统具有高抗干扰性能的低功耗应用领域,已广泛用于电子阳性能表、IC 卡水表、电子称、消毒碗柜、LED 显示屏、煤气表等工业控制领域。
本文介绍在市电情况下使用LPC 系列微控制器P87LCP761 与三象限双向晶闸管(Triac)控制感性负载交流电机的方法。
使用一种全新的电流过零检测方法,不必在负载电流线路中加入旁路电阻,利用单相关波整提供控制电路的电源。
LPC 的高抗干扰性能使得只用极少外部零件即能完成此系统。
此解决方案可通过P87LPC761 系列单片机的片内RC 振荡器和比较来实现,或者其它带有片内PWM、ADC 和DAC 等功能的LPC 系列芯片。
该系统可用于对电机(AC/DC)阀门、泵灯等的控制,广泛用于照明、HVAC、电源工具、仪表及工业控制等领域。
表1 是P87LPC761 的引脚功能。
表1 P87LPC761 引脚功能2 原理2.1 负载电压的过零控制单输入检测方框图1 和2 为该应用的总体框图。
电路直接通过市电进行供电,相位控制。