单片机原理实验教案参考程序.docx

上传人:b****2 文档编号:1241381 上传时间:2022-10-19 格式:DOCX 页数:35 大小:720.69KB
下载 相关 举报
单片机原理实验教案参考程序.docx_第1页
第1页 / 共35页
单片机原理实验教案参考程序.docx_第2页
第2页 / 共35页
单片机原理实验教案参考程序.docx_第3页
第3页 / 共35页
单片机原理实验教案参考程序.docx_第4页
第4页 / 共35页
单片机原理实验教案参考程序.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

单片机原理实验教案参考程序.docx

《单片机原理实验教案参考程序.docx》由会员分享,可在线阅读,更多相关《单片机原理实验教案参考程序.docx(35页珍藏版)》请在冰豆网上搜索。

单片机原理实验教案参考程序.docx

单片机原理实验教案参考程序

广东松山职业技术学院

《MCS-51单片机原理》实验指导书

宁玉珊黄晓林

使用Proteus辅助设计与仿真

实训项目1Proteus辅助设计与仿真的使用

一、实训目的

学习并熟练掌握PROTEUS辅助设计与仿真软件的使用。

通过使用Proteus的ISIS组件绘制AT89C51功能接口原理图,并对原理图编写程序和调试程序,观察在仿真条件下的实现功能的效果。

二、实训内容

在PROTEUS仿真环境下实现一个发光二极管(LED)闪烁。

要求LED亮0.5s灭1s,并绘制原理图和编写实现程序,同时用虚拟的示波器观察硬件和软件实现的效果。

三、实训器材

安装有Proteus7软件的计算机1台。

四、实训步骤

1)在硬盘建立文件夹用来保存新建项目的所有文件。

如在D盘建立PROJECT文件夹。

2)选择‘开始→程序→Proteus7professional→ISISprofessional(或者双击桌面图标ISIS)’,进入Proteus仿真环境,如图P1_1和P1_2所示。

图P1-1

图P1-2

3)选择菜单【File/NewDesign】创建一个新的设计项目,如图P1_3所示。

图P1-3

4)此时系统会弹出模板选择窗口,选择‘DEFAULT’点击【OK】即可,如图P1_4所示。

图P1_4

5)点击界面左侧工具栏中的图标,接着点击元件池上方的按钮,将要用到的元器件从系统库调到当前设计文件库中。

在弹出的PickDevices对话框左上角的‘Keywords’文本框中键盘输入元件名(或元件的其它关键词)搜索到需要的元器件。

双击‘Results’栏下的目标元件,该元件即调出到当前设计文件库的元件列表中,如图P1_5所示。

本实训中所要用到的元件如表PS1_1所示。

图P1_5

元件名称

搜索关键词

元件序号

数值

备注

电阻器

Resistor

R1

10k

电阻器

Resistor

R2

1k

电解电容器

MINELECT1U63V

C1

4.7μ

陶瓷电容器

CERAMIC22P

C2、C3

22p

晶振

CRYSTAL

X1

12MHz

单片机

AT89C51

U1

发光二极管

LED-YELLOW

D1

表PS1_1元件列表

6)点击界面左侧工具栏中的图标,选择元件列表中的元件,在原理图编辑框中放置元件、布局及连线,构成原理图主体,如图P1_6所示。

放置元件、布局及连线的方法与Protel大致相同。

图P1_6

7)点击ISIS界面左侧工具栏TerminalsMode图标,选择元件列表中的元件为整幅原理图添加地端和电源端。

电源为Power,幅值可以默认为VCC,地为Ground,如图P1_7所示。

图P1_7图P1_8

8)点击ISIS界面左侧工具栏VirtualInstrumentsMode图标,选择元件列表中的元件为整幅原理图添加虚拟示波器,观察系统运行时P1.0口的波形。

虚拟示波器为Oscilloscopeund,如图P1_8所示。

9)选择菜单【File/SaveDesign】保存刚才的设计项目,如图P1_9所示。

图P1_9图P1_10

10)此时系统会弹出保存文件的窗口,选择好指定保存文件的位置,并在文件名文本框中输文件名,点击【保存】即可,如图P1_10所示。

11)选择菜单【Soure/Add/RemoveSoureFiles】为CPU添加源程序。

如图P1_11所示。

图P1_11

12)此时系统会弹出‘Add/RemovesourecodeFiles’对话框窗口。

在对话框窗口的‘CodeGenerationTool’列表框中选择汇编工具ASEM51。

然后点击‘New’按钮,在弹出的对话框中的‘文件名’文本框中输入源程序的文件名,点击‘打开’按钮,如文件不存在时弹出确认对话框,选择“是”即可,如图P1_12所示。

图P1_12

13)选择菜单【Soure】下刚才添加的源程序,如图P1_13所示。

图P1_13图P1_14

14)此时系统会自动弹出Proteus自带汇编语言源程序编辑器‘SourceEditor’窗口,在编辑器窗口中键入源程序并以后缀为ASM的文件存盘,如图P1_14所示。

参考的源程序清单如下:

LED_FlagEQUp1.0;LED灯

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

SETBLED_Flag;LED灯

MOVA,#05H

ACALLDELAY;延时子程序

CLRLED_Flag;LED灯

MOVA,#0AH

