世纪电源网社区logo
社区
Datasheet
标题
返回顶部
讨论

电子DIY作品-电梯模型控制

[复制链接]
查看: 1116 |回复: 3
1
yuangungun
  • 积分:1621
  • |
  • 主题:108
  • |
  • 帖子:197
积分:1621
LV6
高级工程师
  • 2018-11-5 11:17:41
电梯模型控制
陈松碧,李文娟
摘 要
工厂、学校,居民楼等各种楼层高的地方基本都使用电梯。我们小组将在电子综合实践中利用所学的知识做一个以单片机为核心的电梯模型控制系统。本设计主要介绍电梯自动控制模型。设计包括硬件电路和软件调试。硬件部分我们使用的是单片机控制直流电机,及一些外围电路组成高度为3层的电梯控制系统。当有呼叫信号时,软件部分中的程序中立即进入定层,取向,判断,启动电梯等,
通过调用各项子程序完成各楼层的升降控制。同时数码管显示电梯所在的层数,和电梯运行时间。
关键词:电梯模型,L298,霍尔传感器,直流电机
1.引言
电梯进入人们的生活已经150年了。一个半世纪的风风雨雨,翻天覆地的是历史的变迁,永恒不变的是电梯提升人类生活质量的承诺。
工厂、学校居民楼等各种楼层高的地方基本都使用电梯。我们小组将在电子综合实践中利用所学的知识做一个电梯模型控制系统。
1854年,在纽约水晶宫举行的世界博览会上,美国人伊莱沙·格雷夫斯·奥的斯第一次向世人展示了他的发明。他站在装满货物的升降梯平台上,命令助手将平台拉升到观众都能看得到的高度,然后发出信号,令助手用利斧砍断了升降梯的提拉缆绳。令人惊讶的是,升降梯并没有坠毁,而是牢牢地固定在半空中——奥的斯先生发明的升降梯安全装置发挥了作用。“一切安全,先生们。”站在升
降梯平台上的奥的斯先生向周围观看的人们挥手致意。谁也不会想到,这就是人类历史上第一部安全升降梯。生活在继续,科技在发展,电梯也在进步。150年来,电梯的材质由黑白到彩色,样式由直式到斜式,在操纵控制方面更是步步出新——手柄开关操纵、按
钮控制、信号控制、集选控制、人机对话等等,多台电梯还出现了并联控制,智能群控;双层轿厢电梯展示出节省井道空间,提升运输能力的优势;变速式自动人行道扶梯的出现大大节省了行人的时间;不同外形——扇形、三角形、半菱形、半圆形、整圆形的观光电则使身处其中的乘客的视线不再封闭。如今,以美国奥的斯公司为代表的世界各大著名电梯公司各展风姿,仍在继续进行电梯新品的
研发,并不断完善维修和保养服务系统。调频门控、智能远程监控、主机节能、控制柜低噪音耐用、复合钢带环保——一款款集纳了人类在机械、电子、光学等领域最新科研成果的新型电梯竞相问世,冷冰冰的建筑因此散射出人性的光辉,
人们的生活因此变得更加美好。中国最早的一部电梯出现在上海,是由美国奥的斯公司于1901年安装的。1932年由美国奥的斯公司安装在天津利顺德酒店的电梯至今还在安全运转着。1951年,党中央提出要在天安门安装一台由我国自行制造的电梯,天津从庆生电机厂荣接此任,四个月后不辱使命,顺利地完成了任务。十一届三中全会后,沐浴着改革开放的春风,我国电梯业进入了高速发展的时期。如今,在我国任何一个城市,电梯都在被广泛应用着。电梯给人们的生活带来了便利,也为我国现代化建设的加速发展提供了强大的保障。电梯是高层建筑中安全、可靠、垂直上下的运载工具,对改善劳动条件、减轻劳动强度起到很大的作用。电梯的应用范围很广,可用于宾馆、饭店、办公大楼、商场、娱乐场所、仓库以及居民住宅大楼等。在现代社会中,电梯已成为人类必不可少的垂直运输交通工具。
1889年,美国奥梯斯升降机公司推出了世界第一部以电动机为动力的升降机,同年在纽约市的马累特大厦安装成功,标志电梯的诞生。
1915年已设计成功电梯自动平层控制系统。
1933年美国制造出6m/s的高速电梯。
1949年研制出4-6台电梯群控系统。
1955年出现真空电子管小型计算机控制电梯。
1962年在美国已出现8.5m/s的超高速电梯。
1967年将固体晶闸管用于电梯拖动系统。电梯使用的驱动由最初的直流电机到单速交流感应电机,后来的交流双速电机的发明,才基本满足了电梯的运行要求
1976年将微处理器应用于电梯。
1977年日本三菱电机开发出10m/s的超高速电梯。至此,电梯的控制技术已有了很大的发展......
本设计主要是用51单片机来实现电梯控制系统,使其具备电梯基本升、降功能,并当多层对电梯呼叫时,能安排电梯停靠,从而实现电梯的基本运行情况的模拟。
2.设计任务与要求
电梯控制模型,示意图如图1所示。

       图1
