单片机接口技术与实验(附原理图及源程序)
- 格式:doc
- 大小:422.00 KB
- 文档页数:31
目录第一部分单片机原理实验实验一初识Keil开发平台 (1)实验二分支程序设计 (4)实验三循环程序设计 (6)实验四流水灯的控制方法 (7)实验五中断服务程序 (9)实验六定时/计数显示 (11)实验七串口实验RS-232 (13)实验八键盘显示试验 (15)第二部分接口技术实训技能训练一最小单片机系统 (17)技能训练二汇编语言程序的编辑与编译方法 (19)技能训练三端口输出方法 (20)技能训练四端口输入方法 (23)技能训练五中断的用法 (26)技能训练六定时计数器的用法 (29)技能训练七定时计数器与中断的综合使用 (34)技能训练八字符的显示方法 (38)技能训练九中断应用举例 (42)技能训练十动态扫描输出的方法 (48)技能训练十一键盘输入的使用方法 (53)技能训练十二串行存储器的应用 (60)技能训练十三LED点阵的驱动方法 (75)技能训练十四外部存储器的使用 (80)附录一:keil 51 windows集成开发平台的使用 (87)附录二:Keil 程序调试 (94)附录三:通用编程器的使用 (101)第一部分单片机原理实验实验一初识Keil开发平台一、试验目的:✓掌握Keil C51 μVision2集成开发环境的基本使用方法;✓学会使用汇编语言调试简单程序;二、实验要求:实验前,按要求(书写格式、流程图)使用汇编语言独立编写一小段源程序;使用单步方法运行程序,观察程序运行前、运行中和运行后相关寄存器的变化,并记录。
三、考核方法:逐个进行考评四、成绩评定标准:⑴流程图完全符合标准10分⑵源程序书写格式符合标准10分⑶源程序正确10分⑷正确地录入源程序10分五、相关知识:目前,开发一个单片机应用项目,均需要某种集成开发环境,一般由以下几部分组成:1.位于PC机的单片机开发系统的应用软件,提供了人机交互环境。
在该系统下编写程序时,可使用汇编语言、宏汇编语言或C语言。
2.仿真器仿真器是开发系统的关键设备,它能用与用户处理器相同的时序执行用户程序,并按用户需要产生各种断点响应,同时也可接受主机系统的命令,对用户系统进行全面测试和数据传送。
单片机原理及接口技术在当今数字化时代,单片机已经成为嵌入式系统设计中不可或缺的重要组成部分。
本文将介绍单片机的工作原理以及与外部设备进行通信的接口技术。
单片机工作原理单片机是一种集成了处理器、存储器和输入输出设备等功能模块的微型计算机系统。
它通常由中央处理器(CPU)、存储器(RAM和ROM)、计时器(Timer)、串行通信接口(UART)和引脚(Port)组成。
单片机的工作原理可以简要描述为以下几个步骤:1.初始化:单片机在上电时会执行初始化程序,设置各种工作模式、配置寄存器等。
2.执行程序:单片机会根据存储器中存储的程序指令序列来执行相应的操作,包括算术逻辑运算、控制流程等。
3.输入输出操作:单片机通过输入输出接口与外部设备进行通信,如传感器、执行器等。
4.中断处理:单片机可以在特定条件下触发中断请求,暂停当前执行的程序,转而执行中断服务程序,处理相应的事件或信号。
单片机接口技术单片机与外部设备的通信主要依赖于接口技术,包括数字输入输出接口、模拟输入输出接口以及通信接口等。
数字输入输出接口数字输入输出接口用于与二进制设备进行通信,通过配置相应的引脚工作在输入或输出模式,实现信号的采集与输出。
常用的数字输入输出方式包括GPIO口、SPI接口、I2C接口等。
模拟输入输出接口模拟输入输出接口用于处理模拟信号,包括模拟输入端口和模拟输出端口。
模拟输入端口通过模数转换器将模拟信号转换为数字信号,模拟输出端口则通过数模转换器将数字信号转换为模拟信号。
通信接口通信接口是单片机与外部设备进行数据交换的重要手段,主要有串行通信接口(UART)、并行通信接口(Parallel)、CAN接口等。
通过这些通信接口,单片机可以实现与其他设备的数据交换与通信。
结语单片机原理及接口技术是嵌入式系统设计的基础知识,通过深入了解单片机的工作原理和接口技术,可以更好地应用单片机进行系统设计与开发。
希望本文对读者有所帮助,谢谢!以上是关于单片机原理及接口技术的简要介绍,希望能对读者有所启发。
单片机原理与接口技术---中断实验课程名称:单片机原理与接口技术实验类型:设计型实验项目名称:中断实验实验目的:熟练使用Keil,Proteus软件对程序进行调试,掌握单片机中断方式的输入/输出,熟悉MCS-51单片机外部中断初始化编程方法及中断程序的调试方法。
实验要求:掌握查询方式和中断方式的输入/输出程序设计及调试。
通过实验熟悉中断处理的过程以及MCS-51单片机转向中断子程序的方法,进一步了解外中断的边沿触发与电平触发的区别及应用。
实验内容及步骤:(一)程序要求:如图4.1所示,当1INT有中断请求时,将4个开关的状态读入并输出到4个LED,开关闭合(为低)则对应的LED点亮。
图4.1所用元件列表4.1单片机 AT89C51 开关 SW-SPDT 发光二极管 LED-BIBY 电阻 RES表4.1设1INT为边沿触发,其入口地址为0013H,程序如下:ORG 0000HLJMP MAINORG 0013HLJMP PINT1ORG 0100HMAIN:SETB IT1 ;选择为边沿触发SETB EX1 ;允许中断SETB EA ;CPU开中断LOOP1:MOV A,#0FEH ;LED轮流点亮LOOP2:MOV P2,ALCALL DLYRL ALJMP LOOP2ORG 0200HDLY: MOV R6,#0FHDLY1: MOV R5,#0FFHDLY2: MOV R4,#0FFHDLY3: DJNZ R4,DLY3DJNZ R5,DLY2DJNZ R6,DLY1RETORG 0300HPINT1:PUSH ACC ;保护ACCMOV A,#0FHORL P0,A ;设P1低4位(高电平)为输入MOV A,P0 ;读开关状态SWAP AMOV P0,A ;输出驱动LED亮POP ACCRETIEND(二)实验步骤1.在Keil uVision2软件中输入程序并保存程序。
2.编译程序,修改编辑错误,并生成.HEX文件。
单片机及接口技术实验报告实验一数据传送程序一、实验目的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友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。
单片机原理及接口技术实验项目说明序号课程项目基本要求扩展要求思考内容1 单片机原理及接口技术[0001]拆字程序实验1.熟悉51仿真系统2.设计并单步调试实现将R5中一字节数拆分成两位独立的数据分别存于R6,R7中1.将R6,R7中的一位HEX数据转换为输出ASCII编码1.分析BIN,HEX,BCD,ASCII等不同编码的数学意义及表现形式上的异同.2 单片机原理及接口技术[0002]分支程序实验1.掌握51汇编语言调试技巧2.实现三个数(R5,R6,R7)中找出最大和最小值,最大值存到R3,最小值存到R41.将数据从R5,R6,R7改为内部数据存储器30H开始的连续多个数据1.思考如果数据保存在外部数据存储器中应该如何解决3 单片机原理及接口技术[0003]循环程序实验(排序)1.掌握排序算法2.实现对五个字节数据从大到小排序1.实现两种不同的排序算法,并比较各自的排序效率1.思考是否可以实现快速排序,该怎样实现4 单片机原理及接口技术[0004]子程序实验(递归)1.掌握子程序设计及调用2.通过子程序递归实现求阶乘1.编程找到51可以直接乘法求阶乘的最大值1.观察并思考递归过程中的栈5 单片机原理及接口技术[0005]中断系统实验1.掌握中断服务子程序设计及调用2.编写外部中断服务子程序,通过手工设置中断位启动中断1.通过手工修改中断请求标志,尝试将中断服务子程序改为其他中断源的中断服务程序1.观察中断优先关系,思考中断嵌套时的寄存器资源分配方法.6 单片机原理及接口技术[0006]定时计数器实验1.掌握定时计数器的工作原理2.使用定时计数器实现通过引脚输出周期为1ms的方波1.编程实现周期为1s的输出方波1.思考哪个系列允许同时使用串行通讯和两个16位定时计数器7 单片机原理及接口技术[0007]串行通讯实验1.掌握串行通讯的工作原理2.编程实现51同PC之间的echo程序.1.编程实现双向的echo功能1.思考51的单片机网络如何实现8 单片机原理及接口技术[0008]存储器访问时序实验1.掌握51的系统总线顺序2.编程并观察外部系统总线的时序1.分析读写时WR和RD的有效时间是否一致1.思考如何实现超出64KB的外部数据存储器实验过程需要实现基本要求,对于扩展要求至少要画出实现的流程或者应采用的算法,在实验报告中体现出对于思考内容的想法。
单片机原理及接口技术实验报告一、引言单片机(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. 单片机原理实验结果通过学习单片机的基本结构和工作原理,我们深入了解了单片机的内部组成和工作过程,为后续的接口技术实验打下了基础。
洛阳理工学院课程设计报告课程名称单片机原理与应用设计题目基于STC89C52单片机的实验平台开发设计专业计算机科学与技术班级B110507学号B11050725姓名舒灿完成日期2013年12月24日基于STC89C52单片机的实验平台开发设计摘要利用STC89C52单片机控制器为核心,开发一种体积小、使用方便、实用性强的单片机综合实验实平台。
在Keil C环境下进行软件设计,主要包括流水灯、数码管显示以及LCD显示模块,在Protues中仿真成功,下载到电路板中验证成功。
主要包括集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计该系统主要应用于高等学校、中等职业学校单片机技术的教学、实验、实训、综合设计和电子设计竞赛等,利用实训平台增加学生学习单片机技术的兴趣,从而提高学生单片机技术的实际应用能力。
关键词:STC89C52单片机,实验平台,数码管,流水灯,串口通信ABSTRACTUsing STC89C52 single-chip controller as the core, the development of a small volume, convenient to use, practical single-chip experiment training platform, and introduces in detail the experimental training platform hardware design ideas and function.Under the environment of Keil C software design, mainly including the water lights, digital tube display and LCD display module, successful in Protues simulation, validation successful downloaded onto a circuit board.Implement forward and reverse flow, water lamp interruption is applied to implement digital tube within 60 count and LCD displays different features of the characters.This system is mainly used in institutions of higher learning and secondary vocational school singlechip technology teaching, experiment, practical training, comprehensive design and electronic design contest, etc., using the training platform to increase students' interest in learning microcontroller technology, so as to improve the practical application ability of students microcontroller technology.KEYWORDS: STC89C52 microcontroller, comprehensive experimental board, software andhardware combined with, and the program development design目录摘要 (1)目录 (3)前言 (4)第1章系统概述 (6)1.1设计题目 (6)1.2系统设计目的和容 (6)1.2.1设计目的 (6)1.2.2设计容 (6)1.2.3设计要求 (7)1.2.4设计步骤 (7)第2章整体设计方案 (8)2.1开发板整体外观 (9)2.2整板电路PROTUES仿真电路 (8)2.3软件功能描述 (9)2.4仿真软件PROTUES中的效果图 (10)第3章硬件电路设计 (13)3.1两位一体共阴数码管 (13)3.1.1数码管概述 (13)3.1.2数码管部结构 (14)3.1.3两位一体共阴数码管和74LS374锁存器接口电路 (15)3.2LCD1602液晶 (15)3.2.1LCD1602液晶简介 (15)3.2.2LCD1602液晶引脚介绍 (16)3.2.3LCD1602液晶外围接口电路 (17)3.3 串口通信 (18)3.3.1串口通讯概述 (18)3.3.2MAX232接口电路 (19)第4章软件设计 (20)4.1程序整体流程图 (20)4.2程序清单 (21)第5章调试及故障分析 (25)5.1 焊接准备阶段元器件测试、电路原理图故障分析 (25)5.2 电路焊接过程中的故障分析 (26)5.3 程序编写过程中的故障分析 (26)5.4 实物演示效果 (26)结论 (27)辞 (28)参考文献 (29)附录 (30)前言高科技产品盛行的今天单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
学生学号实验课成绩学生实验报告书实验课程名称单片机原理及接口技术开课学院物流工程学院指导教师姓名学生姓名学生专业班级2018 -- 2019 学年第 1 学期实验课程名称:_单片机原理及接口技术_原理图4.系统控制程序的设计要求包括内容:控制程序的工作流程图,控制程序的源代码,及其控制程序的重点说明。
#include<reg51.h>#define uint unsigned int#define uchar unsigned charuchar keycode,DDram_value=0xc0;sbit RS=P2^0;sbit RW=P2^1;sbit E =P2^2;sbit speaker=P2^3;uchar code table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x20};uchar code table_designer[]="JIANG SHAO YONG";void lcd_delay();void delay(uint n);void lcd_init(void);void lcd_busy(void);void lcd_wr_con(uchar c);void lcd_wr_data(uchar d);else if(buff==0xb0){liehao=0;}keyvalue=hanghao+liehao;while(P1!=0xf0);return(keyvalue);}}5.系统的调试和结果要求包括内容:系统调试的方法,系统正确运行的照片或图片(必须包括整个工作过程的图片检查电路是否正确连接,向单片机烧录hex文件,检查反复调试。
6.实验过程中所遇到的问题,解决方法和建议在实验过程中,编的程序出现了很多问题,除了字符错误,还出现了逻辑错误以及过定义。
将程序分块可以解决很多错误;增加注释,提高程序的可读性,。
《单片机与接口技术》实验报告[精选五篇]第一篇:《单片机与接口技术》实验报告《单片机与接口技术》实实验报告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.编译软件的认识目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。
(1)应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。
Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。
工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。
首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-Open…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜单Project-New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。
这时工程管理窗口的文件页(Files)会出现“T arget1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group …Source Group1‟”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。
加入文件后点close返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。
紧接着对工程进行设置,选择工程管理窗口的T arget1,再选择Project-Option for T arget…T arget1‟(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在T arget选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡内容一般可取默认值。
机械电子工程专业《单片机原理与接口技术》课程实验指导书撰写人:审定人:目录第一部分绪论 (1)第二部分基本实验指导 (2)实验一 (2)实验二 (9)实验三 (11)实验四 (14)实验五 (17)实验六 (19)实验七 (21)实验八 (23)第三部分扩展实验实验九 (26)实验十 (30)实验十一 (35)第一部分绪论本指导书是根据《单片机原理与接口技术》课程实验教学大纲编写的,适用于机械电子工程专业。
一、本课程实验的作用与任务本课程的实践性较强,安排适当的上机可以帮助学生理解教学内容,锻炼动手能力和综合设计能力。
二、本课程实验的基础知识熟悉Keil软件的使用,学习过单片机原理与接口技术及有一定的电路常识。
三、本课程实验教学项目及其教学要求序号实验项目名称学时教学目标、要求1单片机程序设计集成开发环境应用22掌握实验环境的应用,熟练掌握软件的各项功能2 定时器/计数器程序设计实验22掌握定时器的几种工作模式,并应用各种模式进行定时3 数码管显示程序设计实验22会对数码管译码,会进行动态显示数据4 独立式键盘程序设计实验22会对独立键盘进行消抖动,会识别按键5 行列矩阵式键盘程序设计实验22会用扫描法识别行矩阵按键6 秒表显示实验22会运用定时、中断知识进行综合设计7 串口通信实验22会编程让单片机和串口进行通信8 步进电机实验22能控制步进电机正传和反转合计1 16第二部分基本实验指导实验一单片机C51程序设计集成开发环境应用一、实验目的1. 了解集成开发环境Keil Vision3文件管理的特点。
2. 学会使用开发环境新建文件、编辑、编译程序。
3. 掌握开发环境程序设计相关设置及其意义。
二、实验要求实现单片机P1连接的LED发光二极管实现流水灯功能。
三、实验原理1. 熟练操作开发环境。
2. 利用C51相关知识,编写简单程序,生成可执行文件。
3. 记录编译错误信息,总结错误原因,写出解决办法。
一、实训背景随着科技的不断发展,单片机在各个领域得到了广泛的应用。
为了提高学生的实践能力,本实训课程旨在让学生深入了解单片机接口技术,掌握单片机与外部设备进行数据交换的原理和方法。
通过本次实训,使学生能够熟练运用单片机接口技术,设计并实现简单的控制系统。
二、实训目的1. 熟悉单片机接口技术的基本原理和常用接口类型。
2. 掌握单片机与外部设备进行数据交换的方法和技巧。
3. 学会使用常用接口电路,如串行通信接口、并行通信接口等。
4. 提高学生的动手实践能力和创新意识。
三、实训内容1. 实训环境本次实训使用STC89C52单片机作为核心控制单元,通过编程实现与外部设备的数据交换。
实验设备包括STC89C52单片机开发板、数码管、按键、蜂鸣器、串行通信模块等。
2. 实训步骤(1)搭建实验电路根据实训要求,搭建单片机与外部设备的连接电路,包括数码管显示电路、按键输入电路、蜂鸣器驱动电路、串行通信电路等。
(2)编写程序使用C语言编写程序,实现以下功能:1)数码管显示:显示单片机内部计数值;2)按键输入:读取按键状态,控制数码管显示数字;3)蜂鸣器驱动:根据按键输入,控制蜂鸣器发出不同频率的声波;4)串行通信:通过串行通信模块实现单片机与其他设备的数据交换。
(3)调试程序使用Keil uVision软件对程序进行编译、调试,确保程序运行正确。
(4)测试程序将调试好的程序烧录到单片机中,观察数码管显示、按键输入、蜂鸣器驱动和串行通信等功能是否正常。
四、实训结果与分析1. 实训结果通过本次实训,成功实现了单片机与数码管、按键、蜂鸣器和串行通信模块的连接与数据交换。
数码管能够显示单片机内部计数值,按键输入能够控制数码管显示数字,蜂鸣器能够根据按键输入发出不同频率的声波,串行通信模块能够实现单片机与其他设备的数据交换。
2. 实训分析(1)数码管显示数码管显示功能通过单片机的P0口输出数据,控制数码管显示相应数字。
程序中使用了定时器/计数器实现计数功能,并通过查表法将计数值转换为数码管显示的段码。
《单片机接口技术与实验》姓名:学号:年级:专业:电子信息科学与技术实验二并行口输入输出实验——循环彩灯控制一、实验功能(1).P1 口接8 个开关,P0 口接8 个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。
开关断开时,灯灭。
二、实验原理图注意:因为P0口作为输出口时必须接上拉电阻,为简化起见,此处接到P2口上三、实验程序org 0000hljmp mainorg 0100hmain: mov p1,#0ffhmov p2,p1ajmp mainend(2)一、实验功能用5 个开关K0~K4,控制P0 口所接8 个灯的循环,各开关的功能要求如下:(1)K1~K2 分别选择灯的四种闪动方式;(2)K3 用于控制灯的循环方式(顺时针或逆时针);(3)K4 用于选择灯的两种循环速度(4)K0 用于引发外部中断,在外部中断子程序中,读取通过K1-K4 所设定的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。
二、实验原理图三、实验流程图四、实验程序ORG 0000HLJMP MAINORG 0003HLJMP INT0PR0ORG 0100H MAIN: MOV P1,#0FFH MOV SP,#60HSETB EX0SETB IT0SETB EAMOV C,MOV 50H,CMOV C,MOV 51H,CJB ,NEXT1JNB ,NEXT2 NEXT1: JB ,CIRCLE1 JNB ,CIRCLE2 NEXT2: JB ,CIRCLE3 JNB ,CIRCLE4 CIRCLE1: MOV A,#80HLJMP STEP0 CIRCLE2: MOV A,#0C0HLJMP STEP0 CIRCLE3: MOV A,#0AAHLJMP STEP0 CIRCLE4: MOV A,#0E0HLJMP STEP0 STEP0: MOV P2,AJB 50H,S1JNB 50H,S2 STEP1: JB 51H,LOOP1JNB 51H,LOOP2 S1: LCALL DELAY1LJMP STEP1S2: LCALL DELAY2LJMP STEP1 DELAY1: MOV R7,#100 D1: MOV R6,#100 D2: MOV R5,#10 D3: DJNZ R5,D3DJNZ R6,D2DJNZ R7,D1RETDELAY2: MOV R7,#200 D4: MOV R6,#100 D5: MOV R5,#10 D6: DJNZ R5,D6DJNZ R6,D5DJNZ R7,D4RETLOOP1: RL ALJMP STEP0 LOOP2: RR ALJMP STEP0 ORG 0400H INT0PR0:MOV C,MOV 50H,CMOV C,MOV 51H,CJB ,WORK1JNB ,WORK2WORK1: JB ,L1JNB ,L2WORK2: JB ,L3JNB ,L4L1: MOV A,#80HLJMP PASSL2: MOV A,#0C0HLJMP PASSL3: MOV A,#0AAHLJMP PASSL4: MOV A,#0E0HLJMP PASSPASS: RETIEND实验三七段 LED 数码管控制实验一、实验功能1.实验采用4 位一体的数码管,用P1 口通过驱动芯片控制段码输出信号线,P0 口通过驱动芯片控制位选线:(1)当开关K0 接低电平时,第一位依次显示0~F,然后第二位、第三位、第四位,再循环回第一位。
(2)当开关K0 接高电平时,四位动态显示“HELP”二、实验原理图三、实验流程图四、实验程序org 0000hljmp mainorg 0100hmain:mov p2,#0ffhsetbmov dptr,#tab mov r0,#0mov a,#00hloop1: mov r0,#00h jnb ,hsjmp loop2h: mov p2,#0feh lcall lightlcall lightmov p2,#0fbhlcall lightmov p2,#blcall lightsjmp loop1light: jb ,loop2mov a,r0movc a,@a+dptrinc r0mov p0,alcall delay1cjne r0,#16,light mov r0,#0retloop2: mov p2,#0fehmov p0,#73hlcall delay1jnb ,loop1mov p2,#0fdhmov p0,#38hlcall delay1jnb ,loop1mov p0,#79hlcall delay1jnb ,loop1mov p2,#bmov p0,#76hlcall delay1jnb ,loop1sjmp loop1tab: db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71hdelay1:MOV R3,#10D2: MOV R2,#100D1: MOV R1,#100D0: DJNZ R1,D0DJNZ R2,D1DJNZ R3,D2RETend实验四定时器中断实验一、实验功能1.用 T0 定时器实现1 秒定时,控制一个LED 亮1 秒,灭1 秒,并不断循环。
二、实验原理图三、实验流程图四、实验程序org 0000h ljmp main org 000bh ljmp t0pr0 org 0100h main: mov sp,#60h mov tmod,#01h mov th0,#0b8h mov tl0,#00hmov r0,#100setb easetb et0setb tr0loop: sjmp $ljmp loopt0pr0: djnz r0,wcplmov r0,#100w: mov th0,#0b8hmov tl0,#00hretiend2.一、实验功能实现一个4 位秒表:(1)用开关K0 模拟秒表的启动、停止、清零功能,按一次启动计时,按一次停止,再按一次清零,在三个状态中循环。
(2)最低位按1/10 秒计数,依次计数单位为1/10 秒,1 秒,1 分(3) 要求K0 使用外部中断,优先级高于T0 的优先级二、实验原理图三、实验流程图四、实验程序org 0000hljmp mainorg 0003hljmp intx0org 000bhljmp t0pr0org 0100hmain: mov tmod,#01h mov th0,#0b8h mov tl0,#00h mov p2,#0ffh mov r0,#1mov r1,#0mov r2,#0mov r3,#0mov r4,#0mov r5,#0mov a,#0mov dptr,#tab setb easetb ex0setb it0setb tr0setb px0setb et0k: lcall aaajmp kaaa: mov p2,#0fehmov a,r2lcall looplcall mmmov p2,#0fdhmov a,r3lcall looplcall mmmov p2,#0fbhmov a,r4lcall looplcall mmmov p2,#bmov a,r5lcall looplcall mmretmm: djnz acc,$djnz acc,$retloop: movc a,@a+dptrmov p0,arettab: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh intx0: inc r0cjne r0,#1,stretist: cjne r0,#2,wclr tr0retiw: mov a,#0mov r0,amov r1,amov r2,amov r3,amov r4,amov r5,aretit0pr0: mov th0,#0b8h mov tl0,#00hinc r1cjne r1,#10,exit mov r1,#0inc r2cjne r2,#10,exit mov r2,#0inc r3cjne r3,#10,exit mov r3,#0inc r4cjne r4,#6,exit mov r4,#0cjne r5,#10,exitmov r5,#0exit: retiend实验五脉冲宽度与周期测量实验一、实验功能同时测量脉冲宽度和周期,由开关K0 选择显示脉冲宽度还是显示脉冲周期。
二、实验原理图三、实验流程图四、实验程序ORG 0000Hlimp mainorg 000bhljmp torg 0100hmain: mov tmod,#oah mov th0,#48h mov tl0,#48h setb easetb et0mov dptr,#tab mov a,#0mov r0,#0mov r1,#0mov r2,#0mov r3,#0mov r4,#0jb ,b0loop0: jb ,loop0 setb tr0loop1: jnb ,loop1 loop2: jb ,loop2 loop3: jnb ,loop3 loop4: jb ,loop4 clr tr0b0: jb ,b0setb tr0 b1: inb ,b1b2: jb ,b2clr tr0loop: mov a,tl0 subb a,#48h mov b,#2div abmov r1,bmov r2,amov a,r0mov b,#10 div abmov r3,badd a,#10 mov r4,amov p2,#b mov a,r1lcall www lcall zmov p2,#b mov a,r2lcall www lcall zmov p2,#blcall wwwlcall zmov p2,#bmov a,r4lcall wwwlcall zljmp mainwww: movc a,@a+dptrmov p0,aretz: djnz acc,$djnz acc,$rettab: db 3fh,06h,5bh,4fh,66h,6dh,7dh,,6fhdb0bfh,86h,0d8h,0cfh,0e6h,0edh,0fdh,87h,0ffh,0efhorg 0200ht: inc r0retiend实验六串行通信实验一、实验功能利用串行口方式0 实现一个七段数码管的显示控制,轮流显示0~9十个数码二、实验原理图三、实验流程图四、实验程序org 0000hajmp main main: mov scon,#00hmov dptr,#tablemov r0,#10clrNEXT: djnz r0,sendajmp mainsend: clr amovc a,@a+dptrmov sbuf,ajnb ti,$clr tiinc dptracall delayajmp nextdelay: mov r1,#50loop1: mov r2,#100loop2: mov r3,#50djnz r3,$djnz r2,loop2djnz r1,loop1rettable: DB 3Fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh end。