微机原理实训指导书.docx

上传人:b****3 文档编号:5264981 上传时间:2022-12-14 格式:DOCX 页数:33 大小:422.37KB
下载 相关 举报
微机原理实训指导书.docx_第1页
第1页 / 共33页
微机原理实训指导书.docx_第2页
第2页 / 共33页
微机原理实训指导书.docx_第3页
第3页 / 共33页
微机原理实训指导书.docx_第4页
第4页 / 共33页
微机原理实训指导书.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

微机原理实训指导书.docx

《微机原理实训指导书.docx》由会员分享,可在线阅读,更多相关《微机原理实训指导书.docx(33页珍藏版)》请在冰豆网上搜索。

微机原理实训指导书.docx

微机原理实训指导书

 

《单片机编程实训》指导书

 

系别:

机电工程系

适用班级:

楼宇081

系主任:

李鸣

教研室主任:

常晓玲

指导教师:

王芳楷、毛诗柱

实训时间:

2010年9月

 

广东轻工职业技术学院机电工程系

电气教研室

《微机原理实训》任务书

1.课程设计的目的

(1)掌握KeiluVision2集成开发环境的使用方法

(2)巩固和加深“单片机原理及应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,为以后从事生产和科研工作打下一定的基础。

2.课程设计内容

根据时间安排,两周的实训主要通过以下两个阶段进行:

一基本实验

(1)单灯受控闪烁

(2)P1口外接8只LED发光二极管模拟彩灯

(3)电子琴实验,主要掌握定时器和键盘扫描的工作方法和编程

(4)串转并的I/O口实验,掌握串转并的I/O口扩展方法,为第五个实验服务。

(5)8

8LED扫描输出实验,利用单片机的I/O口进行LED点阵的扫描显示

二课程设计

LCD液晶显示模块显示图形和汉字设计

要求:

将学生自己的学校、系别、班级在ZY12864D图型点阵液晶上显示出来

    1.熟悉ZY12864D图型点阵液晶的工作原理及指令系统,了解图型液晶和单片机接口电路的设计,画出原理图

2.了解汉字和数字字库字模的提出方法,以及字模的存储方法。

3.完成设计报告:

编写相应功能程序,包括软件流程图,并附程序清单,和电路原理图

3.实训要求

1)提前预习实验内容,熟悉KeiluVision2集成开发环境和Proteus仿真软件的使用。

2)编写实验程序,按指导书要求进行仿真。

3)完成课程设计报告的书写。

4.课程设计报告要求

(1)画出程序设计框图及硬件实验连接图。

(2)写出程序清单,并给关键语句添加注释。

(3)记录设计过程中观察到的结果、发现的问题的解决办法。

5课程设计考核办法

(1)设计报告条理清楚、内容充实、线路图清晰、准确(30%)

(2)程序语句注释正确、实验结果准确(20%)

(3)考核答辩(30%)

(4)爱护实验设备、遵守纪律、学习态度(20%)

6.具体安排

1)每三人或四人一个小组,共同完成编程和调试。

2)第1周主要熟悉实训设备,参考例程,掌握基本的编程和调试方法.

3)第2周按给定的题目进行设计,要求课余时间编程和完成设计报告

附录一 基本实验指导

(一)闪烁的发光管

1.实验目的:

熟悉mcs-51单片机的内部结构,掌握mcs-51单片机各组成部分的功能和特点。

2.实验设备及条件:

IBMPC机一台,DP-51PRO单片机综合仿真实验仪一台,频率计一台.

3.实验内容

单片机上电工作时,8个灯闪烁(由亮变为灭,或由灭变为亮)。

4.硬件电路与工作原理

从图上可以看出,当P1.0~P1.7中某个引脚输出低电平时,则发光二极管上有电流流过,发光二极管发光,否则,当对应引脚为高电平时,发光二极管上无电流流过,发光二极管熄灭。

5.实验参考程序

Org0000h

LOOP:

SETBP1.0    ;(1)

    LCALLDELAY  ;(2)

    CLRP1.0    ;(3)

    LCALLDELAY  ;(4)

    AJMPLOOP   ;(5)

;以下子程序

DELAY:

MOVR7,#250  ;(6)

D1:

MOVR6,#250   ;(7)

D2:

DJNZR6,D2   ;(8)

  DJNZR7,D1    ;(9)

  RET        ;(10)

  END        ;(11)

 