电梯间竖井部分由有机玻璃粘成无上盖板的六面体ABCDEFGH,高度AE为1.2m;电梯桥厢模型J通过滑轮悬挂并由电动机M牵引,可在电
梯间竖井模型的空间内上下运动。该电梯间竖井模型每隔20cm自下向上分成5层,其
基本要求:
(1) 当某层有呼叫并有呼叫信号显示时,桥厢模型作相应的运动,并准确平层,平层的位置误差<10mm。要求平均每层运行时间不超过5秒,平层结束时给出提示信号。
(2) 当有多层呼叫时,桥厢模型将按说明中的电梯模型运行规则作相应的运动,并依次在呼叫的楼层停留5秒。
(3) 能自动记录、显示桥厢模型当前到达的楼层编号。
(4) 要求桥厢模型在加载400克的条件下,从1层到3层和从3层到1层的往返时间相等,单程时间不超过12秒,往、返时间之差不大于1秒,并自动记录、显示运行时间。
3. 方案选择
3.1 控制器选择
采用一个单片机控制所有的按键、数码管显示、电动机的转动、传感器的输出信号等等,并对以上所有信号进行处理。单片机技术目前较为成熟,自身资源丰富,硬件设计简单,成本低,可靠性高,结合软件完全可以实现电梯运行状况
的简单模拟。故采用本方案。本系统的系统板主要由MCS51系列单片机AT89S52组成。AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8K Bytes ISP的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术制造,兼容
MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S52具有如下特点:40个引脚,8K Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,
2个全双工串行通信口,看门狗电路,片内时钟振荡器。此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

图2
3.2 动力选择
方案一:电机选用直流电机。
使用直流电机,驱动部分采用lm298芯片驱动。直流电机用程序更好控制,电路也会相对简单。调速性能好:调速范围广,易于平滑调节。起动、制动转矩大,易于快速起动、停车。
方案二:直接用步进电机及其驱动芯片lm298。直流电机在断电的时候很难控制其速度,容易出现电机不能快速停止的情况。用步进电机再加上程序控制基本上可克服上述困难。但是基于本设计只是对电梯运行状况的模拟而已,对电机驱动这部分要求不是很严格,只需要实现电机的正反转就可以了,所以选择直流电机及常用的驱动芯片LM298,就可以实现电梯上升与下降的模拟。
3.3 传感器选择
本设计采用的是霍尔开关集成电路CS3144,CS3144 霍尔开关集成电路应用霍尔效应原理,采用半导体集成技术制造的磁敏电路,它是由电压调整器、霍尔电压发生器、差分放大器、史密特触发器,温度补偿电路和集电极开路的输出级组成的磁敏传感电路,其输入为磁感应强度,输出是一个数字电压讯号,输入输出关系如图4所示。CS3144 霍尔开关集成电路具有体积小,灵敏度高,响应速度快,温度性能好,精确度高,可靠性高等优点。CS3144 霍尔开关集成电路的功能方框图如图3所示。

       图3

       图4




