单片机原理实验教案参考程序.doc
《单片机原理实验教案参考程序.doc》由会员分享,可在线阅读,更多相关《单片机原理实验教案参考程序.doc(27页珍藏版)》请在三一文库上搜索。
1、单 片 机 原 理 实 验 教 案广 东 松 山 职 业 技 术 学 院MCS-51单片机原理实验指导书 宁玉珊 黄晓林使用Proteus辅助设计与仿真实训项目1 Proteus辅助设计与仿真的使用一、实训目的学习并熟练掌握PROTEUS辅助设计与仿真软件的使用。通过使用Proteus的ISIS组件绘制AT89C51功能接口原理图,并对原理图编写程序和调试程序,观察在仿真条件下的实现功能的效果。二、实训内容在PROTEUS仿真环境下实现一个发光二极管(LED)闪烁。要求LED亮0.5s灭1s,并绘制原理图和编写实现程序,同时用虚拟的示波器观察硬件和软件实现的效果。三、实训器材安装有Proteu
2、s7软件的计算机 1 台。四、实训步骤1)在硬盘建立文件夹用来保存新建项目的所有文件。如在D盘建立PROJECT文件夹。2)选择开始程序Proteus7 professionalISIS professional(或者双击桌面图标ISIS),进入Proteus仿真环境,如图P1_1和P1_2所示。图P1-1图P1-23)选择菜单【File/New Design】创建一个新的设计项目,如图P1_3所示。图P1-34)此时系统会弹出模板选择窗口,选择DEFAULT点击【OK】即可,如图P1_4所示。图P1_45)点击界面左侧工具栏中的图标,接着点击元件池上方的按钮,将要用到的元器件从系统库调到当前
3、设计文件库中。在弹出的Pick Devices对话框左上角的Keywords文本框中键盘输入元件名(或元件的其它关键词)搜索到需要的元器件。双击Results栏下的目标元件,该元件即调出到当前设计文件库的元件列表中,如图P1_5所示。本实训中所要用到的元件如表PS1_1所示。图P1_5元件名称搜索关键词元件序号数值备注电阻器ResistorR110k电阻器ResistorR21k电解电容器MINELECT1U63VC14.7陶瓷电容器CERAMIC22PC2、C322p晶振CRYSTALX112MHz单片机AT89C51U1发光二极管LED-YELLOWD1表PS1_1元件列表6)点击界面左侧
4、工具栏中的图标,选择元件列表中的元件,在原理图编辑框中放置元件、布局及连线,构成原理图主体,如图P1_6所示。放置元件、布局及连线的方法与Protel大致相同。图P1_67)点击ISIS界面左侧工具栏Terminals Mode图标,选择元件列表中的元件为整幅原理图添加地端和电源端。电源为Power,幅值可以默认为VCC,地为Ground,如图P1_7所示。 图P1_7 图P1_88)点击ISIS界面左侧工具栏Virtual Instruments Mode图标,选择元件列表中的元件为整幅原理图添加虚拟示波器,观察系统运行时P1.0口的波形。虚拟示波器为Oscilloscopeund,如图P1
5、_8所示。9)选择菜单【File/Save Design】保存刚才的设计项目,如图P1_9所示。 图P1_9 图P1_1010)此时系统会弹出保存文件的窗口,选择好指定保存文件的位置,并在文件名文本框中输文件名,点击【保存】即可,如图P1_10所示。11)选择菜单【Soure/Add/Remove Soure Files】为CPU添加源程序。如图P1_11所示。图P1_1112)此时系统会弹出Add/Remove soure code Files对话框窗口。在对话框窗口的Code Generation Tool列表框中选择汇编工具ASEM51。然后点击New按钮,在弹出的对话框中的文件名 文本
6、框中输入源程序的文件名,点击打开按钮,如文件不存在时弹出确认对话框,选择“是”即可,如图P1_12所示。图P1_1213)选择菜单【Soure】下刚才添加的源程序,如图P1_13所示。 图P1_13 图P1_1414)此时系统会自动弹出Proteus自带汇编语言源程序编辑器Source Editor窗口,在编辑器窗口中键入源程序并以后缀为ASM的文件存盘,如图P1_14所示。参考的源程序清单如下:LED_Flag EQU p1.0;LED灯 ORG 0000H LJMP MAIN ORG0100HMAIN: SETB LED_Flag;LED灯 MOV A,#05H ACALL DELAY;延
7、时子程序 CLR LED_Flag;LED灯 MOV A,#0AH ACALL DELAY;延时子程序 SJMP MAIN;=;延时子程序,基本延时100MS ;入口数据A为100MS的倍数,出口数据无 ;=;DELAY: MOV R5,ADELAY1: MOV R6,#7ChDELAY2: MOV R7,#0C8H DJNZ R7,$ DJNZ R6,DELAY2 DJNZ R5,DELAY1 RET END15)选择菜单【Soure/Build all】对源程序进行编译,修正语法错误直至完全正确为止,如图P1_15所示。 图P1_15 图P1_1616)双击原理图编辑窗口中的AT89C51
8、,系统会弹出Edit Component对话框。在弹出Edit Component对话框中向CPU加载源运行程序。点击Program File文本框右侧打开文件夹图标,双击刚才编译生成的HEX文件,点击OK即可,如图P1_16所示。17)CPU运行程序加载完毕之后,点击仿真控制按钮的“”按钮或选择菜单命令【Debug/Execute】全速运行仿真。观察仿真功能实现的效果。点击仿真控制按钮的“”按钮暂停仿真,此时可以观测程序运行中间结果,再次按下此按钮则继续全速运行仿真。停止运行仿真则点击仿真控制按钮的“”按钮。18)在全速运行仿真的过程中,通过点击仿真控制按钮的“”按钮暂停仿真,选择菜单命令【
9、Debug/8051 CPU/Registers或SFR Memory或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元件名称搜索
10、关键词元件序号数值备注电阻排Respack-8RP1电阻器ResistorR1R80.5k电阻器ResistorR9R1210k电解电容器MINELECT1U63VC14.7陶瓷电容器CERAMIC22PC2、C322p晶振CRYSTALX112MHz单片机AT89C51U1发光二极管LED-YELLOWD1D4发光二极管LED-REDD5D8拨动开关SW-SPDTSW1SW3表 PS2_12)编写程序。程序实现的功能为:由P3.0P3.2来表示二进制数(通过拨动开关),指示相应的由P1.0P1.7连接的发光二极管亮。3)编写程序。程序在实现上述功能的基础上,实现原亮的发光二极管变为闪烁。4)
11、在编写程序。程序实现的功能为:利用查表让走马灯(用接在P1口的8个发光二极管模拟)从两边到中间循环点亮。七、参考程序清单:1)程序1:CY_Flag EQU PSW.7 ;进位标志 ORG 0000H LJMP MAIN ORG 0100HMAIN: CLR A MOV P0,AMAIN1: MOV A,P3 ANL A,#07H INC A MOV R3,A SETB CY_Flag ;进位标志 CLR ALOOP: RLC A DJNZ R3,LOOP MOV P0,A SJMP MAIN1 END2)程序2:CY_Flag EQU PSW.7 ;进位标志 ORG 0000H LJMP M
12、AIN ORG0100HMAIN: CLR A MOV P0,AMAIN1: MOV A,P3 ANL A,#07H INC A MOV R2,A CLR A SETB CY_Flag ;进位标志LOOP: RLC A DJNZ R2,LOOP MOV P0,A MOV A,#05H ACALL DELAY;延时子程序 MOV P0,#00H MOV A,#05H ACALL DELAY;延时子程序 SJMP MAIN1;=;延时子程序,基本延时100MS ;入口数据A为100MS的倍数,出口数据无 ;=;DELAY: MOV R5,ADELAY1: MOV R6,#100DELAY2: MO
13、V R7,#63H DJNZ R7,$ DJNZ R6,DELAY2 DJNZ R5,DELAY1 RET END3)程序3:LP_VALUE EQU 04H ;取表值次数DL_VALUE EQU 0AH ;延时长度 ORG 0000H LJMP MAIN ORG0100HMAIN: CLR A MOV DPTR,#TABLOOP: MOV R3,A MOVC A,A+DPTR MOV P0,A MOV A,#DL_VALUE;延时长度 ACALL DELAY;延时子程序 MOV A,R3 INC A CJNE A,#LP_VALUE,LOOP SJMP MAIN;=;延时子程序,基本延时10
14、0MS ;入口数据A为100MS的倍数,出口数据无 ;=;DELAY: MOV R5,ADELAY1: MOV R6,#200DELAY2: MOV R7,#0F8H DJNZ R7,$ DJNZ R6,DELAY2 DJNZ R5,DELAY1 RETTAB: DB 81H,42H,24H,18H END实训项目3 中断系统(定时/计数器)的使用一、实训目的熟悉8051定时/计数器的功能,掌握定时/计数器的使用方法,初步掌握中断服务程序的调试方法和广告彩灯的控制原理二、实训内容利用8051定时/计数器的功能实现如下功能:对外部脉冲记数和控制广告彩灯显示。三、实训器材安装有Proteus7软件
15、的计算机 1 台。四、实训步骤1)在Proteus仿真环境下,绘制实现功能的原理图,原理图如图P3_1所示。本实训中所要用到的元件如表PS1_1所示。图 P3_1元件名称搜索关键词元件序号数值备注电阻排Respack-8RP1电阻器ResistorR1R80.5k电阻器ResistorR9R1210k电解电容器MINELECT1U63VC14.7陶瓷电容器CERAMIC22PC2、C322p晶振CRYSTALX112MHz单片机AT89C51U1发光二极管LED-YELLOWD1D4发光二极管LED-REDD5D8拨动开关SW-SPDTSW1SW2表 PS3_12)点击ISIS界面左侧工具栏G
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 实验 教案 参考 程序
链接地址:https://www.31doc.com/p-2058053.html