学校作息时间控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理及应用》
课程设计说明书
题目学校作息时间控制系统的设计
系(部)
专业(班级)
姓名
学号
指导教师
起止日期
系部:电信系专业:2011级电子信息工程I课题名称学校作息时间控制系统的设计
目录
程序................................
一、设计内容及要求.........................
1.1 设计内容..........................
1.2 设计要求..........................
二、设计目的............................
三、设计原理............................
3.1 总的设计 ........................... 3.2 分模块设计 ..........................
3.3 设计示意图.........................
四、仿真分析............................
4.1 调节工作模式 ........................
4.2 闹钟实现 .................
4.3 温度测量 .................
五、心得体会..................
六、参考文献..................
4
15
15
15
15
15
15
15
16
16
16 错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。
程序
#include "reg52.h"
#include
#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};
sbit RS=P1A 0; sbit RW=PM1; sbit EN=P1A2; sbit RST=P1A3; sbit
PSB=P1A5; sbit mode=P0A0; sbit inc=P0A1; sbit dec=P0A2; sbit fmq=P3A4; //============
作息时间控制系统 "}; 吴智勇 2011026103"}; 时间 : : : "};
打铃 : : : "}; 定义一个二维数组, 4行, 1 6个字符
// 调节模式
uchar 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} };
//====================================================== *************************************************************** void delay(int ms)
{
while(ms--)
{
uchar i;
for(i=0;i<250;i++)
//key1 模式
//kye2 分 //key3 时 // 蜂鸣器接口 code uchar data1[16]={"
code uchar data2[]={" code uchar data3[]={" code uchar data4[]={" uchar
disp_buff[4][16];// uchar
hour,min,sec,minisec; uchar
mode_value=0 ,xf;
**/
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
//=========================
void delayus(uint i)
{
uchar y;
while(--i)
for(y=0;y<2;y++)
{;}
}
//====================================================== uchar read_data(void)// 读状态。// 返回值1--- 空。0 忙。
{
uchar temp;
RS=0;
RW=1;
delayus(2);
EN=1;
delayNOP();
IO_ADDR=0XFF;
temp=IO_ADDR;// 读输入口。
temp=temp&0x80;
EN=0;
if(temp==0x00)
{
return(0);
}
else
{
return(1);}// 注:如需软件仿真,需要将此处改为1
}
//============================
void write_data(uchar type,uchar date)// 写命令或写数据。
{
while(read_data());
//delayus(100);
if(type)// 写数据1 {
RS=1;
}
else//0// 写命令
{
RS=0;