《单片机与接口技术》实验内容实验一仿真器的使用
《单片机原理及接口技术》课程实验大纲

《单片机原理及接口技术》课程实验大纲课程名称:《单片机原理及接口技术》实验英文名称:《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.学习延时子程序的编写。
单片机原理及接口技术(C51编程)虚拟仿真平台Proteus的使用

4.1 Proteus功能概述
4.2 Proteus ISISProteus ISIS 环境简介
4.1 Proteus功能概述
虚拟仿真不需用户样机,可直接在PC机上进行虚拟设 计与调试。然后把调试完毕的程序代码固化在程序存储器中, 一般能直接投入运行。
尽管Proteus具有开发效率高,不需要附加的硬件开发 装置成本,须注意,使用Proteus来对用户系统仿真,是在 理想的状况下的仿真,对硬件电路的实时性还不能完全准确 地模拟,因此不能进行用户样机硬件部分的诊断与实时在线 仿真。所以在单片机系统开发中,一般先在Proteus环境下 画出系统的硬件电路图,在Keil C51μVision3环境下书写并 编译程序,然后在Proteus下仿真调试通过。
4.6 单片机系统的Proteus虚拟设计与仿真
4.7 Proteus的各种虚拟仿真调试工具
4.1 Proteus功能概述
Proteus是Lab center Electronics公司于1989年推出,为单 片机应用系统开发提供的功能强大的虚拟仿真工具。除具有 模拟电路、数字电路的仿真功能外,最大特色是对单片机应 用系统连同程序运行以及所有的外围接口器件、外部测试仪 器一起仿真。
OPTION
03 支持各种主流单片机仿真,除8051系列外,Proteus还
OPTION
可仿真68000系列、AVR系列、PIC12/16/18系列、 Z80系列、HC11、MSP430等其他各主流系列单片机, 以及各种外围可编程接口芯片。此外还支持ARM7、 ARM9以及TI公司的2000系列某些型号的DSP仿真。
单片机原理与接口技术实验指导书

实验一单片机实验开发系统操作实验一、实验目的和要求1. 学习Keil C51集成开发环境中汇编语言程序的设计和调试。
2. 熟悉TX-1C实验板的应用。
二、实验设备1. Keil C51集成开发环境一套2. TX-1C实验板一台3. PC机一台三、TX-1C实验板的使用1.按实验线路接好线后,检查无误在指导教师允许下才可通电。
2.实验板通电后,不允许在上面放置任何物品,特别是金属物!(因集成芯片或线路引起短路损坏设备)。
四、实验步骤1.打开PC机电源,正常工作后,在显示器的桌面上点击快捷图标“u Vision2”,进入Keil C51集成开发环境的开发调试平台。
2.实验板接好2根USB线后,打开电源。
3. 源文件的建立和打开:(1) 选菜单栏文件/新文件或者工具栏新文件,出现源文件编辑窗口,输入程序S1。
(2) 选文件/存储(或另存),要求输入文件名,同时保存类型选*.asm。
选择保存路径,然后单击保存即可。
(3)编译源文件,选菜单栏/编译、连接、装载或者工具栏“!”,弹出“装载完毕OK”,根据编译结果的错误提示,修正源程序S1,直至成功。
此时可以关闭“编译结果”和源文件编辑窗口。
4.调试和运行程序S1(1)“当前模块”中“小手光标”位置是PC指针所在,“寄存器”中显示当前各寄存器中的内容。
“数据存储区”中地址用右键选显示地址,“输入数据”为十六进制2000,确认后调试。
(2)首先单步运行,选主菜单/调试/单步运行或者选工具栏单步运(F7)。
运行一个循环,观察相关的寄存器和存储区的变化。
(3)运用连续运行和设断点运行。
工具栏/为连续运行,在“当前模块”中鼠标出现“小手”时点击,“红色手”即为断点位置。
5. 记录下数据区2000H~20FFH中,在执行程序S1前后的内容变化。
五、实验内容程序S1的参考程序如下:机器代码汇编语言注释ORG 0000H7800 SE01: MOV R0,#00H ;902000 MOV DPTR,#2000H ;E4 L001: CLR A ;F0 MOVX @DPTR,A ;A3 INC DPTR ;08 INC R0 ;B800F9 CJNE R0,#00H,L001 ;80FE LOOP: SJMP LOOP ;END六、思考题1. 程序S1的功能是什么?画出S1程序框图,并写出注释。
单片机实验——精选推荐

实验一认识实验一.实验目的1.了解仿真器的硬件结构与接线。
2.了解MCS-51单片机复位功能及复位后的内部状态。
3.通过示例程序的键入与执行,学习仿真器的使用与操作方法。
二.实验内容1.对照实验指导书,查对实验机具体接线。
2.按照开发系统的使用方法,分别查看复位后PC、SP、DPTR等特殊功能寄存器及片内、片外RAM的内容。
3.熟悉开发器的使用,将下面程序键入实验机。
ORG 2000H2000 74AA MOV A,#0AAH2002 75F0BB MOV B,#0BBH2005 E5F0 MOV A,B2007 78CC MOV R0,#0CCH2009 E8 MOV A,R0200A 80FE SJMP $4.程序键入后,检查各存储单元所储机器码是否正确如有误,重新键入,达到修正的目的。
5.单步执行示例程序,逐步检查执行结果,核查与分析结果是否相符,直到执行完最后一条指令。
6.练习连续执行示例程序,检查执行结果,核查与分析结果是否相符。
7.自己在示例程序中插入一条指令,执行并查看结果,然后删除,熟悉插入/删除操作。
8.将示例程序移到另外一个存储区,执行并查看结果,熟悉程序块移动操作。
三.实验预习要求1.认真阅读指导书的相关内容,熟悉开发系统的各种操作。
2.实验前应写出规定操作任务的具体操作方法步骤。
四.思考题1.MCS-51单片机怎样实现内部复位,画出一种复位电路。
2.PC、SP、P0、P1、P2、P3复位状态是什么?各有何意义?3.示例程序中最后一条指令SJMP $的作用是什么?如果取掉这一条指令,程序的执行将发生什么变化?4.实验机监控系统怎样实现程序“单步执行”功能?五.实验报告要求1.按实验顺序,写出实验操作的方法步骤。
2.写出实验中所遇到的问题与解决过程。
写出思考题的答案。
实验二建立数据区、数据块传送一.实验目的1.进一步熟悉实验机操作,练习程序调试方法。
2.理解并掌握建立数据区与数据块传送程序。
单片机与PLC