收藏收藏1
yuangungun
  • 积分:1621
  • |
  • 主题:108
  • |
  • 帖子:197
积分:1621
LV6
高级工程师
  • 2018-11-5 11:32:37
  • 倒数3
 
4.硬件电路设计
4.1 单片机最小系统
如图5所示。P0口控制电梯上下楼的各个按键,P1口控制四位一体数码管的段选,P2.0-P2.3控制数码管的位选。P2.4-P2.6控制电梯上行,下行及检修的显示灯。P2.7控制报警器电路。P3.5,P3.6通过控制电梯驱动芯片来控制电机正反转。P3.7控制lm298驱动芯片的使能端,P3.2,P3.3,P3.4用来查询霍尔输出信号。复位电路由按键和电容并联在电阻R2串联来组成复位电路,时钟发生电路由电容和晶振组成。

4.2 电机驱动电路
电机驱动电路如图6所示,电路使用了驱动芯片LM298,其内部结构如图7所示。IN1与IN2高低电平使得OUT1,OUT2之间有电压之差来控制直流电机的正反转,EN 为芯片的使能端,同时选择了快速恢复二极管或者肖特基二极管来作为续流二级管,它在电路中用来保护元件不被感应电压击穿或烧坏,以并联的方式接到产生感应电动势的电动机线圈两端,并与其形成回路,使其产生的高电动势在回路以续电流方式消耗,从而起到保护电路中的元件不被损坏。用1N4148就可以了起到保护作用了。


图7
4.3 显示电路
显示电路是用来显示电梯的楼层和运行时间,它是利用了单片机显示程序来控制一个四位一体共阴数码管来显示,四位一体数码管管脚图如下

图 8
4.4 按键电路
P0口的八个引脚连接八个按键,分别是1,2,3楼电梯内外的按键及检修电路按键,。通过程序不断的查询1、2、3楼层内、外是否按键按下来使单片机程序控制电梯运行。
4.5 平层提示信号电路
当电梯到达目的楼层的时候是需要给予提示信号,故使用蜂鸣器来发出的声音做为提示信号,其电路如图9所示,将三极管的基极接到P2.7引脚上,只需在程序中到达了目的层给P2.7高电平就能使蜂鸣器发出声音。

图 9
4.6 霍尔传感器平层电路
当磁铁靠近的时候,霍尔输出低电平,单片机P3.2,P3.3,P3.4 引脚接霍尔的输出信号,这样通过程序查询是哪个楼层霍尔输出为低电平,就可知道电梯到达了哪个楼层并使数码管显示当前的楼层。

5.硬件电路测试
5.1 单片机最小系统测试
对单片机的的P0,P1,P2,P3口进行测试,将每个口分别用排线引到自己制作的流水灯硬件上,然后对其编程如下:
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint);
uchar temp;
void main()
{ temp=0x01;
P0=0X01;
while(1)
{
temp=_crol_(temp,1);
delay(50);
P0=temp;
}
}
void delay(z)
{
uint i,y;
for(i=z;i>0;i--)
for (y=2000;y>0;y--);
}
只需将P0口分别改成P1,P2,P3,并将排线分别接到P1,P2,P3就能对分别对各个I/O口进行测试了。测试结果是流水灯正常流动起来。即单片机最小系统有效。
5.2 按键测试
按键是由P0口各个引脚控制,则可以直接将P0口的排针用线接到流水灯的硬件电路上,按下其中一个按键对应的一个流水灯的发光二极管就亮,说明按键都有效
5.3 电机驱动电路测试
电机的正反转时由 P3.5,P3.6 控制,所以只需控制P3 口就能使电机正反转。
测试程序如下:
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uintz);
sbit D1=P2^1;
sbit D2=P2^2;
sbit D3=P2^3;
sbit D4=P2^4;
sbit D7=P2^7;
void main()
{ P2=0x00;
P0=0xff;
while(1)
{
if(P0==0xfe)
{ P3=0xc0;
}
if(P0==0x7f)
{P3=0xa0;}
P3=0x00;
}
}
void delay(z)
{
uint i,y;
for(i=z;i>0;i--)
for (y=2000;y>0;y--);
}
测试结果:电机能够正常的正反转
5.4 显示电路测试
数码管的位选 P2.0-P2.3 控制,四位一体数码管的段选由P1 口控制,所以控制P0 口和P1 口就能使数码管显示
程序如下:
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uintz);
sbit D1=P2^1;
sbit D2=P2^2;
sbit D3=P2^3;
sbit D4=P2^4;
sbit D7=P2^7;
uchar code table[] = {0x5f, 0x44, 0x9d, 0xd5, 0xc6, 0xd3, 0xdb, 0x45, 0xdf,
0xd7,0xcf, 0xda, 0x1b, 0xdc, 0x9b, 0x8b};
void main()
{ D1=1;
D2=0;
D3=1;
D4=0;
D7=0;
while(1)
{uint num;
P2=0x00;
P3=0xc0;
delay(100);
P3=0xa0;
delay(100);
P3=0x0a0;
delay(100);
for(num=0;num<16;num++)
{P1=table[num];
delay(100);
}
}
}
void delay(z)
{
uint i,y;
for(i=z;i>0;i--)
for (y=2000;y>0;y--);
}
测试结果:四位一体数码管能同时显示1-f 各个数字。






