单片机课程设计 洗衣机控制器

单片机课程设计 洗衣机控制器
单片机课程设计 洗衣机控制器

上海电力学院16位单片机大作业

实验报告

实验名称:洗衣机控制器

专业:通信工程

姓名:

班级:

学号:

一、设计目的

运用C 语言,深入了解MC9S12XS128单片机的知识,根据题目的要求进行软硬件的设计和调试,从而加深对于本课程知识点的理解,掌握了如何使用CodeWarrior 来整合各种驱动模块,再通过算法实现硬件上的运行。

二、功能描述

最终运行程序实现的的功能为:

通过对于CodeWarrior 软件的操作,编写代码,最终实现freescale MC9S12XS128单片机简单控制洗衣机洗衣功能。

按自己的要求将实验箱连线,通电后,LCD 显示屏上面上排显示可以设定的时间,下排显示倒计时的时间,通过键盘输入设定的时间,开始计时,LED 显示灯(绿灯亮起)。设置好固定的洗衣时间后,开始执行“洗衣”,倒计时完成后,即“洗衣”完成,在LCD 显示屏上面显示“洗衣”的时间到,即时间到00:00,LED 所有灯亮。

三.实验设备

1.PC 机

一台

2.S12嵌入式开发系统 一台

3.连接导线 若干 4.小键盘

一个

四.模块

(一)定时模块

定时器实现溢出中断接线图

PTA0 PTA1 PTA2 PTA3 PTA4 PTA5 PTA6 PTA7

PTA 口(KEY1-8)

Vcc

导线接插点

(二)LED 指示灯模块

0x55:绿灯亮 0xFF :全部灯亮 (三)LCD 显示模块

表7-1 HD44780引脚信号

管脚号 符号 电平

方向

引脚含义说明

1 Vss 电源地

2 Vdd 电源(+5V)

3 V0 液晶驱动电源(0~5V )

4 RS H/L 输入 寄存器选择;1-数据寄存器 0-指令寄存器

5 R/W H/L 输入 读写操作选择:1-读操作 0-写操作 6

E H/L H →L 输入

使能信号:R/W =0,E 下降沿有效 R/W =1,E=1有效

7~10

DB0~DB3 三态

8位数据总线的低4位,若与MCU 进行4位传送时,此4位不用

11~14 DB4~DB7 三态 8位数据总线的高4位,若与MCU 进行4位传送时,只用此4位

15~16

E1~E2

输入

上下两行使能信号,只用于一些特殊型号

(四)键盘输入模块 键盘接线原理图:

实验箱提供一个16键键盘,用于键盘中断信号的输入。键盘插孔如下图所示。

图7-1 MCU 与LCD 的连接

LCD(HD44780)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 DB7 DB6 DB5 DB4 DB3 DB2

DB1

DB0

E

R/W

RS

V0

Vdd

V SS +5V

PTB7 PTB6 PTB5 PTB4 PTB3

PTB2

PTB1

PTB0

PTM6 PTM3

PTM2

本实验中:

(1) 键盘采用手动接线,将键盘接入双排插孔下一排插孔。 (2) PTP0~3分别接键盘接线处的1~4; (3) PTA0~3分别接5-8; (4) PTB 口接8个小灯。

2

五.设计方案

实验中需要添加模块都是平时上课的时候做过的实验模块,所以要实现预

期的功能,只需要在以前的程序的基础上稍加修改,把各个模块在主程序中联系起来,加以调用,就可以实现所要求的功能。

列线 n 1 n 2 n 3 n 4

MCU 内部上拉电阻

键盘接线原理图

1 2 3 4 5 6 7 8

行线m 1

m 2 m 3 m 4

+5V

PTB0 PTB1 PTB2 PTB3 PTB4 PTB5 PTB6 PTB7

PTB (LED1-LD0-7)

PTP0(PWM1) PTP1(PWM2) PTP2(GPIO-78) PTP3(GPIO-77)

PTA0(KEY1) PTA1(KEY2) PTA2(KEY3) PTA3(KEY4)

主要驱动模块有:

计数定时模块:Timer.c

LCD显示模块:LCD.c

LED指示模块:Light.c

键盘输入模块:KBI_I.c

六.程序设计代码

[main.c]

//包含头文件

#include "Includes.h" //包含总头文件

#include

//在此添加全局变量定义

uint8 receive_data[32];

uint8 valve,mark,i, period,duty;

extern uint8 time[3],T[6];

//主函数

void main()

{

//0.1 主程序使用的变量定

uint32 mRuncount=0; //运行计数器

uint8 c;

//0.2 关总中断

DisableInterrupt();

//0.3 芯片初始化

MCUInit(FBUS_32M);

//0.4 模块初始化

Light_Init(Light_Run_PORT,Light_Run,Light_OFF); //RUN指示灯初始化为暗 //PWMInit(0); //初始化PWM通道1

TimerInit(); //(1)定时器1初始化 LCDInit(); //液晶显示初始化

SCIInit(0,FBUS_32M,9600); //串口0初始化

KBInit(); //键盘初始化

//0.5 开放中断

EnableSCIReInt0; //开放SCI0接收中断

EnableKBint(); //开放键盘中断

EnableInterrupt(); //开放总中断

DDRB=0xff;

PORTB=0x55;

memcpy(receive_data,"Start:00:00******Stop: : *****",32);

LCDShow((uint8 *)receive_data);

// 主循环

for(;;)

{

if((receive_data[22]=='0')&&(receive_data[23]=='0')&&(receive_data[25]=='0')&&( receive_data[26]=='0'))

{

DisableTimer;

PORTB=0xFF;

}

}

}

[isr.c]

//头文件包含,及宏定义区

//头文件包含

#include "Includes.h" //包含总头文件

uint8 j=0,TimInterCount=0;

uint8 T[6]=0;

uint8 time[3]=0;

extern uint8 valve;

extern uint8 receive_data[32];

#pragma CODE_SEG __NEAR_SEG NON_BANKED

//中断服务程序区

//未定义的中断处理函数,本函数不能删除,默认

__interrupt void isr_default(void)

{

DisableInterrupt();

EnableInterrupt();

}

//定时器溢出中断处理程序

__interrupt void isrTimOver(void)

{

DisableInterrupt(); //关总中断

TimInterCount++; //中断次数加一,中断4次为一秒 if (TimInterCount >= 4)

{

receive_data[22]=time[1]/10+'0';

receive_data[23]=time[1]%10+'0';

receive_data[25]=time[2]/10+'0';

receive_data[26]=time[2]%10+'0';

SecAdd1(time); //定时器更新

LCDShow((uint8 *)receive_data);

TimInterCount=0;

}

TFLG2 = 0x80; //清除定时器溢出标志位

EnableInterrupt(); //开总中断

}

