片单机课程设计学校作息时间控制系统的设计大学毕设论文.docx

上传人:b****6 文档编号:9236890 上传时间:2023-02-03 格式:DOCX 页数:30 大小:78.94KB
下载 相关 举报
片单机课程设计学校作息时间控制系统的设计大学毕设论文.docx_第1页
第1页 / 共30页
片单机课程设计学校作息时间控制系统的设计大学毕设论文.docx_第2页
第2页 / 共30页
片单机课程设计学校作息时间控制系统的设计大学毕设论文.docx_第3页
第3页 / 共30页
片单机课程设计学校作息时间控制系统的设计大学毕设论文.docx_第4页
第4页 / 共30页
片单机课程设计学校作息时间控制系统的设计大学毕设论文.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

片单机课程设计学校作息时间控制系统的设计大学毕设论文.docx

《片单机课程设计学校作息时间控制系统的设计大学毕设论文.docx》由会员分享,可在线阅读,更多相关《片单机课程设计学校作息时间控制系统的设计大学毕设论文.docx(30页珍藏版)》请在冰豆网上搜索。

片单机课程设计学校作息时间控制系统的设计大学毕设论文.docx

片单机课程设计学校作息时间控制系统的设计大学毕设论文

 

课程设计报告

题目

学校作息时间控制系统的设计

系(部)

专业(班级)

姓名

学号

指导教师

起止日期

单片机原理及应用课程设计任务书

系(部):

专业:

指导教师:

课题名称

学校作息时间控制系统的设计

设计内容及要求

(1)课题内容:

以单片机为核心,设计一个智能化作息时间控制器。

该控制器要求的功能有:

按本校作息时间接通/断开蜂鸣器,每次响铃时间为10秒;

用12864液晶屏作显示器,第一行显示“作息时间控制系统”,第二行显示设计者姓名和学号,第三行显示实时时钟,显示的内容要求有时、分、秒各两位,第四行显示最近的闹铃时间。

发挥部分:

设置按键对小时和分钟调节;可以通过键盘任意调整响铃时间。

(2)要求:

完成该系统的硬件和软件的设计,在Proteus软件上仿真通过后,提交一篇课程设计说明书。

设计工作量

1、汇编或C51语言程序设计;

2、程序调试;

3、在Proteus上进行仿真后,进行下载;

4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、调试过程,参考文献、设计总结等。

进度安排

起止日期(或时间量)

设计内容(或预期目标)

备注

第一天

课题介绍,答疑,收集材料,C51介绍

第二天

设计方案论证,练习编写C51程序

第三天~第六天

程序设计

第六天~第八天

程序调试、仿真

第九天~第十天

系统测试并编写设计说明书

教研室

意见

年月日

系(部)主管领导意见

 

年月日

目录

 

一.设计原理5

(1)总体设计:

5

(2)分模块设计:

5

(3)设计示意图5

三.仿真分析6

(1)调节工作模式:

6

(2)闹铃实现:

6

(3)温度测量:

7

四.设计心得7

五.参考文献8

 

一.设计原理

