单片机课程设计报告-基于stc89c52的温度测控系统设计内容摘要:
4。 sbit rd1=P2^5。 sbit beep=P3^2。 uchar buffer0,buffer1,zhi,zhi1。 uchar table[]={0x7f,0xbf,0xdf,0xef,0xff}。 //设置位选 uchar table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x7f}。 //前两位数码管码表 uchar table2[]={0xc0,0xcf,0xa4,0x86,0x8b,0x92,0x90,0xc7,0x80,0x82,0x7f,0xf0}。 //后两位数码管码表 uchar code table3[2]=00。 uchar value,num,num1,num2。 uchar temp,temp3,temp1,tempH,tempL,temp5,flag,flag1。 uchar temp55,temp33,tempxiaoH,tempxiaoL。 uint qq。 void delay(uint z) //延时子程序 { uint x,y。 for(x=z。 x0。 x) for(y=110。 y0。 y)。 } void delay_18B20(unsigned int i) //DS18B20 延时子程序,延时 1us { while(i)。 14 } void Init_DS18B20(void) //Ds18b20 初 始化函数 u { uchar x=0。 DQ = 1。 //DQ 复位 delay_18B20(8)。 //稍做延时 ,稳定数据 DQ = 0。 //单片机将 DQ 拉低 delay_18B20(100)。 //精确延时 大于 480us DQ = 1。 //拉高总线 delay_18B20(14)。 //(1560)us x=DQ。 //稍做延时后 如果 x=0 则初始化成功 x=1 则初始化失败 ,采样 delay_18B20(20)。 } void Write_18b20byte(uchar dat)//向 18B20 写一个节, dat 为入口函数 { uchar i。 for (i=8。 i0。 i) //一字节 8 位 { DQ = 0。 DQ = datamp。 0x01。 delay_18B20(5)。 //18b20 采样 DQ = 1。 //拉高 DQ dat=1。 //出口函数, dat 为入口函数 } } uchar Read_18b20byte(void) { uchar i。 uchar dat。 for (i=8。 i0。 i)//判断 8 次移位 7 次 { DQ = 0。 // 给脉冲信号,拉低总线 dat=1。 //可以起延时作用 DQ = 1。 // 给脉冲信号,释放总线后才可以采样 if(DQ) 15 dat|=0x80。 delay_18B20(4)。 } return(dat)。 } void ReadTemp(void) //读取 ds18b20 当前温度 { uchar a,b。 Init_DS18B20()。 //18b20 初始化 Write_18b20byte(0xCC)。 // 跳过读序号列号的操作 Write_18b20byte(0x44)。 // 启动温度转换 delay_18B20(100)。 // 转换需要时间,延时 Init_DS18B20()。 Write_18b20byte(0xCC)。 //跳过读序号列号的操作 Write_18b20byte(0xBE)。 //读取温度寄存器等(共可读 9 个寄存器) 前两个就是温度 delay_18B20(100)。 a=Read_18b20byte()。 //读取温度值低位 b=Read_18b20byte()。 //读取温度值高位 temp=b*16+a/16。 temp1=(a%16)*10/16。 } void beepon(void) { beep=0。 } void beepoff(void) { beep=1。 } void display(uchar one,uchar two,uchar three) { P1=table[0]。 //选中第一个数码管 P0=table1[one]。 //显示 10 位 delay(3)。 16 P1=table[1]。 //选中第二个数码管 P0=table1[two]amp。 0x7f。 delay(3)。 P1=table[2]。 P0=table2[three]。 delay(3)。 P1=table[3]。 P0=table2[11]amp。 0x7f。 delay(3)。 } void keywendu() { uchar temp2,temp22。 temp2=temp。 //整数位 temp22=temp1。 //小数位 rd=0。 if(k1==0) //功能键 { delay(20)。 if(k1==0) { while(!k1)。 //按键消抖程序 flag=1。 P1=table[1]。 P0=0xff。 delay(10)。 //个位不显示 P1=table[2]。 P0=0xff。 delay(10)。 //小数位不显示 while(1) { display(temp2/10,temp2%10,temp22)。 17 if(k1==0) //K1 功能键 { delay(20)。 if(k1==0) { while(!k1)。 num1++。 if(num1==2) num1=0。 //num1=0 修改小数位 //num1=1 修改个位 } } switch(num1) { case 0://小数位 if(k2==0) //case0, K2 功 能键 { delay(20)。 if(k2==0)。单片机课程设计报告-基于stc89c52的温度测控系统设计
相关推荐
0 点 / ㎡ 尺寸 160*320 常规单元点数 16*32 红色晶片中心波长 630NM 红色晶片亮度 150200MCD 亮度调整 可根据工作环境随机调整 显示方式 异步控制 显示模式 标准模式 输入格式 COM 伽码校正 每色逐点非线形视觉校正 分辨率 600 运行环境 2020/XP/VISTA 驱动方式 静态恒流驱动 4 扫 传输接口 TIA/EIA644LVDS 标准 传输速度
房间号 B504 工作内容 搬运 仪器设备 奥泰高效液相色谱仪 责任人 万红贵 参与人员 蔡枭、柏佐国、工人 旧房间号 科创大楼 A1620 新房间号 C60 C606 工作内容 搬运 仪器设备 旋光光谱仪 P1020 紫外扫描仪 PerkinElmer 微波仪 MARS5 液相仪( Beckman) 气相色谱仪 SP6890 责任人 曹飞 参与人员 蔡枭、柏佐国、工人 旧房间号 创新楼
面取得了一定的成绩。 市 旅游 信息中心 还紧跟互 联网 和技术 发展,在旅游 微博营销 上 处于 业内领先的 位置。 南京市 旅游企业对旅游信息化和旅游电子商务的重视程度高, 都 12 在 不同程度上建设了业务管理系统、电子商务网站,并积极利用各种互联网渠道开展营销和 旅游 产品 直 分销。 南京资源十分丰富 根据《中华人民共和国旅游资源分类、调查与评价》方案,南京旅游资源单体共 670 处
*// void key16() { key=keyboard()。 /************闹钟开关显示 ****************/ if(key==1) {if(clk_switch==0) {clk_switch=1。 TR0=0。 //write_1602(0x0f)。 //设置光标为闪烁 write_1602(er0x02+0x0f)。 write_1602dat(39。
触发方式:CPU在每个机器周期的S5P2期间采样外部中断引脚的输入电平。 若为低电平,使IE1(IE0)置“1”,申请中断;若为高电平,则IE1(IE0)清零。 边沿触发方式:CPU在每个机器周期S5P2期间采样外部中断请求引脚的输入电平。 如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断请求为高电平,接着下一个机器周期采样到外部中断请求为低电平
输特性、弯曲衰减特性等指标应符合 表 、表 的规定。 表 皮线 光缆 纤芯技术指标 光纤类型 单模光纤 包层直径 (μm ) 125177。 衰减 (dB/km) 1310/1550nm: 1550nm 色散系数 ≤ 18 ps/nmkm 1310nm 模场直径 (μm ) 177。 光缆截止波长 (nm) ≤ 1260 表 皮线 光缆 纤芯弯曲衰减特性 条件 单位 技术指标 弯曲半径 圈数