//键盘中断

__interrupt void isrKeyBoard(void)

{

uint16 i;

DisableInterrupt();

DisableKBint();

for (i=0 ; i<20000; i++); //延时

valve = KBScanN(10);//扫描键值,存于value中

if(j<4)

{

if(j==0)

{

receive_data[6]= KBDef(valve);

T[0]= KBDef(valve)-'0';

}

if(j==1)

{

receive_data[7]= KBDef(valve);

T[1]= KBDef(valve)-'0';

}

if(j==2)

{

receive_data[9]= KBDef(valve);

T[2]= KBDef(valve)-'0';

}

if(j==3)

{

receive_data[10]= KBDef(valve);

T[3]= KBDef(valve)-'0';

}

j++;

}

time[1]=T[0]*10+T[1];

time[2]=T[2]*10+T[3];

if(valve==0xD7)

{

EnableTimer;

PORTA=0xAA;

}

LCDShow((uint8 *)receive_data);

KBInit(); //键盘初始化

EnableKBint(); //开放键盘中断 EnableInterrupt(); //开放总中断

}

[Timer.c]

//头文件包含,及宏定义区

//头文件包含

#include "Timer.h" //定时器构件头文件

void TimerInit(void)

{

//允许主定时器开始计数

TSCR1 = 0x80;

//禁止定时器溢出中断,中断一次时间计算:t=n/(fbus/p)≈1/4秒, //其中n=65535,fbus=32MHZ

TSCR2 = 0b00000111;

// |||_

// ||__\分频因子为2^7=128

// |___/

}

void SecAdd1(uint8 *p)

