ys500

时间:2024-06-12 18:34:58编辑:奇事君

三极管散热片为什么加在集电极上

根据Ic=βIb、Ie=(β+1)Ib看,三极管电流最大的其实是发射极。最关键的问题是只要三极管工作,发射结就导通,Ube被限制在0.7V(硅管)、0.2V(锗管)很小的数值,而集电结经常处于反偏,Ucb比较大,考虑β很大,所以说集电极电流约等于发射极电流Ic≈Ie,因此管子功耗P≈UceIc=(Ucb+Ube)Ic≈UcbIc,总之三极管功耗主要表现在集电区及集电极,故散热片加在集电极上。


飞利浦剃须刀各个型号的刀头头可以通用吗?

第一:2年的时间根本不需要换刀头.在正常使用,保养得当的情况下,PHILIPS电须刀的刀头寿命一般都可以达到5-7年左右.而说明书上为什么要写建议2年换一次了?原因就是在于PHILIPS心黑,想多赚咱的RMB.如果你觉得使用起来不太顺畅了,可以把刀头取出后完全清洁内部,然后在每个刀头上都滴一滴钟表油帮助润滑就可以了.

第二,如果实在是要换,最好去正规商场找专业人员.首先,PHILIPS须刀的刀头,只要不是同一系列的,型号就不行,不能互换.如果换错,多花钱不说,还影响须刀使用.然后,PHILIPS国外和国内的机器型号不同,包括刀头型号.但是并不是在国外购买就不能国内买到刀头.所以,国外的机器刀头在国内必须要找专业人士帮忙认清与国内相同的型号才能更换.

希望对你有帮助.


汇编 延时子程序

用delay来产生延时在要求较高的场合不大合适。

可调用系统时间来产生准确的延时,并且可控制延迟时间

TEMP: MOV AH,2CH
INT 21H
ADD DH,5 ;获得时间.DH为 当前的秒数,5秒可以自己选择
PUSH DX
WAIT:

POP DX
MOV AL,DH
PUSH DX

MOV AH,2CH ;新的时间
INT 21H

CMP DH,AL
JB WAIT ;小于5秒的话继续查询


欢迎讨论


求解释!!!汇编语言:延时程序

DELAY:MOV R7,#250 第一层循环250次
DEL1:MOV R6,#100 第二层循环100次
DEL2:MOV R5,#10 第三层循环10次
DJNZ:R5,$ 如果R5不等于0,则跳转到本行,也就是空转10次
DJNZ:R6,DL2 如果R6不等于0,则跳到DL2行,给R5赋值
DJNZ R7,DL1 如果R7不等于0,则跳到DL1行,给R6赋值
所以总的空转循环次数是250*100*10=250000次,通过调节R5,R6,R7值来控制延时时间


单片机程序