ACALLDELAY;延时子程序

SJMPMAIN

;===============================================;

;延时子程序,基本延时100MS;

;入口数据A为100MS的倍数,出口数据无;

;===============================================;

DELAY:

MOVR5,A

DELAY1:

MOVR6,#7Ch

DELAY2:

MOVR7,#0C8H

DJNZR7,$

DJNZR6,DELAY2

DJNZR5,DELAY1

RET

END

15)选择菜单【Soure/Buildall】对源程序进行编译,修正语法错误直至完全正确为止,如图P1_15所示。

图P1_15图P1_16

16)双击原理图编辑窗口中的AT89C51,系统会弹出‘EditComponent’对话框。

在弹出‘EditComponent’对话框中向CPU加载源运行程序。

点击‘ProgramFile’文本框右侧打开文件夹图标,双击刚才编译生成的HEX文件,点击‘OK’即可,如图P1_16所示。

17)CPU运行程序加载完毕之后,点击仿真控制按钮的“▶”按钮或选择菜单命令【Debug/Execute】全速运行仿真。

观察仿真功能实现的效果。

点击仿真控制按钮的“‖”按钮暂停仿真,此时可以观测程序运行中间结果,再次按下此按钮则继续全速运行仿真。

停止运行仿真则点击仿真控制按钮的“■”按钮。

18)在全速运行仿真的过程中,通过点击仿真控制按钮的“‖”按钮暂停仿真,选择菜单命令【Debug/8051CPU/Registers或SFRMemory或Internal(IDATA)Memory】观测CPU内部的工作寄存器、特使功能寄存器和数据存储器的值,如图P1_17所示。

图P1_17

实训项目2基本输入/输出(I/O)接口的使用

一、实训目的

掌握MSC51单片机P口简单使用。

二、实训内容

利用拨动开关的开关信息输入P3口控制点亮发光二极管由P0口作为信息的输出。

三、实训器材

安装有Proteus7软件的计算机1台。

四、实训步骤

1)在Proteus仿真环境下,绘制实现功能的原理图,原理图如图P2_1所示。

本实训中所要用到的元件如表PS2_1所示。

图P2_1

元件名称

搜索关键词

元件序号

数值

备注

电阻排

Respack-8

RP1

电阻器

Resistor

R1~R8

0.5k

电阻器

Resistor

R9~R12

10k

电解电容器

MINELECT1U63V

C1

4.7μ

陶瓷电容器

CERAMIC22P

C2、C3

22p

晶振

CRYSTAL

X1

12MHz

单片机

AT89C51

U1

发光二极管

LED-YELLOW

D1~D4

发光二极管

LED-RED

D5~D8

拨动开关

SW-SPDT

SW1~SW3

表PS2_1

2)编写程序。

程序实现的功能为:

由P3.0~P3.2来表示二进制数(通过拨动开关),指示相应的由P1.0~P1.7连接的发光二极管亮。

3)编写程序。

程序在实现上述功能的基础上,实现原亮的发光二极管变为闪烁。

4)在编写程序。

程序实现的功能为:

利用查表让走马灯(用接在P1口的8个发光二极管模拟)从两边到中间循环点亮。

七、参考程序清单:

1)程序1:

CY_FlagEQUPSW.7;进位标志

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

CLRA

MOVP0,A

MAIN1:

MOVA,P3

ANLA,#07H

INCA

MOVR3,A

SETBCY_Flag;进位标志

CLRA

LOOP:

RLCA

DJNZR3,LOOP

MOVP0,A

SJMPMAIN1

END

2)程序2:

CY_FlagEQUPSW.7;进位标志

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

CLRA

MOVP0,A

MAIN1:

MOVA,P3

ANLA,#07H

INCA

MOVR2,A

CLRA

SETBCY_Flag;进位标志

LOOP:

RLCA

DJNZR2,LOOP

MOVP0,A

MOVA,#05H

ACALLDELAY;延时子程序

MOVP0,#00H

MOVA,#05H

ACALLDELAY;延时子程序

SJMPMAIN1

;===============================================;

;延时子程序,基本延时100MS;

;入口数据A为100MS的倍数,出口数据无;

;===============================================;

DELAY:

MOVR5,A

DELAY1:

MOVR6,#100

DELAY2:

MOVR7,#63H

DJNZR7,$

DJNZR6,DELAY2

DJNZR5,DELAY1

RET

END

3)程序3:

LP_VALUEEQU04H;取表值次数

DL_VALUEEQU0AH;延时长度

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

CLRA

MOVDPTR,#TAB

LOOP:

MOVR3,A

MOVCA,@A+DPTR

MOVP0,A

MOVA,#DL_VALUE;延时长度

ACALLDELAY;延时子程序

MOVA,R3

INCA

CJNEA,#LP_VALUE,LOOP

SJMPMAIN

;===============================================;

;延时子程序,基本延时100MS;

;入口数据A为100MS的倍数,出口数据无;

;===============================================;

DELAY:

MOVR5,A

DELAY1:

MOVR6,#200

DELAY2:

MOVR7,#0F8H

DJNZR7,$

DJNZR6,DELAY2

DJNZR5,DELAY1

RET

TAB:

DB81H,42H,24H,18H

END

实训项目3中断系统(定时/计数器)的使用

一、实训目的

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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