MCS-51单片机实验指导书-西华大学Word格式.docx

上传人:wj 文档编号:346617 上传时间:2023-04-28 格式:DOCX 页数:39 大小:691.88KB
下载 相关 举报
MCS-51单片机实验指导书-西华大学Word格式.docx_第1页
第1页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第2页
第2页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第3页
第3页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第4页
第4页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第5页
第5页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第6页
第6页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第7页
第7页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第8页
第8页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第9页
第9页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第10页
第10页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第11页
第11页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第12页
第12页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第13页
第13页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第14页
第14页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第15页
第15页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第16页
第16页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第17页
第17页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第18页
第18页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第19页
第19页 / 共39页
MCS-51单片机实验指导书-西华大学Word格式.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MCS-51单片机实验指导书-西华大学Word格式.docx

《MCS-51单片机实验指导书-西华大学Word格式.docx》由会员分享,可在线阅读,更多相关《MCS-51单片机实验指导书-西华大学Word格式.docx(39页珍藏版)》请在冰点文库上搜索。

MCS-51单片机实验指导书-西华大学Word格式.docx

LCD_RS4

C110uF

S1

RESET

R6

VO

RS

5RWRELAY

S8

1

SWDIP-2

4LED_PWR2

3

10

BELLR4

1K

BELL1

T1

9012

U11602

6

EDB0DB1DB2DB3DB4DB5DB6DB7BL_ABL_K

SP3485GND

R3510K

R7

200

10K

GND

W1104

VCC

2VDD

P007

P018

P029

P0310

P0411

P0512

P0613

P0714

15

16

R9

RS-485与与

与与与与

与与与

1602与与与与

a

VCCS7

图1.2实验板电路原理图

4

R1

470D1

R3

LED1

LED2

J3LED1

5

7

8

LED2

IC1

1P1.0

1Kx8

38

37

P0.039

RP1

bcdefg

dp

P00P01

VCCJ48

8P06

4P00

3P01

1P03

2P02

9P07

6P04

7P05

LED1

DA_OUT2

3

D10

470D2

R5

LED3

S2

KEY1

LED3LED4LED5

P1.1

P1.2P1.3P1.4

P0.1

36

35

P0.2P0.3P0.4

P027

P036

P045

R301K

470D3

R8

LED4

S3

KEY2

LED6

LED7LED8

RESET

6P1.5

7P1.6

8P1.7

9

P0.534

P0.633

P0.732

22

21

P05

G1

G2

P06

P071

J5

470D4

R10

LED5

GNDS4

J6RXD

24

10P3.0/RXD

P2.0P2.1

KEY28

12

TXD11

P2.223

KEY3

KEY4

R14

R15

470D5

ADC_DI

P3.1/TXD

14

P3.2/INT0

P2.3

27

25

S2

28

P2.4

RELAY5

1010

R11

LED6S5

RE_DE

17

NUM_COUNT

13P3.3/INT1

P2.526S13

T2T3

470D6

R12

LED7

KEY4

LCD_RS

Freq18B20

P3.4/T0P3.6/WRP3.5/T1P3.7/RD

P2.6P2.7

BELL2

R161K

R171K

470D7

R13

LED8

C230P

18X2

EA/VP31

LED_PW

S2S1

470D8

C330P

X119X1

ALE/P30

PSEN29

LED与与与与与

STC89C52与与与与

与与与与与

R29

RXD

R28GND

10KU5

TXDRS232

VCC1

VCCU6

VCCU4

U3VCCR181K

2GND

VCC15

J101

DA_OUT

8VDD

7OUT

6REFIN

DIN1LED1SCLK2LED2CS3LED3

1LED6

7LED7

6LED8

GND1

DQ2

VDD3

18B20

U2VCCGND

VCCWPSCLSDA

A0A1A2GND

7

P1

GND1

D+2

C6

10445

RXDV3UD+

RTS#14

DTR#13

DCD#12

CON2

GNDR311K

R321K

5AGNDDOUT4

TLC5615

VDDCH0CH1GND

CSCLKD0D1

CH0

CH1

5ADC_DI

4

24C02GND

6LED4

5LED5

D-3

VCC4

USB_1

GNDR27VARISTOR

C720P

12MX2C820P

6UD-

7XI

8XO

CH340G

RI#11

DSR#10

CTS#9

18B20与与与与与

EEPROM与与与

USB与与与

W2104

U7LM331

204

CH13

IC2A

Freq

R2310K

1OUT