yuangungun
  • 积分:1621
  • |
  • 主题:108
  • |
  • 帖子:197
积分:1621
LV6
高级工程师
  • 2018-11-5 11:36:36
  • 倒数2
 
5.5 提示信号电路测试
程序如下:
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uintz);
sbit D7=P2^7;
void main()
{while(1)
D7=1;
}
测试结果:蜂鸣器鸣叫,说明提示信号电路有效。
6.软件程序设计
由于本设计采用单片机实现控制,软件设计部份的程序编写用C语言来完成。其中主程序部分主要完成调用子程序。系统的初始化,中断方式的设置,开中断,存储单元的清零等,用查询法查按键是否按下,数码管的显示,按键的响应,转动电机的控制,延时等均由相应的子程序来完成。软件编程是实现多功能、智能化、操作方便的关键。在本设计中,可以把子程序的各部分相互结合起来,达到
设计所要求各项的功能。软件设计思想:采用模块化的分层次设计方法,将软件系统功能由多个实现单一功能的子程序实现。通过调用不同的子程序,实现了复杂功能控制。这样便于调试、修改。电梯运行程序流程图如图10所示

图10
7.心得体会
通过本次电子综合实践制作作品,我们受益匪浅。我们不仅完成了一件作品,巩固和拓展了我们的专业知识,而且大大提高了我们的创新精神,动手能力,团队协作和竞争意识,这些在今后的人生道路上都将是一笔宝贵的财富。同时经过此系统的设计和制作,又提升了我对电子设计和制作的兴趣。用单片机和软件程序的结合可以使电路和设计更加简单;系统的功能也比较稳定且容易控制;软
硬件的结合无疑是这几年并且是今后相当长一段时间内的主流,对于今后的电子设计与制作的发展前景,我们充满信心。
8.参考文献
[1] 赵亮,侯国锐主编《单片机C语言编程与实例》北京:人民邮电出版社,
2003年.
[2]童诗白华成英主编,《模拟电子技术基础第三版》 北京:高等教育出版社,
2006年.
[3]阎石主编,《数字电子技术基础》北京:高等教育出版社,2007年.
[4] 潘永雄主编《电子电路CAD实用教程(第二版)》西安:西安电子科技大学
出版社,2001年.
[5] 杨国田,白焰,董玲主编《51单片机实用C语言程序设计与典型实例》北京:
中国电力出版社,2009.
[6]胡汉才主编.《单片机原理与接口技术(第二版)》北京:清华大学出版社,
2004.
[7] 王千.实用电子电路大全[M], 电子工业出版社,2001
[8] Wendt E,AT89S51[J] ,DATA SHEEP Philips Semiconductors, 1999.dec
[9]梁延东主编《电梯控制技术》 北京:中国建筑工业出版社 1997
[10]陈步月编著《基于单片机的检测技术原理与应用》 北京:机械工业出版社
2007
[11]王浩全等编著《Protel DXP电路设计与制版使用教程》北京:人民邮电出
版社 2005
[12]全国大学生电子设计竞赛组委员会编《第五届全国大学生电子设计竞赛获奖
作品选编》北京:北京理工大学出版社 2003