自动化技术类专业实训教材系列《单片机与可编程控制应用技术》实验实训讲义赵永君王晖班级姓名学号济南铁道职业技术学院目录第一篇单片机实验部分实验一仿真软件的使用及数据传送指令 (3)实验二算术运算指令 (12)实验三控制转移和位操作指令 (15)实验四汇编语言程序设计(一) (16)实验五汇编语言程序设计(二) (18)第二篇单片机实训部分实训项目一仿真器的认识与基本逻辑输出接口 (19)实训项目二基本逻辑输入接口---键盘接口 (22)实训项目三数码管显示器接口技术 (25)实训项目四交通灯模拟实训 (28)实训项目五中断与定时程序 (31)实训项目六基本I/O扩展技术 (32)实训项目七8255 I/O扩展电路 (33)实训项目八蜂鸣器驱动实验 (34)第三篇可编程控制器实验部分第一章实验装置概述 (36)第二章FXGPWIN编程软件使用说明 (38)第三章实验实训内容实验一PLC认识性实验 (49)实验二PLC定时器和计数器的使用 (51)实验三基本指令实验 (53)实验四步进顺控指令 (57)实验五电机控制 (60)实验六PLC功能指令的使用 (63)第四篇可编程控制器实训部分实训一天塔之光/数字显示 (65)实训二交通信号灯的自动与手动控制 (67)实训三多种液体混合装置 (69)实训四邮件分检机 (71)实训五3层3站简易电梯的控制 (74)第一篇单片机实验部分实验一仿真软件的使用及数据传送指令实验目的:1、熟悉仿真软件CodeCruiser for 51中文版的使用方法。
2、验证数据传送指令的操作。
预习内容:数据传送指令实验指导:一、认识了解仿真软件:1、进入仿真程序启动电脑,点击开始—程序—找到仿真软件CodeCruiser for 51中文版,点击软件仿真进入软件仿真程序,如下图所示:就会进入如下的窗口:在初始页面上点取消进入软件仿真的主页面:2、新建一个项目在如上所示的窗口处点击项目菜单/新建,新建一个项目,项目的默认扩展名是.mpj,不需要作任何更改。
单片机原理及接口技术实验报告

单片机原理及接口技术实验报告一、引言单片机(Microcontroller)是一种集成为了处理器、存储器和各种接口电路的微型计算机系统。
它具有体积小、功耗低、成本低等优点,广泛应用于嵌入式系统、自动化控制、电子设备等领域。
本实验旨在深入了解单片机的原理和接口技术,并通过实验验证相关理论。
二、实验目的1. 理解单片机的基本原理和结构。
2. 掌握单片机与外部器件的接口技术。
3. 进一步培养实际操作能力和解决问题的能力。
三、实验仪器与材料1. 单片机开辟板2. 电脑3. 串口线4. LED灯5. 蜂鸣器6. 数码管7. 按键开关8. 电阻、电容等元件四、实验内容与步骤1. 单片机原理实验1.1 单片机的基本结构单片机由中央处理器(CPU)、存储器(RAM、ROM)、输入输出接口(I/O)、定时器/计数器、串行通信接口等组成。
通过学习单片机的基本结构,我们可以了解各个部份的功能和作用。
1.2 单片机的工作原理单片机的工作原理是指单片机在不同工作模式下的内部状态和运行规律。
通过学习单片机的工作原理,我们可以更好地理解单片机的工作过程,为后续的实验操作提供基础。
2. 单片机接口技术实验2.1 LED灯接口实验将LED灯与单片机相连,通过控制单片机的输出口电平,控制LED灯的亮灭。
通过实验,我们可以学习到单片机的输出接口的使用方法。
2.2 蜂鸣器接口实验将蜂鸣器与单片机相连,通过控制单片机的输出口电平和频率,控制蜂鸣器的声音。
通过实验,我们可以学习到单片机的输出接口的使用方法。
2.3 数码管接口实验将数码管与单片机相连,通过控制单片机的输出口电平和数据,显示不同的数字。
通过实验,我们可以学习到单片机的输出接口和数码管的使用方法。
2.4 按键开关接口实验将按键开关与单片机相连,通过检测单片机的输入口电平,实现按键的功能。
通过实验,我们可以学习到单片机的输入接口的使用方法。
五、实验结果与分析1. 单片机原理实验结果通过学习单片机的基本结构和工作原理,我们深入了解了单片机的内部组成和工作过程,为后续的接口技术实验打下了基础。
单片机实验—— 熟悉仿真器环境

