当前位置:首页 > 数字温度计的设计毕业论文
数字温度计的设计
horl=256-horl;n=1; }
display[3]=horl/100; display[3]=display[3]&0x0f; display[2]=horl0/10; display[1]=horl; display[0]=0; if(!display[3]) {
display[3]=0x0a; //最高位为0 时不显示 if(!display[2]) {
display[2]=0x0a; //次高位为0 时不显示 } } if(n) {
display[3]=0x0b; //负温度时最高位显示\} }
//*********按键查询程序**************// void keyscan() {
int temp1; //最高温度和最低温度标志位 if(set==0) { while(1) {
delay(500);//消抖 if(set==0)
第 27 页 共 30页
数字温度计的设计
{ temp1++; while(!set) scan(); }
if(temp1==1) {
xianshi(high); scan(); if(add==0) {
while(!add) scan(); high+=1; }
if(dec==0) {
while(!dec) scan(); high-=1; } }
if(temp1==2) {
xianshi(low); if(add==0) {
while(!add) scan(); low+=1;
第 28 页 共 30页
数字温度计的设计
}
if(dec==0) {
while(!dec) scan(); low-=1; } scan(); }
if(temp1>=3) { temp1=0; break; } } } }
/****************主函数************************/ void main() {
dm=0x00; //初始化端口 w0=0; w1=0; w2=0; w3=0;
for(h=0;h<4;h++) //开机显示\{
display[h]=0; }
ow_reset(); //开机先转换一次
第 29 页 共 30页
数字温度计的设计
write_byte(0xcc); //Skip ROM write_byte(0x44); //发转换命令 for(h=0;h<100;h++) //开机显示\{ scan(); } while(1) {
if (temp1==0) {
work_temp(read_temp()); //处理温度数据 BEEP();
scan(); //显示温度值 keyscan(); } else keyscan(); } }
//***********************结束**************************//
第 30 页 共 30页
共分享92篇相关文档