没有合适的资源?快使用搜索试试~ 我知道了~
单片机原理及应用课程设计-学校作息时间控制系统设计.doc
0 下载量 160 浏览量
2023-07-06
07:04:14
上传
评论
收藏 293KB DOC 举报
温馨提示
试读
23页
单片机原理及应用课程设计-学校作息时间控制系统设计.doc
资源推荐
资源详情
资源评论
1
单片机课程设计报告
系 部:
电子与通信工程系
专业年级班级:
课 题 名 称 :
学 生 姓 名:
学 号:
指 导 老 师 :
成 绩 评 定:
2
单片机原理及应用课程设计任务书
系(部): 专业: 指导教师:XX
课题名称
学校作息时间控制系统的设计
设
计
内
容
及
要
求
(1)课题内容:以单片机为核心,设计一个智能化作息时间控制器。该控
制器要求的功能有:按本校作息时间接通/断开电铃;并用 B3 区的 12864
液晶屏的第一行显示本人的姓名和学号,第二行显示实时时钟。
作息时间控制器用于学校教学楼的时间控制,利用单片机内部定时器
实现时间基准定时,显示的内容要求有时、分、秒各两位,并能调节小时
和分钟。
发挥部分:可以通过键盘任意调整响铃时间。
(2)要求:完成该系统的硬件和软件的设计,在 Proteus 软件上仿真通过
后,下载到 DP-51PROC 单片机实验箱验证。最后就课程设计本身提交一篇
课程设计说明书。
设
计
工
作
量
1、汇编或 C51 语言程序设计;
2、程序调试;
3、在 Proteus 上进行仿真后,进行下载;
4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、
仿真分析、调试过程,参考文献、设计总结等。
起止日期(或时间量)
设计内容(或预期目标)
备注
第一天
课题介绍,答疑,收集材料,C51 介绍
第二天
设计方案论证,练习编写 C51 程序
第三天~第六天
程序设计
第六天~第八天
程序调试、仿真
进
度
安
排
第九天~第十天
系统测试并编写设计说明书
教研室
意见
年 月 日
系(部)主
管领导意见
年 月 日
3
目 录
一.设计原理............................................................................................................................5
(1)总体设计:......................................................................................................................5
(2)分模块设计:..................................................................................................................5
(3)设计示意图......................................................................................................................5
二.程序设计............................................................................................................................6
(1) LCD 显示模块程序.......................................................................................................9
(2)温度模块程序................................................................................................................12
(3)时间模块程序................................................................................................................15
(4)声音模块程序................................................................................................................16
(5)调节模块程序................................................................................................................17
(6)主函数............................................................................................................................19
三.仿真分析..........................................................................................................................19
(1)调节工作模式:............................................................................................................20
(2)闹铃实现:....................................................................................................................22
(3)温度测量:....................................................................................................................22
四.设计心得...........................................................................................................................23
五.参考文献...........................................................................................................................23
4
一.设计原理
(1)总体设计:
首先对设计要求有个整体的了解,明白需要实现哪些功能,实现这些功能需要哪些
元器件,要驱动这些元件需要编写什么程序,最后进行总体调试。本次作息时间的设计,
使用了单片机 AT89C51,LCD 为 AMPIRE12864,温度元件为 DS18B20,还有一个声
音播放器 SOUNDER。对于 LCD 和 DS18B20 要进行初始化。将本次设计分成 5 个模
块分别进行设计,分成:温度模块 、LCD 显示模块、时间模块、声音模块、调节模块。
分模块设计好了以后,再综合起来设计主程序 main(),实现所需要求。
(2)分模块设计:
1.LCD 显 示 模 块 设 计 : 该 模 块 包 括 的 函 数 为 LCD_inti()//LCD 的 初 始 化 、
checkbusy()//检查 LCD 是否忙碌、 writecode() //写命令、 writedata() //写数据、
hanzi()//显示汉字、 zifu()//显示数字或字符。
2.温度模块设计:该模块的函数为 inti()//DS18B20 的初始化、 readchar()//读一个字
节、writechar()//写入一个字节、readtemp()//读取温度 、worktemp()//温度计算。
3.时间模块设计:本次是采用 T0 中断的工作方式 1 获取时间的。其函数为 void
timer() interrupt 1 //T0 中断函数 、workhour()//时间计算。
4.声音模块设计:该模块比较简单,其函数为 void s_fmq()//蜂鸣器叫 、nling()//判
断是否闹铃。
5.调节模块设计:该模块要实现 5 个模式的调节和转变。模式 0:正常工作状态;
模式 1:修改时间;模式 2:选择一个需要改变的闹铃;模式 3:修改选定的闹铃的分
钟 ;模式 4:修改选定的闹铃的小时
(3)设计示意图
图一. 总设计示意图
AT
89
C51
单 片
机
时 间
模块
温 度
模块
调 节
模块
声 音
模块
LCD
显 示
模块
5
二.程序设计:
/**************************************************************************
名称:学校作息时间控制系统的设计程序,基于 AT89C51 单片机,用 lcd12864 显示
内容:三个按键:mode(模式)、inc(增加)、dec(减少) 一 个 LCD12864 显 示 一 个
DS18B20 数字温度计和一个声音播放器 SOUNDER
日期:2011-6-7
编写:黄健
**************************************************************************/
#include<reg51.h>
#include<intrins.h>
#define LCD P0
sbit DQ=P3^7; //定义 DS18B20 数据端口
sbit P07=P0^7; //小数点控制 I0
sbit mode=P1^0; //key1 分
sbit inc=P1^1; //kye2 时
sbit dec=P1^2; //key3 闹铃
sbit fmq=P1^7; //蜂鸣器接口
sbit E=P2^0; //用于 DS18B20 接线端口
sbit RW=P2^1;
sbit RS=P2^2;
sbit CS1=P2^4;
sbit CS2=P2^3;
sbit BUSY=P0^0;
unsigned char a,i,j,k;
unsigned char bai,shi,ge,xiaoshu; //用于表示温度
unsigned int realtemp; // 读取的实际温度值
unsigned char flag; //正负标志位
unsigned char fu; //符号寄存器
unsigned char count,hour,minute,second=0; //用于表示时间
unsigned char mode_value=0 ,xf; //调节模式
unsigned char month=6 ,day=7 ; //用于表示日期
unsigned char h1,h2,f1,f2,s1,s2=0; //用于显示时间
unsigned char m1,m2;d1,d2; //用于显示日期
unsigned char ds[20][2] =
{
{8,0},{8,45},{8,55},{9,40},{10,0},{10,45},{10,55},{11,40},{14,0},{14,45},
{14,55},{15,40},{16,0},{16,45},{16,55},{17,40},{19,0},{19,45},{19,55},{20,40}
}; //用于定时闹铃
unsigned char code zi[28][16]=
{
{0x20,0x20,0x24,0xA4,0xA4,0xBF,0xA4,0xE4,0xA4,0xBF,0xA4,0xE6,0xA4,0x30,0x20,0x
00} ,/*"黄”,0*/
{0x00,0x80,0x80,0x5F,0x4A,0x2A,0x0A,0x0F,0x0A,0x2A,0x2A,0x4F,0x40,0x80,0x00,0x0
剩余22页未读,继续阅读
资源评论
黑色的迷迭香
- 粉丝: 706
- 资源: 4万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功