基于STC89C52单片机的人机接口的设计Word格式文档下载.docx

上传人:聆听****声音 文档编号:322635 上传时间:2023-04-28 格式:DOCX 页数:15 大小:212.04KB
下载 相关 举报
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第1页
第1页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第2页
第2页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第3页
第3页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第4页
第4页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第5页
第5页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第6页
第6页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第7页
第7页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第8页
第8页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第9页
第9页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第10页
第10页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第11页
第11页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第12页
第12页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第13页
第13页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第14页
第14页 / 共15页
基于STC89C52单片机的人机接口的设计Word格式文档下载.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于STC89C52单片机的人机接口的设计Word格式文档下载.docx

《基于STC89C52单片机的人机接口的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于STC89C52单片机的人机接口的设计Word格式文档下载.docx(15页珍藏版)》请在冰点文库上搜索。

基于STC89C52单片机的人机接口的设计Word格式文档下载.docx

液晶显示

4键盘

图2-1基于STC89C52单片机的人机接口的系统结构

2.2功能描述

人机接口是人与机器之间传递、交换信息的媒介和对话接口,是单片机系统的重要组成部分。

是指人和单片机系统在信息交换和功能上接触或相互影响的领域。

人机接口的应用无处不在,如在温度的测试及监控系统中,人通过键盘输入要设定的温度值,系统通过数码管或液晶显示当前的温度。

这样就通过人机接口完成了人与单片机之间的信息交流。

正因为人机接口运用如此广泛及它在实现人机交流的地位的不可或缺,故设计一个高性能的人机接口具有巨大的意义。

此设计是基于51单片机的人机接口,通过51单片机和12864液晶来实现人机信息交流。

利用51单片机的IO口实现键盘输入,通过串行通信控制液晶显示。

2.3单片机开发板原理及各部分功能说明

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。

不过,这种电脑,通常是指个人计算机,简称PC机。

它由主机、键盘、显示器等组成。

还有一类计算机,大多数人却不怎么熟悉。

这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。

顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。

因为它体积小,通常都藏在被控机械的“肚子”里。

它在整个装置中,起着有如人类头脑的作用,

它出了毛病,整个装置就瘫痪了。

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械了。

因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

51系列单片机是各单片机中最为典型和最有代表性的一种。

这次课程设计

通过对它的学习,应用,从而达到学习、设计、开发软件的能力。

1 2 3 4 5 6 7 8

P112864

P

P21602

J3EN_1602

123

12345678911111111112

01234567890PORT

1234567819111111

0123456

1

CD

C01201234567345C

CD

2

CDD

VN11100000000111VN

C010123456C7 2

D

PGPPPPPPPPPPPPPPPG

VN11N0000000V0NNN1

PR3

10K

PGPPEPPPPPPPPPGGEP

1KPR1

MC1

VCCGND

DVCC1

PR44K7

DDIGI

104

MU1AT89S52

VCC

P101P1.0(T2)

P112P1.1(T2EX)

(AD0)P0.039P00

P123P1.2

P13 4

(AD2)P0.237P02

36P03

IP1

P15MOSI1

3

MR1

4

5

6

EDQ1

DQ2 DQ3

85508550

DQ4 DQ5 DQ6 DQ7 DQ88550855085508550 8550

(AD1)P0.138P01

2B 8550

RST5

P17

SCK7

P16MISO9

ID1

2 VCC

61N4148

8

10GND

P145P1.3

P156P1.4

(AD3)P0.335P04

DR1CDR2 DR3 DR4 DR5 DR6 DR7 DR84K7 4K7 4K7 4K7 4K7 4K7 4K7 4K7

P167P1.5(MOSI)

(AD4)P0.434P05

(AD5)P0.533P067 0

P178P1.7(SCK)

P1.6(MISO)

(AD6)P0.6

(AD7)P0.732P07

81P

9

11

W1PDS2

22

W1P

33

W1P

44 55 66 77 8