(二)P1口外接8只发光二极管模拟彩灯

1、实验目的:

掌握MCS-51单片机的数据传送指令的功能及MCS-51单片机的寻址方式。

2、实验设备及其条件:

IBMPC机一台,DP-51PRO单片机综合仿真实验仪一台,频率计一台。

3、实验内容:

利用P1口外接的8只LED发光二极管模拟彩灯。

常见的彩灯模式有:

流水式彩灯、追逐式彩灯、累积式彩灯、开幕式与闭幕式彩灯以及将上述模式组合而成的复合式彩灯。

大多数的彩灯都是采用单片机控制的,简单的彩灯单片机的控制程序也较为简单,复杂的彩灯单片机控制程序也较为复杂。

4、实验电路和工作原理

当P1.0~P1.7中的某端口为低电平时,对应的发光二极管亮,为高电平灭。

我们只要控制P1口各位的电平状态,就可以控制8只LED的亮与灭。

例如使(P1)=B=55H,D7、D5、D3、D14只LED亮,D6、D4、D2、D04只LED灭,从效果上看亮与灭是相间隔的;反之,使(P1)=B=AAH,则另外4只LED亮,若反复以一定时间间隔不断从P1口轮流输出55H和AAH,则P1口上8只LED会呈现流水彩灯的效果。

5、实验程序

1)将立即数送P1口的程序

ORG0000H;定义程序从程序存贮器0000H单元开始存放

LOOP:

MOVP1,#55H;立即数55H送P1口,4只LED亮

SJMPLOOP;原地踏步

END;程序结束

2)通过累加器A控制P1口的程序

ORG0000H

LOOP:

MOVA,#0AAH;将立即数AAH送累加器A

MOVP1,A;累加器A中的数送P1端口

SJMPLOOP;转移到LOOP

END

3)流水式彩灯程序

开始

55H送P1口

延时0.3秒

AAH送P1口

延时0.3秒

流水式彩灯程序流程图

ORG0000H

LOOP:

MOVP1,#55H

;将立即数55H送P1端口

LCALLTIME;调延时子程序TIME

MOVP1,#0AAH

;将立即数AAH送P1端口

LCALLTIME;调延时子程序TIME

SJMPLOOP;转移到LOOP

TIME:

MOVR6,#200;延时子程序TIME

TIME1:

MOVR7,#200

TIME2:

NOP

NOP

NOP

DJNZR7,TIME2

DJNZR6,TIME1

RET

END

4)开幕式与闭幕式彩灯程序

ORG0000H

LJMPMAIN;跳转到主程序

ORG0030H

MAIN:

MOVR0,#8;R0送循环次数8

MOVDPTR,#TAB;给数据指针赋值

LOOP:

MOVA,#00H;

MOVCA,@A+DPTR

MOVP1,A

LCALLTIME

INCDPL

DJNZR0,LOOP

SJMPMAIN

TIME:

MOVR6,#200

TIME1:

MOVR7,#200

TIME2:

NOP

NOP

NOP

DJNZR7,TIME2

DJNZR6,TIME1

RET

TAB:

DB81H,0C3H,0E7H,0FFH,18H,3CH,7EH,0FFH

END

(三)电子琴实验

1、实验目的

利用实验仪上提供的K1-K7作为电子琴按键,控制蜂鸣器发声,使用户了解计算机的发声原理,熟悉定时器和键盘扫描电路的工作原理和编程方法。

2、实验设备及条件

IBMPC机一台,DP-51PRO单片机综合仿真实验仪一台,频率计一台.

3、实验内容

1)编写一段程序,用p3.3口控制(输出7种音阶标称频率的方波),使D4区的蜂鸣器发出不同的音调.程序检测按键的状态,当某一键按下时蜂鸣器发出对应的音调.

2)按照歌曲的音调,使用D1区的按键K1-K7,弹奏一首简单的音乐.

4、实验步骤

1)用导线将A2区J58接口P3.3口(INT1)和D4区的J8接口相连,然后将D1区的J53接口和A2区的J61接口一一对应相连.

2)编写按键的动态键盘扫描程序,根据不同音阶的频率编写蜂鸣器的音调控制程序,然后完成电子琴的主程序设计.

3)调试编写好的程序,使用频率计校准音阶的频率,然后使用键盘演奏一段好听的音乐.

5、实验参考程序

