资源简介
基于单片机(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
- 上一篇:数学物理方法.学习指导_姚端正 科学版
- 下一篇:程序员表白程序,带音乐
相关资源
- IEEE1588V2中文_网络测量和控制系统的精
- 51单片机通过DS1302进行时钟显示,并在
- 缙哥哥Excel多功能抽奖器 简单抽奖器
- STC89C52RC+DS1302电子时钟设计
- 基于udp的多功能聊天室
- 番茄时钟小程序
- 利用矩阵键盘控制51单片机LCD12864显示
- 多功能语音计算器清晰报声
- flash时钟集合
- 多功能计算器(里面含有完整地代码
- 基于stm32单片机多功能计步手环
- Qt5多功能计算器
- ds3231时钟stm32文件包
- stm32+MLX90614测温代码.rar
- 基于物联网的多功能电子药箱
- 基于51单片机的多功能电子钟
- STM32F103C8T6每隔20s驱动DS18B20测温_OLED
- 基于DS18B20和nRF9E5的多点无线测温系统
- FPGA数字时钟含闹钟
- 电子-复件实验15RTC模拟指针时钟实验
- 基于51单片机简易电子时钟
- Verilog时钟带闹铃等功能
- RTC时钟实验
- 各种时钟控件,时钟flash
- 基于STM8L152和TM1638的电子时钟
- Qt5:多功能文档查看器
- Cyclone-IV-器件中的时钟网络与PLL
- 基于单片机的多功能收音机的设计与
- stm32可调时钟程序
- 基于 STM32 的 RTC 实时时钟
评论
共有 条评论