文档库 最新最全的文档下载
当前位置:文档库 › 基于单片机的智能家居控制系统

基于单片机的智能家居控制系统

基于单片机的智能家居控制系统
基于单片机的智能家居控制系统

单片机原理与应用技术

课程设计报告

题目基于单片机的智能家居控制系统的设计

专业班级:_ _

姓名:__ ____

时间:_

指导教师:

单片机课程设计项目系列:

基于单片机的智能家居控制系统的设计

一.设计要求

(一)基本功能

(1)家居内无人时, 切断所有家电的220V 电源, 既消除了各种电器的待机能耗, 又避免了因供电异常、屋内漏水等不可预知事件损坏电器的危险。

(2)通过预设时间和时长控制娱乐性家电, 避免了孩子在家因过度娱乐而延误学习。

(3)所有电器的电源都直接通过系统控制进行供电/断电,在使用电器时无需插拔电源插头, 避免了因经常插拔电源插头而造成接触不良及触电的危险。

(4)根据预设室内温度和湿度对空调和加湿器自动进行启/停控制, 以达到最佳舒适度。

(5)各电器的工作状态在主控面板上以LED直观显示, 并通过键盘集中控制电器, 例如在观看电视时可随手打开/关闭厨房电灶。

(6)远程控制家电的启动操作。

(7)设定/显示日期、时间、星期及定时叫醒服务。

(8)为避免煤气中毒设置了一氧化碳及燃气报警。

(9)烟感和水感可及时发现家居内的水、火灾并报警。

(10)通过门磁和窗户红外线完成防盗报警。

(二)扩展功能

加入住宅配房安全防盗报警功能和住宅门禁系统功能。

二.计划完成时间三周

1.第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。

2.第二周完成软件的具体设计和硬件的制作。

3.第三周完成软件和硬件的联合调试。

目录

1 引言 (1)

2 总体设计方案 (1)

2.1设计思路 (1)

2.1.1方案确立 (1)

2.2 总体设计框图 (1)

3 设计原理分析 (2)

3.1传感器模块的设计 (2)

3.1.1烟感传感器 (2)

3.1.2门磁、红外探测器 (2)

3.1.3热释电传感器 (2)

3.2矩阵键盘模块 (2)

3.3单片机最小系统 (3)

3.4显示模块 (3)

3.5 输出部分 (4)

4 总结与体会 (4)

参考文献 (4)

附录一程序流程图 (5)

附录二程序列表 (6)

基于单片机的智能家居控制系统的设计

摘要:介绍了以单片机为核心,并加以热释电传感器、烟感传感器、振动传感器、门磁和红外报警系统,共

同构成了智能家居控制系统。制作简单、方便、价格低廉,适宜广大用户消费。

关键词:智能家居

报警

传感器 矩阵键盘

1 引言

随着中国信息化发展水平的逐步提高,智能化系统越来越受人们的重视。智能家居系统将现代高科技控制手段运用于家居设计,通过一套专用控制系统将室内家居,家居环境,家用电器,室外场所(车库、花园等)

,防盗报警(门磁探测器、玻璃探测器、红外探测器)、安检系

统(烟感探测器、煤气泄露探测器)和智能设备有机的融为一个整体,统一控制起来,并通过电话网络对所有家电进行异地或远程开启、关闭控制。

2 总体设计方案

2.1设计思路

根据设计要求可以分为以下几个模块:传感器模块、矩阵键盘、单片机最小系统、显示模

块和输出部分。 2.1.1方案确立

传感器模块主要有烟感传感器、门磁探测器、红外探测器和热释电传感器。用于室内的安检系统(烟感探测器、振动探测器)、防盗报警(门磁探测器、红外探测器)、省电模式(热释电传感器)

。矩阵键盘和单片机最小系统是实现该设计的基本部分。矩阵键盘选用单片机的P1口,晶振选用6MHz 。显示模块和输出部分用于显示时间、启动(停止)家用电器、安检报警,并以指示。 2.2 总体设计框图

3 设计原理分析

3.1传感器模块的设计

当传感器检测到信号(烟雾、人体发射的红外线)时,会输出一组高低变化的电平,送往单片机的I/O口。

3.1.1烟感传感器

烟感传感器是检测室内的烟雾量,当室内的烟雾量超过一定值时,传感器发出信号,即有高电平输出,使报警电路报警。

3.1.2门磁、红外探测器

门磁、红外探测器也用于防盗报警系统。门在关闭状态下,门磁处于断开状态,此时无输出;当门被打开时,门磁吸合,此时有高电平输出。

3.1.3热释电传感器

热释电传感器用于检测室内是否有人。在无人时,让系统处于省电模式;有人时,跳出省电模式。

3.2矩阵键盘模块