2CREF

3FOUT

VCC8

CMPRC7

THR6

R22200

CH1

C4100uF

C5104

VCC1

C13

C11

S6

R21

1KD9

R19IC3

R20

1NUM_COUNT

R264

5R25

R24C9

100uF104

32CH02

10K

R/C

100K1uF

C10

J8J9

14C12

6.8K

104

104

V/F与与

与与与与与与

与与与与与与与与

与与与与

fo=(Vin×

R26)/(2.09×

R24×

R25×

C12)=Vin*70.3Hz

1.3USB转串口驱动的安装

安装步骤如下:

(1)双击如图1.3所示的可执行文件

图1.3驱动安装图标

(2)双击后会弹出如图1.4所示的对话框,所有值保持默认值,鼠标单击INSTALL按钮,此时对话框会变成如图1.5所示,INSTALL和UNINSTALL变为灰色。

这时我们需要等待一段时间,等两个按钮变成和图4一样(即INSTALL和UNINSTALL不为灰色),驱动安装完毕。

图1.4 驱动安装窗口

图1.5 驱动正在安装窗口

(3)在我的电脑图标上单击右键,选择管理,在弹出的对话框中单击设备管理器,展开端口即可以看到实验板对应的串口号,如图1.6所示。

图1.6 驱动正确安装

1.4下载软件的使用

在windows下运行STC_ISP.EXE,界面和操作步骤如图1.7所示

图1.7 ISP界面

2.单片机实验

实验1红黄绿灯控制

1.实验目的

(1)学习KeilC51集成编译软件的使用和调试程序方法。

(2)学习将用户程序下载到应用系统的方法。

(3)掌握STC89C52单片机的I/O端口的控制和使用方法。

2.实验内容

(1)编写程序要求:

利用单片机的P1.0,P1.1,P1.2控制3个LED灯,模仿控制交通灯(红灯亮4秒,黄灯亮2秒,,黄灯和绿灯同时亮1秒,绿灯亮4秒,如此循环)。

3.实验电路

见图1.2

4.实验参考程序

延时4S

绿灯亮

延时1S

黄、绿灯亮

延时2S

黄灯亮

红灯亮

(1)程序流程图

(2)C语言参考程序

#include"

reg52.h"

#defineucharunsignedchar#defineuintunsignedint

/*定义红黄绿灯对应的单片机引脚*/sbitGreen_LED =P1^0;

sbitYellow_LED=P1^1;

sbitRed_LED =P1^2;

/*毫秒延时函数*/

voiddelay_ms(uintnum)

{

uchari;

while(num--)

for(i=0;

i<

123;

i++);

}

/*主函数*/voidmain()

while

(1)

Red_LED=0;

Yellow_LED=1;

Green_LED=1;

delay_ms(4000);

Red_LED=1;

Yellow_LED=0;

delay_ms(2000);

Green_LED=0;

delay_ms(1000);

(3)汇编语言参考程序

ORG0000HSJMPMAINORG0030H

MAIN:

CLRP1.2

;

红灯亮4S

SETBP1.0

绿灯灭

SETBP1.1MOVR0,#40

ACALLDELAY

黄灯灭

M ;

自己编写

DELAY:

MOVA,R0

延时程序,R0=10,延时1S

DELAY3:

MOVR5,A

MOVR6,#XXH

XX的数值自己计算填写

DELAY2:

MOVR7,#XXH

DELAY1:

DJNZR7,DELAY1

DJNZR7,DELAY1DJNZR7,DELAY1RET

END

5.实验步骤

(1)根据实验原理图编写程序,用“KeiluVision4”编译软件进行编译,如未通过,则修改程序,直至通过。

(2)用STC-ISP.EXE软件将所编写程序生成的“HEX”文件下载到实验板STC89C52芯片中

(3)运行程序,观察实验板上的红,黄,绿三个LED灯的亮灭次序和时间是否符合实验内容要求,如果不符合要求,改写程序,按照步骤

(1)开始重新做实验,直至成功。

6.思考题

(1)怎样计算延时子程序的延时时间?

(2)如何计算与LED连接的电阻阻值?

(3)如何用89C52单片机的I/O口控制继电器?

画出电路原理图。

(4)根据实验板原理图,编写一段8个LED循环闪烁的流水灯程序。

7.实验报告要求

(1)画出本实验相关的原理图。

(2)回答思考题中的题目。

(3)总结本次实验,简述自己的感想。

实验2键盘LED数码管显示