(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获取时间的。

其函数为voidtimer()interrupt1//T0中断函数、workhour()//时间计算。

4.声音模块设计:

该模块比较简单,其函数为voids_fmq()//蜂鸣器叫、nling()//判断是否闹铃。

5.调节模块设计:

该模块要实现5个模式的调节和转变。

模式0:

正常工作状态;

模式1:

修改时间;模式2:

选择一个需要改变的闹铃;模式3:

修改选定的闹铃的分钟;模式4:

修改选定的闹铃的小时

(3)设计示意图

图一.总设计示意图

三.仿真分析

5个具体模块的功能实现,已经在程序注释中解释了,现在主要分析怎么操作这些功能的实现。

如图二所示

图二:

总的硬件电路图

(1)调节工作模式:

调节模式的实现只用了三个按钮,分别是mode、inc和dec按钮。

如图三所示:

图三:

三个调节按钮

(2)闹铃实现:

程序初始化的时候对20个闹铃时间进行了赋值,其闹铃的时间分别是{8:

00、8:

45、8:

55、9:

40、10:

00、10:

45、10:

55、11:

40、14:

00、14:

45、14:

55、15:

40、16:

00、16:

45、16:

55、17:

40、19:

00、19:

45、19:

55、20:

40}。

如果要修改闹铃时间,可以依次进入调节模式2、3、4进行修改。

当到了闹铃时间时,则蜂鸣器会响起来。

图十:

蜂鸣器

(3)温度测量:

本次设计采用了DS18B20温度芯片,该芯片能测量环境中的温度变化,通过单片机的处理就可以显示出实时温度值。

当环境温度改变时,显示出来的温度也会随着改变

图十一:

DS18B20温度芯片

四.设计心得

刚刚学完汇编语言,猜测可能使用汇编来编程的。

没想到必须得用C语言。

好久没有使用C语言编程了,当年学的时候觉得这个是软件,专业是搞硬件的与本专业联系不大,就学的不怎么好,现在都忘了差不多了。

在课程设计之前,有一个星期的实训时间,做了关于流水灯,名字学号显示,方波,方阵。

流水灯、方波,若要用刚学不久的汇编语言还好说,还是可以写出来的,可是要用C语言还真是有点问题。

自己趁着这个时间,复习了汇编语言的程序,可也只能方波和流水灯,但是看到同学用C语言只用了很简单的几行程序就编出方波的程序时,我又一次的被打击到了。

没想到C语言在自己的专业上还有这么大的用,突然想起单片机书上第一章的内容写的是单片机的高级语言是C语言。

这次做的是学校作息时间控制系统,很贴近生活实际,通过翻以前上课用的书籍,以及上网查阅资料。

自己对这次的编程有了一点的概念。

而LCD12864这块显示器却让我有点头痛,这个东西之前并没有接触过,教科书上也没有关于它的介绍。

它的硬件结构,驱动程序都要自己另外查阅资料。

与单片机的接口连接好搞定,可是它的显示地址却有点把不准。

很费时间。

当搞清显示模块时,一切似乎都好办了,当显示出自己的名字和学号班级时,莫名的成就感,接下来将时间模块移植进去就可以了,不过还得做一点点小小的修改。

程序这一块我不是很强,移植进去后运行没有错误,可就是不显示,而且屏幕还黑了一半,当时心都有点发凉,这毕竟是搞了很久的东西,要是这个结果就有点对不起观众了。

请教与班上的程序高手,做了些适当的修改,当自己的姓名和时间一起终于显示出来了的时候,那种兴奋是莫名的。

作为练习,还移植了一个温度模块,功能多才是王道。

对于学习的态度还是该端正,学的东西都会有用的,只不过有些东西你暂时不知道用在那里而已。

当那一天你真的要用时,若是因自己没学扎实而不会时,那是该多么的遗憾。

 

五.参考文献

1.单片机典型系统设计实例精讲/彭为等编著.—北京:

电子工业出版社,2006.5ISBN7-121-02461-6

2.单片机C51程序设计教材与实验/祁伟等编著。

—北京:

北京航空航天大学出版社,2006.1ISBN7-81077-736-X

3.单片机微型计算机技术/刘国荣等编著。

—北京:

机械工业出版社.2000.1

4.单片机原理与应用/曾屹等编著。

—长沙:

中南大学出版社.2009.5(高等院校培养应用型人才电子技术类课程规划教材)ISBN987-7-81105-832-

 

#include

#include

#defineLCDP0

sbitDQ=P3^7;//定义DS18B20数据端口

sbitP07=P0^7;//小数点控制I0

sbitmode=P1^0;//key1分

sbitinc=P1^1;//kye2时

sbitdec=P1^2;//key3闹铃

sbitfmq=P1^7;//蜂鸣器接口

sbitE=P2^0;//用于DS18B20接线端口

sbitRW=P2^1;

sbitRS=P2^2;

sbitCS1=P2^4;

sbitCS2=P2^3;

sbitBUSY=P0^0;

unsignedchara,i,j,k;

unsignedcharbai,shi,ge,xiaoshu;//用于表示温度

unsignedintrealtemp;//读取的实际温度值

unsignedcharflag;//正负标志位

unsignedcharfu;//符号寄存器

unsignedcharcount,hour,minute,second=0;//用于表示时间

unsignedcharmode_value=0,xf;//调节模式

unsignedcharmonth=6,day=7;//用于表示日期

unsignedcharh1,h2,f1,f2,s1,s2=0;//用于显示时间

unsignedcharm1,m2;d1,d2;//用于显示日期

unsignedchards[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}

};//用于定时闹铃