该系统采用矩阵式键盘,外观美观,便于扩展。主要用于时间的调整和家用电器的启停操作。每一水平线(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通。在这种行列矩阵式非编码键盘的单片机系统中,键盘处理程序首先执行有无键按下的程序段,当确认有按键按下后,下一步就要识别哪一个按键被按下。对键的识别常用逐行扫描查询法。如图2所示。

图2 矩阵键盘电路图

3.3单片机最小系统

该系统采用AT89S51单片机,采用串口显示电路以节省端口,采用4*4矩阵试键盘,用来控制以及调试电路,采用固态继电器实现对家用电器的强电控制和隔离强电干扰。AT89C51的主电路如图。

3.5 输出部分

输出部分是智能家居控制的一个重要环节,是控制系统的终端。选用单片机的P2口。其中P2.7用于控制室内的电源使用情况,即普通模式和省电模式的转换。用一个三极管来驱动继电器控制220V的电源;P2.6是烟感传感器的输出指示;P2.5是控制娱乐性家电的使用情况,用一个计时器来控制娱乐性家电的工作时长,到一定时间后自动断开电源。P2.4—P2.1是控制室内的其他家电的通断及扩展。P2.0是用于安检系统的报警。具体电路如图5所示。

图5 输出部分电路图

4 总结与体会

通过这次课程设计提高了对简单的单片机应用电路的设计能力。设计时应该先完全领会要求再去动手,不能急躁。知道了有科学的态度才能完成科学的试验。该系统软硬件实现技术具有接口电路简单、可靠性高、成本低、灵活性强优点。由于设计经验不是很丰富,该次设计没有完全实现。总之,通过这次实习,我真正学到了很多东西,真正体会到了理论联系实际的重要性。我想如果在平时多搞几次这样的实习,多提供一些好的条件,那我们的知识会掌握的更多,更牢固。

参考文献

[1] 李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2005.9

[2] 钟睿.MCS-51单片机原理及应用开发技术[M].北京:中国铁道出版社,2006.4

[3] 沙占友,孟志永,王彦朋,等.单片机外围电路设计[M].北京:电子工业出版社,2006.6

[4] 陈杰,黄鸿.传感器与检测技术[M].北京:高等教育出版社,2002.8

系统初始化

图6程序流程图时钟显示

键盘扫描

判断键盘是否

按下-

;*******************

LED1 EQU 20H ;存秒单元

LED2 EQU 21H ;存分单元

LED3 EQU 22H ;存时单元

COM EQU 23H ;调时间转换标志单元COM1 EQU 24H ;定时转换标志单元

;*******************

ORG 0000H

AJMP START

ORG 01BH

LJMP T1ZHONG

ORG 000BH ;T0的中断入口地址AJMP SERVE ;转向中断服务程序

ORG 0030H

START: MOV R0,#20H ;秒单元存入首地址 MOV R1,#30H ;秒单元发送首地址

MOV R2,#6 ;各单元清零循环次数

MOV R3,#5

MOV DPTR,#TAB ;字型码首地址

MOV 25H,#0AH ;装入中断次数

MOV TMOD,#11H ;设T0工作于模式1

MOV IE,#82H ;允许CPU,T0中断

MOV TH0,#3CH

MOV TL0,#0B0H ;赋计数初值

BK: MOV @R0,#00H

INC R0

DJNZ R3,BK

MOV LED3,#12

MOV 40H,#00H

MOV 41H,#00H

MOV 42H,#06H ;定时单元初始化

6:00:00

ACALL DIS ;赋初值12:00:00

SETB 30H ;标志位置1

SETB TR0 ;启动定时器T0,开始计时 MOV TH1,#3CH

MOV TL1,#0B0H

SETB ET1

SETB EA

MOV R3,#50

MOV A,#0F0H

MOV P2,#0FFH

MAIN:JNB P0.0,K16

JNB P0.1,K12 ;判断传感器是否动作 JNB P0.2,K16

JNB P0.3,K13

MOV P1,#0F0H

MOV A,P1

ANL A,#0F0H

CJNE A,#0F0H,DELAY

AJMP KEY

DELAY: ACALL DL10MS

MOV P1,#0F0H

MOV A,P1

ANL A,#0F0H

CJNE A,#0F0H, KEYJ

AJMP KEY

RET

KEYJ: MOV P1,#0FEH

MOV A,P1

L1: CJNE A,#07EH, L2

MOV R5,#20

A10: ACALL DL10MS

DJNZ R5,A10

CLR TR0 ;关闭定时器T0

INC COM ;标志单元加 1

MOV A,COM

SETB 30H ;调时间标志位

CJNE A,#4,KEY;K1, 如果K1键未按四下进入调时间闪烁状态

SETB TR0 ;启动定时器

MOV COM,#00H ;如果K1键按四下,标志单元清零

;************************************ KEY: MOV A,COM

CJNE A,#1,PD1

ACALL DIS

ACALL DELAY600

MOV 36H,#10

MOV 37H,#10

MOV 38H,32H

MOV 39H,33H

MOV 3AH,34H

MOV 3BH,35H

ACALL CCC

ACALL DELAY600 ;秒闪烁/准备进入调秒状态PD1: CJNE A,#2,PD2

ACALL DIS

ACALL DELAY600

MOV 36H,30H

MOV 37H,31H

MOV 38H,#10

MOV 39H,#10

MOV 3AH,34H

MOV 3BH,35H

ACALL CCC

ACALL DELAY600 ;分闪烁/准备进入调分状态

PD2: CJNE A,#3,KEY2

MOV 36H,30H

MOV 37H,31H

MOV 38H,32H

MOV 39H,33H

MOV 3AH,#10

MOV 3BH,#10

ACALL CCC

ACALL DELAY600

ACALL DIS

ACALL DELAY600 ;时闪烁/准备进入调时状态

KEY2: AJMP MAIN

L2: CJNE A,#0BEH, L3

MOV R5,#20

A20: ACALL DL10MS

DJNZ R5,A20

MOV A,COM ;调时间标志

JB 30H,N0 ;为1调时间/为0定时 MOV A,COM1 ;定时标志

N0: CJNE A,#1,N1

ACALL TS ;转向调秒 / 加N1: CJNE A,#2,N2

ACALL TM ;转向调分 / 加N2: CJNE A,#3,KEY3

ACALL HOUR ;转向调时 / 加KEY3: AJMP KEY

L3: CJNE A,#0DEH, L4

MOV R5,#20

A30: ACALL DL10MS DJNZ R5,A30

MOV A,COM

JB 30H,M0 ;为1调时间/为0定时 MOV A,COM1 ;定时标志

M0:CJNE A,#1,M1

ACALL TS ;转向调秒 / 减 M1:CJNE A,#2,M2

ACALL TM1 ;转向调分 / 减 M2:CJNE A,#3,CHS

ACALL HOUR1 ;转向调时 / 减CHS:JB 30H,KEY4

MOV 41H,LED2 ;分定时存入41H单元 MOV 42H,LED3 ;时定时存入42H单元KEY4:AJMP KEY

L4:CJNE A,#0EEH, M10

MOV R5,#20

A40:ACALL DL10MS

DJNZ R5,A40

SETB TR0 ;启动定时器 SETB P1.4

CLR 30H ;定时标志位 INC COM1

MOV A,COM1

CJNE A,#4,YYY

MOV COM1,#00H

SETB 30H

MOV LED2,3EH ;还原分

MOV LED3,3FH ;还原时

AAA:JNB 30H,NNN

MOV A,LED3

CJNE A,42H,NNN ;时比较

MOV A,LED2

CJNE A,41H,NNN1 ;分比较

ACALL MM

MOV 43H,41H

INC 43H

NNN1:CJNE A,43H,NNN

ACALL MM

NNN:MOV A,COM

JB 30H,XXX

MOV A,COM1

XXX:AJMP ZZZ

YYY:CJNE A,#1,ZZZ

MOV 3EH,LED2 ;暂存分

.

MOV 3FH,LED3 ;暂存时ZZZ:AJMP KEY

M10:MOV P1,#0FDH

MOV A,P1

L5:CJNE A,#07DH, L6

CPL P2.2

MOV R5,#20

B10:ACALL DL10MS

DJNZ R5,B10

AJMP MAIN

L6:CJNE A,#0BDH, L7

CPL P2.2

MOV R5,#20

B20:ACALL DL10MS

DJNZ R5,B20

AJMP MAIN

L7:CJNE A,#0DDH, L8

CPL P2.2

MOV R5,#20

B30:ACALL DL10MS

DJNZ R5,B30

AJMP MAIN

L8:CJNE A,#0EDH, M20

CPL P2.2

MOV R5,#20

B40:ACALL DL10MS

DJNZ R5,B40

AJMP MAIN

M20:MOV P1,#0FBH

MOV A,P1

L9:CJNE A,#07BH, L10

CPL P2.2

MOV R5,#20

C10:ACALL DL10MS

DJNZ R5,C10

AJMP MAIN

L10:CJNE A,#0BBH, L11

CPL P2.2

MOV R5,#20

C20:ACALL DL10MS

DJNZ R5,C20

AJMP MAIN

L11:CJNE A,#0DBH, L12

CPL P2.2 MOV R5,#20

C30:ACALL DL10MS

DJNZ R5,C30

AJMP MAIN

L12:CJNE A,#0EBH, M30 MOV R5,#20

C40:ACALL DL10MS

DJNZ R5,C40

AJMP K12

M30:MOV P1,#0F7H

MOV A,P1

L13:CJNE A,#077H, L14 MOV R5,#20

D10:ACALL DL10MS

DJNZ R5,D10

AJMP K13

L14:CJNE A,#0B7H, L15 MOV R5,#20

D20:ACALL DL10MS

DJNZ R5,D20

AJMP K14

L15:CJNE A,#0D7H, L16 MOV R5,#20

D30:ACALL DL10MS

DJNZ R5,D30

AJMP K15

L16:CJNE A,#0E7H, CHS0 MOV R5,#20

D40:ACALL DL10MS

DJNZ R5,D40

AJMP K16

CHS0:AJMP CHS

K16:CPL P2.6

MOV R5,#20

E10:ACALL DL10MS

DJNZ R5,E10

AJMP MAIN

K12:CPL P2.0

MOV R5,#20

E20:ACALL DL10MS

DJNZ R5,E20

AJMP MAIN

K13:CPL P2.7

MOV R5,#20

E30:ACALL DL10MS

DJNZ R5,E30

AJMP MAIN

K14:CLR P2.5

SETB TR1

AJMP MAIN

K15:CPL P2.4

MOV R5,#20

E4:ACALL DL10MS

DJNZ R5,E4

AJMP MAIN

MOV 41H,LED2 ;分定时存入41H单元 MOV 42H,LED3 ;时定时存入42H单元 RET

;***** 加秒子程序 ********* TS:MOV R3,#60

A1:ACALL DELAY100

INC LED1

MOV A,LED1

CJNE A,#60,A2

MOV LED1,#0

A2:ACALL DIS

MOV P1,#0F0H

MOV A,P1

ANL A,#0F0H

CJNE A,#0F0H,A33

AJMP A3

A33: DJNZ R3,A1

SJMP TS

A3: RET

; ******减秒子程序 **********

TS1: MOV R3,#60

B1: ACALL DELAY100

MOV A,LED1

CJNE A,#0FFH,B2

MOV LED1,#59

B2: ACALL DIS

MOV P1,#0F0H

MOV A,P1

ANL A,#0F0H

CJNE A,#0F0H,B33

AJMP B3

B33: DEC LED1

DJNZ R3,B1 SJMP TS1

B3: SETB P1.5

RET

; *******加分子程序 ************ TM:MOV R3,#60

C1:ACALL DELAY100

INC LED2

MOV A,LED2

CJNE A,#60,C2

MOV LED2,#0

C2:ACALL DIS

MOV P1,#0F0H

MOV A,P1

ANL A,#0F0H

CJNE A,#0F0H,C33

AJMP C3

C33:DJNZ R3,C1

SJMP TM

C3:SETB P1.6

RET

;**********减分子程序************* TM1:MOV R3,#60

D1:ACALL DELAY100

MOV A,LED2

CJNE A,#0FFH,D2

MOV LED2,#59

D2:ACALL DIS

MOV P1,#0F0H

MOV A,P1

ANL A,#0F0H

CJNE A,#0F0H,D33

AJMP D3

D33:DEC LED2

DJNZ R3,D1

SJMP TM1

D3:SETB P1.5

RET

;********加时子程序 ************* HOUR:MOV R3,#13

E1:ACALL DELAY100

INC LED3

MOV A,LED3

CJNE A,#13,E2

MOV LED3,#1

E2:ACALL DIS

MOV P1,#0F0H

MOV A,P1

ANL A,#0F0H

CJNE A,#0F0H,E33

AJMP E3

E33:DJNZ R3,E1

SJMP HOUR

E3:SETB P1.6

RET

;*********减时子程序 ***********

HOUR1:MOV R3,#12

F1:ACALL DELAY100

MOV A,LED3

CJNE A,#0,F2

MOV LED3,#12

F2:ACALL DIS

MOV P1,#0F0H

MOV A,P1

ANL A,#0F0H

CJNE A,#0F0H,F33

AJMP F3

F33:DEC LED3

DJNZ R3,F1

SJMP HOUR1

F3:SETB P1.5

RET

;**********中断子程序 ************

SERVE:PUSH PSW

PUSH ACC

MOV TH0,#3CH

MOV TL0,#0B0H ;重新赋计数初值 DJNZ 25H,MT1 ;1S未到,返回 MOV 25H,#0AH ;重置中断次数 MOV A,#01H

ADD A,LED1 ;秒位加1

MOV LED1,A

CJNE A,#60,RETURN ;未计满60秒,返回

MOV LED1,#00H ;计满60秒,秒位清0

MOV A,#01H

ADD A,LED2 ;分位加1

MOV LED2,A CJNE A,#60,RETURN ;未计满60分,

返回

MOV LED2,#00H ;计满60分,分位清

MOV A,#01H

ADD A,LED3 ;时位加1

MOV LED3,A

CJNE A,#13,RETURN ;未计满13时,

返回

MOV LED3,#01H ;计满13时,时位清

1

RETURN:ACALL DIS

MT1:POP ACC

POP PSW

RETI

DL1MS:MOV R5,#14H

DL1:MOV R4,#19H

DL2:DJNZ R4,DL2

DJNZ R5,DL1

RET

DL10MS:MOV R7,#14H

LOOP1:MOV R6,#0F9H

LOOP2:DJNZ R6,LOOP2

DJNZ R7,LOOP1

RET

T1ZHONG:MOV TH1,#3CH

MOV TL1,#0B0H

DJNZ R3,LOOP

CLR TR1

SETB P2.5

MOV R3,#50

LOOP: RETI

;*********显示子程序********** DIS:MOV A,LED1

MOV B,#10

DIV AB

MOV 30H,B

MOV 31H,A

MOV A,LED2

MOV B,#10

DIV AB

MOV 32H,B

MOV 33H,A

MOV A,LED3

MOV B,#10 DIV AB

MOV 34H,B

MOV 35H,A

MOV R2,#6

MOV R1,#30H

BBB:MOV A,@R1

MOVC A,@A+DPTR

MOV SBUF,A

JNB TI,$

CLR TI

INC R1

DJNZ R2,BBB

RET

;**烁显示子程序***

CCC: MOV R2,#6

MOV R1,#36H

DDD: MOV A,@R1

MOVC A,@A+DPTR

MOV SBUF,A

JNB TI,$

CLR TI

INC R1

DJNZ R2,DDD

RET

;*****10毫秒延时子程序 ****** DELAY10:MOV R7,#0AH

X1: MOV R6,#0F9H

X2: DJNZ R6,X2

DJNZ R7,X1

RET

;*******<100 毫秒延时子程序 ******** DELAY100:MOV R7,#100

Y1: MOV R6,#0F9H

Y2: DJNZ R6,Y2

DJNZ R7,Y1

RET

;********<600 毫秒延时子程序 ******** DELAY600: MOV R7,#15

Z1: MOV R6,#10H

Z2: MOV R5,#0FFH

Z3: DJNZ R5,Z3

DJNZ R6,Z2

DJNZ R7,Z1

RET

;*****闹铃/闪烁子程序************** MM:PUSH PSW

PUSH ACC

MMM: CLR P1.7

CLR P1.6

CLR P1.5

CLR P1.4

ACALL DELAY10

SETB P1.7

SETB P1.6

SETB P1.5

SETB P1.4

ACALL DELAY10

POP ACC

POP PSW

RET

;******字型码 ********** TAB:DB 11H,0D7H,32H,92H,0D4H

DB 98H,18H,0D3H,10H,90H,0FFH

END

如有侵权请联系告知删除,感谢你们的配合!

基于-89C51单片机的秒表课程设计汇本

《单片机技术》 课程设计报告 题目:基于MCU-51单片机的秒表设计班级: 学号: 姓名: 同组人员: 指导教师:王瑞瑛、汪淳 2014年6月17日

目录 1课程设计的目的 (3) 2 课程设计题目描述和要求 (3) 2.1实验题目 (4) 2.2设计指标 (4) 2.3设计要求 (4) 2.4增加功能 (4) 2.5课程设计的难点 (4) 2.6课程设计容提要 (4) 3 课程设计报告容 (5) 3.1设计思路 (5) 3.2设计过程 (6) 3.3 程序流程及实验效果 (7) 3.4 实验效果 (16) 4 心得体会 (17)

基于MCS-51单片机的秒表设计 摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计容为以8051 单片机为核心的秒表,它采用键盘输入,单片机技术控制。设计容以硬件电路设计,软件设计和PCB 板制作三部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。 关键词:秒表;8051;定时器;计数器 1 课程设计的目的 《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 2 课程设计题目描述和要求

AT89C51单片机简易计算器的设计

AT89C51单片机简易计算器的设计 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除六位数范围内的基本四则运算,并在LCD上显示相应的结果。设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入。显示采用字符LCD静态显示。软件方面使用C语言编程,并用PROTUES仿真。 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数

值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图: 二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

基于51单片机的简易计算器制作

基于51单片机的简易计算器制作专业:电气信息班级:11级电类一班 姓名:王康胡松勇 时间:2012年7月12日 一:设计任务 本系统选用AT89C52单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计,具体设计如下: (1)由于设计的计算器要进行四则运算,为了得到较好的显示效果,经综合分析后,最后采用LED 显示数据和结果。 (2)采用键盘输入方式,键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键(on\c)和等号键(=),故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)在执行过程中,开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LED上提示八个0;当除数为0时,计算器会在LED上会提示八个负号。 设计要求:分别对键盘输入检测模块;LED显示模块;算术运算模块;错误处理及提示模块进行设计,并用Visio画系统方框图,keil与protues仿真 分析其设计结果。 二.硬件设计 单片机最小系统 CPU:A T89C52 显示模块:两个4位7段共阴极数码管 输入模块:4*4矩阵键盘 1.电路图