实验一熟悉仿真器环境1.实验目的(1)熟悉仿真器及仿真软件的使用方法(见仿真器的使用说明书)(2)掌握地址译码的基本原理和方法(3)简单的汇编语言的编制2.预习要点(1)认真阅读实验基础知识,掌握单片机汇编环境的应用。
(2)51单片机的总线时序、地址译码的原理(3)51汇编语言的基础知识3.实验设备计算机、单片机实验箱。
4.实验内容(1)熟悉开发系统使用包括各项设置和开发过程。
(2)通过加减法验证标记位(PSW)(3)单步执行例程程序并按要求观察各寄存器的变化情况附例程ORG 0000H 将此段程序按书后附录查出相应的机器码,并画出其在存储空间的分布地址和内容,与开发系统编译结果做比较(扩展要求)AJMP MAIN;ORG 0030HMAIN: MOV SP,#70HMOV 30H,#20HMOV 31H,#0F0HLCALL ADD1 给出30H~32H在加法运算前后的结果,并判断运算结果是否正确MOV 30H,#90HMOV 31H,#80HLCALL ADD2 给出30H~32H在加法运算前后的结果,并判断运算结果是否正确MOV 30H,#20HMOV 31H,#0F0HLJMP SUB1 给出30H~32H在加法运算前后的结果,并判断运算结果是否正确HERE: NOPSJMP HERE;ADD1: MOV A,30HADD A,31H 观察记录运算前后PSW的变化MOV 32H,ANOPRET;ADD2: PUSH PSWPUSH ACC 通过开发系统跟踪观察堆栈指针和堆栈内容的变化MOV A,30HADD A,31HMOV 32H,ANOPPOP ACCPOP PSWRET;SUB1: MOV A,30HSUBB A,31H 观察记录运算前后PSW的变化MOV 32H,ANOPLJMP HEREEND。
《单片机与接口技术》实验报告[精选五篇]
![《单片机与接口技术》实验报告[精选五篇]](https://img.taocdn.com/s3/m/95d88ce585254b35eefdc8d376eeaeaad0f3165a.png)
《单片机与接口技术》实验报告[精选五篇]第一篇:《单片机与接口技术》实验报告《单片机与接口技术》实实验报告SUNES59PA班班级:____________________ 学学号:____________________ 姓姓名:____________________ 得得分:____________________ 指指导:____________________ 日日期:____________________合肥工业大学宣城校区实验一XXXXXXXXXXXXX一、实验目的二、实验设备三、实验内容四、实验步骤五、实验现象六、实验程序(必须带注释)第二篇:《单片机与接口技术》实验报告1实验六D/A转换(脱机:HW10)一、实验目的(1)了解D/A转换芯片DAC0832的性能及编程方法;(2)了解单片机系统中扩展D/A转换芯片的基本方法。
二、实验内容利用DAC0832芯片输出一个从0V开始逐渐升至5V再降至0V 的可变电压。
三、实验步骤四、实验现象解释五、实验程序第三篇:单片机接口技术与实验课程总结《单片机接口技术与实验》课程总结姓名:史慧学号:年级:专业:电气工程及其自动化1226409016 2009级2011年秋季学期实验一1.功能要求本实验要求向芯片中写入 10 个字节,然后再读出显示。
2.硬件设计思路P2引脚连接8LED灯,显示读出的数据。
3.软件程序流程其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。
这就允许在同一总线上连接多个SPI设备成为可能。
接下来就负责通讯的3根线了。
通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。
这就是SCLK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。
数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。
单片机原理与接口技术--实验报告

专业: 学号:
年级:
实验时间:
组:_______ 指导教师:
一、实验目的 1.进一步熟悉Kiel C软件的使用方法。 2.掌握proteus软件的使用方法。 3.熟悉C语言数据与运算 4.熟悉C语言程序结构
二、实验内容 1.程序一:按键K0~K3,用三种分支语句实现P0口的多值输出 2.程序二:用三种循环语句实现P0口的多值输出。
if(num==0x40) { for(j=3;j>0;j--) { P0=num; //将 num 赋值给 P0 口 num>>=2; //变量右移二位 delay(100); //延时一段时间 } } }
}
} void delay(unsigned char i) //延时子程序 {
unsigned char j,k; for(k=0;k<i;k++) for(j=0;j<255;j++);
英文提示
中文含义
可能发生的错误
五、Proteus 仿真电路图 (用屏幕硬 COPY 在 WORD 上粘贴后打印)贴在这里
六、仿真观测到的现象
七、心得体会 (一定要写,内容是学习这部分课和实验后的收获,还有什么地方不懂,对教学的意见、
建议等。如果不写,降分处理)
学院: 姓名:
实验二 并行 I/O 端口的应用一
三、实验程序 1、程序一:
2、程序二:
四、Proteus 仿真电路图 (用屏幕硬 COPY 在 WORD 上粘贴后打印)贴在这里
五、心得体会 (一定要写,内容是学习这部分课和实验后的收获,还有什么地方不懂,对教学的意见、
建议等。如果不写,降分处理)
学院: 姓名:
实验一 单片机仿真开发系统的使用

实验一单片机仿真开发系统的使用预习要求:P1口控制8个发光二极管LED循环点亮,至少有三种造型,造型写在实验内容中,并在程序中加以注释说明。
一、实验目的1.熟悉PROTEUS单片机仿真软件的使用。
2. 熟悉Keil C51软件的使用3.掌握单片机I/O口输出的控制方法。
二、实验设备(仪器)PC 机一台、硬件综合平台三、实验参考内容1.按照Keil C51 集成开发环境的要求,建立一段P0~P3口作为输出端口的程序,然后进行编译并进行软件仿真。
2.运用PROTEUS绘制原理图,控制P0~P3输出端口,以控制32位LED流水灯的造型,参考电路如图1-1所示。
3.预习32位LED点亮实验例程,理解其程序,掌握LED的工作原理,其工作特性如图1-2所示。
#include <reg51.h>void delay_1ms()//毫秒级延时约等于4*256*1 us = 1024 us≈1 ms{unsigned char j=0,i=4;do{while(--j) ;}while(--i);}void delay_ms(unsigned char i) //i*1毫秒延时{while(i--)delay_1ms();}void port_init(void){P0=0XFF;P1=0XFF;P2=0XFF;P3=0XFF;}void main (void){unsigned char i;port_init();while(1){for(i=0;i<8;i+=2) // 跳过点亮P0口LED {P0=~(1<<i);delay_ms(200);}P0=0X00; // P0口LED全亮delay_ms(200);P0=0XFF; // P0口LED全灭for(i=0;i<8;i+=3) // 每隔三个点亮P1口LED {P1=~(1<<i);delay_ms(200);}P1=0X00; // P1口LED全亮delay_ms(200);P1=0XFF; // P1口LED全灭for(i=0;i<8;i+=4) // 每隔四个点亮P2口LED {P2=~(1<<i);delay_ms(200);}P2=0X00; // P2口LED全亮delay_ms(200);P2=0XFF; // P2口LED全灭for(i=0;i<8;i++) // 轮流点亮P3口LED{P3=~(1<<i);delay_ms(200);}P3=0X00; // P3口LED全亮delay_ms(200);P3=0XFF; // P3口LED全灭} }图1-1 32灯控制参考电路2.Keil C 软件的调试方法及相关硬件设置。
单片机原理及其接口技术实验报告

单片机原理及其接口技术实验指导书实验1 Keil C51的使用(汇编语言)一.实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。
二.实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。
三.实验原理及环境:在计算机上已安装Keil C51软件。
这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。
如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。
四:实验内容:1.掌握软件的开发过程:1)建立一个工程项目选择芯片确定选项。
2)加入C 源文件或汇编源文件。
3)用项目管理器生成各种应用文件。
4)检查并修改源文件中的错误。
5)编译连接通过后进行软件模拟仿真。
6)编译连接通过后进行硬件仿真。
2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。
3.在2的基础上,实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。
五:程序清单:ORG 0000HAGAIN:CPL P1.0MOV R0,#10 ;延时0.5秒LOOP1:MOV R1,#100LOOP2:MOV R2,#250DJNZ R2,$DJNZ R1,LOOP2DJNZ R0,LOOP1SJMP AGAINEND六:实验步骤:1.建立一个工程项目选择芯片确定选项如图1-1所示:①Project→②New Project→③输入工程名test→④保存工程文件(鼠标点击保存按钮)图1-1创建工程名弹出下一界面。
如图1-2所示:①选CPU厂家(Atmel)→②选CPU型号(89C51), ③选好后确定图1-2选厂家,选CPU 型号接着选晶振频率及生成HEX 文件等。
单片机原理和接口技术实验报告