// AT24C02存储芯片在数码管上显示 void main(){ Timer0_isr(); init(); for(i=0;i<10;i++) { uchar i,t1,t2;//应该在函数一开始就对变量定义 t1++; /* for语句中i是从0到9总共十次, t1如果从0开始,只能加到9,永远到不了10, 所以if(t1==10)中的write_add()不会执行。 所以在24C02中,只有add(23)~add(23+9)保存了数据, 所以你在后面读add(33)和之后的数据是读不出来的。 */ write_add(23+t1,dofly_DuanMa[t1]); if(t1==10) { write_add(23+t2,dofly_DuanMa1[t2]); t1=0; t2++; if(t2==10) t2=0; } delay1(100); } while(1) { p0=read_add(23+i1); LATCH1=1; LATCH1=0; p0=0xfd; LATCH2=1; LATCH2=0; delay1(50); p0=read_add(33+t3);//为什么这里不能进位了,改成23+T3就可以了。 LATCH1=1; LATCH1=0; p0=0xfe; LATCH2=1; LATCH2=0; delay1(50); } }for语句中i是从0到9总共十次,t1如果从0开始,只能加到9,永远到不了10,所以if(t1==10)中的write_add()不会执行。所以在24C02中,只有add(23)~add(23+9)保存了数据,所以你在后面读add(33)和之后的数据是读不出来的。 另外:1、你的变量定义很乱,全局变量只要void Timer0_isr1(void) interrupt 1 中的三个就够了,其他的都定义为局部变量比较合适。2、既然是存储0~9的段码,那么24C02存入一次就足够了,不需要重复储存。3、建议你除了’0’ ’1’ ’2’ ’3’ ’4’ ’5’ ’6’ ’7’ ’8’ ’9’以外,加上’A’ ’B’ ’C’ ’D’ ’E’ ’F’ ’-’ ’.’这些符号的段码值,这样更方便使用数码管显示。4、如果显示不清楚 或 数码管闪烁的厉害 ,可以修改每位数码管显示的时间长度。//AT24C02存储芯片在数码管上显示 #include#define uchar unsigned charsfr Data_Port=0x80;uchar code dofly_DuanMa[18]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x80};// 显示段码值0~9 A~F - . //uchar code dofly_DuanMa1[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9uchar code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码uchar TempData1[8];uchar TempData2[8];uchar t1,t2,t3;sbit sda =P2^0;sbit scl =P2^1;sbit LATCH1=P2^2;//定义锁存使能端口 段锁存sbit LATCH2=P2^3;void Timer0_isr(void){ TMOD|=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;}void Timer0_isr1(void) interrupt 1 { //f=1/T=1/(2ms/50000)=25MHZ TH0=(65536-50000)/256;//重新赋值 2ms TL0=(65536-50000)%256; t1++; if(t1==20) { t1=0; t2++; if(t2==10) { t2=0; t3++; if(t3==10) { t3=0; } } } }void delay(){ uchar i=10; while(i--);} void delay1(uchar x){ uchar a,b; for(a=x;a>0;a--) for(b=100;b>0;b--);} void start() //开始信号{ sda=1; delay(); scl=1; delay(); sda=0; delay();}void stop() //停止{ sda=0; delay(); scl=1; delay(); sda=1; delay();}void respons() //应答{ //uchar i; uchar i=0; scl=1; delay(); while((sda==1)&&(i<250))i++; scl=0; delay();}void init(){ sda=1; delay(); scl=1; delay();}void write_byte(uchar date){ uchar i,temp; temp=date; for(i=0;i<8;i++) { temp=temp<<1; scl=0; delay(); sda=CY; delay(); scl=1; delay(); // scl=0;// delay(); } scl=0; delay(); sda=1; delay();}uchar read_byte(){ uchar i,temp; scl=0; delay(); sda=1; delay(); for(i=0;i<8;i++) { scl=1; delay(); temp=(temp<<1)|sda; scl=0; delay(); } return temp;}void write_add(uchar address,uchar date){ start(); write_byte(0xa0); respons(); write_byte(address); respons(); write_byte(date); respons(); stop();}uchar read_add(uchar address){ uchar date; start(); write_byte(0xa0); respons(); write_byte(address); respons(); start(); write_byte(0xa1); respons(); date=read_byte(); stop(); return date;}void main(){ uchar i; init(); for(i=0;i<10;i++) { write_add(23+i,dofly_DuanMa[i]); delay1(100); } for(i=0;i<10;i++) { write_add(23+i,dofly_DuanMa[i]); delay1(100); } Timer0_isr(); //在初始化完成后开启定时器 while(1) { Data_Port=read_add(23+t2); LATCH1=1; LATCH1=0; Data_Port=0xfd; LATCH2=1; LATCH2=0; delay1(50); /******************************/ Data_Port=read_add(23+t3); //为什么地址33的话 这里就不能进位了,改成23+T3就可以了。 //因为没有对33地址以后的存储器赋值 /******************************/ LATCH1=1; LATCH1=0; Data_Port=0xfe; LATCH2=1; LATCH2=0; delay1(50); } }

最经在老机器上加了一块硬盘,希捷2T的,重装了一个win7的系统后,就经常地死机,哪位高手指点一下?

lz自己的判断是正确的,就是电源不够用的原因。

旧机器本身电源就存在老化导致电流或电压输出不够,你现在突然又加了这块大容量硬盘,这大容量硬盘相比小硬盘功率大一些,工作过程中突然加大的作业会增加电源的负荷,这时电压或电流供应不足就会导致这块硬盘经常丢失从而导致系统死机,关机重启后硬盘复原了就又找回来了。


怎么修复胃粘膜