unsignedcharcodezi[28][16]=

{

{0x20,0x20,0x24,0xA4,0xA4,0xBF,0xA4,0xE4,0xA4,0xBF,0xA4,0xE6,0xA4,0x30,0x20,0x00},/*"王",0*/

{0x00,0x80,0x80,0x5F,0x4A,0x2A,0x0A,0x0F,0x0A,0x2A,0x2A,0x4F,0x40,0x80,0x00,0x00},

{0x40,0x20,0xF8,0x07,0x88,0x48,0x38,0x10,0x54,0x54,0xFF,0x54,0x54,0x7C,0x10,0x00},/*"宇",1*/

{0x00,0x00,0xFF,0x44,0x29,0x19,0x27,0x49,0x89,0x89,0xFF,0x89,0x89,0xCD,0x49,0x00},

{0x00,0xFC,0x84,0x84,0x84,0xFE,0x14,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x00},/*"时",2*/

{0x00,0x3F,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x23,0x40,0x80,0x7F,0x00,0x00,0x00},

{0x00,0x80,0x40,0x20,0x98,0x86,0x80,0x80,0x83,0x8C,0x90,0x20,0xC0,0x80,0x80,0x00},/*"分",3*/

{0x01,0x00,0x80,0x40,0x20,0x1F,0x00,0x40,0x80,0x40,0x3F,0x00,0x00,0x01,0x00,0x00},

{0x20,0x24,0x24,0xA4,0xFE,0xA3,0x22,0x80,0x70,0x00,0xFF,0x00,0x10,0x20,0x60,0x00},/*"秒",4*/

{0x10,0x08,0x06,0x01,0xFF,0x00,0x81,0x80,0x40,0x20,0x17,0x08,0x04,0x03,0x00,0x00},

{0x10,0x10,0xD0,0xFF,0x94,0x14,0xE4,0xBF,0xA4,0xA4,0xA4,0xBF,0xF4,0x26,0x04,0x00},/*"模",5*/

{0x04,0x03,0x00,0xFF,0x08,0x89,0x8B,0x4A,0x2A,0x1E,0x2A,0x2A,0x4B,0xC8,0x48,0x00},

{0x10,0x10,0x91,0xD6,0xB0,0x10,0xFE,0x82,0x82,0x82,0x82,0x82,0xFF,0x02,0x00,0x00},/*"祝",6*/

{0x02,0x01,0x00,0xFF,0x80,0x41,0x21,0x18,0x07,0x00,0x3F,0x40,0x41,0x40,0x70,0x00},

{0x40,0x20,0xF8,0x07,0x40,0x20,0x18,0x0F,0x08,0xC8,0x08,0x08,0x28,0x18,0x00,0x00},/*"你",7*/

{0x00,0x00,0xFF,0x00,0x00,0x08,0x04,0x43,0x80,0x7F,0x00,0x01,0x06,0x0C,0x00,0x00},

{0x80,0x70,0x00,0xFF,0x10,0x20,0x10,0x10,0xFF,0x10,0x10,0x10,0xF8,0x10,0x00,0x00},/*"快",8*/

{0x00,0x00,0x00,0xFF,0x82,0x42,0x22,0x1A,0x07,0x0A,0x12,0x22,0x43,0xC2,0x42,0x00},

{0x00,0x80,0xC0,0xBC,0x84,0x84,0x84,0xF4,0x82,0x82,0x83,0x82,0x80,0xC0,0x80,0x00},/*"乐",9*/

{0x00,0x40,0x20,0x10,0x0C,0x40,0x80,0x7F,0x00,0x00,0x04,0x08,0x30,0x60,0x00,0x00},

{0x40,0x20,0xF8,0x07,0xF0,0xA0,0x90,0x4F,0x54,0x24,0xD4,0x4C,0x84,0x80,0x80,0x00},/*"修",10*/

{0x00,0x00,0xFF,0x00,0x0F,0x80,0x92,0x52,0x49,0x25,0x24,0x12,0x08,0x00,0x00,0x00},

{0x04,0xC4,0x44,0x44,0x44,0xFE,0x44,0x20,0xDF,0x10,0x10,0x10,0xF0,0x18,0x10,0x00},/*"改",11*/

{0x00,0x7F,0x20,0x20,0x10,0x90,0x80,0x40,0x21,0x16,0x08,0x16,0x61,0xC0,0x40,0x00},

{0x00,0xFC,0x84,0x84,0x84,0xFE,0x14,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x00},/*"时",12*/

{0x00,0x3F,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x23,0x40,0x80,0x7F,0x00,0x00,0x00},

{0x00,0xF8,0x01,0x02,0xF6,0x10,0x12,0x12,0x12,0x12,0xFA,0x12,0x02,0xFF,0x02,0x00},/*"间",13*/

{0x00,0xFF,0x00,0x00,0x3F,0x11,0x11,0x11,0x11,0x11,0x3F,0x40,0x80,0x7F,0x00,0x00},

};//汉字码