2.建立汇编源文件
如图1-4所示:①File→②New,③弹出源文件编辑窗口。
输入以下源文件:
ORG 0000H
AGAIN:CPL P1.0
MOV R0,#10;延时0.5秒
LOOP1:MOV R1,#100
LOOP2:MOV R2,#250
DJNZ R2,$
五:程序清单:
LJMP 0100H
ORG 0100H
MOV A,30H
MOV B,#16
DIV AB
MOV R0,B
MOV B,#16
MUL AB
ADD A,R0
MOV B,#10
DIV AB
MOV 33H,B
MOV A,33H
MOV 33H,A
MOV B,#10
DIV AB
MOV 32H,B
MOV A,32H
七:试验总结:这个实验麻烦的就是编程实现十六进制与十进制的转换,尤其是算数运算指令的使用。实验过程中还不是很熟练;还有一个体会就是算法对编写程序至关重要,如果编写程序之前没有确立算法,那么编程将无法下手。
实验3 8段LED显示器动态显示
实验目的:
掌握8段LED显示器的使用及显示程序的设计方法。
实验设备:
图1-5进入编译文件文件窗口
编译:Project→Build target就会生成一系列到文件如OBJ文件LST文件HEX文件等。
4.检查并修改源文件中的错误
如果在源文件中存在错误在Output窗口中会出现错误提示信息,你可以在源程序中进行修改,然后存盘后重新Build观察错误提示信息。
5.编译连接通过后进行软件模拟仿真
A 88H A. 08H
单片机原理及接口技术 实验

单片机原理及接口技术实验单片机原理及接口技术实验单片机是一种能够完成特定任务的微型电脑系统,其内部包括中央处理器、存储器、输入/输出接口和定时/计数器等功能模块。
在现代电子技术领域中,单片机被广泛应用于各种自动控制、数字通讯、智能仪器和嵌入式系统等领域。
下面我们来了解一下单片机原理及接口技术的实验。
一、单片机原理单片机内部包含中央处理器(CPU)、存储器、输入/输出接口和定时/计数器等功能模块。
其中,CPU是单片机的核心部件,它能够解读并执行各种指令,控制单片机的运行;而存储器则用于储存程序代码和数据,其中程序运行时对存储器的读写操作十分频繁,并且存储器也被划分为程序存储器和数据存储器两个部分。
此外,单片机还包括输入/输出接口和定时/计数器模块,前者用于控制单片机与外部设备的数据交换,后者则用于完成各种定时和计数功能。
二、单片机接口技术单片机接口技术就是指单片机与外部设备之间通信的技术,其中最常见的接口是串口和并口。
1. 串口串口是最常见的单片机输入/输出接口之一,它的原理是将数据位逐个串行传输,速度慢但可靠性高。
在实际应用中,串口接口被广泛应用于打印机、智能设备、数码相机、路由器等各种设备,也可以通过串口将单片机与PC机进行通信。
2. 并口并口是另一种单片机输入/输出接口,其原理是将数据一次性并行传输,速度较快但可靠性相对较低。
在实际应用中,并口接口被广泛应用于打印机、扫描仪、光盘刻录机等各种设备。
三、单片机实验单片机实验是通过实践来了解单片机原理和接口技术的方法。
下面是一些常见的单片机实验:1. LED亮灭实验通过控制IO口状态,让LED灯有规律地亮和灭,来熟悉单片机的IO口使用和控制方法。
2. LCD液晶屏显示实验通过控制LCD液晶屏的驱动,让屏幕上显示输入的信息,来了解单片机对于外部设备驱动的使用。
3. 蜂鸣器发声实验通过控制IO口的高低电平,让蜂鸣器发出一定频率的声音,来了解单片机对于音乐发声的控制方法。
物联网《单片机与接口技术》实验指导书

