基于51单片检测电子万年历的毕业设计崔晓内容摘要:
R S T9R X D /P 3. 010T X D / P 11I N T 0/ P 3 .212I N T 1/ P 3 .313T 0/ P 14T 1/ P 15W R /P 16R D /P 3 .717X T A L 218X T A L 119GND20P 21P 22P 23P 24P 25P 26P 27P 28P S E N29A L E /P R O G30EA31P 32P 33P 34P 35P 36P 37P 38P 39V C C40U1S T C 8 9C 52R CR1 R21KKC122u F /1 0V+ 5VC2 30p FC3 30p FY112M H zX T 2X T 1X T 1X T 2+ 5V+ 5VP P P P P P P P P P P + 5V +5R 131KP2.7P2.6P2.5P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7GND1VCC2VO3RS4RW5EN6D07D18D29D310D411D512D613D714VCC15GND16U2L C D 160 2P GND1DATE2SCK3VCC4U3S H T 10P + 5VP3.6P3.7R310KR410KR510KR610KR710KR810KR910KR 1010K+ 5VP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7R 1110KR 1210K+ 5VP3.6P3.7R 1410KR 1510KR 1610KK1K2K3+ 5VP P P P P P P P P P P R 221KQ1901 2L S 1S P E A K E R+ 5VP R 181KR 191KR 201KR 211KD1 D2 D3 D4+ 5VP1.0P1.1P1.2P1.3设置按键+ 按键 按键P R 1710KK4P 总设置按键V C C 21X12X23GND4R S T5I /O6S C L K7V C C 18U4D S 130 2P P P + 5VX1X2P P P C41uF /10 VY2 K H zX1 X212J P 1P O W E R+ 5V 20 附表 元件清单: 21 附程序 总程序: include//定义函数 include typedef unsigned char uchar。 //无符号 8 位整型变量 typedef unsigned int uint。 //无符 号 16 位整型变量 sbit RS=P2^7。 //LCD1602 数据 /命令选择端 (H/L) sbit RW=P2^6。 //LCD1602 读 /写选择端 (H/L) sbit E=P2^5。 //LCD1602 使能信号端 sbit DATA=P3^6。 sbit SCK=P3^7。 sbit k1=P3^2。 //总设置按键 sbit k2=P3^3。 //设置按键 sbit k3=P3^4。 //+按键 sbit k4=P3^5。 //按键 sbit beep=P2^0。 sbit D1=P1^0。 //高温报警指 示灯 sbit D2=P1^1。 //低温报警指示灯 sbit D3=P1^2。 //高湿度报警指示灯 sbit D4=P1^3。 //低湿度报警指示灯 sbit ACC0=ACC^0。 sbit ACC7=ACC^7。 sbit IO=P1^5。 sbit SCLK=P1^6。 sbit RST=P1^7。 uchar idata wendu[6]。 uchar idata shidu[6]。 uchar code table1[]= 20200830。 uchar code table2[]= :383459194。 uchar code table3[]= gaowenbaojing。 uchar code table4[]= diwenbaojing。 uchar code table5[]=gaoshidubaojing。 uchar code table6[]= dishidubaojing。 uchar code table7[]=gaowen+gaoshidu。 uchar code table8[]= gaowen+dishidu。 uchar code table9[]= diwen+gaoshidu。 uchar code table10[]= diwen+dishidu。 uchar code table11[]= this is ok。 uchar code table12[]=。 uchar code table13[]= : :。 enum {TEMP,HUMI}。 typedef union //定义共用同类型 { uint i。 22 float f。 } value。 uchar a,b,c,d,num,flag=0,m=0,num1=0。 char miao,shi,fen。 uchar ccc,ri,yue,nian,zhou,flag1。 //延时子函数 void delay(uint z) { uint x,y。 for(x=z。 x0。 x) for(y=120。 y0。 y)。 } //按键提示音子函数 void di() { beep=0。 delay(100)。 beep=1。 } //往 DS1302 时钟芯片写入一字节子函数 void inputbyte(uchar add) { uchar i。 ACC=add。 for(i=8。 i0。 i) { IO=ACC0。 SCLK=1。 SCLK=0。 ACC=ACC1。 } } //DS1302 时钟芯片输出一字节子函数 uchar outputbyte() { uchar i。 for(i=8。 i0。 i) { ACC=ACC1。 ACC7=IO。 SCLK=1。 SCLK=0。 } return ACC。 } //往 DS1302 时钟芯片写入数据子函数 23 void write_ds(uchar add,uchar ucda) { RST=0。 SCLK=0。 RST=1。 inputbyte(add)。 inputbyte(ucda)。 SCLK=1。 RST=0。 } //从 DS1302 时钟芯片读出数据子函数 uchar read_ds(uchar add) { uchar ucda。 RST=0。 SCLK=0。 RST=1。 inputbyte(add)。 ucda=outputbyte()。 SCLK=1。 RST=0。 return(ucda)。 } //设置 DS1302 时钟芯片子函数 void write_setds(uchar addr,uchar date) { write_ds(0x8e,0x00)。 write_ds(addr,date)。 write_ds(0x8e,0x80)。 } //检查 LCD1602 液晶忙位子函数 void LCD1602_busy() { uchar i=0。 RS=0。 RW=1。 E=1。 P0=0xff。 i=0。 while(((P0amp。 0x80)==0x80)amp。 amp。 i150) i++。 E=0。 } //LCD1602 液晶写指令子函数 void write_(uchar ) { 24 LCD1602_busy()。 RS=0。 RW=0。 P0=。 E=1。 E=0。 } //LCD1602 液晶写数据子函数 void write_date(uchar date) { LCD1602_busy()。 RS=1。 RW=0。 P0=date。 E=1。 E=0。 } //LCD1602 液晶初始化子函数 void LCD1602_init() //初始化设置 { //uchar i。 write_(0x38)。 write_(0x0c)。 write_(0x06)。 write_(0x01)。 /*write_(0x80)。 for(i=0。 i16。 i++) { write_date(table1[i])。 delay(500)。 } write_(0xc0)。 for(i=0。 i16。 i++) { write_date(table2[i])。 delay(500)。 }*/ a=35。 b=10。 c=65。 d=40。 } //SHT10 写字节子函数 char s_write_byte(uchar value) { uchar i,error=0。 25 for(i=0x80。 i0。 i=1) //高位为 1,循环右移 { if(iamp。 value) DATA=1。 //和要发送的数相与,结果为发送的位 else DATA=0。 SCK=1。 _nop_()。 _nop_()。 _nop_()。 //延时 3us SCK=0。 } DATA=1。 //释放数据线 SCK=1。 error=DATA。 //检查应答信号,确认通讯正常 _nop_()。 _nop_()。 _nop_()。 SCK=0。 DATA=1。 return error。 //error=1 通讯错误 } //SHT10 读字节子函数 char s_read_byte(uchar ack) { uchar i,val=0。 DATA=1。 //释放数据线 for(i=0x80。 i0。 i=1) //高位为 1,循环右移 { SCK=1。 if(DATA) val=(val|i)。 //读一位数据线的值 SCK=0。 } DATA=!ack。 //如果是校验,读取完后结束通讯; SCK=1。 _nop_()。 _nop_()。 _nop_()。 //延时 3us SCK=0。 _nop_()。 _nop_()。 _nop_()。 DATA=1。基于51单片检测电子万年历的毕业设计崔晓
相关推荐
效分离。 因此,该工艺环节起到脱水和分离的双重作用。 自垃圾库 至干燥工序 13 挤压脱水的主要设备包括:一级挤压机、破袋机、二级挤压机、弹松机等。 工艺流程原理如下:经沥水后的垃圾进入一级挤压机的预压仓开始一次挤压操作,经预压后进入主压仓(此时已有约 5%—8%的水份排除),再次起动一级挤压机开始二次挤压操作,连续挤压运行 2—5 分钟后,至第三次挤压操作时已有大量厨余和果蔬粥状物排出。
9。 width=39。 25%39。 b积分/b/td/tr %do while NOT % tr td align=39。 center39。 width=39。 25%39。 %=rs(username)%/td td align=39。 center39。 width=39。 25%39。 font color=red%=rs(Article)%/font/td td align=39。
建成靳作养牛厂、白庄养牛厂、郭街立体养殖厂、下马村高科技鸡场等养殖园区近 30 个,肉牛存栏新增 1000 多头,羊存栏 1990 只,猪存栏 11700 头,使农业产业化实现了新突破。 ???? 全镇硬化街道 80 条 万米,实现了村村通水泥路的目标。 投资 1720 万元建成了白庄湖光小区和东孔庄住宅小区两个高标准住宅小区。 规划了东湖工业园区,搞好了供水、供电、道路、排水
屏上立即显示出该人所在区域的详细地形图和资料。 随着该人在各终端间的移动,平面彩色地图上的闪光点也跟踪移动,并显示路径和留下踪迹,电脑显示屏跟踪显示地形图和该人档案资料,以便选择最佳路线,帮助该人处理险 (病 )情。 武器弹药仓库、监狱、看守所等重要警卫目标安装智能脉冲电网防护报警信息终端,由于智能化程度高,可同时进行防火、防盗、防入侵多种传感检测,对故意侵犯和破坏者能及时检测报警
12: : 1 :1 : 4A A O 厌氧池 1 2th 缺氧池 2 2th 好氧池 3 8th ( 3) 剩余污泥量 W 00 0 .5e v eW a L L Q b V X S S Q ① 降解 BOD5生成污泥量 10eW a L L Q 1806800 . 5 5 0 . 2 6 4 0 . 0 2 2 0 3 7 5