胃粘膜是存在于胃部内壁的一层很薄、很脆弱的粘膜组织,如同一堵天然“屏障”保护着胃壁的安全,我们要保护胃粘膜,因为他具有一个损伤与自我修复的动态平衡机制,保护着胃部的正常运作。一旦外界给予胃的负担过重或刺激过强,动态平衡就会被打破,胃酸便开始对胃壁的“自我消化”,继而形成凹入表面的破损。胃粘膜一旦受损,就很难再恢复如初。随之而来的就是上腹部不适或疼痛、恶心、呕吐、腹泻、食欲不振等一系列胃部不适的症状。专家指出,保护胃粘膜免受伤害,除了要减少不良因素对胃的刺激外,还需同时修复和保护胃粘膜,这样才能避免胃病发生和复发。
日常保护胃粘膜的方法有:1、生活有规律,心情乐观,戒烟忌酒,切勿暴饮暴食或饥饱不均。2、少食多餐,避免难消化和刺激性强的食物,如咖啡、辛辣之物。3、有胃闷胀、泛酸、嗳气者,宜用吗丁啉或胃复安,饭前半小时服用。4、有胃部胀痛者,可用解疼剂或其他有止痛作用的胃药。5、慢性萎缩性胃炎患者中有极少数人恶变胃癌,因此每年须进行一次胃镜复查。一定不可忽视胃病的复发平常多注意保健,和吃些辅助药物,最好是像胃肠保健口服液,这样可具有保护胃粘膜,抑制有害细菌感染的作用。
我觉得要想更好的保护好胃粘膜,调理身体、养胃是很重要的,依据中医“三分治,七分养”的理论,中医研究的胃方面的问题跟身体内部五脏有关系,我推荐用中医茶疗方式进行综合调理的,能够改变身体的内部环境,养胃健脾,胃窦炎这类胃病基本也能得到有效调理,这个茶里面是不含茶碱的,喝着感觉挺舒服的,也没什么副作用,对身体还有好处,推荐可以用一下,关于这方面调理可以看看资料收藏!祝你身体健康!


如何保护胃粘膜?胃粘膜损伤有何日常保养法?

保护胃粘膜的食物胃贵于“养”而非“治”,适当的饮食内容及良好的饮食习惯是防治胃粘膜损伤的重要措施。应限制对胃粘膜有强烈刺激的饮食,并利用饮食减少或增加胃酸的分泌,调节胃功能。对胃酸分泌过少或缺乏的患者,可给予富氮浸出物的浓缩鱼汤、鸡汤、蘑菇汤等食物刺激胃酸分泌。


1、小米:暖胃,安神。

2、南瓜:南瓜性温,味甘。
解毒:南瓜内含有维生素和果胶,果胶有很好的吸附性,能粘结和消除体内细菌毒素和其他有害物质,如重金属中的铅、汞和放射性元素,起到解毒作用。
保护胃粘膜,帮助消化:南瓜所含果胶还可以保护胃肠道粘膜,免受粗糙食品刺激,促进溃疡面愈合,适宜于胃病患者。南瓜所含成分能促进胆汁分泌,加强胃肠蠕动.帮助食物消化。

3、菠菜、胡萝卜、洋葱、大蒜。
螺旋藻对胃炎有极好的食疗作用,既可以消除幽门螺旋杆菌,又可以修复胃粘膜,只要坚持服用较长时间,大部分胃炎会得到痊愈。服用方法如下:
每天3次,每次2—4克,饭前30分钟用2纸杯温开水送服,每天尽可能多喝温开水。

4、饮用酸奶,即补充了营养,又避免了抗菌素对人体产生的副作用,因为酸奶中含有大量的活性杆菌,可以使抗菌素药物引起的肠道菌群失调现象重新获得平衡,同时保护了胃粘膜。


用51单片机和18b20做一个温度计,求一个完整程序,要求用12864显示。

这个是用数码显示的 你自己改改显示就ok了 12864 有带字库的那种,只要输入ASCII码就行了 程序有点乱,你注意换行就行