{

*(p+2) -= 1; //秒减1 if (*(p+2) < 0) //秒溢出

{

*(p+2) = 60; //清秒 *(p+1) -= 1; //分减1 if (*(p+1) < 0) //分溢出

{

*(p+1) = 60; //清时 *p -= 1; //时减1 if (*p < 0) //时溢出

*p = 24; //清时 }

}

}

[Light.c]

#include "Light.h" //指示灯驱动程序头文件

void Light_Init(uint16 port,uint8 name,uint8 state)

{

GPIO_Init(port,name,1,state); //初始化指示灯

}

void Light_Control(uint16 port,uint8 name,uint8 state)

{

GPIO_Set(port,PRT,name,state); //控制引脚状态

}

void Light_Change(uint16 port,uint8 name)

{

if(GPIO_Get(port,PRT,name)==Light_ON) //若原来为"亮",则变"暗" GPIO_Set(port,PRT,name,Light_OFF);

else //若原来为"暗",则变"亮" GPIO_Set(port,PRT,name,Light_ON);

}

[LCD.c]

#include "LCD.h" //LCD构件头文件

//构件函数实现

void LCDInit(void)

{

uint16 i;

// 定义数据口为输出

GPIO_Set(LCD_P0,DDR,LCD_B0,1);

GPIO_Set(LCD_P1,DDR,LCD_B1,1);

GPIO_Set(LCD_P2,DDR,LCD_B2,1);

GPIO_Set(LCD_P3,DDR,LCD_B3,1);

GPIO_Set(LCD_P4,DDR,LCD_B4,1);

GPIO_Set(LCD_P5,DDR,LCD_B5,1);

GPIO_Set(LCD_P6,DDR,LCD_B6,1);

GPIO_Set(LCD_P7,DDR,LCD_B7,1);

// 定义控制口为输出

GPIO_Set(LCDRS_P,DDR,LCDRS_B,1);

GPIO_Set(LCDRW_P,DDR,LCDRW_B,1);

GPIO_Set(LCDE_P,DDR,LCDE_B,1);

// 设置指令,RS,R/W = 00, 写指令代码

GPIO_Set(LCDRS_P,PRT,LCDRS_B,0);

GPIO_Set(LCDRW_P,PRT,LCDRW_B,0);

// 功能设置

LCD_Command(0b00111000);

//||||||||____ 可设任意值(0/1)

//||||||______ F = 0,5*7点阵模式

//|||||_______ N = 1,2行显示

//||||________ DL = 1,8位数据总线

//|||_________ 固定为001

// 显示开关控制

LCD_Command(0b00001000);

//||||||||____ B = 0,不闪烁

//|||||||_____ C = 0,关光标显示

//||||||______ D = 0,关显示

//|||||_______ 固定为00001

// 清屏

// 清DD RAM内容,光标回原位,清AC

LCD_Command(0b00000001);

// 等待清屏完毕,时间 > 1.6ms

for (i=0; i<20000; i++);

// 输入方式设置

LCD_Command(0b00000110);

//||||||||____ 显示不移动,光标左移(A = 1)

//|||||||_____ 数据读写操作后,AC自动增1

//||||||______ 固定为000001

// 光标或画面移位设置

LCD_Command(0b00010100);

//||||||||____ 可设任意值(0/1)

//||||||______ 光标右移一个字符位,AC自动加1

//||||________ 固定为0001

// 显示开关控制

LCD_Command(0b00001100);

//||||||||____ B = 0,不闪烁

//|||||||_____ C = 0,关光标显示

//||||||______ D = 1,开显示

//|||||_______ 固定为00001

}

void Delay1(uint16 k)

{

uint16 i,j;

for (i=0; i

for (j=0; j<=500; j++);

}

//LCDShow:在HD44780显示屏上显示数据

void LCDShow(uint8 str[])

{

uint8 i;

// LCD初始化

LCDInit();

// 显示第1行16个字符

//设置显示首地址

GPIO_Set(LCDRS_P,PRT,LCDRS_B,0); //RS,R/W = 00(写的是指令) GPIO_Set(LCDRW_P,PRT,LCDRW_B,0);

LCD_Command(0x80); //后7位为DD RAM地址(0x00)

//2.2写16个数据到DD RAM

GPIO_Set(LCDRS_P,PRT,LCDRS_B,1); //RS,R/W = 10(写的是数据)

GPIO_Set(LCDRW_P,PRT,LCDRW_B,0);

// 将要显示在第1行上的16个数据逐个写入DD RAM中

for (i = 0;i < 16;i++)

{

LCD_Command(str[i]);

}

// 显示第2行16个字符

//设置显示首地址

GPIO_Set(LCDRS_P,PRT,LCDRS_B,0); //RS,R/W = 00(写的是指令) GPIO_Set(LCDRW_P,PRT,LCDRW_B,0);

LCD_Command(0xC0); //后7位为DD RAM地址(0x40)

// 再写16个数据到DD RAM

GPIO_Set(LCDRS_P,PRT,LCDRS_B,1); //RS,R/W = 10(写的是数据) GPIO_Set(LCDRW_P,PRT,LCDRW_B,0);

// 将要显示在第2行上的16个数据逐个写入DD RAM中

for (i = 16;i < 32;i++)

{

LCD_Command(str[i]);

}

}

//LCD_Command:执行给定的cmd命令

void LCD_Command(uint8 cmd)

{

uint8 i;

// 等待 > 40us

Delay1(5);

// 数据送到LCD的数据线上

GPIO_Set(LCD_P0,PRT,LCD_B0,((cmd >> 0) & 0x01));

GPIO_Set(LCD_P1,PRT,LCD_B1,((cmd >> 1) & 0x01));

GPIO_Set(LCD_P2,PRT,LCD_B2,((cmd >> 2) & 0x01));

GPIO_Set(LCD_P3,PRT,LCD_B3,((cmd >> 3) & 0x01));

GPIO_Set(LCD_P4,PRT,LCD_B4,((cmd >> 4) & 0x01));

GPIO_Set(LCD_P5,PRT,LCD_B5,((cmd >> 5) & 0x01));

GPIO_Set(LCD_P6,PRT,LCD_B6,((cmd >> 6) & 0x01));

GPIO_Set(LCD_P7,PRT,LCD_B7,((cmd >> 7) & 0x01));

// 给出E信号的下降沿,使数据写入LCD

GPIO_Set(LCDE_P,PRT,LCDE_B,1);

for(i=0;i<10;i++) //延时

asm("NOP");

// Lcd结束接收数据

GPIO_Set(LCDE_P,PRT,LCDE_B,0);

// 等待 > 40us

Delay1(5);

}

[KBI_I.c]

//头文件包含,及宏定义区

//头文件包含

#include "KBI_I.h" //键盘构件头文件

//构件函数实现

void KBInit(void)

{

GPPort_Set(KB_P,PTI,1,0x0F); //复位相应寄存器

GPPort_Set(KB_P,DDR,0,0xF0); //定义列线(PTP0~3)为输入

GPPort_Set(KB_A,PRT,0,0xF0); //复位相应寄存器

GPPort_Set(KB_A,DDR,1,0x0F); //行线(PTA0~3)为输出

GPPort_Set(KB_P,PER,1,0x0F); //输入引脚(列线)有内部上拉电阻 GPPort_Set(KB_P,PPS,0,0xF0); //下降沿产生中断

DisableKBint(); //禁止键盘中断

GPPort_Set(KB_P,PIF,1,0x0F); //清除键盘中断请求

}

uint8 KBScan1(void)

{

uint8 i,tmp;

for (i = 0; i <= 3; i++) //最多将扫描4根行线

{

GPPort_Set(KB_A,PRT,1,0x0F); //当前扫描的一行,输出低电平 GPPort_Set(KB_A,PRT,0,~(1<

asm("NOP");

asm("NOP");

//读取键盘口数据寄存器

tmp=GPPort_Get(KB_P,PTI)&0x0F;

//通过观察4根列线中是否出现低电平来判断当前行有无按键

if (tmp != 0x0F) //当前行有键按下

{

tmp= (tmp<<4)|(GPPort_Get(KB_A,PRT)&0x0F);

break; //退出循环不再扫描

}

}

if (i == 4) //无按键,以后将返回0xff

tmp = 0xFF;

return (tmp);

}

//键盘定义表

const uint8 KBTable[] =

{

0xEE,'7',0xDE,'8',0xBE,'9',0x7E,'C',

0xED,'4',0xDD,'5',0xBD,'6',0x7D,'D',

0xEB,'1',0xDB,'2',0xBB,'3',0x7B,'E',

0xE7,'0',0xD7,'A',0xB7,'B',0x77,'F',

0x00

};

uint8 KBDef(uint8 valve)

{

uint8 KeyPress; //键定义值

uint8 i;

i = 0;

KeyPress = 0xff;

while (KBTable[i] != 0x00) //在键盘定义表中搜索欲转换的键值,直至表尾 {

if(KBTable[i] == valve) //在表中找到相应的键值

{

KeyPress = KBTable[i+1]; //取出对应的键定义值

break;

}

i += 2; //指向下一个键值,继续判断

}

return KeyPress;

}

uint8 KBScanN(uint8 KB_count)

{

uint8 i,KB_value_last,KB_value_now;

//先扫描一次得到的键值,便于下面比较

if (0 == KB_count || 1 == KB_count)

return KBScan1();

KB_value_now = KB_value_last = KBScan1();

//以下多次扫描消除误差

for (i=0; i

{

KB_value_now = KBScan1();

if (KB_value_now == KB_value_last)

return KB_value_now; //返回扫描的键值

else

KB_value_last = KB_value_now;

}

//返回出错标志

return 0xFF;

}

七、设计心得

在本次的实验中,要求我们将平时所学的各个模块添加在一起,从而实现洗衣机控制器的各个功能。

本设计着重在于算法的功能实现,硬件连接较之简单。由于程序是在做过的实验中改动的,在一开始程序的修改、编写上遇到了不少的问题,有的算法需要自己计算写入,有的值需要设定,在输入代码的过程中,出现了许多的错误,比如说少写分号,漏写大括号,不需要用到的函数的调用没有注释掉等,这些错误使程序调试的时候有不少错误,其间也询问过老师很多次,老师都一一给我解决了。在后来连接到实验箱下载设定参数看现象的时候也出现了许多的问题,比如键盘控制不了输入,通过老师以及同学的帮助,对应着程序作了修改最终让键盘输入功能得以实现。通过了本次实验使我对程序设计有了新的认识与体会,做实验不单单是在软件上运行出结果就表明对了,当其与硬件连接后能否对应现象也是非常重要的,我们不仅要学好软件,也要将硬件部分做好,多学习,多思考,在今后的运用中也将会更加的得心应手。

豆浆机单片机课程设计

《单片机原理及接口技术》 课 程 设 计 报 告 题目:智能小家电(全自动豆浆机)控制系统的设计专业:电气工程及其自动化 班级: 32040901 学号:3204090124 姓名:何玉毛 授课教师:段晨东 时间: 2011.12

设计要求 题目4 智能小家电控制系统的设计(1) (一)功能介绍 全自动家用豆类和谷物处理机(即全自动豆浆机)具有按预设模式自动粉碎谷物、加热功能、防止溢出、处理完毕报警等基本功能。一般可以处理如豆类、玉米、其他五谷杂粮、蔬菜等多种食品。全自动家用豆类和谷物处理机的处理食品的过程通常为:加热——粉碎1——加热——粉碎2——加热——完成报警,整个加工过程的进行按时间控制。由于食品原料的物理特性不同,在加工处理时采用不同的加工(过程)模式,其主要区别在于加热和粉碎时间的长短不同。在工作过程中,被加工的食品液体被限定在某一个给定的液位范围内,当液体加热时泡沫达到溢出液位时,停止加热,待脱离溢出液位区时继续加热。 (二)设计参数 (1)电机 5W,24VDC (2)加热器 500W,220V AC (3)加热容器 1.25升 (4)电力供应:220V AC (三)设计要求 (1)实现多模式选择。被选中的模式用LED显示器表明 (2)实现不同模式下的加工过程:加热——粉碎1——加热——粉碎2——加热——完成报警,整个加工过程的进行按时间控制,时

间自定 (3)液位检测和控制:使被加工的食品液体限定在某一个给定的液位范围内,当液体溢出容器或无液体时,报警并断电。 (4)显示工作模式、加工状态和时间。 (5)每个动作完成时,通过声光报警提示。 (6)测量并显示液体温度。 (四)扩充功能 (1)在加热阶段进行恒温控制 (2)PWM调节电机转速

单片机课程设计 秒表计时器(DOC)

课程设计名称:单片机原理及接口技术 题目:基于单片机的秒表计时器设计 学期:2014-2015学年第一学期 专业:电气技术 班级: 姓名: 学号: 指导教师:

辽宁工程技术大学 课程设计成绩评定表

课程设计任务书 一、设计题目 秒表计时器 二、设计任务 本课题以单片机为核心,设计和制作一个秒表计时器。 三、设计计划 课程设计一周 第1天:查找资料,方案论证。 第2天:各部分方案设计。 第3天:各部分方案设计。 第4天:撰写设计说明书。 第5天:校订修改,上交说明书。 四、设计要求 1、绘制软件流程图并利用汇编语言编写软件程序; 2、绘制系统硬件原理图; 3、形成设计报告。 指导教师: 教研室主任: 2014年5月26 日

本设计利用89C51单片机设计秒表计时器,通过LED显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒到来时,就让秒计数单元加一,通过控制使单片机秒表计时,暂停,归零。设计任务包括控制系统硬件设计和应用程序设计。 关键词:51单片机;74HC573;LED数码管

综述 (1) 1 程序方案 (2) 1.1方案论证 (2) 1.2总体方案 (2) 2部分设计 (3) 2.1 89C51单片机 (3) 2.2晶体振荡电路 (4) 2.3硬件复位电路 (5) 2.4显示电路 (6) 2.5整体电路图 (7) 3程序设计 (8) 3.1程序流程框图 (8) 3.2显示程序流程图 (9) 3.3汇编源程序 (10) 4调试说明 (13) 4.1概述 (13) 4.2电路原理图 (13) 心得体会 (15) 参考文献 (16)

单片机课程设计报告_基于89C51的全自动洗衣机控制器设计

单片机系统 课程设计 成绩评定表 设计课题基于89C51的全自动洗衣机控制器设计学院名称:电气工程学院 专业班级: 学生: 学号: 指导教师: 设计地点: 设计时间: 指导教师意见: 成绩: 签名:年月日

单片机系统 课程设计 课程设计名称:基于89C51的全自动洗衣机控制器设计专业班级: 学生姓名: 学号: 指导教师: 课程设计地点: 课程设计时间:

单片机系统课程设计任务书学生专业班级学号 题目 课题性质工程设计课题来源自拟指导教师 主要容(参数)利用89C51设计全自动洗衣机,实现以下功能: 1.可以实现自动洗涤功能 2.衣物脱水功能 3.洗衣机完成一次洗涤之后会发出警报,提示已经洗完 任务要求(进度) 第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。 第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。 第5-6天:软件设计,编写程序。 第7-8天:实验室调试。 第9-10天:撰写课程设计报告。要求容完整、图表清晰、文理流畅、格式规、方案合理、设计正确,篇幅不少于6000字。 主要参考资料[1] 迎新.单片微型计算机原理、应用及接口技术(第2版)[M].:国防工 业,2004 [2] 熊志奇.微机自动配料控制系统[J].电子技术应用,1997,(10):30-32 [3] 周建洪.自动配料控制系统的研制[J].工矿自动化,2003,(06):27-29 [4] 庆彬,毕丽红,王铸.工业自动配料系统的精度分析[J].自动化技术与 应用,2005,(05):79-81 [5] 中国电子网.21IC. 审查意见 系(教研室)主任签字:年月日

基于51单片机课程设计

基于51单片机课程设计报告 院系:电子通信工程 团组:电子设计大赛1组 姓名: 指导老师:

目录 一、摘要 (3) 二、系统方案的设计 (3) 三、硬件资源 (5) 四、硬件总体电路搭建 (13) 五、程序流程图 (14) 六、设计感想 (14) 七、参考文献 (16) 附录 (17) 附录 1 程序代码 (17)

一、摘要 本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序、超温报警程序。 关键词:STC89C51单片机 DS18B20温度芯片温度控制 ,LED报警提示. 二、系统方案的设计 1、设计要求 基本功能: 不加热时实时显示时间,并可手动设置时间; 设定加热水温功能。人工设定热水器烧水的温度,范围在20~70度之间,打开开关后,根据设定温度与水温确定是否加热,及何时停止加热,可实时显示温度; 设定加热时间功能。限定烧水时间,加热时间内超过温度上限或低于温度下限报警,并可实时显示温度。 2、系统设计的框架

本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度测量及调理电路、键盘、数码管显示、指示灯、报警、继电器及单片机最小系统。 图1 系统设计框架 3 工作原理 温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机STC8951获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,这里采用通过LED1和LED2取代!!! 当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声,这里采用HLLED提示。

(完整版)单片机技术毕业课程设计说明书范文

郑州工业应用技术学院课程设计说明书 题目: 姓名: 院(系): 专业班级: 学号: 指导教师: 成绩:

时间:年月日至年月日

郑州工业应用技术学院 课程设计任务书 题目: 电子秒表设计 专业、班级学号姓名 主要内容、基本要求、主要参考资料等: 主要内容: 利用单片机设计一个电子秒表,完成四位显示××.××秒,并具备开始计时、暂停、清零等功能。 基本要求: 1.利用单片机设计一个电子秒表,完成四位显示××.××秒,并设定按钮完成开始计时、暂停、清零等功能。 2.利用proteus软件完成设计电路和仿真; 3.掌握定时器的使用和数码管显示的方法; 4.通过此次设计将单片机软硬件结合起来对程序进行编辑、校验,锻炼实践能力和理论联系实际的能力。 主要参考资料: [1]李全利,单片机原理及接口技术[M],高等教育出版社 [2]王文杰,单片机应用技术[M],冶金工业出版社

[3]朱清慧,PROTEUS教程——电子线路设计、制版与仿真[M],清华大学出版社 [4]单片机实验指导书,天煌教仪 [5]彭伟,单片机C语言程序设计实训100例[M],电子工业出版社 完成期限: 指导教师签名: 课程负责人签名: 年月日 目录 1.引言 (1) 2.方案设计与论证 (3) 2.1 直流调速系统 (3) 2.1 检测系统 (4) 2.3显示电路 (9) 2.4系统原理图 (9) 3.硬件设计 (10) 3.1 80C51单片机硬件结构 (10) 3.2 最小应用系统设计 (11)

3.3前向通道设计 (12) 3.4后向通道设计 (15) 3.5显示电路设计 (17) 4.软件设计 (20) 4.1主程序设计 (20) 4.2显示子程序设计 (24) 4.3避障子程序设计 (25) 4.4软件抗干扰技术 (26) 4.5“看门狗”技术 (28) 4.6可编程逻辑器件 (29) 5.测试数据、测试结果分析 (30) 6.结论 (31) 致谢 (31) 参考文献 (32) 附录A 程序清单 (33) 附录B 硬件原理图 (41)

豆浆机课程设计设计

目录 一、设计目的 (1) 二、设计要求 (1) 三、总体设计 (1) 3.1总体框图 (1) 3.2工作原理 (2) 3.3主程序框图 (3) 四、各部分电路设计 (3) 五、整体电路图 (6) 六、仿真及测试 (6) 七、设计总结 (8) 八、参考文献 (9) 九、附录 (9)

一、设计目的 豆浆机是一种新型的家用饮用机,以黄豆为原料,直接加工成熟以饮用。若在黄豆中配以芝麻、花生、杏仁等佐料,或者通过改变打浆、加热的时间,可以做出不同种类的豆浆饮料。 豆浆机由粉碎黄豆的电机、豆浆机加热器和控制电路三大部分组成。用单片机设计的全自动豆浆机的控制系统,当放入适量泡好的黄豆,加入适量的冷水,把豆浆机的电源插头插入220V交流电源,豆浆机指示灯亮起,按下按钮,先对豆浆机进行水位检测,符合要求后电加热管开始对水进行加热,当水温达到80℃左右,豆浆机启动电机开始打浆,打浆过程中电机按间歇方式打浆。打浆过后,开始对豆浆加热,豆浆温度达到一定值时豆浆上溢,当豆浆沫接触到防溢电极时,停止加热。然后间歇加热,最后进行豆浆的防溢延煮后发出声音报警信号。若缺水,则关闭加热器和电机,并发出报警声,直到关闭电源,加水后才能继续使用。 整个过程操作起来比较简单,但由于缺少相应的加热设备,设计方案只进行80℃以后,剩余操作部分的模拟仿真。 二、设计要求 1、利用单片机设计一个自动控制电路出来控制豆浆机的工作,让它控制豆浆机把容器中浸泡好的黄豆加工成煮好的豆浆。 2、当放入适量浸泡好的黄豆、加入适量的冷水,将豆浆机电源插头插入220V交流电源,豆浆机指示灯亮起、发热管开始对水进行加热,当水加热到80度左右,豆浆机停止加热,然后开始每粉碎15秒停5秒的粉碎过程。在经过2分钟左右的烧煮,最后豆浆机发出提示音,即告豆浆加工结束; 3、注意:在粉碎和烧煮的过程中,会产生较多的泡沫。所以,这两个阶段存在加热与一出之间的一对矛盾,应有适当的解决方案。 三、总体设计 3.1总体框图 方案1:此方案由单片机、传感器、加热电路、磨浆电路、报警电路组成。如表1所示,其工作原理是先加热,加热到一定温度后,开始磨浆,磨浆完后,磨浆停止,又开始加热即煮沸后,立即停机,报警提示。 打浆电路 温度传感器 加热电路 报警电路 表1 方案一设计框图

推荐-单片机课程设计多功能定时器 精品 精品

单片机课程设计 多功能定时器 一、设计目的: 1、在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具 有综合功能的小系统目标板的设计与编程应用; 2、能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识, 在软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高; 3、使学生增进对单片机的感性认识,加深对单片机理论方面的理解。使学生掌 握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通信等; 4、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后 设计和实现单片机应用系统打下良好基础。 二、设计功能说明 数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,本设计可实现如下功能: 1、使用实时时钟芯片写入及读取时间 2、用LCD显示,可显示年、月、日、时、分、秒、星期、农历日期、节日 3、选择蜂鸣器电路,实现两个闹钟设置和事件提示功能 4、实现时钟校正功能,12小时/24小时切换功能 5、显示当前时间为上午时间或下午时间 6、整点报时功能 按键功能如下: 1、对显示时间的设置 按键0:进入设置模式,实现秒(S)、分(M)、时(H)、年(Y)、月(m)、日(D)、星期(W)设置的切换,并在LCD右下角显示所设置的项目,当各项目设置完毕后,再按下按键0则返回主界面正常显示时间; 按键1:每按一次按键1,对所设置的时间加1,当设置的时间超过它的最大值时,该项自动为0,例如:当设置秒为59时,秒自动清零; 按键2:每按一次按键:2,对所设置的时间减1,当设置的时间小于0时,该项自动为它的最大值; 按键3:设置完成后的确认键并可按此键中途退出设置,时间按用户设置值正常计时;

全自动洗衣机单片机课程设计

全自动洗衣机单片机课 程设计 Document number【980KGB-6898YT-769T8CB-246UT-18GG08】

一、设计目标 1、全自动洗衣机 用51系列单片机89C51控制全自动洗衣机的运行,使其能自动地完成进水、洗涤、漂洗、脱水等功能。不同的衣物,洗涤、漂洗、脱水和洗衣电机正反转所用的时间不同,要求设计能够实现过程选择,并在LED显示屏上显示过程代码。在运行的时候能显示完成整个过程的剩余时间。 2、洗衣机主要功能:进水、洗涤、脱水、排水 具体功能有浸泡、强力洗、轻柔洗、标准洗、快速洗、单独洗、单独脱水、漂洗脱水 二、设计过程 洗衣机要实现衣服的洗涤、漂洗和脱水,离不开进水、电机正转、电机反转和排水这四个动作。上述四个动作,是通过单片机的P0端口,做输出端口,去控制双向可控硅通断来实现的,如下图所示。同时加上输入开关的按钮、数码管显示器、蜂鸣按警器和欠压检测保护电路等,就可以形成完整的单片机控制系统。通过软件编程达到对整个洗衣过程进行控制、检测以及与用户交互。 三、设计结果 (1)硬件部分 1、电路图

2、PCB版图

(2)、汇编语言 洗衣机的一次洗衣过程控制过程主要为顺序控制,如先进水、洗涤(电机正转反转)、再排水脱水。将把脱水、洗涤、进水单独编为一个子程序,由主程序根据过程选择,不断调用,可以减少源程序的长度,不同的洗衣过程,三大动作的时间不同,这可以通过建立数据表格,通过查表的方式获得每个洗衣过程所需时间。此外,还需编出显示子程序,延时子程序供主程序不断调用。 1、流程图 (1)、洗衣机控制系统主程序流程图

基于51单片机简易电子琴的课程设计

基于51单片机简易电子琴 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块

单片机课程设计计算器

课程设计说明书 课程设计名称:单片机课程设计 课程设计题目:四位数加法计算器的设计学院名称:电气信息学院 专业班级: 学生学号:

学生姓名: 学生成绩: 指导教师: 课程设计时间:至

格式说明(打印版格式,手写版不做要求) (1)任务书三项的内容用小四号宋体,倍行距。 (2)目录(黑体,四号,居中,中间空四格),内容自动生成,宋体小四号。 (3)章的标题用四号黑体加粗(居中排)。 (4)章以下的标题用小四号宋体加粗(顶格排)。 (5)正文用小四号宋体,倍行距;段落两端对齐,每个段落首行缩进两个字。 (6)图和表中文字用五号宋体,图名和表名分别置于图的下方和表的上方,用五号宋体(居中排)。(7)页眉中的文字采用五号宋体,居中排。页眉统一为:武汉工程大学本科课程设计。 (8)页码:封面、扉页不占页码;目录采用希腊字母Ⅰ、Ⅱ、Ⅲ…排列,正文采用阿拉伯数字1、2、3…排列;页码位于页脚,居中位置。 (9)标题编号应统一,如:第一章,1,,……;论文中的表、图和公式按章编号,如:表、表……;图、图……;公式()、公式()。

课程设计任务书 一、课程设计的任务和基本要求 (一)设计任务(从“单片机课程设计题目”汇总文档中任选1题,根 据所选课题的具体设计要求来填写此栏) 1. 系统通过4x4的矩阵键盘输入数字及运算符。 2. 可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E。 3. 可以进行加法以外的计算(乘、除、减)。 4. 创新部分:使用LCD1602液晶显示屏进行显示,有开机欢迎界面,计算数据与结果分两行显示,支持小数运算。 (二)基本要求 1.有硬件结构图、电路图及文字说明; 2.有程序设计的分析、思路说明; 3.有程序流程框图、程序代码及注释说明; 4.完成系统调试(硬件系统可以借助实验装置实现,也可在Proteus 软件中仿真模拟); 5.有程序运行结果的截屏图片。

豆浆机设计方案

主要内容、基本要求、主要参考资料: 1. 主要内容:设计一个豆浆机控制系统 2.基本要求: 1.利用51单片机来控制豆浆机的加热、碎豆、煮浆过程; 2.利用单片机的并行口引脚实现加热电机、粉碎电机的控制; 3.当加热完成后报警提示; 4.豆浆机具备防溢出功能。 3.参考资料 [1]李广弟等单片机基础北京航空航天出版社 [2]楼然苗等 51系列单片机设计实例北京航空航天出版社 [3]唐俊翟等单片机原理与应用冶金工业出版社 [4]刘瑞新等单片机原理及应用教程机械工业出版社 [5]吴国经等单片机应用技术中国电力出版社

[6]李全利,迟荣强编著单片机原理及接口技术高等教育出版社, [7]张毅刚等 MCS-51单片机应用设计哈工大出版社, [8]霍孟友等单片机原理与应用机械工业出版社 [9]许泳龙等单片机原理及应用机械工业出版社 [10]段晨东《单片机原理及接口技术》清华大学出版社 完成期限: 指导教师签名: 课程负责人签名: 年月日

郑州华信学院 课程设计说明书题目:豆浆机控制系统 姓名:陈江涛 院(系):机电工程学院 专业班级:电气工程及其自动化 学号: 0902120146 指导教师:宋东亚许洋洋 成绩:

时间:年月日至年月日 目录 1.摘要 (5) 1.1单片机在智能仪器中的应用 (5) 1.2单片机在过程控制中的应用 (5) 1.3.单片机与e-Home (6) 1.4.单片机与Internet (6) 2.引言 (6) 3.设计要求 (7) 3.1.设计任务 (7) 3.2.要求: (7) 4.设计分析 (8) 4.1.设计目的、意义: (8) 4.2.硬件电路设计及描述 (9) 5.软件设计流程及电路图 (19) 5.1设计流程: (19) 5.2设计电路图 (20) 6.软硬件调试 (21) 6.1软件调试 (21) 6.2硬件调试 (21)

单片机课程设计定时器控制4只LED滚动闪烁系统解析

目录

1设计目的 1.1设计目的 1、通过单片机课程设计,熟练掌握单片机C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。 2、通过定时器控制两个LED显示器显示10秒秒表系统的设计,掌握定时/计数器和LED显示器的使用方法,同时掌握简单程序的编写,最终提高我们的逻辑抽象能力。 1.2设计内容和要求 内容:设计一个能够控制两个LED显示器显示10秒秒表的模拟系统。 要求:利用单片机的定时器定时,控制LED显示器显示。 1.3 设计思路 1.先熟悉实验原理,了解4只LED滚动闪烁系统灯的工作过程,组成滚动闪烁系统需要的组件。 2.了解各个硬件的工作原理, 3.绘制电路原理图,编写程序,并进行仿真,基本实现LED滚动闪烁系统灯的功能。

2设计原理分析 2.1十秒秒表的系统设计 通过编写程序,实现对发光二极管的控制,来4只LED 滚动闪烁灯的管理。每延时一段时间,灯的显示情况都会按LED 灯的显示规律进行状态转换。采用单片机内部的I/O 口上的P0口中的4个引脚即可来控制4个LED 灯。 2.2十秒秒表的功能要求 本设计能模拟基本的LED 滚动闪烁系统,是用中断的方式定时控制LED 定的闪烁及滚动。 2.2.1计时显示 定时/计数器工作方式寄存器,定时器采用T0定时器0工作于模式2 位数:8位计数范围:0-255 具有自动加载功能 2.2.2中断设置 每累计若干次定时器中断才执行一次闪烁。 2.3定时器控制4只LED 滚动闪烁制系统的基本构成及原理 单片机设LED 灯闪烁系统,可用单片机直接控制信号灯的状态变化可以广泛的应用到商业和工业的流程控制测电路当中。 图2.1 系统的总体框图 据此,本设计系统以单片机为控制核心,连接成最小系统。系统的总体框图如上所示。因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。当定时器1被用作波特率发生器时,波特率工作于方式1和方式3是由定时器1 的溢出率和SMOD 的值(PCON.7------双倍速波特率)决定:

基于单片机 洗衣机的设计

基于单片机的洗衣机设计 摘要 洗衣机是人们日常生活中常见的一种家电,已经成为人们生活中不可缺少的家用电器。在工业生产中应用也十分广泛。但是传统的基于继电器的控制,已经不能满足人们对洗衣机的自动化程度的要求了。随着单片机技术的发展,用单片机来作为控制器,能更好的控制洗衣机,并且控制方式灵活多样,控制模式可以根据不同场合的应用而有所不同。单片机以微小的体积和编程的灵活性而产生多种控制功能,完全可以满足设计的需求。本系统采用AT89C51单片机作为控制系统,设计目的主要是为了熟悉单片机系统设计的基本方法并实现基本的洗衣机功能。系统的控制面板主要由按键开关组成,按键选择洗衣机工作模式,并且可以根据需要调整洗涤时间长短。LED液晶显示器则显示洗衣机的工作模式和洗涤时间。洗衣机的整体电路模块包括按键矩阵、液晶显示、电机及驱动电路。控制程序设计包括定时中断服务程序、时间设定程序、外中断服务程序及主程序。整体来说系统设计基本达到设计目标。 关键词:单片机控制洗衣机液晶屏电机

Abstract Washing machine is the People's Daily life common kind of home appliance, life has become a indispensable household electrical appliances. In the industrial production is also widely used. But the traditional relay-based control, cannot have satisfied people to the requirements of the automation degree of the washing machine. Along with the development of the single chip microcomputer by using single chip processor to as a controller, and can better control washing machines, and to control the way agile diversity, control mode according to different situation the application can be different. With a small volume and microcontroller programming flexibility and produce DuoZhong control function, and can meet the design requirements. The system USES AT89C51 single chip microcomputer as control system, the design purpose mainly to familiar with single-chip microcomputer system the basic method to design and realize the basic function of the washing machine. The system control panel composed mainly by button switches, key choice washing machine work mode, and may, according to needs to adjust the washing time length. LED LCD display of the washing machine is working mode and washing time. The washing machine of the whole circuit module includes key matrix, liquid crystal display, motor and power circuit. Control program design including timing interrupt service procedure, time setting process, and outside the interrupt service

基于51单片机的电子琴设计课程设计

目录 前言 (2) 第1章基于51单片机的电子琴设计 (3) 1.1 电子琴的设计要求 (3) 1.2 电子琴设计所用设备及软件 (3) 1.3 总体设计方案 (3) 第2章系统硬件设计 (5) 2.1 琴键控制电路 (5) 2.2 音频功放电路 (6) 2.3 时钟-复位电路 (6) 2.4 LED显示电路 (6) 2.5 整体电路 (6) 第3章电子琴系统软件设计 (7) 3.1 系统硬件接口定义 (7) 3.2 主函数 (8) 3.2.1 主函数程序 (8) 3.3 按键扫描及LED显示函数 (9) 3.3.1 键盘去抖及LED显示子程序 (10) 3.4 中断函数 (11) 3.4.1 中断程序 (12) 第4章电子琴和调试 (12) 4.1 调试工具 (12) 4.2 调试结果 (13) 4.3 电子琴设计中的问题及解决方法 (14) 第5章电子琴设计总结 (15) 参考文献 (16) 附录 (17)

前言 音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质和能力。目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。这就为电子琴的普及提供了方便。 二、电子琴设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

智能电动百叶窗单片机课程设计说明书

智能电动百叶窗单片机课程设计说明书

单片机课程设计 ——智能电动百叶窗 姓名: 班级:机101-3班 专业:机械设计制造及其自动化 学号: 2010*****1310 指导教师: ****** 完成时间: 2013年6月5日

目录 一、课程设计任务书--------------------------------- - 4 - (一)课程设计题目:智能电动百叶窗................................. - 4 - (二)任务详情: .................................................. - 4 -二、设计项目简介 ---------------------------------- - 4 - (一)基本要求: .................................................. - 4 - (二)基本工作原理: .............................................. - 5 - (三)各元器件资料: .............................................. - 5 - 1.AT89C51单片机------------------------------------------ - 5 - 2.ADC0808------------------------------------------------ - 8 - 3.光敏传感器--------------------------------------------- - 9 - 4.74SEG-MPX4-CA数码管----------------------------------- - 10 - 5.74LS245 驱动------------------------------------------ - 11 - 三、电路原理图 ----------------------------------- - 12 - (一)复位电路 ................................................... - 12 - (二)时钟电路 ................................................... - 12 - (三)数码管显示电路 ............................................. - 12 - (四)电机控制电路 ............................................... - 13 - (五)A/D转换电路................................................ - 15 - (六)总体电路图 ................................................. - 15 - 四、程序框图 ------------------------------------- - 16 - 五、程序清单 ------------------------------------- - 17 - 六、总结 ----------------------------------------- - 19 - 七、参考资料 ------------------------------------- - 20 -

基于单片机的豆浆机控制系统设计

摘要:豆浆机基本工作过程是将事先泡好的大豆放入豆浆机内并加入适量冷水后将电热管通电加热至80°C,粉碎电机通电工作进行磨豆浆其间断续工作三次,每次2min,每两次间隔5s,然后进入煮豆浆程序,煮开后在延迟5min,并声音提示工作过程结束。熟悉单片机SH66P20A的基本结构,工作原理。根据单片机的工作原理,将其运用于都将集中,以实现上述豆浆机的工作流程的自动化,并运用汇编语言进行相关的编程。 关键词:SH66P20A 加热延迟 引言:豆浆是一种老幼皆宜、价廉质优的液态营养品,它所含的铁元素是牛奶的6倍,所含的蛋白质虽不如牛奶高,但在人体内的吸收率可达到85%,因此有人称豆浆为“植物牛奶”。豆浆被誉为女人最完美的食物,是因为豆浆中含有丰富的营养成分,其中异黄酮可以调节女性内分泌系统的平衡,保持女性肌肤美白,异黄酮还可发挥与雌激素相同的保健作用,如缓解更年期综合症、提高骨密度、预防骨质疏松等,而且它还能避免雌激素带来的副作用,如乳腺癌、子宫癌等。豆浆中富含人体所需优质植物蛋白,八种必需的氨基酸,多种维生素及钙、铁、磷、锌、硒等微量元素,不含胆固醇,并且含有大豆皂甙等至少五六种可有效降低人体胆固醇的物质,鲜豆浆的大豆营养易于消化吸收,经常饮用,对高血压、冠心病,动脉粥样硬化及糖尿病、骨质疏松等大有益处,还具有平补肝肾、防老抗癌、降脂降糖、增强免疫的功效。但随着人们健康认识的增强,为了卫生,防止上了“黑心作坊”的当,喝的放心,纷纷选择家庭自制豆浆,从而拉动家用微电脑全自动豆浆机市场活跃。 1.豆浆机的基本结构 1.1豆浆机结构图

图1.1 豆浆机基本结构图 1.2 豆浆机结构 豆浆机,采用微电脑控制,实现预热、打浆、煮浆和延时熬煮过程全自动化,特别是由于增设了“文火熬煮”处理程序,使豆浆营养更加丰富,口感更加香泽。 (1)杯体:杯体像一个硕大的茶杯,有把手和流口,主要用于盛水或豆浆。杯体有的用塑料制作,有的用不锈钢制作,但都是符合食品卫生标准的不锈钢或聚碳酸脂材质。购机时以选择不锈钢杯体为宜,主要是便于清洁。在杯体上标有“上水位”线和“下水位”线,以此规范对杯体的加水量。杯体的上口沿恰好套住机头下盖,对机头起固定和支撑作用。 (2)机头:机头是豆浆机的总成,除杯体外,其余各部件都固定在机头上。机头外壳分上盖和下盖。上盖有提手、工作指示灯和电源插座。下盖用于安装各主要部件,在下盖上部(也即机头内部)安装有电脑板、变压器和打浆电机。伸出下盖的下部有电热器、刀片、网罩、防溢电极、温度传感器以及防干烧电极。需要说明,下盖的材质同样需要符合食品卫生标准。 (3)电热器:加热功率800 W,不锈钢材质,用于加热豆浆。加热管下半部应设计为小半圆形,易于洗刷和装卸网罩。

单片机的课程设计_30秒定时器

目录 一、篮球计时器作用 (1) 二、设计的具体实现 (1) 1.系统概述 (1) 1.1总体设计思路及方案 (1) 1.2流程图 (3) 1.3计数原理 (3) 1.4定时器工作方式 (4) 2.单元电路设计 (6) 2.1 8051单片机 (6) 2.2两个基本电路 (8) 2.3八段数码管的驱动方式.......................错误!未定义书签。 3.软件程序设计 (9)

单片机的定时器设计 一、篮球计时器的作用 在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就视为犯规。本课程设计的“篮球竞赛24秒定时器”,可用于篮球比赛中对球员持球时间作24秒时间限制。一旦球员的持球时间超过了24秒,它自动报警,从而判定此球员犯规。 二、设计的具体实现 1.系统概述 1.1总体设计思路及方案 图1.1.1 总设计图

流程图:

最小系统,就是最简单的输出/输入构成,并且能实现最基本的运行条件,如应有供电、时钟附属电路等。单片机的最小系统包括晶振电路复位电路和电源,这时最小系统基本组成当然还可以添加矩阵键盘数码管等。 此实验的原理是,利用单片机的最小系统,通过锁存器74HC573控制数码管,来实现30秒定时器的功能。 图1.1.2最小系统 1.2计数原理 80C51单片机部设有两个16位的可编程定时器/计数器。在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。 1.2.1定时器/计数器的结构 16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过部总线和控制逻辑电路

基于单片机的全自动洗衣机课程设计报告书

目录 摘要.............................................................. 错误!未定义书签。Abstract .............................................................. 错误!未定义书签。1机械结构.. (1) 1.1.1外箱体 (1) 1.1.2弹性支承结构 (2) 1.1.3面框 (3) 1.2洗涤脱水系统 (3) 1.2.1盛水桶 (3) 1.2.2洗涤脱水桶 (4) 1.2.3波轮 (5) 1.3.传动系统 (5) 1.3.1电动机 (5) 1.3.2离合器 (6) 1.3.3电容器 (7) 1.3.4电动排水牵引器 (8) 1.4进水、排水系统 (9) 1.4.1进水电磁阀 (9) 1.4.2水位开关 (10) 1.4.3排水电磁阀 (11) 二、系统原理图: (13) 2.1 单片机的复位电路 (13) 2.1 单片机的复位电路 (14) 2.2 单片机的时钟电路 (15) 2.3 蜂鸣器报警电路 (15) 2.4 电动机的控制电路 (16) 2.4.1继电器的作用 (16) 2.4.2电动机控制电路的工作过程 (16) 2.5 进水/排水电路 (17) 2.5.1电动式排水牵引器 (17) 2.5.2排水电路工作原理 (17) 2.5.3进水电磁阀 (17) 2.5.4进水水电路工作原理 (18) 2.6开关复位电路 (19) 2.7 设置/开始、暂停电路 (21) 2.8 状态显示电路 (21) 2.9 甩干时开盖暂停电路 (22) 2.10 PCB板 (23) 三、洗衣机程序 (25) 3.1主要容 (25) 3.2主要功能 (25) 3.3程序介绍 (26) 四.调试过程 (38) 4.1硬件设置 (38) 4.2程序调试 (40)

单片机课程设计——基于51单片机的温度监控系统设计

单片机课程设计报告 题目:温度监控系统设计 学院:能源与动力工程学院 专业:测控技术与仪器专业 班级: 2班 成员:魏振杰 二〇一五年十二月

一、引言 温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。 随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。 作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。本设计具有操作方便,控制灵活等优点。 本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控,完成了课题所有要求。 二、实验目的和要求 2.1学习DS18B20温度传感芯片的结构和工作原理。 2.2掌握LED数码管显示的原理及编程方法。 2.3掌握独立式键盘的原理及使用方法。 2.4掌握51系列单片机数据采集及处理的方法。 三、方案设计

相关文档
最新文档