电路图说明 本电路图采用AT89C52作为中处理器,以4*4矩阵键盘扫描输入,用两个74HC573(锁存器)控制分别控制数码管的位于段,并以动态显示的方式显示键盘输入结果及运算结果。为编程方便,以一个一位共阴极数码管显示负号。 三,程序设计 #include #define Lint long int #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; //锁存器段选sbit wela=P2^7; sbit display_g=P2^0; //负号段选 sbit display_w=P2^1; //负号位选uchar code table[]={0x3f,0x06,0x5b,0x4f, //0,1,2,3

基于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提示。

基于51单片机的计算器设计程序代码汇编

DBUF EQU 30H TEMP EQU 40H YJ EQU 50H ;结果存放 YJ1 EQU 51H ;中间结果存放GONG EQU 52H ;功能键存放 ORG 00H START: MOV R3,#0 ;初始化显示为空MOV GONG,#0 MOV 30H,#10H MOV 31H,#10H MOV 32H,#10H MOV 33H,#10H MOV 34H,#10H MLOOP: CALL DISP ;PAN调显示子程序WAIT: CALL TESTKEY ; 判断有无按键JZ WAIT CALL GETKEY ;读键 INC R3 ;按键个数 CJNE A,#0,NEXT1 ; 判断就是否数字键 LJMP E1 ; 转数字键处理NEXT1: CJNE A,#1,NEXT2 LJMP E1 NEXT2: CJNE A,#2,NEXT3 LJMP E1 NEXT3: CJNE A,#3,NEXT4 LJMP E1 NEXT4: CJNE A,#4,NEXT5 LJMP E1 NEXT5: CJNE A,#5,NEXT6 LJMP E1 NEXT6: CJNE A,#6,NEXT7 LJMP E1 NEXT7: CJNE A,#7,NEXT8 LJMP E1 NEXT8: CJNE A,#8,NEXT9 LJMP E1 NEXT9: CJNE A,#9,NEXT10 LJMP E1 NEXT10: CJNE A,#10,NEXT11 ;判断就是否功能键LJMP E2 ;转功能键处理NEXT11: CJNE A,#11,NEXT12 LJMP E2 NEXT12: CJNE A,#12, NEXT13 LJMP E2