掌握独立键盘,LED数码管的电路连接方法和编程方法。

(1)编写程序,按下S2,S3,S4,S4任何一个按键的时候,蜂鸣器都鸣叫,松开按键的时候蜂鸣器停止鸣叫。

(2)开始的时候,数码管左边位不显示,右边位数码管显示数值0,每按一次S4按键,数码管显示值加1,直至9,再循环从0显示到9。

(1)C语言参考程序

/*蜂鸣器引脚定义*/sbitBeep=P2^7;

/*数码管位选引脚定义*/sbitS2 =P2^6;

sbitS1 =P2^5;

/*按键引脚定义*/sbitKey1=P2^0;

sbitKey2=P2^1;

sbitKey3=P2^2;

sbitKey4=P2^3;

/*数码管数字0~9段码*/ucharcodeNum[10]={

0x30,/*0*/

0xFC,/*1*/

0xA2,/*2*/

0xA4,/*3*/

0x6C,/*4*/

0x25,/*5*/

0x21,/*6*/

0xBC,/*7*/

0x20,/*8*/

0x24,/*9*/

};

/*LED数码管显示*/

voidLED_DispNum(ucharnum)

S1=0;

S2=1;

P0=Num[num];

/*按键扫描*/ucharKeyScan()

ucharkeyval;

if((Key1==0)||(Key2==0)||(Key3==0)||(Key4==0))

delay_ms(10);

if(Key1==0)

keyval=1;

elseif(Key2==0)keyval=2;

elseif(Key3==0)keyval=3;

elseif(Key4==0)keyval=4;

Beep=0;

while((Key1==0)||(Key2==0)||(Key3==0)||(Key4==0));

Beep=1;

elsekeyval=0;

returnkeyval;

ucharDispNum=0;

ucharKeyval;

while

(1)

Keyval=KeyScan();

if(Keyval==4)

if(DispNum<

9)DispNum++;

else

DispNum=0;

LED_DispNum(DispNum);

(2)汇编语言参考程序

BEEPEQUP2.7

S1 EQUP2.5

S2EQUP2.6KEY1EQUP2.0KEY2EQUP2.1KEY3EQUP2.2KEY4EQUP2.3

蜂鸣器

数码管位个位

数码管位十位

按键1

按键2

按键3

按键4

ORG0000H

SJMPMAIN

ORG0030H

MOVR0,#00H

CLRFO

按键4按下标志位F0=1

CLRS1

SETBS2

ACALLDISNUM

数码管显示子程序

LOOP:

ACALLKEYSCAN

按键扫描

JNBF0,LOOPINCR0

CLRF0

CJNER0,#10,LOOP1MOVR0,#00

LOOP1:

ACALLDISNUM

SJMPLOOP

DISNUM:

MOVDPTR,#TAB ;

MOVCA,@A+DPTRMOVP0,A

RET

KEYSCAN:

JBKEY1,K2 ;

按键扫描子程序ACALLDELAY ;

延时防止抖动JBKEY1,K2

CLRBEEPJNBKEY1,$SETBBEEP

K2:

.....

.....

K3:

K4:

JBKEY4,K5ACALLDELAYJBKEY1,K5CLRBEEPSETBF0

JNBKEY1,$SETBBEEP

K5:

RET

....... ;

延时10秒子程序

.......

TAB:

DB30H,0FCH,0A2H,0A4H,6CH,25H,21H,0BCH,20H,24HEND

(3)运行程序,按下实验板上的S2,S3,S4,S5按键,听蜂鸣器是否会鸣叫。

按下S5键的时候观察数码管上的数字是否从0~9循环变化。

(1)如何编程实现按键长按和短按的识别?

(2)如果没有电路图,如何编程来找出LED数码管的段码?

(1)画出本实验相关的电路图。

(2)写出调试成功的程序。

(3)回答思考题

实验3定时器中断实验

掌握MSC-51定时器的使用方法。

(1)使用定时器中断方式做一个显示00~99的秒钟,每秒增加1;

/*数码管数字编码*/ucharcodeNum[10]={

ucharCountNum=0;

ucharDispNum=0;

ucharGe=0,Shi=0;

ucharDispState=1;

0x30,/*0*/

/*定时器初始化*/voidTimer0_Init()

TMOD=0x01;

//定时器0为方式1TH0=0xDB;

//每10MS进入一次中断TL0=0xFF;

ET0=1;

TR0=1;

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

当前位置:首页 > 经管营销 > 经济市场

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

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