资源简介
基于单片机(89S52)的多功能时钟
用单片机定时器做的时钟
第一个单片机作品
具有测温 时钟 闹钟 整点报时 功能
有源码 开发板原理图 程序流程图(在总结报告中)
总结报告部分抄袭别人的 只有实物图和程序流程图是自己做的 总之 报告很烂
由于时间仓促 规范化程度不高 功能在不断完善过程中
出现了很多冗余 暑期回家 没有做进一步处理
现在心情很糟 以后有时间会完善的!
仅供参考!

代码片段和文件信息
/***********************************************************************************
学校:东北石油大学
院系:电子科学学院
专业:电子科学与技术
班级:电子**班
学号:***********
姓名:小菜
*************************************************************************************/
#include //52 单品机头文件
#include
#define uchar unsigned char //宏定义
#define uint unsigned int
void delay(uint z);
sbit key1=P3^4; //设置按键
sbit key2=P3^5;
sbit key3=P3^0;
sbit key4=P3^1;
sbit key5=P3^2;
sbit key6=P3^3;
sbit BEEP=P2^1;
sbit led=P2^7;
sbit DQ = P2^0;
void beepopen(uchar times); //声明函数
void onit();
void clockset();
void display(hms);
void alarmset();
void distribute();
void zd_clock();
void clock();
void delay1(unsigned char t);
void song();
void alarmbeep();
unsigned char Init_DS18B20(void);
unsigned int ReadTemperature(void);
uchar code disp_code[] =
{
0xC0 0xF9 0xA4 0xB0 0x99 0x92 0x82 0xF8 0x80 0x90
// 0-9 0 1 2 3 4 5 6 7 8 9
0x88 0x83 0xc6 0xa1 0x86 0x8e
// 10-15 a b c d e f
0x7F 0xBF 0x9C 0xFF
// 16-19 . - 。null
}; //数码管显示值列表
uchar code disp_code1[]=
{
0x400x790x240x300x190x120x020x780x000x10 //带小数点的0-9
};
//设置变量
uint numtempalarmljtemp1ttemp;
uchar chcmcsxsh1h2m1m2s1s2tfhhmmsshmsahamastimer0h timer0lktimeshiftflagtemp0z;
void proc_18b20(uint t) //18b20温度显示函数--由于一开始没想加测温功能,另外时间仓促,函数利用率不高
{
uint t_temp1 t_temp2t_temp3t_temp4;
t_temp1 = (int)(t / 100);
t_temp2 = (int)(t % 100);
t_temp3=(int)(t_temp2%10);
t_temp4=(int)(t_temp2/10);
P1=0xfe;
P0=0xf6;
delay(2);
P1=0xfd;
P0=disp_code[12];
delay(2);
P1=0xfb;
P0=disp_code[18];
delay(2);
P1=0xf7;
P0=disp_code[0];
delay(2);
P1=0xef;
P0=disp_code[t_temp3];
delay(2);
P1=0xdf;
P0=disp_code1[t_temp4];
delay(2);
P1=0xbf;
P0=disp_code[t_temp1];
delay(2);
P1=0x7f;
P0=0xf6;
delay(2);
}
void main()
{
onit();
while(1)
{
zd_clock(); //整点报时
if(key5==0&&key6!=0&&key1!=0&&key2!=0)
{
Init_DS18B20();
ttemp = ReadTemperature();
if(ttemp>30)
beepopen(1);
ttemp = (unsigned int)(ttemp * 10 + 0.5); //放大10倍输出并四舍五入
proc_18b20(ttemp);
}
else
{
if(key6==0) //当k2按下时 设置闹钟时间
alarmset();
else
{
if(key1==0||key2==0) //当k4或k3按下时 进行时钟设置
clockset(); //调用时钟设置程序
else
{
clock(); //调用时钟程序
if(ah==h&&am==m&&as==s)
{
ET1= 1; //打开定时器1中断
alarmbeep();
}
}
}
}
}
}
void timer0() interrupt 1 //定时器0的中断处理程序
{
TH0=(65536-9216)/256; // 每10ms产生一次中断 因为晶振频率为11.0592MHz,所以定时器装入初值应为,65536-10000/12*11.0592
TL0=(65536-9216)%256;
num++; //定时器0每产生一次中断 num++
}
void delay(uint z) //延时子函数
{
uint xy;
for(x=z;x>0;x--)
for(y=11
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 95744 2010-07-14 08:42 多功能时钟\开发板原理图.doc
文件 22207 2010-08-29 19:31 多功能时钟\时钟--成品\finalclock
文件 10676 2010-08-29 19:48 多功能时钟\时钟--成品\finalclock.c
文件 7728 2010-08-29 19:31 多功能时钟\时钟--成品\finalclock.hex
文件 52 2010-08-29 19:31 多功能时钟\时钟--成品\finalclock.lnp
文件 19390 2010-08-29 19:31 多功能时钟\时钟--成品\finalclock.LST
文件 32238 2010-08-29 19:31 多功能时钟\时钟--成品\finalclock.M51
文件 25625 2010-08-29 19:31 多功能时钟\时钟--成品\finalclock.OBJ
文件 957 2010-08-29 19:48 多功能时钟\时钟--成品\finalclock.Opt
文件 1226 2010-08-29 19:31 多功能时钟\时钟--成品\finalclock.plg
文件 1661 2010-08-29 14:40 多功能时钟\时钟--成品\finalclock.Uv2
文件 828 2010-08-29 14:40 多功能时钟\时钟--成品\finalclock_Opt.Bak
文件 1657 2010-07-26 17:12 多功能时钟\时钟--成品\finalclock_Uv2.Bak
文件 8269312 2010-08-29 19:55 多功能时钟\电子 小菜作品.doc
目录 0 2010-08-29 19:49 多功能时钟\时钟--成品
目录 0 2010-08-29 19:57 多功能时钟
----------- --------- ---------- ----- ----
8489301 16
- 上一篇:数学物理方法.学习指导_姚端正 科学版
- 下一篇:程序员表白程序,带音乐
相关资源
- STM32 led 时钟
- 51单片机多功能自行车测速仪
- 单片机电子时钟 闹钟 日历
- DS18B20分布式多点测温的Proteus仿真
- 单片机数字时钟包附电路图 源程序
- 软件方法测试RTX时钟
- (MFC) 时钟日期程序
- 数字电子技术 多功能数字钟
- 全自动多功能编码转换工具(URLASCI
- 图形学集成程序dda、中点算法、多边
- 矿用多功能网关通信接口设计
- 矿用多功能WiFi信号转换器的设计
- CS1.6 透视自瞄多功能 开源.e
- SW6124.rar
- flash透明时钟140个
-
如何为畅学多功能实验箱安装Jli
n - actel fpga外部输入时钟毛刺问题排查与
- 硬件设计-红外测温TMP006
- 矿用非接触式红外热电堆测温仪
- STM32F407实时时钟_DS1302实时时钟模块和
- 基于STM32F103的实时时钟程序,采用D
- 51单片机_DS1302时钟芯片_共阴数码管
- BM-SOP-T021 BM43系列红外温度传感器的应
- 详解多功能相控阵雷达.pdf
- Qt时钟Demo,在原来基础上添加了秒针
- DS1302时钟带可调时间显示
- 基于单片机的家庭无线红外测温仪
- Lcd12864大时钟万年历 农历生肖温度
- 基于FFMPEG_SDL2_音视频播放_参考音频时
- Qt 日历可显示阴历生宵和时钟基于Q
评论
共有 条评论