基于51单片机的智能家居控制系统方案

基于51单片机的智能家居控制系统 目录

作品简介 (3) 智能家居服务背景 (4) 技术与工艺创新 (4) 可行性分析 (5) 行业背景 (8) 竞争优势 (9) 市场前景 (10) 投资分析 (12) 参考文献 (14) 基于51单片机的智能家居控制系统

作品简介 21世纪是信息化的世纪,各种电信运营商和互联网新技术推动了社会文明的巨大进步。本文介绍的智能化家居控制系统的出现使得人们可以通过手机在任何时候、任意地点对家中的任意电器(空调、电视等)进行远程控制;也可以在下班途中,预先将家中的空调打开调节室温度,这一切的实现都仅仅是发一条简单的短信。此外,该系统还可使家庭具有多途径报警、远程监控等多种功能,如果不幸出现某种险情,您和110可以在第一时间获得通知以便进一步采取行动。舒适、时尚的家居生活是社会进步的标志,智能家居控制系统能够在不改变家中任何家电的情况下,对家里的电器、灯光、电源、家庭环境进行方便地控制,使人们尽享高科技带来的简便而时尚的现代生活。 实现智能化离不开运算和控制单元,本系统采用STC89C52RC作为主控器件,单片机应用系统由硬件和软件组成。硬件由单片机扩展的输入/出设备以及各种实现单片机系统控制要求的接口电路和有关的外围电路芯片或部件组成;而且外置红外控制遥控,可以不改变家居摆设情况下随意控制带红外控制功能的家电,如(空调、电视等)。软件由单片机应用系统实现其特定控制功能的各种工作程序和管理程序组成。本设计的STC89C52RC与各个芯片和模块的接口、各项标准都严格遵循国家有关标准,为以后的产品化提供了良好的基础。 本系统的远程控制是基于全球移动通信系统(GSM)通信方式,程控交换信令作为系统控制命令,采用Siemens TC35 GSM模块实现,单片机通过Siemens TC35 GSM模块识别接收来自手机的控制信号,用户可以根据设定的指令远程控制;各种传感器的检测是利用数据采集系统将多路被测量值转换成数字量,再经过单片机进行数据处理,实现实时测控;短消息发送部分采用基于SIEMENS TC35 GSM模块和TI公司的电平转换芯片MAX3238等器件构成的移动终端的硬件电路可以完成短消息收发等功能。 一、智能家居的服务背景