unsignedcharcodexuehao[20][8]=

{

{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00},

{0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00},/*"2",0*/

{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00},

{0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00},/*"0",1*/

{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00},

{0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00},/*"1",2*/

{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00},

{0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00},/*"1",3*/

{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00},

{0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00},/*"0",4*/

{0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00},

{0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00},/*"1",5*/

{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00},

{0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00},/*"2",6*/

{0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00},

{0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},/*"4",7*/

{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00},

{0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00},/*"0",8*/

{0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00},

{0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00},/*"7",9*/

};//学号码

unsignedcharcodeshu[20][8]=

{

{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00},

{0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00},/*"0",0*/

{0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00},

{0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},/*"1",1*/

{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00},

{0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00},/*"2",2*/

{0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00},

{0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00},/*"3",3*/

{0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00},

{0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00},/*"4",4*/

{0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00},

{0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00},/*"5",5*/

{0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00},

{0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00},/*"6",6*/

{0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00},

{0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00},/*"7",7*/

{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00},

{0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00},/*"8",8*/

{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00},

{0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00},/*"9",9*/

};//数字码

unsignedcharcodefuhao[12][8]=

{

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01},/*"-",0*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00},/*".",1*/

{0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00},{0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00},/*":

",2*/

{0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",3*/

{0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00},{0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00},/*"C",4*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"",5*/

};//符号码

/****************************************************************************************************LCD显示模块程序*******************************

*************************************************************************/

/*********检查12864LCD中是否忙*****************************************/

checkbusy()

{

E=1;

RW=1;

RS=0;

LCD=0Xff;

if(BUSY);

}

/***********************写命令********************************************/

writecode(unsignedchardat)//写命令

{checkbusy();

E=0;

RW=0;

RS=0;

LCD=dat;

E=1;

E=0;

}

/*******************************写数据**********************

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1