目录实验一P3口输出控制继电器实验 (1)实验二P1口输入、输出实验 (4)实验三定时器中断实验(综合) (7)实验四外部中断实验(综合) (13)附录LCA51软件快速入门 (17)实验一 P3口输出控制继电器实验一、实验目的掌握继电器控制的基本方法和经验。
二、实验原理实验电路原理图如图所示:电路的控制端为JD,当JD为高电平时,继电器不工作,当JD为低电平时,继电器工作,常开触点吸合。
实验中,P3.5 接JD,。
R-MID接L1灯,R-CLOSE接GND。
利用P3.5输出高低电平,控制继电器的开合,实现对外部装置的控制。
三、实验仪器:1.AEDKT598实验箱。
2.PC机及编辑调试软件LCA51。
1.实验用连接线。
四、实验内容及步骤实验内容:编程从P3.5输出高低电平,控制继电器的开合。
实验步骤:1.按实验电路进行连线。
2.运行编辑调试软件LCA51。
3.按实验内容编写源程序,实验程序框图参见图示。
2.调试程序并运行。
五、预习要求阅读实验指导书,根据实验内容和程序框图编写源程序。
六、思考题当P3.5输出高电平时,L1灯的状态是亮?还是灭?结合电路原理图和继电器的工作原理加以说明。
七、实验报告要求1.实验名称、班级、实验者、日期。
2.实验目的与实验线路。
3.实验内容。
4.实验程序的框图及编写的源程序。
5.编写、调试源程序的步骤。
6.调试过程中遇到什么问题?怎样解决的?7.回答思考题;说明程序运行结果。
实验二 P1口输入、输出实验一、实验目的1、学习使用爱迪克T598实验系统2、学习P1口的使用方法。
3、学习延时子程序的编写和使用。
二、实验原理实验电路原理图如图所示:P1口做输出口时,P1.0-P1.7接L0-L7。
可以实现从P1口输出数据去点亮相应的发光二极管。
P1口做输入口时,P1.0-P1.7接八个拨动开关K0-K7,通过P1口可读取开关的状态。
实验机上74LS273做输出口时,CS273接译码器的输出8300H,使得74LS273做输出口的地址是8300H,74LS273的输出端PO0-PO7接八只发光二极管L0-L7;由P1口读取的开关状态,可通过74LS273输出,在发光二极管上显示出来。
单片机原理与接口技术实验指导(c语言版)

单片机原理与接口技术实验指导〔c语言版〕实验1 Keil软件的使用1.1 创立一个Keil C51应用程序开发单片机的第一步就是用Keil C51软件编写程序,并形成最终的“*.hex〞目标文件,然后用编程器将该文件烧写到单片机中,最后将烧写好的单片机插到电路板上,接通电源就可以工作了。
在 Keil C51集成开发环境下使用工程的方法来管理文件的,而不是单一文件的模式。
所有的文件包括源程序(包括 C 程序,汇编程序)、头文件、甚至说明性的技术文档都可以放在工程工程文件里统一管理。
在使用 Keil C51 前,用户应该习惯这种工程的管理方式。
对于使用 Keil C51 的用户来讲,一般可以按照下面的步骤来创立一个自己的 Keil C51 应用程序。
1.新建一个工程工程文件;2.为工程选择目标器件(例如选择SST的SST89C58); 3.为工程工程设置软硬件调试环境; 4.创立源程序文件并输入程序代码; 5.保存创立的源程序工程文件; 6.把源程序文件添加到工程中。
下面以创立一个新的工程文件 Led_Light.μV2 为例,详细介绍如何建立一个Keil C51的应用程序。
(1) 双击桌面的 Keil C51 快捷图标,进入如图1.1所示的 Keil C51 集成开发环境。
或许翻开Keil C51 界面有所不同,这是因为启动μVision2 后,μVision2 总是翻开用户前一次正确处理的工程,可以点击工具栏的 Project 选项中的 Close Project 命令关闭该工程。
图 1.1 Keil C51 集成开发界面〔2〕点击工具栏的 Project 选项,在弹出如图1.2 所示的下拉菜单中选择New Project命令,建立一个新的μVision2 工程,这时可以看到如图 2.10 所示的工程文件保存对话框。
图 1.2 新建工程工程下拉菜单在这里需要完成以下事情:①为工程取一个名称,工程名应便于记忆且文件名不宜太长;②选择工程存放的路径,建议为每个工程单独建立一个目录,并且工程中需要的所有文件都放在这个目录下;③选择工程目录 F:\\示范程序\\Led_Light 和输入工程名Led_Light 后,点击保存返回。
单片机接口技术实训报告

一、实训背景随着科技的不断发展,单片机在各个领域得到了广泛的应用。
为了提高学生的实践能力,本实训课程旨在让学生深入了解单片机接口技术,掌握单片机与外部设备进行数据交换的原理和方法。
通过本次实训,使学生能够熟练运用单片机接口技术,设计并实现简单的控制系统。
二、实训目的1. 熟悉单片机接口技术的基本原理和常用接口类型。
2. 掌握单片机与外部设备进行数据交换的方法和技巧。
3. 学会使用常用接口电路,如串行通信接口、并行通信接口等。
4. 提高学生的动手实践能力和创新意识。
三、实训内容1. 实训环境本次实训使用STC89C52单片机作为核心控制单元,通过编程实现与外部设备的数据交换。
实验设备包括STC89C52单片机开发板、数码管、按键、蜂鸣器、串行通信模块等。
2. 实训步骤(1)搭建实验电路根据实训要求,搭建单片机与外部设备的连接电路,包括数码管显示电路、按键输入电路、蜂鸣器驱动电路、串行通信电路等。
(2)编写程序使用C语言编写程序,实现以下功能:1)数码管显示:显示单片机内部计数值;2)按键输入:读取按键状态,控制数码管显示数字;3)蜂鸣器驱动:根据按键输入,控制蜂鸣器发出不同频率的声波;4)串行通信:通过串行通信模块实现单片机与其他设备的数据交换。
(3)调试程序使用Keil uVision软件对程序进行编译、调试,确保程序运行正确。
(4)测试程序将调试好的程序烧录到单片机中,观察数码管显示、按键输入、蜂鸣器驱动和串行通信等功能是否正常。
四、实训结果与分析1. 实训结果通过本次实训,成功实现了单片机与数码管、按键、蜂鸣器和串行通信模块的连接与数据交换。
数码管能够显示单片机内部计数值,按键输入能够控制数码管显示数字,蜂鸣器能够根据按键输入发出不同频率的声波,串行通信模块能够实现单片机与其他设备的数据交换。
2. 实训分析(1)数码管显示数码管显示功能通过单片机的P0口输出数据,控制数码管显示相应数字。
程序中使用了定时器/计数器实现计数功能,并通过查表法将计数值转换为数码管显示的段码。
单片机实验内容_1-单片机开发系统的使用