yuangungun
  • 积分:1621
  • |
  • 主题:108
  • |
  • 帖子:197
积分:1621
LV6
高级工程师
最新回复
  • 2018-11-5 11:43:38
  • 倒数1
 
附录A 电路原理图


附录 B 电路PCB 图

附录 C 实物照片


附录D 软件程序
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define MAX_FLOOR 3//楼层高度
uchar count,count1;
uchar disnum;
uchar gf,b;//gf 表示目的层,b 为等待计数累加位
uint nf;//当前所在楼层
uint up_call[MAX_FLOOR],down_call[MAX_FLOOR],in_call[MAX_FLOOR];//存放呼叫事件
uchar code dis[]= {0x5f, 0x44, 0x9d, 0xd5, 0xc6, 0xd3, 0xdb, 0x45, 0xdf, 0xd7,0xcf, 0xda,
0x1b, 0xdc, 0x9b, 0x8b};//0-16 数码显示代码
sbit F3=P0^0; // 电梯内3 楼
sbit F2=P0^1; // 电梯内2 楼
sbit F1=P0^2; // 电梯内1 楼
sbit F1U=P0^3; //1 楼向上按钮
sbit F2U=P0^4; //2 楼向上按钮
sbit F2D=P0^5; //2 楼向下按钮
sbit F3D=P0^6; //3 楼向下按钮
sbit REPER=P0^7; //检修按键
sbit IN1=P3^5; //正转控制位
sbit IN2=P3^6; //反转控制位
sbit YI= P3^2; //三楼霍尔输出信号
sbit ER=P3^3; //二楼霍尔输出信号
sbit SAN=P3^4; //一楼霍尔处输出信号
sbit EN=P3^7; //L298 使能端信号
sbit P20=P2^0; //数码管段选1
sbit P21=P2^1; //数码管段选2
sbit P22=P2^2; //数码管段选3
sbit P23=P2^3; //数码管段选4
sbit U=P2^5; //上行指示灯
sbit D=P2^6; //下行指示灯
sbit JX=P2^4; //检修指示灯
sbit RING=P2^7; //蜂鸣器报警
void init(); // 初始化程序
void check(); //霍尔查询楼层
void display(uchar ,uchar ,uchar,uchar); //显示函数
void floor(); //楼层控制函数
void downer(); //下降函数
void uper(); //上升函数
void stop(); //停车函数
void getinput(); //按键查询函数

