数字时钟55221.doc

上传人:hw****26 文档编号:3850280 上传时间:2019-08-09 格式:DOC 页数:15 大小:190KB
下载 相关 举报
数字时钟55221.doc_第1页
第1页 / 共15页
数字时钟55221.doc_第2页
第2页 / 共15页
数字时钟55221.doc_第3页
第3页 / 共15页
数字时钟55221.doc_第4页
第4页 / 共15页
数字时钟55221.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、单片机软件实现数码时钟,可以用 proteus7.12 仿真,也可以,做成实物后 18B20 会读取出错,或者给我发邮件给你一份实物能用的(proteus7.12 仿真 18B20 会读取出错) ,电路图不清晰处理方法,将电路图另存为图片格式,或者直接放大即可。http:/ #include #include#define uint unsigned int#define uchar unsigned charuchar hour,min,sec,sec1=0;/时钟函数uint time_ms=0;uchar time_sec=0,time_min=34,time_hour=9;uchar

2、move=1;/调整位位移bit f0=0,f1=0,f2=0; /f1 键 set 按下uchar d7,d6,d5,d4,d3,d2,d1,d0;uchar key_press;uint temp;uchar tempreadbyte(void);/uint get_temp();float f_temp;bit tempreadbit(void);sbit DataPortDS1820=P35; /温度传感器信号线void tempwritebyte(uchar dat);void tempchange(void);void get_temp();void conv();void del

3、ay(uint z);void itnt();void itnttime();void key_input();void key_account();void set();/调整子程序void adj();/调整子程序void disp_temperature();void time_count(); /软件实现时间计算void Delay15us(void);void Delay10us(void);bit RstDS1820(void);void WriteDS1820(unsigned char ch);void Delay1us(unsigned char us);unsigned c

4、har ReadDS1820(void);void SkipROMCode(void);void StartADC(void) ;unsigned int GetTempValue(void);void itnt_18B20(void);void main()itnt();while(1) key_account(); void itnt()/寄存器初始化TMOD = 0x11;TH0 = (65536-2700)/256;TL0 = (65536-2700)%256;TH1 = (65536-54000)/256;TL1 = (65536-54000)%256;TR1 = 1;ET1 = 1

5、;ET0 = 1;TR0 = 1;EA = 1;void delay (uint z)uint x,y;for (x=z;x0;x-)for(y=110;y0;y-); void key_account() key_input(); if (key_press=0x0e)delay(100);key_input();if(key_press=0x0e)f1=1;while(key_press=0x0e)key_input();set();move=1;if (key_press=0x07)delay(200);key_input();if(key_press=0x07)while(key_pr

6、ess=0x07)key_input();f0=1; while(f0)key_input();disp_temperature(); if (key_press=0x07)delay(200);key_input();if(key_press=0x07)while(key_press=0x07)key_input();f0=0;void key_input()key_press=P1;key_press=key_pressif(key_press!=0x0f)sec1=0;void set()/调整子程序while(f1)/ conv();key_input();switch(key_pre

7、ss)case 0x0e: /S1 if(key_press=0x0e)delay(100);key_input();if(key_press=0x0e)while(key_press=0x0e)key_input();f1=0;if (hour=24)hour=0;time_hour=0;break;case 0x0d:/s2 if(key_press=0x0d)delay(100);key_input();while(key_press=0x0d)key_input();move+;if(move4)move=1; break;case 0x0b:/s3 if(key_press=0x0b

8、)delay(100);key_input();while(key_press=0x0b)key_input();move-;if(move=10) ge = 0;min = shi*10+ge;break;case 2:ge = min%10;shi = min/10%10+1;if (shi=6) shi = 0;min = shi*10+ge;break;case 3:ge = hour%10+1;shi = hour/10%10;if (shi=2)if (ge=4) ge=0;if (ge=10) ge = 0;hour = shi*10+ge;break;case 4:ge = h

9、our%10;shi = hour/10%10+1;if (shi=3) shi = 0;hour = shi*10+ge;break; /*/* 中断显示 */unsigned char code table = /段选0x3F,0x06,0x5B,0x4F,/0,1,2,30x66,0x6D,0x7D,0x07,/4,5,6,70x7F,0x6F,0x77,0x7C,/8,9,a,b0x39,0x5E,0x40,0x00;/c,d,-,关unsigned char code table1 = 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/位选(从低到高)

10、unsigned int coruscate,wei,dot;unsigned char d07,d06,d05,d04,d03,d02,d01,d00;void conv() uint t;TR0 =0;if(f0=0)d0 =tablesec%10;d1 =tablesec/10%10;d2 =table14;d3 =tablemin%10;d4 =tablemin/10%10;d5 =table14;d6 =tablehour%10;d7 =tablehour/10%10; elset = temp;d0 =0x39;d1 =0x63;d2 =tablet%10;d3 =tablet/1

11、0%10|0x80;if (f2=0)if (t=100)coruscate=0;if(coruscate8)wei=1;switch(wei)case 1: P0=0; P2=table10;P0=d00;break;case 2: P0=0; P2=table11;P0=d01;break;case 3: P0=0; P2=table12;P0=d02;break;case 4: P0=0; P2=table13;P0=d03;break;case 5: P0=0; P2=table14;P0=d04;break;case 6: P0=0; P2=table15;P0=d05;break;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。