实验一单片机开发系统的使用一、实验目的1、掌握DVCC仿真系统使用方法;2、掌握P1口的输入/输出使用方法;3、编程的初步知识。
二、实验设备DVCC仿真系统一套、计算机一台。
三、实验内容1、掌握DVCC仿真系统的的基本使用方法。
2、了解程序编辑、汇编、修改、连接和运行的过程。
四、实验步骤1、DVCC仿真系统的的部分硬件的实物与作用了解。
2、在教师的指导下编辑、保存下列程序。
ORG 0000H ;伪指令ORG,说明机器码存储的首地址LOOP: MOV P1,#0FH ;数据传送指令,将0FH这个数传送到P1中,定义P1.0-P1.3为输入状态。
MOV A, P1 ;将P1.0-P1.3引脚的状态和P1.4-P1.7锁存器的数传送到A中。
ANL A,#0FH ;逻辑运算指令,寄存器A中的数与0FH进行“与”运算。
JZ OVER ;条件转移指令,若(A)=00H,程序转移到标号OVER处执行SWAP A ;高低字节交换指令,ACC.0-ACC.3与ACC.4-ACC.7交换。
MOV P1,A ;将寄存器A中的数传送到P1,并由P1.4-P1.7输出到LED。
SJMP LOOP ;无条件转移指令,程序转移到标号LOOP处执行。
OVER:SJMP $ ;无条件转移指令,程序转移到标号OVER处执行,即原地等待。
END ;伪指令END,表示程序结束。
3、编译、修改、连接上述程序,记录编译过程中提示的错误和修改的方法。
常见的错误有:①数字…0‟与字母…O‟混淆。
MOV P1, #0FH写成MOV P1, #OFH②掉了逗号。
如MOV A,P1写成MOV A P1③助记符写错。
如ANL A,#0FH 写成AML A,#0FH④标号后面的冒号掉了。
如OVER:SJMP $写成OVER SJMP $⑤标号不一致。
如SJMP LOOP写成SJMP LOP⑥END后面有空行。
此时提示“”,修改方法是将光标放在END后面,不断地按“Delete”键。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机与接口技术》实验内容实验一仿真器的使用*实验二代码转换程序设计*实验三算术运算类程序设计*实验四逻辑运算类程序设计实验五RAM扩展*实验六8279显示器和键盘接口*实验七定时/计数器应用*实验八A/D转换器接口*实验九D/A转换器接口实验十串行接口通信注:实验课内容为带*的实验项目实验一仿真器的使用1、实验目的了解仿真器与用户系统的连接方法;初步学会仿真器和仿真软件的操作使用方法。
2、伟福G6W仿真器概述⑴G6W外形示意图⑵G6W型仿真器的主要特性●采用ALTERA高密度大规模可编程逻辑芯片设计,体积小、功能强、可靠性高、抗干扰能力强。
●双CPU架构,控制CPU在仿真器内,仿真CPU直接嵌入用户系统;●全透明,全适时仿真,不占用任何资源;●128KB仿真RAM,能仿真超大容量CPU(如W78E438),仿真频率最高达40MHz;●串口通信COM1、COM2均可,支持鼠标操作,最高通信速率达115200bit/s;●具有静态硬件调试功能,可设128个硬断点。
⑶G6W型仿真器可通过更换仿真头,仿真不同型号的单片机。
3、ICESlab-G2000单片机实验台概述⑴该实验平台设计有模拟信号发生器、开关量发生器、发光二极管组、A/D转换器、D/A 转换器、4×5键盘和LED显示器等18个电路模块,经过不同搭配,可以组成各种实验电路。
⑵自由实验区,可以由用户通过跳线连线,进行各种创新性实验。
⑶实验台可以作为仿真器的用户系统使用,还可以单独使用,用自带的小键盘进行一些简单实验。
4、仿真软件仿真软件有DOS版和WINDOWS版,将编辑、汇编、调试等功能集成在一起,使用非常方便。
5、PC机、仿真器与用户系统的连接6、实验内容和要求⑴仔细观察实验系统连线;⑵打开实验台的电源,启动PC机,进入W A VE仿真系统程序,进行下列练习:①仔细阅读W A VE仿真系统菜单项内容;②输入ABC.ASM文件,练习编辑、汇编、单步、断点、连续运行,修改参数,查看存储器、寄存器内容等操作;实验二代码转换程序设计1、实验目的熟习MCS-51指令系统;掌握软件仿真调试方法;产生常用代码转换子程序备用。
2、实验内容和要求编写下列代码转换子程序,并用“软件模拟仿真”调试通过。
⑴将八位二进制数转换成十进制数000-500;⑵将四位BCD码转换成二进制数;⑶将十六进制数码0-F转换成ASCII码。
实验三算术运算类程序设计1、实验目的进一步熟习MCS-51指令系统;熟练掌握软件仿真调试方法;掌握常用算术运算程序的编写方法;产生常用算术运算子程序备用。
2、实验内容和要求编写下列算术运算子程序,并用“软件模拟仿真”调试通过。
⑴双字节无符号加法运算子程序;⑵双字节无符号减法运算子程序;⑶双字节无符号乘法运算子程序;⑷双字节无符号除法运算子程序。
3、思考题如何将无符号算术运算程序用于有符号算术运算?实验四逻辑运算类程序设计1、实验目的熟习MCS-51逻辑运算类指令的功能特点;掌握逻辑控制程序的编写方法。
2、实验内容和要求⑴在实验台上,按下图连接实验线路。
⑵编写程序,模拟下列逻辑表达式的功能:①P1.2=P1.0 ∧P1.1②P1.3=P1.0∨P1.1③P1.4=P1.0 ⊕P1.1⑶将程序在仿真器上调试通过,验证逻辑功能是否正确。
3、思考题如何用上述电路模拟二-四译码器的逻辑功能?实验五RAM扩展1、实验目的掌握外部RAM的扩展方法;初步学会硬件仿真调试方法;学会RAM芯片质量检测方法。
2、实验内容和要求⑴在单片机实验台上,按下图连线;⑴编写6264的质量检测程序,在仿真器上调试通过。
⑵执行程序,验证程序结果是否正确。
3、思考题如何检查外部RAM的容量?实验六8279显示器和键盘接口1、实验目的掌握8279与8031的接口方法;掌握8279的工作原理和编程方法;产生通用键盘和显示子程序备用。
2、实验内容和要求⑴熟习8279键盘和显示器电路图。
⑵按下图编写实验程序。
⑶将程序在仿真器上联机调试通过。
执行程序,验证按键功能是否正常?⑷将键盘和显示程序段,分别保存为子程序备用。
实验七定时/计数器应用1、实验目的掌握8031片内定时/计数器的使用方法;学会中断服务程序的编写方法;产生时钟程序备用。
2、实验内容和要求⑴利用T0产生10ms定时中断,编写一个24小时制数字钟程序。
要求:从键盘输入时钟初值,并进行初值佥法性检查,如果初值正确,则自动启动时钟计时,否则重新输入初值。
⑵将程序在仿真器上调试通过。
执行程序,用自己的手表作为标准,观察10分钟,修正数字钟的定时器初值。
⑶参照下图连线,将数字钟的定时器初始化为计数器方式,并修改计时参数,使时钟走时准确。
(选作)实验八A/D转换器接口1、实验目的掌握A/D 0809 与8031的接口方法;了解0809转换器性能及编程方法;了解用单片机进行数据采集和显示的方法。
2、实验内容和要求⑴在实验台上,按下图连线。
⑵编写程序,将A/D转换结果按0.00-5.00格式显示。
⑶将程序在仿真器上调试通过。
执行程序,调节模拟电压输出,观察数字电压值是否符合要求。
3、思考题如何修改程序实现多路数据采集、存储和显示?A/D 0809 实验连线图实验九D/A转换器接口1、实验目的掌握D/A 0832与8031的接口方法;了解0832转换器性能及编程方法;了解用单片机产生常用波形的方法。
2、实验内容和要求⑴在实验台上,按下图连线。
⑵编写程序产生下列波形:①锯齿波②方波③阶梯波④三角波⑤正弦波(选作)⑶将程序在仿真器上调试通过,并用示波器观察对应波形。
3、思考题①如何改变输出波形的频率和幅度?②如何产生任意波形?实验十串行接口通信1、实验目的熟习8031片内串行口的性能,掌握串行通信程序的编写方法和调试方法。
2、实验内容和要求⑴相邻两组同学按下图连接通信电缆。
⑵编写双机通信程序,将键盘输入的字符在本机显示,同时发向对方;接收方将收到的信息显示在LED显示器上。
⑶将程序在仿真器上调试通过,检查接收和发送的数据是否一致。
3、思考题①如何提高通信速率?②如何实现多机通信?附录1Wave单片机实验平台1.6 键值表1.7 硬件空间分配键号键值键号键值键号键值0 01 7 0A E 131 08 8 11 F 1B2 09 9 19 - 233 10 A 1A + 224 18 B 03 GO 215 00 C 0B6 02 D 12扩展模块资源分配27C256 0000H—7FFFH6264 8000H—9FFFH8279 0A000H—0AFFFH备用0B000H—0BFFFH备用0C000H—0CFFFH备用0D000H—0DFFFH备用0E000H—0EFFFH2 实验参考程序2.1 6264质量检测程序程序执行后,如果6264有质量问题,则片内RAM 30H,31H单元保存第一个出错单元的地址,32H单元保存该单元的值;如果6264没有质量问题,则片内RAM 30H,31H单元的内容为6264末地址+1(即A000H),32H单元的内容为AAH。
org 0000hsjmp mainorg 0030hmain: mov dptr,#8000h ;6264首地址clr amov 30h,amov 31h,amov 32h,arp: mov a,#55hmovx @dptr,anopmovx a,@dptrmov 32h,acjne a,#55h,erinc dptrmov a,dphcjne a,#0a0h,rpmov dptr,#8000hrp1: mov a,#0aahmovx @dptr,anopmovx a,@dptrmov 32h,acjne a,#0aah,erinc dptrmov a,dphcjne a,#0a0h,rp1er: mov 30h,dphmov 31h,dplsjmp $end2.2 8279显示器和键盘接口参考程序⑴在数码管上显示键盘值ORG 0000Hsjmp MAINorg 0030hMAIN: MOV SP,#60HMOV P2,#0A0HMOV R6,#0FFHNOPL0014: DJNZ R6,L0014MOV R0,#01HMOV A,#00H ;8279初始化MOVX @R0,AMOV A,#32HMOVX @R0,AMOV A,#0DFHMOV R0,#01HMOVX @R0,AL013A: MOVX A,@R0JB ACC.7,L013AMOV R0,#00HMOV A,#0CH ;显示“P.“MOVX @R0,AINC R0MOV A,#80HMOVX @R0,AL0027: MOV 30H,#80HMOV 31H,#40HL002D: MOV R0,#01HMOVX A,@R0ANL A,#07HCJNE A,#00H,L0037 ;有键按下吗?AJMP L002DL0037: MOV R0,#00HMOVX A,@R0MOV R1,#00HMOV DPTR,#JIAN ;查键位L0041: MOV A,#00HMOVC A,@A+DPTRCJNE A,B,L0049AJMP L0066L0049: INC DPTRINC R1MOV A,R1JB ACC.4,L0027AJMP L0041L0066: MOV A,30HMOV R0,#01HMOVX @R0,AMOV A,R1MOV R0,31HMOV @R0,AINC 31HMOV DPTR,#ZHIMOVC A,@A+DPTR ;查字形MOV R0,#00HMOVX @R0,AINC 30HMOV A,30HCJNE A,#86H,L0081AJMP L0027L0081: AJMP L002DZHI: DB 0C0H,0F9H,0A4H,0B0H,99H,92HDB 82H,0F8H,80H,90H,88H,83HDB 0C6H,0A1H,86H,8EH,0CH,0BFH JIAN: DB 01H,08H,09H,10H,18H,00HDB 02H,0AH,11H,19H,1AH,03H,0BHDB 12H,13H,1BH,23H,22H,21H⑵键盘子程序KEYSUB:MOV DPTR,#0A000H ;键盘子程序MOVX A,@DPTRMOV B,AMOV R5,#00HMOV DPTR,#JIAN ;查键位KEY1: MOV A,#00HMOVC A,@A+DPTRCJNE A,B,KEY2CLR PSW.5AJMP KEYRETKEY2: INC DPTRINC R5MOV A,R5JNB ACC.4,KEY1MOV R5,#00HSETB PSW.5KEYRET: RETJIAN: DB 01H,08H,09H,10H,18H,00HDB 02H,0AH,11H,19H,1AH,03HDB 0BH,12H,13H,1BH,23H,22H,21H⑶显示子程序Display:mov 30h,#80hmov 31h,#40hmov r7,#06hloop4: mov dptr,#0A001hmov a,30hmovx @dptr,amov r0,31hmov a,@r0mov dptr,#sedzmovc a,@a+dptrmov dptr,#0A000hmovx @dptr,ainc 31hinc 30hdjnz r7,loop4retsedz: DB 0c0h,0f9h,0a4h,0b0h,99h,92h ; 显示字符0 1 2 3 4 5DB 82h,0f8h,80h,90h,88h,83h ; 6 7 8 9 A BDB 0c6h,0a1h,86h,8eh,40H,79H ; C D E F 0. 1.DB 24H,30H,19H,12H,02H,78H ; 2. 3. 4. 5. 6. 7.DB 00H,10H,0FFH;8. 9. 不显示2.3 定时/计数器应用参考程序24小时制时钟org 0000hajmp mainorg 000bhljmp t0intORG 0030Hmain: mov sp,#60hmov dptr,#0A001h ;8279初始化mov a,#00hmovx @dptr,anopmov a,#0dfhmovx @dptr,amov a,#22hnopmovx @dptr,arest: mov a,#00h ;显示缓冲区初值mov r0,#40hclr00: mov @r0,ainc r0cjne r0,#46h,clr00mov tmod,#02hmov th0,#06hmov tl0,#06hmov 57h,#20mov 58h,#100mov 59h,#40hjmpx: acall display ;显示Keyin: mov dptr,#0a001hmovx a,@dptranl a,#07hcjne a,#00h,daini1sjmp jmpxdaini1: lcall keysubmov a,r5 ;键号在r5中cjne a,#0ah,cconccon: jnc jmpxmov r0,59hmov @r0,ainc 59hcjne r0,#45h,jmpxmov 59h,#40hacall chktimejb psw.5,rest ;时间初值不合法(f0=1),重新输入setb 8chsetb 0afhnopsetb 0a9hdir: acall display ;显示sjmp dirchktime: mov r1,#40h ;检查时钟初值acall hbsubb a,#24hjnc chkeracall hbsubb a,#60hjnc chkeracall hbsubb a,#60hjnc chkerclr psw.5retchker: setb psw.5rethb: mov a,@r1swap ainc r1orl a,@r1inc r1clr crettoint: push pswpush accpush dphpush dplsetb psw.4mov a,58hdec amov 58h,ajnz ret0mov 58h,#100mov a,57hdec amov 57h,ajnz ret0mov 57h,#20mov r0,#44hacall daad1mov a,r2xrl a,#60hjnz ret0acall clr0mov r0,#42hacall daad1mov a,r2xrl a,#60hjnz ret0acall clr0mov r0,#40hacall daad1mov a,r2xrl a,#24hjnz ret0acall clr0ret0: pop dplpop dphpop accpop pswretidaad1: mov a,@r0inc r0swap aorl a,@r0add a,#01hda amov r2,aanl a,#0fhmov @r0,amov a,r2dec r0anl a,#0f0hswap amov @r0,aretclr0: clr amov @r0,ainc r0mov @r0,aret2.4 A/D转换器接口参考程序把ADC0809通道0输入的模拟电压,转换后送8279显示org 0000hsjmp mainorg 0030hMain: mov sp,#60hmov dptr,#0a001h ;8279初始化mov a,#00hmovx @dptr,amov a,#0dfhmovx @dptr,amov a,#22hmovx @dptr,aloop0: movx a,@dptrjb acc.7,loop0mov 40h,#0Ah ;显示缓冲器初始化mov 41h,#0Dhmov 42h,#1Ahloop1: lcall display ;调显示子程序mov a,#00hmov dptr,#0B000h ;0809AD开始转换movx @dptr,amov r7,#0fhloop2: djnz r7,loop2movx a,@dptrlcall BRY_5VSJM LOOP1BRY_5V: MOV B,#51DIV ABADD A,#10H ;加小数点MOV 43H,AMOV A,BMOV B,#5DIV ABCJNE A,#0AH,BRYMOV A,#09HMOV B,#04HBRY:MOV 44H,AMOV A,BRL AMOV 45H,ARET。