基于51单片机的计算器设计

目录 第一章引言 (3) 1.1 简述简易计算器 (3) 1.2 本设计主要任务 (3) 1.3 系统主要功能 (4) 第二章系统主要硬件电路设计 (4) 2.1 系统的硬件构成及功能 (4) 2.2 键盘电路设计 (5) 2.3 显示电路设计 (6) 第三章系统软件设计 (7) 3.1 计算器的软件规划 (7) 3.2 键盘扫描的程序设计 (7) 3.3 显示模块的程序设计 (8) 3.4 主程序的设计 (9) 3.5 软件的可靠性设计 (9) 第四章调试 (9) 第五章结束语 (10) 参考文献 (11) 附录源程序 (11)

第一章引言 1.1 简述简易计算器 近几年单片机技术的发展很快,其中电子产品的更新速度迅猛。计算器是日常生活中比较的常见的电子产品之一。如何才能使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器呢? 本设计是以AT89S52单片机为核心的计算器模拟系统设计,输入采用4×6矩阵键盘,可以进行加、减、乘、除9位带符号数字运算,并在LCD1602上显示操作过程。 科技的进步告别了以前复杂的模拟电路,一块几厘米平方的单片机可以省去很多繁琐的电路。现在应用较广泛的是科学计算器,与我们日常所用的简单计算器有较大差别,除了能进行加减乘除,科学计算器还可以进行正数的四则运算和乘方、开方运算,具有指数、对数、三角函数、反三角函数及存储等计算功能。计算器的未来是小型化和轻便化,现在市面上出现的使用太阳能电池的计算器, 使用ASIC设计的计算器,如使用纯软件实现的计算器等,未来的智能化计算器将是我们的发展方向,更希望成为应用广泛的计算工具。 1.2 本设计主要任务 以下是初步设定的矩阵键盘简易计算器的功能: 1.扩展4*6键盘,其中10个数字,5个功能键,1个清零 2.强化对于电路的焊接 3.使用五位数码管接口电路 4. 完成十进制的四则运算(加、减、乘、除); 5. 实现结果低于五位的连续运算; 6. 使用keil 软件编写程序,使用汇编语言; 7. 最后用ptoteus模拟仿真; 8.学会对电路的调试