BUZZEQUP3.3;端口定义

ORG8000H

LJMPMAIN

ORG800BH

LJMPINT_T0

ORG8100H

MAIN:

MOVSP,#60H;初始化堆栈指针

MOVP1,#0FFH;设置P1口为输入模式

MOVTMOD,#01H;设置定时器0为工作模式

SETBET0;开定时器0中断

SETBEA;开总中断

CLRTR0;关闭定时器

START:

MOVR0,P1

CJNER0,#0FFH,KEY1;键盘扫描

CLRTR0

SJMPSTART

KEY1:

CJNER0,#0FEH,KEY2;K1键按下

MOV30H,#0FBH;设置音阶1

MOV31H,#0E9H

LJMPSET_TIMER

KEY2:

CJNER0,#0FDH,KEY3;K2键按下

MOV30H,#0FCH;设置音阶2

MOV31H,#5CH

LJMPSET_TIMER

KEY3:

CJNER0,#0FBH,KEY4;K3键按下

MOV30H,#0FCH;设置音阶3

MOV31H,#0C1H

LJMPSET_TIMER

KEY4:

CJNER0,#0F7H,KEY5;K4键按下

MOV30H,#0FCH;设置音阶4

MOV31H,#0EFH

LJMPSET_TIMER

KEY5:

CJNER0,#0EFH,KEY6;K5键按下

MOV30H,#0FDH;设置音阶5

MOV31H,#045FH

LJMPSET_TIMER

KEY6:

CJNER0,#0DFH,KEY7;K6键按下

MOV30H,#0FDH;设置音阶6

MOV31H,#092H

LJMPSET_TIMER

KEY7:

CJNER0,#0BFH,NOKEY;K1键按下

MOV30H,#0FDH;设置音阶1

MOV31H,#0D6H

SET_TIMER:

SETBTR0;发声

SJMPSTART

NOKEY:

CLRTR0;无键按下

SJMPSTART

INT_T0:

MOVTH0,30H;定时器赋初值

MOVTL0,31H

CPLBUZZ;输出方波

RETI

END

(四)串转并的I/O实验

1、实验目的

熟悉并掌握串转并的I/O扩展方法.

2、实验设备及器件

IBMPC机一台,DP-51PRO单片机综合仿真实验仪一台

3、实验内容

1)编写程序,通过单片机的P1口控制74HC164的串口实现串并转换.

2)验证串转并转换数据的正确性.

4、实验要求

熟悉串转并转换芯片的工作原理,学会使用串转并转换芯片扩展单片机的I/O口资源.

5、实验步骤

1)短接C5区JP10接口,将C5区J43接口与A2区J61接口的P10-P13对应相连,.

2)运行编写好的软件程序,完成一次串并转换.

3)使用C2区的逻辑笔或D1区的J52接口(LED)指示灯测试并行输出数据Q0-Q7数据的正确性.

6、实验预习要求

认真阅读本实验内容,提前作好准备工作。

7.实验参考程序

CLKEQUP1.0

DINAEQUP1.1

DINBEQUP1.2

CLR164EQUP1.3

ORG8000H

LJMPMAIN

ORG8100H

MAIN:

MOVSP,#60H;设置堆栈指针

NOP;设置以下端口的初始状态

CLRCLK;CLK=0

SETBDINB;DINB=1

CLRCLR164;CLR=0输出端口清零

SETBCLR164;CLR=1

MOVA,#0AAH;用户数据初始化

MOVR4,#08H

SLCHG:

RLCA

MOVDINA,C;串行输出一位数据

SETBCLK;置位时钟

NOP

CLRCLK

NOP

DJNZR4,SLCHG

SJMP$;程序结束完成一次串并转换

;

END

(五)8

8LED扫描输出实验

1、实目的

学会利用单片机的I/O口进行LED点阵的扫描显示,掌握综合应用程序的设计与分析方法,掌握运用开发系统调试应用程序的基本方法。

2、实验设备

IBMPC机一台、DP-51PRO单片机综合仿真实验仪一台。

3、实验原理

1)8×8LED点阵简介

8×8LED点阵的外观及引脚图如图1所示,其等效电路图如图2所示。

图2中只要各LED处于正偏(Y方向为1,X方向为0),则对应的LED发光。

如Y7(0)=1,X7(H)=0时,则其对应的右下角的LED会发光。