W1P W1P W1P W1PDS1

W

P3313P3.3(INT1)

(A8)P2.021P204K7x8D111a

A112W8D111a

A112W4

ISP

P3212P3.2(INT0)

P35 15

(A9)P2.122P21

23P22

D27bDIG1DIG2DIG3DIG4A29W7D27bDIG1DIG2DIG3DIG4A29W3

D34

P3414P3.5(T1)

(A10)P2.224P23

(A11)P2.325P24

D42c

DP3

D51d

A4

A36W5D42c

8W6D34

e

A36W1

8W2

SSerial

P3.4(T0)

(A12)P2.4

(A13)P2.526P25

D610

D610e

DP2

SC5104

SC3104

VCC31EA/VPP

(A14)P2.627P26

(A15)P2.728P27

D75g

SCON1

26

C

7

SC4SU110413

OSC_OUT18

RST 9

OSC_IN19XTAL1

XTAL2

VCC20GND

40VCC

D83DP

HDSP-B04E

8R2INVCR2OUT9P30

R1IN+CVR1OUT

12

RST

(RXD)P3.0

GND10P30

(TXD)P3.111P31

LVCC

LLED

DR9

P3110T1IN

11

V

14

P37 17

30

D1DR10P00

JP1

D2 P01LVCC

1T2IN T2OUT 4

T1OUT7T2OUTP3616P3.7(RD)

P3.6(WR)

ALE/PROG 29

PSEN

D3D1KR11P02DVCC12VCC

LQ18550

2T2OUT

3C1+D C2+ 5

LED1LED2LED3LED4LED5LED6LED7LED8

D41DKR12P03PVCC234VCC

6 SC1

C1-N C2-

G

1DKR13 5 6

D5 P04PVCC1 VCC

D61DKR14P05

1 104MAX232

SC2104

1DKR15

78

HEADER4X2

LR04K7

RS232

MP1

P0

12345678

D71KP06

D8DR16P07

P07

P06P05

P04P03

P02P01

P00

MP4

P3

P37

P36P35

P34P33

P32P31

P30

DDDDDDDD

1K

7C

2L

E

K

MK1

RESETMC410U/16V

MR24K7

EC1

EVCCGNDEVCC

KEY

EEPROM104EU1

P31

P32

P33

K11

K12

K13

K14

1 8

2A0VDD 7

3A1WP6P25

ER1ER2

4K74K7

SW-PB4

65

PCON1

D-2

B

1VCC2POWER

O

MP2

P1

P16P15

P14P13

P12P11P10

MP3

P2

4A2SCL5P26

P27

P26P25

P24P23

P22P21P20

VSSSDA

24C08

P34

K21

K22

K23

K24

GND 4

D+ 3

3GND

2GND

VBUS1VCC1

UCON1USB

TRTC

TC1

TVCCGND

TX1

OSC32OUTOSC32IN

P35

K31

K32

K33

K34

T

N

U

32K

SW1 5

R11K

_C

P36

SO

TU1

K41

K42

K43

K44

TVCC1 8BAT

VCC11

PWR

C1C2

220U/16V 104

VCC2VCC1

X1

OSC32IN2 7P22

JP2 OSC32OUT3X1SCLK6P23

SW-PB4P37

VCC23

P21

POWER-KEY

12M

P20

12DS1

BEEP

GND4X2I/O5P24

MC2TVCC VCC

56

GNDRSTDS1302

P32K1

MC330P

34 K2

K3

K4

30PEVCC VCC

DS

DS18B20

SW-PB4GND

BQ18550

BR14K7

BU1

DSR1DSU14K7

BEEP DS1

IR1

100IU1P32

3 2

IR38K

JP31

IR38K 2

CON2

A

IR38K

Title

图2-2单片机原理图



SizeA3

Number Revision

Date:

12-Jul-2010 SheetofFile:

H:

\实习制作电路板\syb51制版.ddbDrawnBy

