温湿度传感器 sht11 仿真程序 sbit out =P3^0; //加热口 //sbit input =P1^1;//检测口 //sbit speek =P2^0;//报警 sbit clo =P3^7;//时钟 sbit ST =P3^5;//开始 sbit EOC =P3^6;//成功信号 sbit gwei =P3^4;//个位 sbit swei =P3^3;//十位 sbit bwei =P3^2;//百位 sbit qwei =P3^1;//千位 sbit speak =P0^0;//报警音 sbit bjled =P0^1;//报警灯 sbit zcled =P0^2;//正常LED int count; uchar xianzhi;//取转换结果 uchar seth;//高时间 uchar setl;//低时间 uchar seth_mi;//高时间 uchar setl_mi;//低时间 bit hlbz;//高低标志 bit clbz; bit spbz; ///定时中断程序/// void t0 (void) interrupt 1 using 0 { TH0=(65536-200)/256;//5ms*200=1000ms=1s TL0=(65536-200)%256; clo=!clo;//产生时钟 if(count>5000) { if(hlbz) { if(seth_mi==0){seth_mi=seth;hlbz=0;out=0;} else seth_mi--; } if(!hlbz) { if(setl_mi==0){setl_mi=setl;hlbz=1;out=1;} else setl_mi--; } count=0; } else count++; } ///////////// ///////延时/////// delay(int i) { while(--i); } ///////显示处理/////// xianshi() { int abcd=0; int i; for (i=0;i<5;i++) { abcd=xianzhi; gwei=1; swei=1; bwei=1; qwei=1; P1=dispcode[abcd/1000]; qwei=0; delay(70); qwei=1; abcd=abcd%1000; P1=dispcode[abcd/100]; bwei=0; delay(70); bwei=1; abcd=abcd%100; P1=dispcode[abcd/10]; swei=0; delay(70); swei=1; abcd=abcd%10; P1=dispcode[abcd]; gwei=0; delay(70); gwei=1; } } doing() { if(xianzhi>100) {bjled=0;speak=1;zcled=1;} else {bjled=1;speak=0;zcled=0;} } void main(void) { seth=60;//h60秒 setl=90;//l90秒 seth_mi=60;//h60秒 setl_mi=90;//l90秒 TMOD=0X01;//定时0 16位工作模式 TH0=(65536-200)/256; TL0=(65536-200)%256; TR0=1; //开始计时 ET0=1; //开定时0中断 EA=1; //开全中断 while(1) { ST=0; _nop_(); ST=1; _nop_(); ST=0; // EOC=0; xianshi(); while(!EOC) { xianshi(); } xianzhi=P2; xianshi(); doing(); } }
上传时间: 2013-10-16
上传用户:黄蛋的蛋黄
多线程端口扫描演示,能够设置连接延时,使用Winsocket2 API编写,Delphi7编译通过
上传时间: 2015-01-15
上传用户:www240697738
快速排序的递归解演示,用20个字符串代表20个数,显示每次分组结果,延时10000。如果在你的机子上太快,可以加长延时。
上传时间: 2015-02-11
上传用户:缥缈
HD7279与51的驱动,主要修正了延时函数及按键函数,按键采集通过中断采集。
上传时间: 2014-01-05
上传用户:liuchee
摘 要:介绍了Win32平台(Windows95/98/NT)下socket的阻塞和非阻塞两种工作模式。结合两个具体程序模型,讨论了在网络环境下发送/接收数据使用阻塞式socket的必要性和不足之处,并提出用能延时退出的阻塞式socket读写函数的解决方案。
上传时间: 2013-12-08
上传用户:66666
本程序是i2c总线读写一个字节的程序。在写过程序中,不一定非要检测i2c的应答位,可以直接延时过去就行,但是在读过程中必须给应答信号,读完发停止位,一定确认所发的信号都发上了。否则在连续地址读的过程中可能不会出错,但是在随机度过程中就会出错,我的程序就是在给停止信号时没有给上,24cxx一直在输出数据,结果读出错。找着问题后我的程序只加入了一条命令便完全正常。
上传时间: 2015-03-16
上传用户:chongcongying
温度测量程序,包括显示、数据采集、进位、延时、数摸转换
上传时间: 2013-12-19
上传用户:王楚楚
SRART: MOVX @R0,A 令ADC0809开始转换 WAIT: JB OP2.0,ADC 检测ADC0809转换完成否? CALL DISP 调用显示子程序 JMP WAIT ADC:MOVX A,@R0 将转换好的数据送入累加器 CALL L1 调用十进制转换子程序 MOV RI,#OFFH 显示延时
上传时间: 2015-03-26
上传用户:athjac
[文件名] Touch.c [功 能] 8051单片机驱动ADS7846/ADS7843芯片 [简 介] ADS7846/7843芯片 适合用在4线制触摸屏,它通过标准SPI协议和CPU通信,操作简单,精度高,当触摸屏被按下时(即有触摸事件发生)则ADS7846向CPU发中断请求,CPU接到请求后,应延时一下再响应其请求,目的是为了消除抖动使得采样更准确。如果一次采样不准确,可以尝试多次采样取最后一次结果为准,目的也是为了消除抖动。
上传时间: 2014-01-03
上传用户:talenthn
交通灯: 1. 因为本设计是交通灯的控制,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北依然红灯。最后循环至状态1。 2. 双色LED是由一个红色LED管芯和一个绿色管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平,红灯亮;红色正端加低电平,绿色正端加高电平,绿灯亮;两端都加高电平,黄灯亮。 急救车和交通灯: 中断服务程序的关键是:1. 保护进入中断时的状态,并在推出中断之前恢复进入时的状态;2. 必须在中断程序中设定是否允许中断重入,即设置EX0位。 本设计使用了INT0中断,一般中断程序进入时应保护 PSW,ACC以及中断程序使用但非其专用的寄存器。本设计中的INT0程序保护了PSW,ACC,2等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,及设置时不允许重入。本设计中没有涉及这种情况。 name:trled1.asm trled2.asm
上传时间: 2014-01-05
上传用户:凌云御清风