各LED还需接上限流电阻,实际应用时,限流电阻即可接在X轴,也可接在Y轴。

 

8x8点阵的外观及引脚

8X8点阵的硬件电路

2)集成移位寄存器(74LS164)原理

移位寄存器是暂时记忆数据的“寄存器”,其特征是具有将数据向左或向右移动的功能。

移位寄存器有各种形式。

按存数据的位数有4位、8位等,按“输入/输出数据”形式有“串入/串出”、“串入/并出”、“并入/串出”、“并入/并入”等。

图4.6.3(a)是串行输入/并行(串行)输出移位寄存器74LS164的管脚排列图。

其功能表见表4-9所示。

74LS164有两个串行数据DA、DB输入端,使用时一般把它们连在一起;

为清零输入端,低电平有效,当该端加入低电平时,寄存器输出Q0~Q7全为低电平。

在正常情况下,清零输入端接高电平,当CP信号上升沿到来时,数据右移一位;Q0~Q7为并行数据输出端,同时Q7端也是串行数据输出端,对于串行输入的数据,最先输入的从Q7输出,最后进入的从Q0输出。

CP为移位脉冲。

图4.6.3常用移位寄存器管脚排列图

表4-974LS164的真值表

输入

输出

CPDADB

Q0Q1Q2Q3Q4Q5Q6Q7

0XXX

00000000

10XX

Q0Q1Q2Q3Q4Q5Q6Q7

1↑11

1Q0Q1Q2Q3Q4Q5Q6

1↑0X

0Q0Q1Q2Q3Q4Q5Q6

1↑X0

0Q0Q1Q2Q3Q4Q5Q6

3).实验内容

编写一段程序,用p1口控制扫描,用C5区的74HC164控制显示输出,使C区的8X8LED显示一个“

”。

4、实验要求

学会使用单片机对LED点阵进行扫描显示。

5、实验步骤

1)使用导线把A2区的J61接口与C3区的J46接口从P10-P17到LD-1~LD-8对应相连。

2)使用导线把C5区的J97接口与C3区的J47接口从Q0~Q7到LD-A~LD-H对应相连。

3)使用导线把A2区的J58接口与C5区的J43接口从INT0到CLK,从INT1到DINA,从T0到DINB,从T1到CLR对应相连,另外再短接C5区JP10和C3区JP2。

4)参考实验7编写一段从74HC164输出8位数据的程序。

5)再编写一个完整的LED点阵扫描程序,显示“

”。

6、实验预习要求。

理解硬件结构,先编写好程序,然后在KeilC51环境下进行软件仿真。

7、实验参考程序

CLKEQUP3.2

DINAEQUP3.3

DINBEQUP3.4

CLEAREQUP3.5

ORG8000H

AJMPMAIN

ORG8100H

MAIN:

MOVSP,#70H;设置堆栈指针

MOV50H,#07EH;设置发送的列数据

MOV51H,#0BDH

MOV52H,#0DBH

MOV53H,#0E7H

MOV54H,#0E7H

MOV55H,#0DBH

MOV56H,#0BDH

MOV57H,#07EH

CLRCLEAR;初始化I/O口

SETBCLK

SETBDINA

SETBDINB

SETBCLEAR

MAINLOOP:

MOVR6,#8H;设置扫描次数

MOVDPTR,#09000H;读取扫描端口数据

MOVR1,#50H;指定列数据指针

FLASHCY:

MOVA,@R1;读取列数据

MOVR0,A

INCR1;列数据指针加1

CLRA

MOVCA,@A+DPTR;读取扫描端口数据

MOVP1,0FFH

LCALLSENDTO;发送列数据

MOVP1,A

INCDPTR

LCALLDELAY

DJNZR6,FLASHCY

SJMPMAINLOOP

SENDTO:

;发送数据程序

PUSHACC

CLRCLK

SENDTIME:

MOVR7,#08H

MOVA,R0

CLRC

SENDCY:

RRCA

MOVDINA,C

SETBCLK

CLRCLK

DJNZR7,SENDCY

POPACC

RET

DELAY:

MOVR7,#01

DELAY0:

MOVR4,#17

DELAY1:

MOVR3,#28

DJNZR3,$

DJNZR4,DELAY1

DJNZR7,DELAY0

RET

ORG09000H

DB0FEH,OFDH,OFBH,0F7H,0EFH,0DFH,0BFH,07FH