51单片机简易计算器程序

#include <reg51.h>#include <intrins.h> #include <ctype.h> #include <stdlib.h> #define uchar unsigned char #define uint unsigned int uchar operand1[9], operand2[9]; uchar operator; void delay(uint); uchar keyscan(); void disp(void); void buf(uint value); uint compute(uint va1,uint va2,uchar optor); uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0xff}; uchar dbuf[8] = {10,10,10,10,10,10,10,10}; void delay(uint z) { uint x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--); } uchar keyscan() { uchar skey; P1 = 0xfe; while((P1 & 0xf0) != 0xf0) { delay(3); while((P1 & 0xf0) != 0xf0) { switch(P1) { case 0xee: skey = '7'; break; case 0xde: skey = '8'; break; case 0xbe: skey = '9'; break; case 0x7e: skey = '/'; break; default: skey = '#'; }

基于单片机智能家居系统设计

目录 内容摘要 (1) 关键词 (1) Abstract (1) Key words (1) 1引言 (1) 2 系统的总体方案 (3) 2.1系统框图 (3) 2.2系统的组成 (6) 3 硬件设计 (16) 3.1远端模块设计 (16) 3.2本地模拟分机部分的设计 (17) 3.3智能显示和温度部分的电路设计 (18) 4 软件设计 (21) 4.1 软件说明 (21) 4.2 软件流程图 (22) 5 系统调试 (25) 5.1 硬件调试 (25) 5.2 软件调试 (27) 5.3 软硬件联调 (28) 结束语 (30) 附录一 .................................................................错误!未定义书签。参考文献: .. (31) 致谢 (33)

内容摘要:设计了一个模拟智能家居系统,该系统以STC单片机作为控制核心,利用双音多频信号作为远距离的通信信号,利用串口进行模块内部的通信。文章详细介绍了系统的组成、工作原理及其软硬件设计。 关键词: 智能家居;DTMF;STC89C52RC;模拟电话 Abstract: The paper designs a system which simulates the intelligent home system. The system takes STC MCU as the control core, uses the DTMF signals as the long-distance communication signals, and serial communication as the communication method between the internal modules. This paper introduces the composition, working principle and the design of hardware and software. Key words: Intelligent home system, DTMF, STC89C52RC, Analogue telephone

51单片机红绿灯课程设计

1 电源提供方案 为使模块稳定工作,须有可靠电源。因此考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,选择方案二。 2 显示界面方案 该系统要求完成倒计时功能。基于上述原因,我考虑了二种方案:方案一:采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。方案二:采用点阵式LED 显示。这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,成本较高。 综上所述,选择方案一。 3 输入方案: 设计要求系统能调节灯亮时间,并可处理紧急情况,我研究了两种方案:方案一:采用8155扩展I/O 口及键盘,显示等。 该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。 方案二:直接在I/O口线上接上按键开关。 由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用。

综上所述,选择方案二。 3.1单片机交通控制系统的通行方案设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始,即如图2.1所示: 图1 交通状态 本系统采用MSC-51系列单片机AT89C51作为中心器件来设计交通灯控制器。实现以下功能:

AT89C51单片机C实现简易计算器

AT89C51单片机简易计算器的设计 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图:

二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

