基于51单片机的温度测试系统有vb上位机内容摘要:
if(h2==4amp。 amp。 h1==2) { h2=0。 h1=0。 } write_(0x80+0x40+0x01)。 write_date(table2[h1])。 write_date(table2[h2])。 write_ds(0x84,h1*16+h2)。 //向 ds1302中写入时 } } else if(temp==0x0b) { delay(5)。 if(temp==0x0b) { while(temp==0x0b)//松手检测 { temp=P2。 tempamp。 =0x0f。 } h=read_ds(0x85)。 h1=h/16。 h2=h%16。 h2=1。 if(h2==1) { h2=9。 h1=1。 } if(h2==9amp。 amp。 h1==1) { h2=3。 h1=2。 } write_(0x80+0x40+0x01)。 write_date(table2[h1])。 write_date(table2[h2])。 write_ds(0x84,h1*16+h2)。 } } } if(num1==4) { write_(0x80+0x0f)。 write_(0x0f)。 temp=P2。 tempamp。 =0x0f。 if(temp==0x0d) { delay(5)。 if(temp==0x0d) { while(temp==0x0d)//松手检测 { temp=P2。 tempamp。 =0x0f。 } day=read_ds(0x8b)。 //从 ds1302中读星期 day+=1。 if(day==8) { day=1。 } write_(0x80+0x0f)。 write_date(table2[day])。 write_ds(0x8a,day)。 //向 ds1302中写入星期 } } else if(temp==0x0b) { delay(5)。 if(temp==0x0b) { while(temp==0x0b)//松手检测 { temp=P2。 tempamp。 =0x0f。 } day=read_ds(0x8b)。 day=1。 if(day==0) { day=7。 } write_(0x80+0x0f)。 write_date(table2[day])。 write_ds(0x8a,day)。 } } } if(num1==5) { write_(0x80+0x09)。 write_(0x0f)。 temp=P2。 tempamp。 =0x0f。 if(temp==0x0d) { delay(5)。 if(temp==0x0d) { while(temp==0x0d)//松手检测 { temp=P2。 tempamp。 =0x0f。 } date=read_ds(0x87)。 //从 ds1302中读日期 date1=date/16。 date2=date%16。 date2+=1。 if(date2==10) { date2=0。 date1+=1。 } if(date2==2amp。 amp。 date1==3) { date2=0。 date1=0。 } if(date1==0amp。 amp。 date2==0) { date1=0。 date2=1。 } write_(0x80+0x08)。 write_date(table2[date1])。 write_date(table2[date2])。 write_ds(0x86,date1*16+date2)。 //向 ds1302中写入日期 } } else if(temp==0x0b) { delay(5)。 if(temp==0x0b) { while(temp==0x0b)//松手检测 { temp=P2。 tempamp。 =0x0f。 } date=read_ds(0x87)。 date1=date/16。 date2=date%16。 date2=1。 if(date2==1) { date2=9。 date1=1。 } if(date2==9amp。 amp。 date1==1) { date2=1。 date1=3。 } if(date1==0amp。 amp。 date2==0) { date1=3。 date2=1。 } write_(0x80+0x08)。 write_date(table2[date1])。 write_date(table2[date2])。 write_ds(0x86,date1*16+date2)。 } } } if(num1==6) { write_(0x80+0x06)。 write_(0x0f)。 temp=P2。 tempamp。 =0x0f。 if(temp==0x0d) { delay(5)。 if(temp==0x0d) { while(temp==0x0d)//松手检测 { temp=P2。 tempamp。 =0x0f。 } mon=read_ds(0x89)。 //从 ds1302中读月 mon1=mon/16。 mon2=mon%16。 mon2+=1。 if(mon2==10) { mon2=0。 mon1+=1。 } if(mon2==3amp。 amp。 mon1==1) { mon2=0。 mon1=0。 } if(mon1==0amp。 amp。 mon2==0) { mon1=0。 mon2=1。 } write_(0x80+0x05)。 write_date(table2[mon1])。 write_date(table2[mon2])。 write_ds(0x88,mon1*16+mon2)。 //向 ds1302中写入月 } } else if(temp==0x0b) { delay(5)。 if(temp==0x0b) { while(temp==0x0b)//松手检测 { temp=P2。 tempamp。 =0x0f。 } mon=read_ds(0x89)。 mon1=mon/16。 mon2=mon%16。 mon2=1。 if(mon2==1) { mon2=9。 mon1=1。 } if(mon2==9amp。 amp。 mon1==1) { mon2=2。 mon1=1。 } if(mon1==0amp。 amp。 mon2==0) { mon1=1。 mon2=2。 } write_(0x80+0x05)。 write_date(table2[mon1])。 write_date(table2[mon2])。 write_ds(0x88,mon1*16+mon2)。 } } } if(num1==7) { write_(0x80+0x03)。 write_(0x0f)。 temp=P2。 tempamp。 =0x0f。 if(temp==0x0d) { delay(5)。 if(temp==0x0d) { while(temp==0x0d)//松手检测 { temp=P2。 tempamp。 =0x0f。 } year=read_ds(0x8d)。 //从 ds1302中读年 year1=year/16。 year2=year%16。 year2+=1。 if(year2==10) { year2=0。 year1+=1。 } if(year1==9) { year1=0。 } write_(0x80+0x02)。 write_date(table2[year1])。 write_date(table2[year2])。 write_ds(0x8c,year1。基于51单片机的温度测试系统有vb上位机
相关推荐
图 ISD1760外形 贵州大学科技学院本科毕业论文(设计) 第 6 页 显示模块的选型 方案一: 采用 LED 数码管,如图 所示,它是设备常用简易显示电子元器件之一。 LED 数码管的主要优点如下: (1)能在低电压、小电流条件下驱动发光,能与 CMOS、 ITL电路兼容。 (2)发光响应时间极短,高频特性好,单色性好,亮度高。 (3)体 积小,重量轻,抗冲击性能好。 (4)寿命长
降沿时,寄存器的值加 1,在这种工作方式下,每个 机器周期的 5SP2 期间,对外部输入进行采样。 若在第一个机器周期中采到的值为 1,而在下一个机器周期中采到的值为 0, 则在紧跟着的下一个周期的 S3P1 期间寄存器加 1。 由于识别 1 至 0 的跳变需要 2 个机器周期( 24 个振荡周期),因此,最 高计数速率为振荡频率的 1/24。 为确保采样的正确性
dd=num/100%10。 ee=num/10%10。 ff=num%10。 display(aa,bb,cc,dd,ee,ff)。 } if(mode==3) { num=500000/num1。 aa=num/100000。 bb=num/10000%10。 cc=num/1000%10。 dd=num/100%10。 ee=num/10%10。 ff=num%10。 display(aa
即通信信道。 发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射信号。 接收端将接收到的信号装成电信号,再经过放大、滤波等处理后送给解调电路进行解调,还原为二进制信号后输出。 常用的有通过脉冲宽度来实现信号调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制( PPM)两种方法。 简而言之,红外通信的实质就是对二进制数字信号进行调制与解调,以便利用红外信道进行传输
,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xC7,0xE1,0xC7,0xE1,0xC7,0xE1,0xC7,0xE1,0xC7,0xE1,0xC7,0xE1, 0xC7,0xE1,0xC7,0xE1,0xC7,0xE1,0xC7,0xFF,0xC7,0xFF,0xC7,0xFF,0x00,0x00,0x00,0x00,
write_sfm(7,afen)。 write_sfm(10,amiao)。 } } } } void write_ds(uchar add,uchar date) {//写 12C887 函数 dscs=0。 dsas=1。 dsds=1。 dsrw=1。 P0=add。 //先写地址 dsas=0。 dsrw=0。 P0=date。 //再写数据 dsrw=1。 dsas=1。