;

END

8、根据参考例程,编写循环显示“广东轻工业职业技术学院”的程序。

附件2:

LCD液晶显示模块显示图形和汉字设计指导书

一、概述

TG12864B是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶

显示器组成。

可完成图形显示,也可以8×4个(16×16点阵)汉字。

主要技术参数和性能:

1.电源:

VDD:

+2.7~+5V;模块内自带-10V负压,用于LCD的驱动电压。

2.显示内容:

128(列)×64(行)点

3.全屏幕点阵

4.七种指令

5.与CPU接口采用8位数据总线并行输入输出和8条控制线

6.占空比1/64

7.工作温度:

-10℃~+60℃,储存温度:

-20℃~+70℃,可选择宽温:

-20℃~+70℃(工作温度);

二、外形尺寸图

三、模块主要硬件构成说明

IC3为行驱动器,IC1,IC为列驱动器。

IC1,IC2,IC3含有如下主要功能器件。

了解如下器件有利于对LCD模块之编程。

1.指令寄存器(IR)

IR是用来寄存指令码,与数据寄存器寄存数据相对应。

当D/I=1时,在E信号下降沿的作用下,指令码写入IR。

2.数据寄存器

DR是用来寄存数据的,与指令寄存器寄存指令相对应。

当D/I=1时,在E信号的下降沿的作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7~DB0数据总线。

DR和DDRAM之间的数据传输是模块内部自动执行的。

3.忙标志:

BF

BF标志提供内部工作情况。

BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据。

BF=0时,模块为准备状态,随时可接受外部指令和数据。

利用STATUSREAD指令,可以将BF读到DB7总线,从而检验模块之工作状态。

4.显示控制触发器DFF

此触发器是用于模块屏幕显示开和关的控制。

DFF=1为开显示(DISPLAYON),DDRAM的

内容就显示在屏幕上,DDF=0为关显示(DISPLAYOFF)。

DDF的状态是指令DISPLAYON/OFF和RST信号控制的。

5.XY地址计数器

XY地址计数器是一个9位数计数器。

高三位是X地址计数器,低6位为Y地址计数器,XY

地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。

X地址计数器是没有记数功能的,只能用指令设置。

Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。

6.显示数据RAM(DDRAM)

DDRAM是储存图形显示数据的。

数据为1表示显示选择,数据为0表示显示非选择。

DDRAM

与地址和显示位置的关系见DDRAM地址表(见第页)。

7.Z地址计数器

Z地址计数器是一个6位计数器,此计数器具有循环记数功能,它是用于显示行扫描同步。

当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。

Z地址计数器可以用指令DISPLAYSTARTLINE预置。

因此,显示屏幕的起始行就由此指令控制,即DDTAM的数据从哪一行开始显示在屏幕的第一行。

此模块的DDRAM共64行,屏幕可以循环滚动显示64行。

四、模块的外部接口

五.指令说明

指令表

1.显示开关控制(DISPLAYON/OFF)

代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0

形式000011111D

D=1:

开显示(DISPLAYON)意即显示器可以进行各种显示操作

D=0:

关显示(DISPLAYOFF)意即不能对显示器进行各种显示操作

2.设置显示起始行(DISPLAYSTARTLINE)

代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0

形式0011A5A4A3A2A1A0

前面在Z地址计数器一节已经描述了显示起始行是由Z地址计数器控制的.A5-A06位地址自动送入Z地址计数器.起始行的地址可以是0-63的任意一行。

例如:

选择A5-A0是62,则起始行与DDRAM行的对应关系如下:

DDRAM行:

62630123┉┉┉┉┉┉┉┉┉┉┉2829

屏幕显示行:

123456┉┉┉┉┉┉┉┉┉┉┉3132

3.设置页地址(SETPAGE“XADDRESS”)

代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0

形式0010111A2A1A0

所谓页地址就是DDRAM的行地址,8行为一页,模块共64行即8页,A2~A0表示0~7页.读写地址对数据没有影响,页地址由本指令或RST信号改变复位后页地址为0.页地址与DDRAM的对应关系见DDRAM地址表.

4.设置Y地址(SETYADDRESS)

代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0

形式0001A5A4A3A2A1A0

此指令的作用是将A5~A0送入Y地址计数器,作为DDRAM的Y地址指针.在对DDRAM进

行读写操作后,

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1