(二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。 图 2 矩阵键盘布局图 矩阵键盘内部电路图如图3所示:

(完整版)基于单片机的智能家居控制系统

基于单片机的智能家居控制系统 智能家居作为家庭信息化的实现方式,已经成为社会信息化发展的重要组成部分,物联网因其巨大的应用前景,将是智能家居产业发展过程中一个比较现实的突破口,对智能家居的产业发展具有重大意义。本文基于容易实现,方便操作,贴近使用的设计理念,采用STC89C52单片机为控制核心,为控制终端,并采用包括红外遥控、按键、Web界面等在内的多个控制源来控制家用电器。本文的二至四章描述了整个设计的软、硬件部分的具体实现,第五章是根据设计好的功能搭建了一个具体的环境实例。 智能家居控制系统功能分析 智能家庭控制系统的主要功能包括家庭设备自动控制、家庭安全防范二个方面。其中家庭设备自动监控包括电器设备的集中、遥控、远距离异地(通过电话或Internet)的监视、控制及数据采集。 (1)家用电器的监视和控制,按照预先所设定程序的要求对热水器、微波炉、视像音响等家用电器进行监视和控制。 (2) 热能表、燃气表、水表、电度表的数据采集、计量和传送根据小区物业管理的要求所设置数据采集程序,通过传感器对热能表、燃气表、水表、电度表的用量进行自动数据采集、计量,并将采集结果远程传送给小区物业管理系统。 (3)空调机的监视、调节和控制,按照预先所设定的程序,根据时间、温度、湿度等参数对空调机进行监视、调节和控制。 (4)照明设备的监视、调节和控制按照预先设定的时间程序,分别对各个房间照明设备的开、关进行控制,并可自动调节各个房间的照度。 (5)窗帘的控制,按照预先设定的时间程序,对窗帘的开启/关闭进行控制。 总体设计

2.1 整体介绍 本次设计以STC89C52芯片为控制核心,温度,湿度等传感器为环境信息采集源,以Web 控制为辅助,来制作一个物联网空调监控系统。在原有的机械式按键开关的基础上,采用无线遥控器与Web 网页远程控制,来控制空调机组(如风机,加湿器,风阀等),实现了远距离,多角度对空调机组进行实时控制。此外在本次设计中,采用多种传感器想结合,智能根据各传感器采集的数值进行自动化控制,如自动开关风机,智能调节冷冻水量,自动调节风阀开度等。并能够实现故障诊断,提供报警,数据实时数据与历史数据查询并Excel 表输出。 2.2系统设计方案 根据设计要求,系统提供了包括了核心控制模块,Web 服务器,Web HTML 模块,数据采集模块,继电器模块,按键模块,报警模块,等等。系统的整体框图如图1所示。 系统整体框图 网页 服务器(串口核心控制设备(以 STC8052为数据库设备状态传感器 (温度,LCD 显示 模式,温 度,湿度 继电风 水阀开 新风开 加湿 回风开用户输入 用户控制 环境信按

基于51单片机的数字计算器的设计

《单片机技术及其应用》课程设计报告 专业:通信工程 班级:09312班 姓名:某某某 学号:09031069 指导教师: 二0一二年六月十八日

目录 1设计目的 (1) 2 设计题目描述与要求 (1) 3 设计过程 (2) 4硬件总体方案及说明 (6) 5 软件总体方案及设计流程 (9) 6 调试与仿真 (13) 7 心得体会 (14) 8 指导老师意见 (15) 9 参考文献 (16) 附录一 (16) 附录二 (21)

基于51单片机的数字计算器的设计 1设计目的 简易计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用和单片机完整程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。单片机课程设计既巩固了课本学到的理论,还学到了单片机硬件电路和程序设计,简易计算器课程设计通过自己动手用计算机电路设计软件,编写和调试,最后仿真,来加深对单片机的认识,充分发挥我们的个人创新和动手能力,并提高我们对单片机的兴趣,同时学习查阅资料、参考资料的方法。 本设计是基于51系列的单片机进行的简易计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED 上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件选择AT89C51单片机和74ls164,输入用4×4矩阵键盘。显示用5位7段共阴极LED静态显示。软件从分析计算器功能、流程图设计,再到程序的编写进行系统设计。选用编译效率最高的Keil软件进行编程,并用proteus仿真。 2 设计题目描述与要求 基于AT89C51数字计算器设计的基本要求与基本思路: (1)扩展4*4键盘,其中10个数字,5个功能键,1个清零 (2)使用五位数码管接口电路

51单片机课程设计

课程设计说明书
课程设计名称






学生姓名
指导教师
单片机原理及应用课程设计 电子信息工程 140405 20141329 李延琦 胡黄水
2016 年 12 月 26 日

课程设计任务书
课程设计 题目
酒精测试仪
起止日期
2016 年 12 月 26 日— 2017 年 1 月 6 日
设计地点
计算机科学与工程学 院单片机实验室 3409
设计任务及日程安排: 设计任务:分两部分: (一)、设计实现类:进行软、硬件设计,并上机编程、联线、调试、 实现; 1.电子钟的设计 2.交通灯的设计 3.温度计的设计 4.点阵显示 5.电机调速 6.电子音乐发声(自己选曲) 7.键盘液晶显示系统 (二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。 查资料选定题目。 说明:第 1--7 题任选其二即可。(二)里题目自拟。 日程安排: 本次设计共二周时间,日程安排如下: 第 1 天:查阅资料,确定题目。 第 2--4 天:进实验室做实验,连接硬件并编写程序作相关的模块实验。 第 5--7 天:编写程序,并调试通过。观察及总结硬件实验现象和结果。 第 8--9 天:整理资料,撰写课程设计报告,准备答辩。 第 10 天:上交课程设计报告,答辩。 设计报告要求:
1. 设计报告里有两个内容,自选题目内容+附录(实验内容),每 位同学独立完成。 2. 自选题目不须上机实现,要求能正确完成硬件电路和软件程序 设计。内容包括: 1) 设计题目、任务与要求 2)硬件框图与电路图 3) 软件及流程图 (a)主要模块流程图 (b)源程序清单与注释 4) 总结 5) 参考资料 6)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

基于51单片机的简易计算器设计

河南##############学校 毕业设计(论文) 基于51单片机的简易计算器 系部: 自动控制系 专业: 电气自动化 班级: 自083 姓名: 崔 # # 学号: 091415302 指导老师: 许 # 二零一二年五月八日

基于51单片机的简易计算器 摘要 工程实践教学环节是为了学生能够更好地巩固和实践所学专业知识而设置的,在本次工程实践中,我以《智能化测量控制仪表原理与设计》、《MCS-51系列单片微型计算机及其应用》课程中所学知识为基础,设计了简易计算器。本系统以MCS-51系列中的8051单片机为核心,能够实现多位数的四则运算。该系统通过检测矩阵键盘扫描,判断是否按键,经数据转换把数值送入数码管动态显示。本系统的设计说明重点介绍了如下几方面的内容:基于单片机简易计算器的基本功能,同时对矩阵键盘及数码管动态显示原理进行了简单的阐述;介绍了系统的总体设计、给出了系统的整体流程框图,并对其进行了功能模块划分及所采用的元器件进行了详细说明;对系统各功能模块的软、硬件实现进行了详细的设计说明。 关键词:MCS-51;8051单片机;计算器;加减乘除

Based on the simple calculator 51 SCM Abstract The engineering practice teaching is to students better to consolidate and practice have set up by the professional knowledge, in this engineering practice, I to the intelligent measurement control instrument principle and design ", "the MCS-51 series single chip computer and its application" course knowledge as the foundation, the design the simple calculator. This system to MCS-51 of the 8051 series single chip microcomputer as the core, can realize the connection arithmetic. The system through the test matrix keyboard scan, judge whether key, the data transfer the numerical into digital tube dynamic display. This system mainly introduced the design that the following aspects of content: based on single chip microcomputer simple calculator basic functions, and the matrix keyboard and a digital tube dynamic display of the principle of a simple expatiated; introduced the design of the whole system, the whole process of the system are discussed, and its function module partition and the components for a detailed explanation; the functional modules of the system hardware and software of the implementation of the detailed design instructions. Key words: MCS-51;8051 single chip microcomputer;Calculator;Add, subtract, multiply and divide:

51单片机课程设计 AD转换

课程设计报告 华中师范大学武汉传媒学院 传媒技术学院 电子信息工程2011 仅发布百度文库,版权所有.

AD转换 要求: A.使用单片机实现AD转换 B.可以实现一位AD转换,并显示(保留4位数字)设计框图:

方案设计: AD转换时单片机设计比较重要的实验。模数转换芯片种类多,可以满足不同用途和不同精度功耗等。 外部模拟量选择的是简单的电位器,通过控制电位器来改变模拟电压。显示电压值采用一般的四位七段数码管。而AD转换芯片采用使用最广的ADC0809 ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。 下面说明各引脚功能: ?IN0~IN7:8路模拟量输入端。 ?2-1~2-8:8位数字量输出端。 ?ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。?ALE:地址锁存允许信号,输入端,高电平有效。 ?START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 ?EOC: A/D转换结束信号,输出端,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 ?OE:数据输出允许信号,输入端,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 ?CLK:时钟脉冲输入端。要求时钟频率不高于640KHz。

?REF(+)、REF(-):基准电压。 ?Vcc:电源,单一+5V。 ?GND:地 工作原理: 首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC 变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。 本次实验采用中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。 首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。 采用中断可以减轻单片机负担。并可以使程序有更多的空间作二次开发。

51单片机简易计算器代码

#include"reg52.h" #define uchar unsigned char #define uint unsigned int sbit busy=P0^7; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } char i,j,temp,num; long a,b,c; //a,第一个数b,第二个数c,得数 uchar flag,fuhao;//flag表示是否有符号键按下,fuhao表征按下的是哪个符号uchar code table[]={7,8,9,0,4,5,6,0,1,2,3,0,0,0,0,0}; uchar code table1[]={7,8,9,0x2f-0x30,4,5,6,0x2a-0x30,1,2,3,0x2d-0x30,0x01-0x30,0,0x3d-0x30,0 x2b-0x30}; //按键显示编码表 sbit lcden=P2^2; sbit lcdwrite=P2^1; sbit lcdrs=P2^0; //lcd的写指令 void write_com(uchar com) { lcdrs=0; lcden=0; P0=com; delay(1); lcden=1; delay(1); lcden=0; } //lcd的写数据 void write_date(uchar da) { lcdrs=1; lcden=0; P0=da; delay(1); lcden=1; delay(1); lcden=0; } //初始化

void init() //初始化 { uchar num; num=-1; lcdwrite=0; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); delay(500);//延时0.5s write_com(0x01); i=0; j=0; a=0; //第一个参与运算的数 b=0; //第二个参与运算的数 c=0; flag=0; //flag表示是否有符号键按下, fuhao=0; // fuhao表征按下的是哪个符号 } void keyscan() // 键盘扫描程序 { P3=0xfe; if(P3!=0xfe) { delay(10); //延迟20ms if(P3!=0xfe) { temp=P3&0xf0; switch(temp) { case 0xe0:num=0; break; case 0xd0:num=1; break; case 0xb0:num=2; break; case 0x70:num=3; break; } } while(P3!=0xfe); if(num==0||num==1||num==2)//如果按下的是'7','8'或'9 { if(j==1)//确认一次计算完毕,清屏 { write_com(0x01);

基于单片机的智能家居控制系统

单片机原理与应用技术 课程设计报告 题目基于单片机的智能家居控制系统的设计 专业班级: 姓名:时 间:指导 教师:

单片机课程设计项目系列: 基于单片机的智能家居控制系统的设计 一.设计要求 (一)基本功能 (1)家居内无人时, 切断所有家电的220V 电源, 既消除了各种电器的待机能耗, 又避免了因供电异常、屋内漏水等不可预知事件损坏电器的危险。 (2)通过预设时间和时长控制娱乐性家电, 避免了孩子在家因过度娱乐而延误学习。 (3)所有电器的电源都直接通过系统控制进行供电 / 断电, 在使用电器时无需插拔电源插头, 避免 了因经常插拔电源插头而造成接触不良及触电的危险。 (4)根据预设室内温度和湿度对空调和加湿器自动进行启/ 停控制, 以达到最佳舒适度。 (5)各电器的工作状态在主控面板上以LED直观显示, 并通过键盘集中控制电器, 例如在观看电视时可随手打开/ 关闭厨房电灶。 (6)远程控制家电的启动操作。 (7)设定/ 显示日期、时间、星期及定时叫醒服务。 (8)为避免煤气中毒设置了一氧化碳及燃气报警。 (9)烟感和水感可及时发现家居内的水、火灾并报警。 (10)通过门磁和窗户红外线完成防盗报警。 (二)扩展功能加入住宅配房安全防盗报警功能和住宅门禁系统功能。 二.计划完成时间三周1.第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。2.第二周完成软件的具体设计和硬件的制作。 3.第三周完成软件和硬件的联合调试。

目录 1引言 (3) 2总体设计方案 (3) 2.1设计思路 (3) 2.1.1方案确立 (3) 2.2 总体设计框图 (3) 3设计原理分析 (4) 3.1传感器模块的设计 (4) 3.1.1烟感传感器 (4) 3.1.2门磁、红外探测器 (4) 3.1.3热释电传感器 (4) 3.2矩阵键盘模块 (4) 3.3单片机最小系统 (5) 3.4显示模块 (5) 3.5 输出部分 (6) 4总结与体会 (6) 参考文献 (6) 附录一程序流程图 (7) 附录二程序列表 (8)

基于单片机的简易计算器设计

2013 - 2014 学年_一_学期 山东科技大学电工电子实验教学中心 创新性实验研究报告 实验项目名称__基于51单片机的简易计算器设计_ 2013 年12 月27 日

四、实验内容

2、实验内容 (一)、总体硬件设计 本设计选用AT89C52单片机为主控单元。显示部分:采用六位LED动态数码管显示。按键部分:采用2*8键盘;利用2*8的键盘扫描子程序,读取输入的键值。 (二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用两条I/O 线作为行线,八条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为2×8个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口和另一个P口的两个管脚实现16个按键功能,这种形式在单片机系统中也最常用。 矩阵键盘布局图: 矩阵键盘内部电路图如下图所示:

(三)、LED显示模块 本设计采用LED数码显示来显示输出数据。通过D0-D7引脚向LED写指令字或写数据以使LED实现不同的功能或显示相应数据。 (四)运算模块(单片机控制) MCS-51 单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以很快地实现运算功能。

相关文档
相关文档 最新文档