ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:602.80KB ,
资源ID:30595547      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30595547.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机原理实验教案参考程序doc资料.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、单片机原理实验教案参考程序doc资料广 东 松 山 职 业 技 术 学 院MCS-51单片机原理实验指导书 宁玉珊 黄晓林使用Proteus辅助设计与仿真实训项目1 Proteus辅助设计与仿真的使用一、实训目的学习并熟练掌握PROTEUS辅助设计与仿真软件的使用。通过使用Proteus的ISIS组件绘制AT89C51功能接口原理图,并对原理图编写程序和调试程序,观察在仿真条件下的实现功能的效果。二、实训内容在PROTEUS仿真环境下实现一个发光二极管(LED)闪烁。要求LED亮0.5s灭1s,并绘制原理图和编写实现程序,同时用虚拟的示波器观察硬件和软件实现的效果。三、实训器材安装有Prote

2、us7软件的计算机 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,如图P

5、1_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 ORG 0100HMAIN: SETB LED_Flag ;LED灯 MOV A,#05H ACALL DEL

7、AY ;延时子程序 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)双击原理图编辑窗口中的

8、AT89C51,系统会弹出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_

10、1元件名称搜索关键词元件序号数值备注电阻排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)编写程序。程序在实现上述功能的基础上,实现原亮的发光二极管

11、变为闪烁。4)在编写程序。程序实现的功能为:利用查表让走马灯(用接在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

12、 LJMP MAIN ORG 0100HMAIN: 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,#100

13、DELAY2: MOV 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 ORG 0100HMAIN: 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;=

14、;延时子程序,基本延时100MS ;入口数据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定时/计数器的功能实现如下功能:对外部脉冲记数和控制广告彩灯显示。三、实训器材

15、安装有Proteus7软件的计算机 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)点

16、击ISIS界面左侧工具栏Generator Mode图标,选择元件列表中的元件中的DCLOCK为CPUAT89C51的P3.5添加脉冲时钟,如图P3_2所示。3)双击原理图编辑窗口中的脉冲时钟DCLOCK,系统会弹出Digital Clock Generator Properties对话框。在弹出对话框中修改Frequency(Hz)值为0.5KHz,点击OK即可,如图P3_3所示。 图P3_2 图P3_34)编写程序。程序实现的功能为: 定时器T1对外部脉冲计数,并把计数值利用发光二极管在P0口显示出来。5)编写程序。程序在实现功能为广告灯显示,利用两个拨动开关分别控制广告灯的四种不同显示方

17、式,每种方式有八种不同的显示状态,当开关值全为零时广告灯全灭。七、参考程序清单:1)程序1PH_Flag EQU 20H.7 ;脉冲标志 ORG 0000H LJMP MAIN ORG 001BH LJMP SEV_TIM1 ORG 0100HMAIN: CLR EA ACALL SYS_INIT CLR PH_Flag ;脉冲标志 CLR A SETB EALOOP: MOV P0,A JNB PH_Flag,LOOP1 ;脉冲标志 CLR PH_Flag ;脉冲标志 INC ALOOP1: SJMP LOOP;=;系统初始化子程序,无入口参数和出口参数 ;=;SYS_INIT: MOV T

18、MOD,#60H MOV TH0,#0FFH MOV TL0,#0FFH SETB ET1 SETB TR1 RET;=;定时/记数中断服务子程序 ;=;SEV_TIM1: SETB PH_Flag ;脉冲标志 RETI END2)程序2SP_Flag EQU 20H.7 ;方案步伐标志SP_LEN EQU 30H ;方案步伐长度TM_LEN EQU 31H ;定时长度 ORG 0000H LJMP MAIN ORG 000BH LJMP SEV_TIM0 ORG 0100HMAIN: CLR EA ACALL SYS_INIT ;系统初始化 CLR SP_Flag ;方案步伐标志 CLR A

19、 MOV P0,A MOV TM_LEN,A ;定时长度 SETB EAPROJECT1: MOV A,P3 ANL A,#03H CJNE A,#01H,PROJECT2 MOV DPTR,#TAB1 SJMP PRO_STEPPROJECT2: CJNE A,#02H,PROJECT3 MOV DPTR,#TAB2 SJMP PRO_STEPPROJECT3: CJNE A,#03H,CLOSE MOV DPTR,#TAB3 SJMP PRO_STEPCLOSE: CLR A MOV P0,A SJMP PROJECT1PRO_STEP: MOV TM_LEN,#00H ;定时长度 MOV