图2-3STC89C52引脚图

3.设计方案

3.1硬件调试

3.1.1调试过程

硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。

具体步骤及测试结果如下:

(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,测试结果所有连接线都已连接好;

(2)检验STC89C52单片机的晶振是否起振,用示波器观察波形,测试结果波形都很好;

(3)检查各芯片的功能是否正常,检测按键的导通情况。

测试结果正常。

3.1.2接口定义

表一、基于STC89C52单片机的人机接口接口定义表格

功能/定义

I/O口

P1.0~P1.7P2.0P2.1

TO

T0中断

键盘行输出列输入

12864的数据输入口

12864的时钟输入口

定时器

中断

初始值为50000,定时50ms

计时到50ms产生中断,用于更新液晶显示

3.1.3硬件结构图

图3-1基于52单片机的人机接口接口定义表格

图3-2基于52单片机的人机接口的硬件结构图

3.2软件开发

3.2.1程序流程图

开始

初始化

键值是否更

显示更新的键

图3-3基于STC89C52单片机的设计

图3-4总设计图

3.2.2具体程序设计

#include<

reg51.h>

#include<

intrins.h>

#defineKeyROCISegCodeO P1 /*定义键盘行输出列输入*/#defineNumRow 4 /*定义键盘行数为4*/

#defineNumColumn4 /*定义键盘列数为4*/#defineunitunsignedint

#defineucharunsignedcharsbitSID=P2^0;

sbitSCLK=P2^1;

voiddelay(uchartime)/*延时函数*/

{uchari,j;

for(i=0;

i<

time;

i++)for(j=0;

j<

255;

j++);

}

ucharKeyBoardScan() /*键盘扫描函数*/

{ucharrow,RowCode,column,ColumnState;

/*行循环、行码、列循环、列状态

*/

KeyROCISegCodeO=0xf0;

/*键盘行线均输出0*/if((KeyROCISegCodeO|0x0f)!

=0xff)

{/*有键按下*/

delay(12);

/*消抖延时约10ms(fosc=12MHz)*/

{/*确实有键按下,寻找是哪个键*/RowCode=0xfe;

/*指向第1行*/

for(row=0;

row<

NumRow;

row++) /*扫描共NumRow行*/

{KeyROCISegCodeO=RowCode;

/*当前行*/ColumnState=KeyROCISegCodeO|0x0f;

/*获取列状态*/for(column=0;

column<

NumColumn;

column++) /*查询共NumColumn

列的状态*/

if((ColumnState|0x7f)==0x7f)

{while((KeyROCISegCodeO|0x0f)!

=0xff);

/*等待键释放*/return(row*NumColumn+column);

/*返回键值*/

else

ColumnState=_crol_(ColumnState,1);

/*指向下一列*/RowCode=_crol_(RowCode,1);

/*指向下一行*/

return(NumRow*NumColumn);

/*返回无键值*/

voidsend_command(ucharcommand_data) /*串口写指令函数*/

{

uchari;

uchari_data;

i_data=0xf8;

SCLK=0;

for(i=0;

8;

i++)

SID=(bit)(i_data&

0x80);

SCLK=1;

i_data=i_data<

<

1;

i_data=comman_data;

i_data&

=0xf0;

for(i=0;

i_data<

=4;

voidsend_data(ucharcommend_data) /*写数据函数*/

uchari;

i_data=0xfa;

voidlcd_init(void) /*液晶初始化函数*/

delay(120);

write_c(0x30);

//基本操作write_c(0x01);

//清屏操作

write_c(0x06);

//游标及显示右移一位write_c(0x0C);

//整体显示开 反白关

voidLCD_LOCATION(ucharx,uchary) /*地址选择函数*/

unsignedcharpos;

if(x==0){x=0x80;

elseif(x==1){x=0x90;

}elseif(x==2){x=0x88;

elseif(x==3){x=0x98;

}pos=x+y;

write_commend(pos);

vo

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2