单片机接口技术与实验附原理图及源程序
- 格式:docx
- 大小:442.02 KB
- 文档页数:38
《单片机原理及接口技术》课程实验大纲课程名称:《单片机原理及接口技术》实验英文名称:《MCU principles and interface technologies》experiment课程性质:专业选修课程课程编号:0510085所属系部:机电工程学院总学时:14学时预备知识:电路、数字电子技术课程在教学计划中的地位作用:本课程是机械电子工程专业的一门重要专业选修课程。
目前单片机技术开发和应用水平已成为一个国家工业化发展水平的标志之一。
单片机原理及其应用已成为从事电子技术的工程技术人员必须掌握的基础理论和基本技能之一。
通过本课程的学习使学生实践上掌握单片计算机的基本组成、工作原理及常用接口技术,建立单片机系统整体概念,使学生具备单片机应用系统软、硬件开发的初步能力。
教学方式:理论与实践相结合教学的目的与要求:通过本课程的学习,使学生掌握单片机的硬件结构、MCS-51的指令系统、MCS-51汇编语言程序设计、MCS-51的中断系统、MCS-51的定时器/计数器、MCS-51的串行口、MCS-51单片机扩展存储器的设计、MCS-51扩展I/O接口的设计、MCS-51 与键盘、显示器的接口设计、MCS-51单片机与D/A转换器和A/D转换器的接口、MCS-51的功率接口、MCS-51的串行通信技术及其扩展接口。
进一步理解MCS-51单片机的开发装置、工作原理、编程方法,学会使用开发机进行程序。
课程教材:《单片机原理及接口技术》蔡美琴主编高等教育出版社参考书目:1.《单片机程序设计基础》周航慈主编北京航天航空大学出版社2. 《单片机原理及其接口技术》胡汉才主编清华大学出版社编写日期:2012年6月制定课程内容及学时分配:发光二极管显示各相状态。
要求:掌握步进电机控制系统的硬件设计方法;熟悉步进电机驱动程序的设计与调试,提高单片机应用系统设计和调试的能力。
正确连接电路,编写程序,调试运行。
实验一P1口亮灯实验一、实验目的1.学习P1口的使用方法;2.学习延时子程序的编写。
单片机原理及其应用实验指导书南通大学电气工程学院自动化教研室2011 年 3 月前言单片机目前已广泛应用在智能仪表、工业控制、家用电器等各个领域,成为现代电子系统的一个极其重要的组成部分,对于电类专业学生来说,掌握单片机知识,具备基本应用技能,才能符合当前社会对专业人才的要求。
单片机是一门应用性极强的课程,学生在掌握基本理论知识的基础上,更要通过实验训练,提高其调试动手能力,学会解决具体问题的思路和手段,具备初步的系统设计和调试能力。
因此,为了更好地做好单片机课程的软硬件实验,特编写本实验指导书,书中叙述了各实验的目的、要求,对于设计性实验,给出了列出了接线图、程序结构框图和清单。
学生按要求完成本实验指导书中的实验,可基本掌握MCS-51单片机的结构原理、接口技术以及程序设计技巧。
另外:一、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据教学要求,选择相应实验。
二、对同一问题的解决方法往往不是唯一的,欢迎各位指导教师在使用本实验指导书的过程中提出更完善的实验方案,指出书中的错误和不足,并希望大家反馈给我们,以便及时修改。
目录第一章集成开发环境简介 (1)第二章演示程序 (9)第三章实验项目 (15)实验一仿真环境熟悉,清零、拆字程序设计 (15)实验二内部、外部RAM数据传送程序设计 (17)实验三单片机I/O口实验 (18)实验四A/D、D/A转换实验 (20)实验五并行接口扩展实验 (24)第一章 集成开发环境简介Super ICES-51 80C51单片机实验仪使用当前流行的Keil C51开发软件,采用uVision2集成开发环境。
1.1 Keil C51简介Keil C51软件是德国Keil 公司开发的功能完善的C51开发软件,近年来在国内得到了迅速普及。
Keil 包括以下几个部分:uVision2 IDE 、C51编译器、A51汇编器、LIB 库管理器、BL51连接器/定位器、uVision 硬件调试器、RTX51实时多任务操作系统。
《单片机应用设计报告》系别电子信息与电气工程系专业自动化班级 09 级 (1) 班姓名王杰王典老师储忠完成时间 2012年5月18日单片机原理及接口技术课程设计报告摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
MCS-51单片机是使用极为广泛的一款8位单片机,在此次实训中所用的单片机是美国Atmel公司生产的以8031为内核的AT89S52单片机。
实训分别以构建单片机最小系统版、74HC138流水灯、8255交通灯、8253方波、6N137光耦控制继电器等几个实验关键词:AT89S52 74HC138 8255A 8253 6N137 交通灯目录单片机原理及接口技术课程设计报告 (1)实验一构建单片机最小系统和实验环境熟悉 (3)1.1单片机的工作原理 (3)1.1.1单片机最小系统图 (3)1.1.2运算器简介 (4)1.1.3控制器简介 (5)1.1.4实验解析与总结 (7)实验二跑马灯实验及74HC138译码器 (7)2.1实验内容 (7)2.1.1实验原理 (8)2.1.2实验原理图 (8)2.1.3实验程序流程图 (9)2.1.4实验程序代码 (9)2.1.5完成后的效果图 (10)2.2实验总结 (10)实验三8255控制交通灯实验 (11)3.1实验内容 (11)3.1.3实验原理 (11)3.1.2实验原理电路图 (12)3.1.3程序流程图 (13)3.1.4实验程序代码 (13)3.1.5系统实现图 (15)3.2 8255A寻址原理 (15)3.3实验总结 (16)实验四8253方波实验 (17)4.1实验内容 (17)4.1.1实验原理图 (17)4.1.2实验原理电路图 (17)4.1.3程序流程图 (18)4.1.4程序流程代码 (19)4.1.4系统仿真 (20)4.2实验总结 (21)实训总结 (21)附录 (22)1 实验源程序 (22)2仿真系统电路原理图 (27)3硬件实物照片 (27)实验一构建单片机最小系统和实验环境熟悉1.1单片机的工作原理1.1.1单片机最小系统图单片机最小系统主要有外部晶振电路,系统复位电路以及供电电源组成。
单片机原理及接口技术在当今数字化时代,单片机已经成为嵌入式系统设计中不可或缺的重要组成部分。
本文将介绍单片机的工作原理以及与外部设备进行通信的接口技术。
单片机工作原理单片机是一种集成了处理器、存储器和输入输出设备等功能模块的微型计算机系统。
它通常由中央处理器(CPU)、存储器(RAM和ROM)、计时器(Timer)、串行通信接口(UART)和引脚(Port)组成。
单片机的工作原理可以简要描述为以下几个步骤:1.初始化:单片机在上电时会执行初始化程序,设置各种工作模式、配置寄存器等。
2.执行程序:单片机会根据存储器中存储的程序指令序列来执行相应的操作,包括算术逻辑运算、控制流程等。
3.输入输出操作:单片机通过输入输出接口与外部设备进行通信,如传感器、执行器等。
4.中断处理:单片机可以在特定条件下触发中断请求,暂停当前执行的程序,转而执行中断服务程序,处理相应的事件或信号。
单片机接口技术单片机与外部设备的通信主要依赖于接口技术,包括数字输入输出接口、模拟输入输出接口以及通信接口等。
数字输入输出接口数字输入输出接口用于与二进制设备进行通信,通过配置相应的引脚工作在输入或输出模式,实现信号的采集与输出。
常用的数字输入输出方式包括GPIO口、SPI接口、I2C接口等。
模拟输入输出接口模拟输入输出接口用于处理模拟信号,包括模拟输入端口和模拟输出端口。
模拟输入端口通过模数转换器将模拟信号转换为数字信号,模拟输出端口则通过数模转换器将数字信号转换为模拟信号。
通信接口通信接口是单片机与外部设备进行数据交换的重要手段,主要有串行通信接口(UART)、并行通信接口(Parallel)、CAN接口等。
通过这些通信接口,单片机可以实现与其他设备的数据交换与通信。
结语单片机原理及接口技术是嵌入式系统设计的基础知识,通过深入了解单片机的工作原理和接口技术,可以更好地应用单片机进行系统设计与开发。
希望本文对读者有所帮助,谢谢!以上是关于单片机原理及接口技术的简要介绍,希望能对读者有所启发。
单片机及接口技术实验报告实验一数据传送程序一、实验目的1、掌握汇编语言设计和调试方法。
2、掌握DVCC实验系统的操作步骤。
二、实验内容1、编程实现,把7000H~70FFH单元的内容清零。
2、编程实现,把源地址为6000H开始的单元内容,传送到目的地址7000H开始的单元中,传送个数为0FFFH个。
三、DVCC实验系统操作说明1、接通DVCC实验系统电源,在DVCC实验箱上应显示闪动的“P”,否则按Reset键。
2、运行DVCC软件。
(程序DVCC598H实验系统DVCC实验系统)3、单击工具栏上“新建”或“打开”按钮,编写源程序。
单击“编译”按钮,使其形成可执行文件。
4、单击工具栏上“联接”按钮,同时按下DVCC实验箱上PCDBG键(键盘上最右边第2个),实现PC机和实验箱的联接。
联机成功,屏幕上出现:.反汇编窗口、寄存器标示位窗口。
5、在成功联机后,单击工具栏上“调试”按钮,把最终目标文件装载到实验系统RAM区;或者通过单击菜单栏中的“动态调试”,选择“传送(.EXE)文件”来实现。
6、单击工具栏上“运行”或“单步”按钮,运行实验程序。
7、单击工具栏上“窗口”,选择“显示内部数据窗口”或“显示外部数据窗口”可显示数据窗口。
鼠标右击数据窗口的数据,可设置数据块新地址;鼠标左键单击数据,可修改数据数值。
8、运行完毕,先按实验箱上的复位按钮Reset键,再按PCDBG键,并且点击屏幕上OK,即可退出运行状态。
四、实验程序代码1、把7000H~70FFH单元的内容清零。
程序代码:ORG 0000HAJMP STARTORG 70HSTART: MOV P2, #70H ;送地址高8位到P2端口MOV R0, #00H ;R0=00H,表地址低8位CLR A ;将累加器A清0LOOP: MOVX @R0, A ;将A送入以R0内容为地址的外部RAM.INC R0 ;R0+1-->R0CJNE R0,#00H,LOOP;比较条件转移指令,若R0不等于0,则跳转到LOOPAJMP $ ;暂停END2、编程实现,将源地址为6000H开始的单元,传送到目的地址7000H开始的单元,传送个数为0FFFH个。
单片机原理与接口技术实验实验一 I/O端口实验(2)系别:通信工程系专业:通信工程系11级学号:233201122041姓名:实验时间:2014年3月6日撰写日期:2014年3月9日实验一 I/O端口实验(2)一、实验目的1、掌握单片机通用I/O端口的使用方法;2、掌握I/O端口数据输入/输出的方法。
二、实验内容(与本次实验报告标题括号中的数字对应)2、当开关状态为0101(K5K6K7K8)时,四个灯循环右移;当开关状态为1010(K5K6K7K8)时,四个灯循环左移;当开关为其它状态时,在LED1~LED4上显示开关状态。
程序运行时,拨动开关,显示立即跟着变化。
【基础,周四下午每人做】三、实验设计思路对于该题,因为有3种情况,所以参考课本P68程序,在while循环结构内添加if-else条件判断语句,分别区分右移、左移、与开关状态一致3种情况。
四、电路原理图及接线说明绘制本次实验用到的部分完整电路原理图如下:开关K5K6K7K8与P2.0~P2.3相连线;LED:1~8和P1.0~P1.7相连线。
五、实验流程图见下图:六、调试过程及实验现象对于第该题,一开始运行灯全亮,经按F8逐步调试后,发现P2的值怎么也无法赋给变量b,导致无论如何拨动开关,b的值都不会改变,一直等于FF,使灯全亮。
后来经助教指点方知是P2口没有设置为I/O模式,以致于无法将P2的值传输给b。
修改设置后,一切运行正常。
七、总结本次实验的实验难度不大,第一题参考课本的8位左移右移例子稍作修改便可运行,因为实验原理一样;但却因为一开始自己不够细心导致的一些软件设置问题而严重影响到了自己的实验进度,像这样的错误今后一定要避免。
第一次接触单片机,感觉还挺有趣意思的。
附录:实验源程序以压缩包提供整个项目文件例如: s03-lab01-1a.rar友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。
报告成绩:教师签字:批改日期:评语:学生实验报告课程名称单片机原理及接口技术姓名实验名称定时器/计数器、中断综合实验班级实验目的掌握51系列单片机中断系统及定时器的工作原理及使用技巧学号实验日期实验内容(1)P1 口做输出口,接八只发光二极管,高电平点亮,控制一个. 方向循环点亮8只LED,每个LED点亮时间为50ms;(2)在以上基础上加外部中断内容,由外部中断请求时,8只LED全亮(3)P1 口做输出口,接八只发光二极管,高电平点亮,控制一个方向循环点亮8只LED,每个LED点亮时间改为2s实验地点实验组号实验设备计算机 wave6000程序 lab2000p试验箱同组人1.实验电路及连线本次试验不做要求2.程序流程图本次实验无3.源程序(1 ORG 0000H MOV TL0,#58HLJMP MAIN SETB EAORG 0003H SETB ET0ORG 000BH SETB TR0LJMP SER0 SJMP $ORG 1000H SER0:MOV TH0,#9EHMAIN: MOV A,#01H MOV TL0,#58HLOOP: MOV P1,A RL AMOV TMOD,#01H MOV P1,AMOV TH0,#9EH RETIEND(2ORG 0000H SER0:MOV TH0,#9EHLJMP MAIN MOV TL0,#58HORG 0003H RL ALJMP SER1 MOV P1,AORG 000BH RETILJMP SER0 SER1:PUSH ACCORG 1000H PUSH PSWMAIN: MOV A,#01H MOV A,#0FFH LOOP: MOV P1,A MOV P1,AMOV TMOD,#01H LCALL DELAY MOV TH0,#9EH POP PSWMOV TL0,#58H POP ACCSETB EA RETISETB ET0 DELAY:MOV R7,#0FFH SETB TR0 L1:MOV R6,#0FAH SETB EX0 DJNZ R6,$SETB IT0 DJNZ R7,L1SJMP $ RETEND(3 ORG 0000H SETB EALJMP MAIN SETB ET0ORG 000BH SETB TR0LJMP SER0 SJMP $ORG 1000H SER0:MOV TH0,#9EH MAIN: MOV A,#01H MOV TL0,#58H LOOP: MOV P1,A DJNZ R0,EXIT MOV R0,#28H MOV R0,#28HMOV TMOD,#01H RL AMOV TH0,#9EH MOV P1,AMOV TL0,#58H EXIT:RETIEND4.结果记录及分析(1)结果: P1 口做输出口,接八只发光二极管,高电平点亮,控制一个方向循环点亮8只LED,每个LED点亮时间为50ms;分析:用定时器方式0,使用定时功能,定时器以中断方式工作。
单片机原理及其接口技术实验报告实验七: 多分支程序学院:基础与信息工程学院专业:电子信息工程专业学号:姓名:日期:一.实验目的:1、掌握程序流程图的绘制方法2、了解单片机中多分支程序的编程技巧3、熟练运用程序分段调试方法二.实验要求:1、采用上图的连接方式,开关K1,K2用作输入;编程实现输入为:(1)00H时,将内RAM30H~3FH单元的数据递增1赋值,且初始值为00H;(2)01H时,将内RAM30H~3FH单元的数据由大到小排序;(3)02H时,将3EH,3FH作为双字节数(被除数),30H,31H作为双字节数(除数),进行运算,将结果保存于40H开始的单元(区分商、余数);(4)03H时,将内RAM30H~3FH单元的数据清零。
三.实验流程图及源程序:ORG 0000HSJMP MAINORG 0030HMAIN: MOV SP,#60HLOOP_0: MOV A,P1CJNE A,#00H,LOOP_1MOV R0,#30HMOV 50H,#00HMOV R1,#10HLOP: MOV @R0,50HINC 50HINC R0DJNZ R1,LOPSJMP LOOP_0LOOP_1: MOV A,P1CJNE A,#01H,LOOP_2MOV R3,#0FHBUBBLE: MOV R0,#30HMOV R2,#0FHBULOOP: MOV 20H,@R0MOV A,@R0INC R0MOV 21H,@R0CJNE A,21H,LOOPLOOP: JNC NEXTMOV @R0,20HDEC R0MOV @R0,21HINC R0NEXT: DJNZ R2,BULOOPDJNZ R3,BUBBLESJMP LOOP_0LOOP_2: MOV A,P1CJNE A,#02,LOOP_3MOV R0,3EHMOV R1,3FHMOV R2,30HMOV R3,31HMOV R4,#0MOV R5,#0 ;商赋初值零MOV A,R0MOV R6,AMOV A,R1MOV R7,A;余数赋初值,保证商为零时余数正常Byte_1: MOV A,R1CLR CSUBB A,R3 ;低字节相减MOV R1,AMOV A,R0SUBB A,R2 ;高位相减MOV R0,AJC Byte_3 ;如果高字节都需要借位则退出循环CLR CMOV A,R5ADD A,#1MOV R5,AJNC Byte_2INC R4 ;商加一Byte_2: MOV A,R1MOV R7,AMOV A,R0MOV R6,A;更新余数LJMP Byte_1Byte_3: MOV 40H,R4MOV 41H,R5MOV 42H,R6MOV 43H,R7SJMP LOOP_0LOOP_3: MOV R0,#30HMOV R1,#10HLOP1: MOV @R0,#00HINC R0DJNZ R1,LOP1SJMP LOOP_0END四.心得体会:此程序综合性较强,对加深以前的实验有较大帮助。
《单片机接口技术与实验》姓名:学号:年级:专业:电子信息科学与技术实验二并行口输入输出实验一一循环彩灯控制一、实验功能(1). P1 口接8个开关,P0 口接8个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。
开关断开时,灯灭。
二、实验原理图实验二1注意:因为P0 口作为输出口时必须接上拉电阻,为简化起见,此处接到P2 口上三、实验程序org OOOOh1jmp mainorg OlOOhmain:mov pl,#Offhmov p2, pl ajmp main end(2)一、实验功能用5个开关K0~K4,控制P0 口所接8个灯的循环,各开关的功能要求如下:(D K「K2分别选择灯的四种闪动方式;(2) K3用于控制灯的循环方式(顺时针或逆时针);(3) K4用于选择灯的两种循环速度(4) K0用于引发外部中断,在外部中断子程序中,读取通过K1-K4所设定的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。
二、实验原理图二、实验流程图实验二2MCV A 卄QCU\.cnv A ^nrnu 训CV A ++A A AU uc\\r A +fnr?nu四、实验程丿宇ORG 0000HLJMP MAINORG 0003HLJMP INTOPROORG 01OOH MAIN: MOV Pl, #OFFHMOV SP,#60HSETB EXOSETB EAMOV C,MOV 50H, CMOV C,MOV 51H, CJB ,NEXT1JNB , NEXT2 NEXT1: JB ,CIRCLE1JNB , CIRCLE2 NEXT2: JB , CIRCLE3JNB , CIRCLE4 CIRCLE1: MOV A, #80HLJMP STEPO CIRCLE2: MOV A, ttOCOHLJMP STEPO CIRCLE3: MOV A, ttOAAHLJMP STEPO CIRCLE4: MOV A, ttOEOHLJMP STEPOSTEPO: MOV P2, ASTEPO: MOV P2, AJNB 50H, S2 STEPl: JB 51H,LOOP1JNB 51H, L00P2 SI: LCALL DELAY1LJMP STEP1S2: LCALL DELAY2LJMP STEP1 DELAY1: MOV R7, #100 DI: MOV R6, #100 D2: MOV R5, #10DJNZ R5,D3D3:DJNZ R6, D2DJNZ R7,D1RETDELAY2: MOV R7, #200 D4: MOV R6, #100 D5: MOV R5, #10DJNZ R5,D6D6:DJNZ R6,D5DJNZ R7,D4RETL00P1: RL ALJMP STEPO LOOP2: RR ALJMP STEPOORG 0400H INTOPRO:MOV C,MOV 50H, CMOV C,MOV 51H, CJB , WORK1JNB , WORK2 WORK1: JB ,L1JNB ,L2 WORK2: JB ,L3JNB ,L4LI: MOV A, #80HLJMP PASSL2: MOV A, ttOCOHLJMP PASSL3: MOV A, ttOAAH L4: MOV A, ttOEOHLJMP PASSLJMP PASSPASS: RETIEND实验三七段LED数码管控制实验一、实验功能1.实验采用4位一体的数码管,用P1 口通过驱动芯片控制段码输出信号线,P0 口通过驱动芯片控制位选线:(1)当开关K0接低电平时,第一位依次显示0〜F,然后第二位、第三位、第四位,再循环回第一位。
(2)当开关K0接高电平时,四位动态显示“HELP” 二、实验原理图5V5VP1.0 PO.O P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P2.0 P2.1 P2.2 P2.3实验三二、实验流程图TE J厶iUil卜忙Mr 口.木调用延时子程四、实验程序org OOOOh1jmp mainorg OlOOh main:mov p2,#Offhsetbmov dptr, fttabmov rO, #0mov a, #00hloopl: mov rO, #00hjnb , h sjmploop2〈位显示子lcall lightmov p2, #Ofdh lcall lightmov p2,#Ofbh lcall lightmov p2, #b lcall lightsjmp loopljb , loop2 mov a, rO move a, @a+dptrinc rO mov pO, alcall delayl cjne rO,#16, light mov rO, #0retmov p2,ttOfehh :mov p2,#0feh light:loop2:mov pO,#73hlcall delayljnb ,looplmov p2,#Ofdhmov pO,#38hlcall delayljnb ,looplmov p2,#Ofbhmov pO,#79hlcall delayljnb ,looplmov p2, #bmov pO,#76hlcall delayljnb ,looplsjmp loopltab:db3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hdelayl:MOV R3,#10D2: MOV R2, #100DI: MOV R1,#1OODO: DJNZ R1,DODJNZ R2,D1DJNZ R3,D2RETend实验四定时器中断实验一、实验功能1.用TO定时器实现1秒定时,控制一个LED亮1秒,灭1秒,并不断循环。
二、实验原理图5VKO TOP2.7实验四1三、实验流程图qgqo#'oq)AomqiOjppoin? AOUIq09#,ds AOUIM00I0 SJO0切0? drnpjqqooo 3joUTEin duiCyH0000 §JOU十虽卞vax 気十vax虽:UTBIU■/11mov tlO,ftOOhmov rO,#100 setb easetb etOsetb trOloop: s jmp $1jmp loopdjnz rO, wtOprO:cplmov rO,#100mov thO, #0b8hw:mov tlO, ttOOhretiend一、实验功能实现一个4位秒表:(1)用开关K0模拟秒表的启动、停止、清零功能,按一次启动计时,按一次停止,再按一次清零,在三个状态中循环。
(2)最低位按1/10秒计数,依次计数单位为1/10秒,1秒,1分(3)要求KO使用外部中断,优先级高于TO的优先级二、实验原理图5V 5V三、实验流程图TVr D1TNTC DOD 1 —A TNTC DQ1,辺PO-ATMC D/1迟DO—AT\7r DC辺pc-ni!3r D /1—1 A四、实验程丿宇org OOOOh1jmp main org0003h1jmp intxOorg OOObh1jmp tOprOorg OlOOhmov tmod, #01h main:mov thO,ftObShmov tlO,#00hmov p2,#Offhmov rO, #1mov rl, #0mov r2, #0mov r3, #0mov r4, #0mov r5, #0mov a, #0mov dptr, #tabsetb easetb exOsetb itO setb trOsetb pxOsetb etOk:lcall aaajmp kaaa:mov p2,ftOfehmov a, r2lcall loop lcall mmmov p2,#Ofdhmov a, r3lcall loop lcall mmmov p2,COfbhmov a, r4lcall loop lcall mmmov p2, #bmov a, r5lcall looplcall mmretmm: djnz acc,$djnz acc, $retloop:move a, @a+dptrmov pO, arettab:db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fhintxO:inc rOc jne rO, #1, stsetb trOretist:c jne rO, #2, wclr trOretiw:mov a, #0 mov rO, a mov rl, a mov r2,a mov r3, amov r4,amov r5, aretimov thO,#0b8htOprO:mov tlO,ftOOhinc rlcjne rl, #10, exitmov rl, #0inc r2cjne r2,ttlO, exitmov r2, #0inc r3cjne r3,#10, exitmov r3, #0inc r4c jne r4, #6, exitmov r4, #0inc r5cjne r5,ttlO,exitexit: retiend实验五脉冲宽度与周期测量实验一、实验功能同时测量脉冲宽度和周期,由开关K0选择显示脉冲宽度还是显示脉冲周期。
二、实验原理图三、实验流程图5V 实验五3四、实验程丿宇main: ORG 0000Hlimp mainorg OOObh1 jmp torg OlOOhmov tmod, #oah mov thO,#48h mov t10,#48h setb easetb etOmov dptr, fttab mov a, #0mov rO, #0mov rl, #0mov r2, #0mov r3, #0mov r4, #0jb , bOloopO: jb ,loopOsetb trO loopl: jnb ,looplloop2: jb ,loop2 loop3: jnb ,loop3jb ,loop4 loop4:clr trO1jmp loopbo:jb , bOsetb trObl: inb , blb2: jb , b2clr trOloop:mov a, tlOsubb a, #48h movb, #2 div ab movrl, b mov r2, amov a, rO movb,#10 div ab movr3, b add a, #10mov r4, amov p2, #bmov a, rllcall wwwlcall z movp2, #b mova, r2 lcallwww lcall zmov p2, #bmov a, r3lcall wwwlcall z movp2, #b mova, r4 lcallwww lcall z1jmp mainWWW:move a, @a+dptrmov pO, aretz: djnz acc,$djnz acc, $rettab: db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, , 6fhdbObfh, 86h, 0d8h, Ocfh, 0e6h, Oedh, Ofdh, 87h, Offh, Oefhorg 0200ht: inc rOretiend实验六串行通信实验一、实验功能利用串行口方式0实现一个七段数码管的显示控制,轮流显示0〜9十个数码二、实验原理图实验六三、实验流程图四、实验程序orgajmp main: movmovOOOOh main scon,#00h dptr, ablemov rO, #10clrNEXT: djnz rO, sendajmp mainsend: clr amove a, @a+dptrmov sbuf, ajnb ti, $clr tiinc dptracall delayajmp nextdelay: mov rl, #50loopl: mov r2,#100loop2: mov r3, #50djnz r3, $djnz r2,loop2djnz rl,looplrettable: DB 3Fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fhend。