20、 SP_LEN,#08H ;方案步伐长度 CLR SP_Flag ;方案步伐标志LOOP: CLR A MOVC A,A+DPTR MOV P0,A JNB SP_Flag,LOOP ;方案步伐标志 INC DPTR CLR SP_Flag ;方案步伐标志 DJNZ SP_LEN,LOOP SJMP PROJECT1;=;系统初始化子程序,无入口参数和出口参数 ;=;SYS_INIT: MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB ET0 SETB TR0 RET;=;定时器中断服务子程序,基本定时50MS ;=;SEV_TIM0: PUSH AC

21、C MOV TH0,#3cH MOV TL0,#0B0H INC TM_LEN ;定时长度 MOV A,TM_LEN CJNE A,#0AH,TIM0_END SETB SP_Flag ;方案步伐标志 MOV TM_LEN ,#00HTIM0_END: POP ACCRETITAB1: DB 80H,40H,20H,10H,08H,04H,02H,01HTAB2: DB 81H,42H,24H,18H,0FFH,18H,24H,42HTAB3: DB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH END实训项目4 中断系统(外部中断)的使用一、实训目的掌握MCS

22、-51单片机外部中断原理及使用方法,掌握外部中断服务程序的调试方法。理解下降沿中断和低电平中断的区别及其中断优先权。二、实训内容使用外部中断编写程序实现如下功能:利用两个发光二极管亮表示系统是否正常运行,一个二极管亮表示系统正常运行,另一个二极管亮表示系统有故障时(外部中断);利用三个发光二极管表示系统是否正常运行,一个二极管亮表示系统正常运行,另外二个表示不同的故障信号,其中大故障为特急故障不可自动恢复,具有最高的优先权,能中断小故障,小故障可在线自动恢复。三、实训器材安装有Proteus7软件的计算机 1 台。四、实训步骤:1)在Proteus仿真环境下,绘制实现功能的原理图,原理图如图P

23、6_1所示。本实训中所要用到的元件如表PS6_1所示。图 P6_1元件名称搜索关键词元件序号数值备注电阻ResistorR1R30.5k电阻ResistorR4R610K电解电容器MINELECT1U63VC14.7陶瓷电容器CERAMIC22PC2、C322p晶振CRYSTALX112MHz单片机AT89C51U1七段数码管7seg-digitalVFD1发光二极管LED-GREEND3发光二极管LED-REDD1D2拨动开关SW-SPDTSW1SW2表 PS6_12)编写程序,程序实现的功能为:利用两个发光二极管亮表示系统是否正常运行,一个二极管亮表示系统正常运行,另一个二极管亮表示系统有

24、故障时(外部中断)。3)编写程序,程序实现的功能为:利用三个发光二极管表示系统是否正常运行,一个二极管亮表示系统正常运行,另外二个表示不同的故障信号,其中大故障为特急故障不可自动恢复,具有最高的优先权,能中断小故障,小故障可在线自动恢复。六、参考程序清单:1)程序1:IN_Flag EQU 20H.6 ;有外部中标志ER_Flag EQU P3.6 ;系统故障指示灯RUN_Flag EQU P3.7 ;系统正常运行指示灯 ORG 0000H LJMP MAIN ORG 0013H LJMP SEV_INIT1 ORG 0100HMAIN: CLR EA ACALL SYS_INIT ;系统初始

25、化 CLR ER_Flag ;系统故障指示灯 SETB RUN_Flag ;系统正常运行指示灯 CLR IN_Flag ;有外部中标志 SETB EAMAIN1: JNB IN_Flag,MAIN2 ;有外部中标志 CLR IN_Flag ;有外部中标志 SETB ER_Flag ;系统故障指示灯 CLR RUN_Flag ;系统正常运行指示灯 SJMP MAIN3MAIN2: CLR ER_Flag ;系统故障指示灯 SETB RUN_Flag ;系统正常运行指示灯MAIN3: SJMP MAIN1;=;系统初始化子程序,无入口参数和出口参数 ;=;SYS_INIT: SETB EX1 ;开

26、外部中断1中断 CLR IT1 ;设置INT1低电平触发 RET;=;外部中断1服务子程序 ;=;SEV_INIT1: SETB IN_Flag ;有外部中标志 RETI END2)程序2:IN1_Flag EQU 20H.6 ;有外部1中标志IN0_Flag EQU 20H.7 ;有外部0中标志ERH_Flag EQU P3.5 ;系统大故障指示灯ERL_Flag EQU P3.6 ;系统小故障指示灯RUN_Flag EQU P3.7 ;系统正常运行指示灯 ORG 0000H LJMP MAIN ORG 0003H LJMP SEV_INIT0 ORG 0013H LJMP SEV_INIT1 ORG 0100HMAIN: CLR EA ACALL SYS_INIT ;系统初始化 CLR IN1_Flag ;有外部1中标志 CLR IN0_

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

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