//************************************
// 初始化函数
void init()
{ RING=0;
TMOD=0x11;
EA=1;
ET0=1;
ET1=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR1=1;
nf=1;
P0=0xff;
IN1=0;
IN2=0;
U=0;
D=0;
JX=0;
EN=0;
YI=1;
ER=1;
SAN=1;
}
//******************************************
//1ms 延时程序
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=100;y>0;y--);
}
//按键检测程序;
// *********************************
void getinput()
{
if(F3D==0)
{down_call[2]=1;}
else if(F1U==0)
{up_call[0]=1;}
else if(F2D==0)
{down_call[1]=1;}

else if(F2U==0)
{up_call[1]=1;}
else if(F1==0)
{in_call[0]=1;}
else if(F2==0)
{in_call[1]=1;}
else if(F3==0)
{in_call[2]=1;}
else if(REPER==0)
{JX=1; //检修按键按下后把电梯下降到一楼,
gf=1; //并且检修灯亮,cpu 处于掉电模式
TR0=1;
while(nf!=gf)
{
check();
EN=1;
IN1=0;
IN2=1;
display(disnum/100,disnum%100/10,disnum%10,nf);
}
stop();
PCON=0x02; //cpu 处于掉电模式
}
}
//**************************
// 停车报警等待程序
void stop()
{
U=0;
D=0;
EN=0;
IN1=0;
IN2=0;
while(b!=120)
{
b++;
if(b>30)
{RING=0;}
else
RING=1;
display(disnum/100,disnum%100/10,disnum%10,nf);
display(disnum/100,disnum%100/10,disnum%10,nf);

}
TR0=0;
RING=0;
b=0;
disnum=0;
}
//**************************
//上升程序;
void uper()
{
TR0=1;
U=1;
if(nf==1&&gf==3)
{
getinput(); //电梯在一楼去往三楼查询是否2 楼有顺路乘坐
check();
while(nf==1)
{
getinput();
check();
IN1=1;
IN2=0;
display(disnum/100,disnum%100/10,disnum%10,nf);
}
if(up_call[1]||in_call[1])
{stop(); //报警停车
up_call[1]=0;
in_call[1]=0;}
}
while(nf!=gf)
{
TR0=1;
U=1;
getinput();
check();
IN1=1;
IN2=0;
display(disnum/100,disnum%100/10,disnum%10,nf);

}
stop();
}
//**************************
//下降程序
void downer()
{
TR0=1;
D=1;
if(nf==3&&gf==1)
{
getinput();
check(); //电梯在3 楼去往1 楼查询二楼是否有顺路
while(nf==3)
{
getinput();
check();
IN1=0;
IN2=1;
display(disnum/100,disnum%100/10,disnum%10,nf);
}
if(down_call[1]==1||(in_call[1]==1))
{
down_call[1]=0;
in_call[1]=0;
stop();
}
}
while(nf!=gf)
{
TR0=1;
D=1;
getinput();
check();
IN2=1;
IN1=0;
display(disnum/100,disnum%100/10,disnum%10,nf);
}
stop();
}
//**************************

//霍尔楼层查询
void check()
{
if(YI==0)
{nf=1; }
if(ER==0)
{nf=2;}
if(SAN==0)
{nf=3; }
}
//**************************
//电梯运行方式控制程序
void floor()
{
if(nf==1) // 电梯在一楼
{ if(down_call[1]||up_call[1]||in_call[1]) //2 楼为目的层
{ gf=2; uper();down_call[1]=0;up_call[1]=0;in_call[1]=0;}
else
if(down_call[2]||up_call[2]||in_call[2]) //3 楼为目的层
{gf=3;uper();down_call[2]=0;up_call[2]=0;in_call[2]=0; }
}
if(nf==2) //电梯在二楼
{if(up_call[0]||in_call[0]) //1 楼为目的层
{gf=1; downer();up_call[0]=0;in_call[0]=0;}
else
if(down_call[2]||up_call[2]||in_call[2]) //3 楼为目的层
{gf=3; uper();down_call[2]=0;up_call[2]=0;in_call[2]=0; }
}
if(nf==3)//电梯在三楼
{ if(down_call[1]||in_call[1]||up_call[1]) //2 楼为目的层
  {gf=2; downer(); down_call[1]=0;in_call[1]=0;up_call[1]=0;}
else
if(in_call[0]||up_call[0]) //1 楼为目的层

  { gf=1;downer();in_call[0]=0;up_call[0]=0;}
}
}
//显示函数

//*************************************
void display(uchar bai,uchar shi,uchar ge,uchar nf)
{
P20=0;
P1=dis[ge];
delay(5);
P20=1;
P21=0;
P1=dis[shi];
delay(5);
P21=1;
P22=1;
P1=dis[bai];
delay(5);
P22=1;
P23=0;
P1=dis[nf];
delay(5);
P23=1;
}
//主函数
//**************************************
void main()
{
init();
getinput();
while(1)
{
getinput();
floor();
display(disnum/100,disnum%100/10,disnum%10,nf);
}
}
//中断定时计数程序
//***********************************
void t0(void) interrupt 1 using 0

{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
count++;
if(count==20)
{ count=0;
disnum++;
if(disnum==1000)
{disnum=0;}
}
}
//************************************
void t1(void) interrupt 3 using 1
{
TH1=(65536-100)/256;
TL1=(65536-100)%256;
count1++;
EN=1;
}


热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号