温湿度传感器 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
上传用户:黄蛋的蛋黄
摘 要:介绍了Win32平台(Windows95/98/NT)下socket的阻塞和非阻塞两种工作模式。结合两个具体程序模型,讨论了在网络环境下发送/接收数据使用阻塞式socket的必要性和不足之处,并提出用能延时退出的阻塞式socket读写函数的解决方案。
上传时间: 2013-12-08
上传用户:66666
本程序是i2c总线读写一个字节的程序。在写过程序中,不一定非要检测i2c的应答位,可以直接延时过去就行,但是在读过程中必须给应答信号,读完发停止位,一定确认所发的信号都发上了。否则在连续地址读的过程中可能不会出错,但是在随机度过程中就会出错,我的程序就是在给停止信号时没有给上,24cxx一直在输出数据,结果读出错。找着问题后我的程序只加入了一条命令便完全正常。
上传时间: 2015-03-16
上传用户:chongcongying
温度测量程序,包括显示、数据采集、进位、延时、数摸转换
上传时间: 2013-12-19
上传用户:王楚楚
S3C44B0 I2C的uCLINUX的驱动程序(铁电存储器FM24系列,若针对AT24系列只需在写操作中增加延时即可),本驱动士原创且经过测试。
上传时间: 2013-12-22
上传用户:冇尾飞铊
最新10位数字温度传感器AD7416驱动程序,注意要根据不同的情况来减少延时的个数
上传时间: 2015-04-08
上传用户:D&L37
红外接受的发送程序载波38k,用指令来延时,调试通过
上传时间: 2015-04-09
上传用户:小眼睛LSL
说明: 此演示程序包含六个任务: softclock 软时钟任务 task1 向端口2的每个管脚输出方波的任务 task2 向端口3的每个管脚输出方波的任务 task3 向端口4的每个管脚输出方波的任务 task4 向端口5的每个管脚输出方波的任务 taskled 点亮P1.0上指示灯的任务 6个任务,加上M430/OS的空闲任务,共7个任务,系统开辟了6块堆栈,空闲任务使用main程序的堆栈,空闲任务不保存现场。每块堆栈的大小可以不同。 软时钟任务利用M430/OS的多任务延时模拟了一个有年、月、日、时、分、秒的时钟,并且可以日期 时间格式为BCD格式或10进制格式。 此程序可以直接在MSP430F149的仿真头上运行 程序空间、数据空间都由编译器自动分配。
标签: softclock task1 task2 task3
上传时间: 2013-12-21
上传用户:liglechongchong
键盘接口的CX51驱动程序。程序由主函数,读键盘函数和延时函数组成
上传时间: 2015-06-14
上传用户:一诺88
基于51的圈圈操作系统(51_00_OS)出来拉…… 来这里下载整个程序包: http://blog.21ic.com/more.asp?name=computer00&id=9501 *************基于51内核的圈圈操作系统**************** 说明:这是圈圈在学习嵌入式操作系统后在51上写的一个简单的操作系统,提供创建任务,删除任务,任务调度,系统延时,任务挂起,发送消息,等待消息,CPU使用率统计,系统时间,串口发送、接收数据及串口资源管理等功能。由于时间匆忙,部分注释可能在调试时忘记更改,如有发现不能理解的注释,请给圈圈留言: http://blog.21ic.com/blog.asp?name=computer00 可使用keil自带的软件仿真,也可以使用硬件来运行,使用硬件时,上位机推荐使用windows自带的超级终端,关于超级终端的使用,可参看: http://blog.21ic.com/more.asp?name=iC921&id=8878
上传时间: 2015-06-16
上传用户:zhaiye