该系统由主控制器、测温电路、显示电路及控制电路四大部分组成, 芯片使用了ATMEL公司的AT89S52单片机和美国DALLAS公司的DS18B20数字温度传感器。本文针对AT89S52单片机的性能和工作原理做了简单介绍;同时对测量范围在-55~+125℃之间的数字温度传感器DS18B20做了详细介绍。对软、硬件的各个模块,逐步分析设计,画出各模块流程图。经过反复的模拟运行、调试,最终实现系统功能。 该系统可应用于粮食仓储系统、楼宇自动化系统、空调系统的温度检测和生产过程监控等领域。
上传时间: 2017-08-10
上传用户:gyq
SPWM全桥逆变器主功率电路和控制电路设计
上传时间: 2022-04-04
上传用户:jason_vip1
随着智能表越来越多的使用, 各种类型的抄表器(既M-BUA主站)需求也随之增加。M-BUS接口电路作为抄表器的一个主要模块, 决定了抄表器性能的好坏, 也较为影响抄表器的成本高低。现今大多数抄表器都是延用TI 推荐的M-BUS接口电路方案(或是做了一些小的修改) ,该方案电路复杂,成本也较高,并不太适合大众化抄表器的使用。笔者根据M-BUS的工作原理,结合自身多年的电路开发经验,设计出一款简单实用、稳定可靠、成本低廉的主站M-BUS接口电路。这款接口电路经电路模拟仿真以及实际抄表测试,性能良好,工作可靠,完全可以替代TI 的M-BUS接口电路方案。电路原理根据主站M-BUS的工作原理:发送:传号电压: 24V~36V ( CJ-T188-2004 :20.8V~42V )空号电压:传号电压- 12V ( CJ-T188-2004 :传号电压- 10V )接收:传号电流:≤ 1.5mA空号电流: 11~20mA1. 发送电路发送电路的设计主要需要考虑的问题有:发送传、空号电压的变化量要大于等于12V(10V);电路的驱动能力,几十上百个智能表不能影响发送电压低于12V。用一个直流稳压器应该可以满足这些要求。图1 是发送电路框图。
上传时间: 2022-06-22
上传用户:XuVshu
模拟电子电路的一点学习方法,版主一研两发分享的资料,非常不错,值得一看~!
标签: 模拟电子电路
上传时间: 2013-05-18
上传用户:JANEM
三极管开关电路设计详细过程:三极管除了可以当做交流信号放大器之外,也可以做为开关之用。严格说起来,三极管与一般的机械接点式开关在动作上并不完全相同,但是它却具有一些机械式开关所没有的特点。图1所示,即为三极管电子开关的基本电路图。由下图可知,负载电阻被直接跨接于三极管的集电极与电源之间,而位居三极管主电流的回路上。
上传时间: 2013-11-18
上传用户:peterli123456
基于ICE1CSO2设计了一种PFC+PWM电路。采用前级为PFC电路,后级为双管正激拓扑电路的方式。通过仿真分析电路的基本原理,以500 W电路为例对PWM部分主变压器进行了详细的设计,并通过实际电路验证此电路具有功率因数高、稳定、高效等优点。
上传时间: 2014-12-24
上传用户:zhangjinzj
开关电源(直流变换器)的类型很多,从输入输出有无隔离角度,开关电源主回路可以分为隔离式与非隔离式两大类型。这两种类型中又各自包含有不同的电路拓扑种类。每种结构都有各自的特点,适用于不同的应用场合,下边将对各种开关电源拓扑结构简要叙述和比较。
上传时间: 2013-11-20
上传用户:cjh1129
附件为:LCD12864显示汉字和数字的程序与电路 /* 自定义延时子函数 */ void delayms(uchar z) { int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /* 判断LCD忙信号状态 */ void buys() { int dat; RW=1; RS=0; do { P0=0x00; E=1; dat=P0; E=0; dat=0x80 & dat; } while(!(dat==0x00)); } /* LCD写指令函数 */ void w_com(uchar com) { //buys(); RW=0; RS=0; E=1; P0=com; E=0; } /* LCD写数据函数 */ void w_date(uchar date) { //buys(); RW=0; RS=1; E=1; P0=date; E=0; } /* LCD选屏函数 */ void select_screen(uchar screen) { switch(screen) { case 0: //选择全屏 CS1=0; CS2=0; break; case 1: //选择左屏 CS1=0; CS2=1; break; case 2: //选择右屏 CS1=1; CS2=0; break; /* case 3: //选择右屏 CS1=1; CS2=1; break; */ } } /* LCDx向上滚屏显示 */ void lcd_rol() { int x; for(x=0;x<64;x++) { select_screen(0); w_com(0xc0+x); delayms(500); } } /* LCD清屏函数:清屏从第一页的第一列开始,总共8页,64列 */ void clear_screen(screen) { int x,y; select_screen(screen); //screen:0-选择全屏,1-选择左半屏,2-选择右半屏 for(x=0xb8;x<0xc0;x++) //从0xb8-0xbf,共8页 { w_com(x); w_com(0x40); //列的初始地址是0x40 for(y=0;y<64;y++) { w_date(0x00); } } } /* LCD显示汉字字库函数 */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) { //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-3,mun:显示第几个汉字的参数 int a; mun=mun*32; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } } /* LCD显示字符字库函数 */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) { //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } } /* LCD显示数字字库函数 */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) { //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } } /* LCD初始化函数 */ void lcd_init() { w_com(0x3f); //LCD开显示 w_com(0xc0); //LCD行初始地址,共64行 w_com(0xb8); //LCD页初始地址,共8页 w_com(0x40); //LCD列初始地址,共64列 } /* LCD显示主函数 */ void main() { //第一行 int x; lcd_init(); //LCD初始化 clear_screen(0); //LCD清屏幕 lcd_display_shuzi(1,0,4,5); //LCD显示数字 lcd_display_shuzi(1,0,5,1); //LCD显示数字 lcd_display_hanzi(1,0,3,0); //LCD显示汉字 lcd_display_hanzi(2,0,0,1); //LCD显示汉字 //LCD字符汉字 lcd_display_hanzi(2,0,1,2); //LCD显示汉字 //第二行 lcd_display_zifuk(1,1,2,0); //LCD显示字符 lcd_display_zifuk(1,1,3,0); //LCD显示字符 lcd_display_zifuk(1,1,4,0); //LCD显示字符 lcd_display_zifuk(1,1,5,4); //LCD显示字符 lcd_display_shuzi(1,1,6,8); //LCD显示字符 lcd_display_shuzi(1,1,7,9); //LCD显示字符 lcd_display_shuzi(2,1,0,5); //LCD显示字符 lcd_display_shuzi(2,1,1,1); //LCD显示字符 lcd_display_zifuk(2,1,2,4); lcd_display_zifuk(2,1,3,1); lcd_display_zifuk(2,1,4,2); lcd_display_zifuk(2,1,5,3); //第三行 for(x=0;x<4;x++) { lcd_display_hanzi(1,2,x,3+x); //LCD显示汉字 } for(x=0;x<4;x++) { lcd_display_hanzi(2,2,x,7+x); //LCD显示汉字 } //第四行 for(x=0;x<4;x++) { lcd_display_zifuk(1,3,x,5+x); //LCD显示汉字 } lcd_display_shuzi(1,3,4,7); lcd_display_shuzi(1,3,5,5); lcd_display_shuzi(1,3,6,5); lcd_display_zifuk(1,3,7,9); lcd_display_shuzi(2,3,0,8); lcd_display_shuzi(2,3,1,9); lcd_display_shuzi(2,3,2,9); lcd_display_shuzi(2,3,3,5); lcd_display_shuzi(2,3,4,6); lcd_display_shuzi(2,3,5,8); lcd_display_shuzi(2,3,6,9); lcd_display_shuzi(2,3,7,2); while(1); /* while(1) { // LCD向上滚屏显示 lcd_rol(); } */ }
上传时间: 2013-11-08
上传用户:aeiouetla
当RS-485用于多主通信的总线系统时,多个主机同时发送数据,将会导致数据冲突。为了避免冲突发生,介绍了一种RS-485电路,用简单硬件实现了总线状态的检测,大大降低了数据冲突概率。另外,为了避免总线上的干扰信号影响系统设备,通常需要实现总线与设备内部电路隔离,为此,文中提出了一种新的RS-485电路隔离方案。
上传时间: 2013-11-18
上传用户:思索的小白
飞行控制系统方案。整个系统由传感器组、飞控计算机、任务管理计算机、舵机、表决电路等主要部件和电源、外总线、通信设备、地面站等辅助设备组成。无人机、起落架、发动机、任务设备、燃油系统、环控系统等是被监控对象。其中,关键传感器采用相似或者非相似三余度;飞控计算机采用“主备备”式三余度飞控机算机;舵机采用二余度电动舵机;表决逻辑由高可靠性单余度数字逻辑电路和双路开关实现。
上传时间: 2013-12-29
上传用户:changeboy