1.DS18B20基本知识
DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
1、DS18B20产品的特点
(1)、只要求一个端口即可实现通信。
(2)、在DS18B20中的每个器件上都有独一无二的序列号。
(3)、实际应用中不需要外部任何元器件即可实现测温。
(4)、测量温度范围在-55。C到+125。C之间。
(5)、数字温度计的分辨率用户可以从9位到12位选择。
(6)、内部有温度上、下限告警设置。
2、DS18B20的引脚介绍
TO-92封装的DS18B20的引脚排列见图1,其引脚功能描述见表1。
(底视图)图1

表1 DS18B20详细引脚功能描述
序号 名称 引脚功能描述
1 GND 地信号
2 DQ 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。
3 VDD 可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。
3. DS18B20的使用方法
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。
DS18B20的复位时序

DS18B20的读时序
对于DS18B20的读时序分为读0时序和读1时序两个过程。
对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。

DS18B20的写时序
对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。


4. 实验任务
用一片DS18B20构成测温系统,测量的温度精度达到0.1度,测量的温度的范围在-20度到+100度之间,用8位数码管显示出来。
5. 电路原理图


6. 系统板上硬件连线
(1). 把“单片机系统”区域中的P0.0-P0.7用8芯排线连接到“动态数码显示”区域中的ABCDEFGH端子上。
(2). 把“单片机系统”区域中的P2.0-P2.7用8芯排线连接到“动态数码显示”区域中的S1S2S3S4S5S6S7S8端子上。
(3). 把DS18B20芯片插入“四路单总线”区域中的任一个插座中,注意电源与地信号不要接反。
(4). 把“四路单总线”区域中的对应的DQ端子连接到“单片机系统”区域中的P3.7/RD端子上。
C语言源程序#include #include unsigned char code displaybit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char code displaycode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40};unsigned char code dotcode[32]={0,3,6,9,12,16,19,22,25,28,31,34,38,41,44,48,50,53,56,59,63,66,69,72,75,78,81,84,88,91,94,97};unsigned char displaycount;unsigned char displaybuf[8]={16,16,16,16,16,16,16,16};unsigned char timecount;unsigned char readdata[8]; sbit DQ=P3^7;bit sflag; bit resetpulse(void){unsigned char i; DQ=0;for(i=255;i>0;i--);DQ=1;for(i=60;i>0;i--);return(DQ);for(i=200;i>0;i--);} void writecommandtods18b20(unsigned char command){unsigned char i;unsigned char j; for(i=0;i0;j--);DQ=1;}else{DQ=0;for(j=2;j>0;j--);DQ=1;for(j=33;j>0;j--);}command=_cror_(command,1);}} unsigned char readdatafromds18b20(void){unsigned char i;unsigned char j;unsigned char temp; temp=0;for(i=0;i0;j--);if(DQ==1){temp=temp | 0x80;}else{temp=temp | 0x00;}for(j=200;j>0;j--);}return(temp);} void main(void){TMOD=0x01;TH0=(65536-4000)/256;TL0=(65536-4000)%256;ET0=1;EA=1; while(resetpulse());writecommandtods18b20(0xcc);writecommandtods18b20(0x44);TR0=1;while(1){;}} void t0(void) interrupt 1 using 0{unsigned char x;unsigned int result; TH0=(65536-4000)/256;TL0=(65536-4000)%256;if(displaycount==2){P0=displaycode[displaybuf[displaycount]] | 0x80;}else{P0=displaycode[displaybuf[displaycount]];}P2=displaybit[displaycount];displaycount++;if(displaycount==8){displaycount=0;} timecount++;if(timecount==150){timecount=0;while(resetpulse());writecommandtods18b20(0xcc);writecommandtods18b20(0xbe);readdata[0]=readdatafromds18b20();readdata[1]=readdatafromds18b20();for(x=0;x255){readdata[1]++;}}readdata[1]=readdata[1]>4;x=x & 0x0f;readdata[1]=readdata[1] | x;x=2;result=readdata[1];while(result/10){displaybuf[x]=result%10;result=result/10;x++;}displaybuf[x]=result;if(sflag==1){displaybuf[x+1]=17;}x=readdata[0] & 0x0f;x=x<<1;displaybuf[0]=(dotcode[x])%10;displaybuf[1]=(dotcode[x])/10;while(resetpulse());writecommandtods18b20(0xcc);writecommandtods18b20(0x44);}}


上一篇:洛丽塔洋装

下一篇:北京稻香村月饼