《单片机与接口技术》实验报告
单片机与接口技术实验报告
中南大学单片机与接口技术实验报告实验一学生姓名学号专业班级学院完成时间一、实验环境操作系统:Window 7 64位旗舰版实验平台:ADS 1.2二、实验内容熟悉ADS平台环境,根据所给的实例程序,编译运行,通过调用存储器和寄存器,知道每个语句所实现的操作。
1)打开程序后,添加实验文件1_Experiment\chapter_2\2.1_asm\2.1asm_A,编译后运行,并打开存储器和寄存器,逐句运行各个代码,得知:mov sp, #stack_top;//把栈顶赋给sp即寄存器r13mov r0, #x;//把x的值放到寄存器r0中去str r0, [sp];//把ro中的值压入栈顶mov r0, #y;//把y的值放到r0中去ldr r1, [sp];//取栈顶元素放到r1中ADD r0, r0, r1;//把r0与r1的值相加后放到r0中STR r0, [sp];//把r0的值压入栈顶2)打开1_Experiment\chapter_2\2.1_asm\2.1asm_B重复上述步骤:mov r0, #x;// 将x的值放到r0中mov r0, r0, lsl #8; //将r0中的数左移两位放回r0mov r1, #y; //将y的值放到r1中add r2, r0, r1, lsr #1; //将r1的值乘以2后加上r0的值,将得到的结果放入r2MOV sp, #0x1000; //将0x1000放入栈顶STR r2, [sp]; //将r2中的值压入栈顶mov r0, #z; //将z的值放入r0and r0, r0, #0xFF; //将r0的值取出mov r1, #y; //将y的值放入r1add r2, r0, r1, lsr #1; //略LDR r0, [sp]; //取栈顶元素放到r0MOV r1, #0x01; //将0x01放入r1ORR r0, r0, r1; //将r0与r1的值取或后放入r0mov r1, R2; //将r2的值放入r1add r2, r0, r1, lsr #1; //略三、实验反思本次实验主要是熟悉了ADS平台的使用,还有就是熟悉了一些基本的ARM 语句,小有收获,懂得了如何看懂每条语句的意思,熟悉了平台的操作方法,为今后的实验学习打下基础,更为以后的应用提供了方便。
单片机与接口技术实验报告冒泡排序实验
单片机与接口技术实验报告冒泡排序实验本实验旨在通过单片机的接口技术,实现冒泡排序算法的实践与理解。
通过实际操作,掌握单片机与接口技术的基本应用,理解冒泡排序算法原理,提升实践能力和编程技能。
冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
在单片机与接口技术的实验中,我们可以使用LED灯等外部设备来模拟冒泡排序的过程。
通过改变LED灯的亮灭状态,反映出排序过程中数据的交换结果。
确定单片机型号并连接硬件电路。
选择合适的单片机,如8051系列,并搭建相应的硬件电路。
主要包括电源、晶振、输入输出端口、LED灯等。
编写程序代码。
根据冒泡排序算法,编写适用于所选单片机的程序代码。
代码应该能够控制LED灯,根据排序结果改变其亮灭状态。
调试与运行程序。
将程序下载到单片机中,开启电源,观察LED灯的亮灭情况。
检查程序是否能够正确地实现冒泡排序。
记录与分析实验结果。
详细记录LED灯的亮灭状态,分析排序结果是否正确。
同时,对程序进行优化,提高排序效率。
经过实验,我们成功地在单片机上实现了冒泡排序算法。
观察LED灯的亮灭情况,我们可以看到排序过程中的数据交换过程。
通过对比理论结果与实际结果,我们发现二者基本一致,说明我们的程序正确地实现了冒泡排序。
在实验过程中,我们遇到了一些问题,如初始时端口设置不正确导致LED灯无法正常显示、数据交换过程中出现异常等。
针对这些问题,我们通过查阅资料和讨论,对程序进行了相应的修改和优化,最终解决了问题。
通过本实验,我们不仅加深了对冒泡排序算法的理解,还掌握了单片机与接口技术的应用。
同时,实验过程中的问题也锻炼了我们的解决问题的能力。
本实验还提高了我们的实践能力和编程技能,为后续的学习和实践打下了坚实的基础。
详细单片机与接口技术实验报告
单片机与接口技术实验报告班级:08020142学号:42姓名:覃现忠指导教师:杨福合机械工程与自动化学院实验中心实验名称:循环程序设计实验日期:2011 年11 月22 日一、实验目的初步掌握单片机软件的调试方法与手段;熟悉单片机的指令;掌握单片机汇编语言设计方法,熟悉循环等常用程序结构的应用。
二、实验设备微机一台,Proteus仿真软件,DICE-5203K实验开发箱一台三、准备报告1、实验内容及要求将自己的学号末两位赋值给内部数据存储器中连续32个字节2、硬件接线图3、原理及程序框图4、初始程序四、实验内容1、实验步骤及结果a)通过源文件菜单增加源文件进行程序编制b)编制程序后进行构建所有查看是否有错误,进行改正c)双击89C51查找相应HEX文件进行调试d)结果查询可以单步执行、执行到指定程序来进行验证检查2、所遇问题及解决方法新建文件的方法与一般的方法不一样,这一点需要特别注意。
3、最终程序ORG 0000HAJMP 0030HMAIN: MOV A, #42HMOV R0,#60HMOV R1,#32NEXT: MOV @R0,AINC R0DJNZ R1,NEXTSJMP $END4、实验总结题目要求将自己的学号末两位赋值给内部数据存储器中连续32个字节。
由此联想到循环指令,循环次数为32。
题目未指明使用的是哪个寄存器,故可任意设定。
实验名称:外部中断实验实验日期:2011 年11 月22 日一、实验目的巩固单片机软件的调试方法与手段;熟悉单片机的中断结构及其管理模式;掌握掌握单片机汇编语言中断程序设计方法。
二、实验设备微机一台,Proteus仿真软件,DICE-5203K实验开发箱一台三、准备报告1、实验内容及要求绘制单片机的最小系统应用电路图,并在外部中断引脚上接一按钮,每按动一次按钮使单片机内部寄存器ACC的值自增一。
2、硬件接线图3、原理及程序框图4、初始程序四、实验内容1、实验步骤及结果连接接线图→编制程序→找到HEX文件进行调试检查2、所遇问题及解决方法接线时必须接到外部中断输入端口,编制程序时要注意中断入口地址与接线口相对应。
单片机与接口技术课程设计总结报告
综合学生对这5个项目的完成情况来看,学生的单片机基础知识掌握的还是较好,简单的项目基本能够独立完成设计、proteus仿真、硬件电路连接和软件的编程,基本达到了教学大纲能力目标的要求,但在实训课程过程中还存在一些问题,主要分析如下:
1.部分学生觉得项目4超声波测距及LCD1602显示较难,主要原因是对于项目中的LCD1602液晶显示模块的初始化理论知识掌握不够,对液晶显示屏的初始化程序不会进行编写,导致无法实现超声波模块和LCD1602模块之间的综合应用。
3.在教学内容上,要根据教学时间和学生情况,针对性地补充与课程设计相关的理论知识,让学生更系统的掌握项目内容。
4.在能力提升上,重在培养学生的原理理解、问题分析和自我学习能力,帮助学生树立终身学习的意识。
4.有小部分学生动手能力较差,硬件连接常出错。
改进措施:
1.在教学过程中,不仅要对实验项目要求和目标进行详细的讲解,还要注重教学方法的运用,帮助学生更积极的参与到项目设计中来,要着重以学生为主,老师为辅。
2.对于实验过程中出现的较多问题,简单的可在课堂上解答,较为复杂的在课后进行辅导,不占用过多的教学时间和学生的实验时间。
单片机原理与接口技术实践报告
单片机原理与接口技术实践报告一、引言单片机是一种集成电路,在一个芯片上集成了中央处理器、存储器和各种输入输出设备,广泛应用于电子设备中。
单片机的原理和接口技术是学习和应用单片机的基础知识,本实践报告将从单片机的原理和接口技术两个方面展开讨论。
二、单片机的原理单片机的工作原理是基于计算机的运算方式,通过存储器存储程序和数据,并通过中央处理器执行程序来实现功能。
单片机的核心是中央处理器,它包括运算器、控制器和时钟电路。
运算器负责进行数据处理和运算,控制器负责控制程序的执行,时钟电路提供时序信号。
单片机也包括存储器、输入输出设备等外部组件。
三、单片机的接口技术1.数字口接口技术数字口接口用于单片机与数字量输入输出设备之间的通信。
数字口的输入和输出是0和1两种状态,可用于读取开关信号、接收传感器信号等。
数字口接口的编程涉及设置引脚状态、读取引脚状态等操作。
2.模拟口接口技术模拟口接口用于单片机与模拟量输入输出设备之间的通信。
模拟口的输入和输出是连续的模拟信号,可用于读取电压、控制电压等。
模拟口接口的编程涉及模拟口初始化、模拟口读取和写入等操作。
3.串口接口技术串口接口用于单片机与外部设备进行串行通信,常用于与计算机或其他外部设备的数据交互。
串口接口的编程涉及波特率设置、发送和接收数据等操作。
4.并口接口技术并口接口用于单片机与外部设备进行并行通信,常用于与打印机、液晶显示器等设备的连接。
并口接口的编程主要包括数据传输和控制信号的设置。
四、实践案例为了更好地理解单片机原理和接口技术,我们进行了以下实践案例:通过串口接口将单片机与计算机进行通信。
1.硬件连接首先,将单片机的串口通信引脚与计算机的串口通信引脚连接。
确保连接正确,避免引脚短路或断路等问题。
2.软件编程使用单片机的开发环境,编写串口通信的程序。
首先,设置串口通信的波特率、数据位、校验位等参数。
然后,编写发送和接收数据的程序,实现单片机与计算机之间的数据交互。
单片机原理及接口技术实验报告
单片机原理及接口技术实验报告一、引言单片机(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)前言高科技产品盛行的今天单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
单片机原理及其接口技术实验报告
单片机原理及其接口技术实验报告实验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 文件等。
《单片机与接口技术》实验报告[精选五篇]
《单片机与接口技术》实验报告[精选五篇]第一篇:《单片机与接口技术》实验报告《单片机与接口技术》实实验报告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线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。
单片机接口技术实验报告
单片机原理与接口技术实验报告姓名: XXX学院:机电工程学院班级:机械XXX班学号: XXX日期: 2013年11月9日实验一定时器实验班级:机械XXX班学号:XXX 姓名:XXX一、实验目的1.学习89C51内部计数器的使用和编程方法2.进一步掌握中断处理程序的编写方法二、实验说明关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。
内部计数器在单片机中主要有定时器和计数器两个功能。
本实验使用的是定时器,定时为一秒钟。
CPU运用定时中断方式,实现每一秒钟输出状态发生一次反转,即发光管每隔一秒钟亮一次。
定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。
TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。
TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
内部计数器用作定时器时,是对机器周期计数。
每个机器周期的长度是12个振荡器周期。
因为实验系统的晶振是12MHZ,本程序工作于方式2,即8位自动重装方式定时器, 定时器100uS中断一次, 所以定时常数的设置可按以下方法计算:机器周期=12÷12MHz=1uS(256-定时常数)×1uS=100uS定时常数=156。
然后对100uS中断次数计数10000次,就是1秒钟。
在本实验的中断处理程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。
三、实验内容及步骤本实验需要用到单片机最小应用系统模块(F1区)和十六位逻辑电平显示模块(I4区)。
1.使用单片机最小应用系统模块,用导线将P1.0接到十六位逻辑电平显示的任意一只发光二极管上。
2.用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头(USB线)。
3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH10_定时器.ASM”源程序,编译无误后。
单片机原理与接口技术--实验报告
专业: 学号:
年级:
实验时间:
组:_______ 指导教师:
一、实验目的 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 上粘贴后打印)贴在这里
五、心得体会 (一定要写,内容是学习这部分课和实验后的收获,还有什么地方不懂,对教学的意见、
建议等。如果不写,降分处理)
学院: 姓名:
单片机接口技术实训报告
一、实训背景随着科技的不断发展,单片机在各个领域得到了广泛的应用。
为了提高学生的实践能力,本实训课程旨在让学生深入了解单片机接口技术,掌握单片机与外部设备进行数据交换的原理和方法。
通过本次实训,使学生能够熟练运用单片机接口技术,设计并实现简单的控制系统。
二、实训目的1. 熟悉单片机接口技术的基本原理和常用接口类型。
2. 掌握单片机与外部设备进行数据交换的方法和技巧。
3. 学会使用常用接口电路,如串行通信接口、并行通信接口等。
4. 提高学生的动手实践能力和创新意识。
三、实训内容1. 实训环境本次实训使用STC89C52单片机作为核心控制单元,通过编程实现与外部设备的数据交换。
实验设备包括STC89C52单片机开发板、数码管、按键、蜂鸣器、串行通信模块等。
2. 实训步骤(1)搭建实验电路根据实训要求,搭建单片机与外部设备的连接电路,包括数码管显示电路、按键输入电路、蜂鸣器驱动电路、串行通信电路等。
(2)编写程序使用C语言编写程序,实现以下功能:1)数码管显示:显示单片机内部计数值;2)按键输入:读取按键状态,控制数码管显示数字;3)蜂鸣器驱动:根据按键输入,控制蜂鸣器发出不同频率的声波;4)串行通信:通过串行通信模块实现单片机与其他设备的数据交换。
(3)调试程序使用Keil uVision软件对程序进行编译、调试,确保程序运行正确。
(4)测试程序将调试好的程序烧录到单片机中,观察数码管显示、按键输入、蜂鸣器驱动和串行通信等功能是否正常。
四、实训结果与分析1. 实训结果通过本次实训,成功实现了单片机与数码管、按键、蜂鸣器和串行通信模块的连接与数据交换。
数码管能够显示单片机内部计数值,按键输入能够控制数码管显示数字,蜂鸣器能够根据按键输入发出不同频率的声波,串行通信模块能够实现单片机与其他设备的数据交换。
2. 实训分析(1)数码管显示数码管显示功能通过单片机的P0口输出数据,控制数码管显示相应数字。
程序中使用了定时器/计数器实现计数功能,并通过查表法将计数值转换为数码管显示的段码。
《单片机原理及接口技术》实验报告[ 2 ]
《单片机原理及接口技术》实验报告[ 2 ]单片机原理及接口技术实验二说明:本次实验报告主要分四部分:第一部分分析本次实验要求;第二部分对两部个实验任务的软硬件部分进行分析;第三部分展示两个实验任务的相应程序代码;第四部分实验总结。
一、实验分析:(1)实验目的①实现实验开发板上LED数码管的动态显示②根据定时器中断及数码管动态显示相关知识,设计一个数码管显示秒表(2)实验原理①由单片机开发板的结构我们可以知道,单片机在任意时刻都只能实现一个数码管的点亮功能,但是当不同数码管之间的切换点亮时间间隔非常短(<0.1s)时,由于人眼视觉停留效果,我们就能看到有多个数码管同时点亮,利用此原理我们即可实现LED数码管的动态显示。
②单片机内部有溢出中断功能:当我们事先设置好数值后(利用公式算出初始值),单片机即可从该数值开始工作,当达到25535时,在增加1即产生溢出现象,此时溢出中断实现,通过计数器计算溢出次数,即可实现计数功能。
二、软硬件分析:(说明:本次做实验带的是自己的开发板,但此开发板没有相应的电路图,故以实验课老师发的电路图加以分析)(1)实验任务1——实现实验开发板上LED数码管的动态显示本次小组有两名成员,学号分别为002228,机制创新班代号00,所以实验任务一只需要在数码管上从左到右依次显示002228(最后两位不显示,即处于不点亮状态:可通过不给片选信号和段选信号来实现)。
①硬件分析a:LED数码管分析如图所示(图中红色方框区域),DIG1-DIG8所对应的为数码管的8段(即段选部分)。
根据前期测试,发现此单片机数码管为共阴极结构,因此要让数码管的某一段显示,只需要给对应的位高电平即可,通过:P2^7=0; P2^7=1即可实现(下跳沿有效)。
通过测试,我们测出数码管显示每个数字所对应的16位数(即:数码管段选真值表)如下表所示。
0 1 2 3 4 5 6 7 8 9 0x3F 0x06 0x5B 0x4F 0x66 0x6D 0x7D 0x07 0x7E 6F 将此段选码定义为一个数组:LedChar[10](如下图)因此要实现在数码管上从左到右依次显示002228,只需要给1~6号数码管送以下段选码:0x3F 0x3F 0x5B 0x5B 0x5B 0x7F也即:LedChar[0] LedChar[0] LedChar[2] LedChar[2] LedChar[2] LedChar[8];关于片选部分,本次试验是通过测试得到的,本单片机从左到右8个数码管所对应的真值表如下表:1 2 3 4 5 6 7 8数码管编号(从左到右)真值表0xFE 0xFD 0x7B 0XF7 0xEF 0xDF 0xBF 0x7F 因此,要实现1~6号数码管显示,只需要给从左到右的数码管送以下片选码:0xFE 0xFD 0x7B 0XF7 0XF7 0xEF 0xDF注:由于数码管在工作的时候是从右向左显示的,因此在编程时需要先给6号数码管送相应片选和位选信号(具体见程序)。
单片机实验报告
单⽚机实验报告单⽚机原理及接⼝技术实验报告班级学号:姓名:实验⼀P1⼝输⼊输出实验与P1、P3⼝输⼊输出实验⼀、实验⽬的及任务学习P1、P3⼝的使⽤⽅法,熟练HICE单⽚机试验系统的操作步骤。
⼆、实验总体设计本实验分为两部分:P1⼝和P1、P3⼝输⼊输出实验。
1、P1⼝是⼀个准双向⼝,外接⼋个发光⼆极管,连续运⾏程序,发光⼆极管循环点亮2、P3⼝作为输⼊读取开关状态,P1⼝作为输出⼝,连续运⾏程序,发光⼆级管显⽰开关状态。
3、设计思路如下:(1)、开始——>P1⼝初始化——>点亮⼀位发光⼆极管——>右移⼀位——>循环;(2)、开始——>初始化——>P3⼝开关状态送到P1⼝——>驱动发光⼆极管——>延时三、试验程序框图及实验电路(实验电路及连线详见附录)四、软件设计⼀、P1⼝输⼊输出程序代码:#inc lud e#def ine uc har un sig ned ch ar#def ine ui nt uns ign ed intucha r r rc(uch ar a,n);ucha r r rc(uch ar a,n) //循环右移⼦程序{ucha r b,c;b=a<<(8-n);c=a>>n;a=c|b;retu rn(a);}void ma in(){ucha r i,te mp;uint j;P1=0xff;loop:temp=0x7f;for(i=0;i<8;i++){P1=r rc(tem p,i);for(j=0;j<30000;j++);//延时}}⼆、和P1、P3⼝输⼊输出实验。
#i ncl ude#def ine uc har un sig ned ch ar#def ine ui nt uns ign ed intvoid ma in(){uint j;loop:P1=0XFF;P1=P3;//读取P3⼝状态送P1⼝for(j=0;j<5000;j++);//延时goto lo op;}五、硬件设计1、仿真模式设置:8752模式,仿真存储器模式选择:内程序存储器外数据存储器;2、仿真器P3.6/P3.7短路块设置在WR/RD状态(见仿真器说明书跳线设置)。
单片机与接口技术实验报告--双字节BCD加法实验
本科实验报告课程名称:单片机原理与接口技术实验项目:双字节BCD加法实验实验地点:跨越机房专业班级:学号:学生姓名:指导教师:2012 年4 月10 日一、实验目的和要求(1)熟悉MCS-51单片机汇编指令系统。
(2)学习子程序的编写和使用。
二、实验内容和原理完成有进位位的双字节BCD的加法实验,两个加数分别放于40H~41H和45H~46H,结果存于50H~52H中。
(两个加数为9388H和7287H)三、主要仪器设备计算机一台;伟福6000四、操作方法与实验步骤(上机源程序)ORG 0000HMOV 40H,#88H ;88H→(40H)MOV 41H,#93H ;93H→(41H)MOV 45H,#87H ;87H→(45H)MOV 46H,#72H ;72H→(46H)MOV R0,#40H ;40H→R0MOV R1,#45H ;45H→R1START: MOV A,@R0 ;((R0))→AADD A,@R1 ;((R1))+A→AMOV 50H,A ;A→(50H)INC R0 ;(R0)+1→(R0)INC R1 ;(R1)+1→(R1)CLR A ;A清0ADDC A,@R0 ;((R0))+A+Cy→AADD A,@R1 ;((R1))+A→AMOV 51H,A ;A→(51H)CLR A ;A清0ADDC A,#0H ;0H+A+Cy→AMOV 52H,A ;A→(52H)SJMP $ ;循环END五、实验数据记录和处理本程序进行了两个双字节BCD数的加法,中途出现两次进位,每次进位参与下一次的进位加法计算。
六、实验结果与分析通过两次进位加法计算,两个双字节BCD数加法的结果变为三字节BCD数,并存于50H~52H单元中,其中52H单元中存结果的最高位1。
七、讨论、心得实验成功,通过本实验的练习,学会了带进位位的BCD加法的使用和对命令ADDC的使用。
单片机原理及接口技术实验报告
单片机原理及接口技术实验报告任课教师班级姓名日期实验一构建单片机最小系统和实验环境熟悉一、单片机最小系统的组成原理图二、单片机的工作原理:1.运算器运算器包括算术逻辑运算单元ALU、累加器ACC、寄存器B、暂存器TMP、程序状态字寄存器PSW、十进制调整电路等。
它能实现数据的算术逻辑运算、位变量处理和数据传送操作。
(1)算术逻辑单元ALUALU在控制器根据指令发出的内部信号控制下,对8位二进制数据进行加、减、乘、除运算和逻辑与、或、非、异或、清零等运算。
它具有很强的判跳、转移、丰富的数据传送、提供存放中间结果以及常用数据寄存器的功能。
MCS-51中位处理具有位处理功能,特别适用于实时逻辑控制。
(2)累加器ACC累加器ACC是8位寄存器,是最常用的专用寄存器,它既可存放操作数,又可存放运算的中间结果。
MCS—51系列单片机中许多指令的操作数来自累加器ACC。
累加器非常繁忙,在与外部存储器或I/O接口进行数据传送时,都要经过A来完成。
(3)寄存器B寄存器B是8位寄存器,主要用于乘、除运算。
乘法运算时,B中存放乘数,乘法操作后,高8位结果存于B寄存器中。
除法运算时,B中存放除数,除法操作后,余数存于寄存器B中。
寄存器B也可作为一般的寄存器用。
(4)程序状态字PSW程序状态字是8位寄存器,用于指示程序运行状态信息。
其中有些位是根据程序执行结果由硬件自动设置的,而有些位可由用户通过指令方法设定。
PSW中各标志位名称及定义如下:CY():进(借)位标志位,也是位处理器的位累加器C。
在加减运算中,若操作结果的最高位有进位或有借位时,CY由硬件自动置1,否则清“0”。
在位操作中,CY作为位累加器C使用,参于进行位传送、位与、位或等位操作。
另外某些控制转移类指令也会影响CY位状态(第三章讨论)。
AC():辅助进(借)位标志位。
在加减运算中,当操作结果的低四位向高四位进位或借位时此标志位由硬件自动置1,否则清“0”。
单片机原理及接口技术实验报告书 (1)
学生学号实验课成绩学生实验报告书实验课程名称单片机原理及接口技术开课学院物流工程学院指导教师姓名学生姓名学生专业班级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.实验过程中所遇到的问题,解决方法和建议在实验过程中,编的程序出现了很多问题,除了字符错误,还出现了逻辑错误以及过定义。
将程序分块可以解决很多错误;增加注释,提高程序的可读性,。
《单片机接口技术与实验》课程总结
《单片机接口技术与实验》课程总结2011年秋季学期实验一基于SPI总线的EEPROM读写实验1.功能要求本实验要求熟悉AT93C46 的芯片功能,掌握采用单片机和AT93C46 的硬件接口技术,掌握AT93C46 的读写程序的设计和调试方法并通过开关控制向芯片中写入2个字节,然后再读出显示。
2.硬件设计思路SPI 接口是在CPU 和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度可达到几Mbps。
在本实验中使用AT93C46 接口芯片,由单片机的P2.0控制芯片的CS端、由单片机的P2.2控制芯片的DI端、由单片机的P2.3控制芯片的SK端、由单片机的P2.4控制芯片的DO端。
3.软件程序流图开始发送芯片擦写使能指令发送芯片擦除指令发送写数据指令先后发送写地址及数据发送读数据指令传回数据赋值P1显示结束4.实验体会通过这次实验对单片机接口技术有了直接而深刻的认识,将学到的较为抽象的接口技术首次运用到实际应用当中,实验中遇到了很多的难题,比如对接口时序的掌握以及对发送与接收字符的控制。
实验中发现细心阅读芯片的官网PDF 说明还是很有用的。
里面的相当详细的芯片时序与控制的介绍。
实验中还会遇到很多线路连接等的问题,都需要在实验中细心推敲。
实验二 基于 I 2C 总线的EEPROM 读写实验1.功能要求本实验要求熟悉24C02 的芯片功能。
掌握采用单片机和I2C 芯片的硬件接口技术。
掌握24C02 的读写程序的设计和调试方法。
向芯片中写入10 个字节,然后再读出显示。
2.硬件设计思路由P2.0,P2.1分别控制24C02的SCL,SDA 引脚。
3.软件程序流图发送起始信号 发送停止信号 开始顺次发送10字节,字节之间插入应答信号,最后字节非应答 发送写器件地址 发送起始信号发送写器件地址发送要读的数据地址发送起始信号发送读器件地址依次读出八字节数据依次显示八字节结束4.实验体会通过本次实验主要了解了熟悉24C02 的芯片功能,掌握24C02 的读写程序的设计和调试方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验题目:中断实验(第六章)4
实验题目:输入接口实验(第八章)4
实验题目:I/O口扩展实验(第九章)4
实验题目:串行通信实验(第十一章)4
实验题目:A/D,D/A转换实验(第十七章)4
实验题目:实验环境的初识、使用及调试方法实验
实验类型:验证性实验课时:1时间:2016年10月24日
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
unsigned char code LedChar[] = {
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main()
{
ENLED = 0;
ADDR3 = 1;
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;
LED = 0; //点亮小灯
while (1); //程序停止
}
2、程序下载
实验题目:基本指令实验
实验类型:验证性实验课时:2时间:2016年11月1日
一、实验内容和要求
了解单片机的硬件基础知识
LED灯闪烁的程序
二、实验结果及分析
1、去耦电容
电容有缓冲和稳定的作用,有了这个电容,可以说我们的电压和电流就会很稳定了,不会产生大的波动。
2、74HC138三八译码器
在我们设计单片机电路的时候,单片机的 IO 口数量是有限的,有时并满足不了我们的设计需求,比如我们的 STC89C52 一共有 32 个 IO 口,但是我们为了控制更多的器件,就要使用一些外围的数字芯片,这种数字芯片由简单的输入逻辑来控制输出逻辑,比如 74HC138三八译码器。如图所示。
一、实验内容和要求
点亮一个LED小灯
程序下载到单片机中
二、实验结果及分析
1、点亮一个LED小灯
点亮LED小灯的程序:
#include <reg52.h> //包含特殊功能寄存器定义的头文件
sbit LED = P0^0;
sbit ADDR0 = P1^0; //sbit必须小写,P必须大写
sbit ADDR1 = P1^1;
for(i = 0; i<=3000; i++); //延时
}
}
三、心得体会
做好一件事的前提条件是你对自己所要做的事情有充分的了解和认识,做好完全的准备才能够有保证将这件事做好,学习也是如此,想要做好一个程序,就要将他的工作过程以及条件搞清楚才能将程序编好编清楚。
实验题目:定时器/计数器实验
实验类型:验证性实验课时:3时间:2016年11月8日
3、LED灯闪烁的程序
#include<reg52.h>
sbit LED = P0^0;
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main() //void为函数类型
一、实验内容和要求
学习和了解单片机中的定时器、及其寄存器
学习数码管的相关知识
编写数码管的静态显示的相关程序
二、实验结果及分析
1、数码管
数码管示意图: 数码管结构图:
2、数码管静态显示的程序
#include <reg52.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
《单片机与接口技术》实验报告
信息工程学院
2016年9月
辽东学院信息技术学院
《单片机与接口技术》实验报告
姓名:王瑛
学号:0913140319
班级:B1403
专业:网络工程
层次:本科
2016年9月
实验题目:实验环境的初识、使用及调试方法(第一章)
实验题目:单片机工程初步实验(第二章)
实验题目:基本指令实验(第三章)4
一、实验内容和要求
了解单片机的基础知识
了解51单片机的组成和工作方法
掌握项目工程的建立、编辑、编译和下载的过程方法
熟练单片机开发调试工具和方法
ห้องสมุดไป่ตู้二、实验结果及分析
单片机最小系统的构成:
Keil集成开发环境:
STC-ISP:
实验题目:单片机工程初步实验
实验类型:验证性实验课时:1时间:2016年10月24日
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main()
{
ENLED = 0;
ADDR3 = 1;
ADDR2 = 0;
ADDR1 = 0;
ADDR0 = 0;
P0 = 0xF9;
while (1);
}
三、心得体会
通过这次实验课,我对定时器有了更加深刻的了解,也让我知道了对教材应该更熟悉,因为教材是基础的,只有把基础搞好了才能够进行其他层次的学习。有时候也可以通过软件的仿真来验证书上的一些理论性的东西。实现自己想要的效果。
首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:
然后 STC 系列单片的下载软件——STC-ISP,端口为上一步查到的端口,其余选项改成如图所示:
打开程序文件下载后当软件显示“已加密”就表示程序下载成功了,如下图所示:
三、心得体会
通过对单片机的初步学习和认识,我了解到了单片机的工作流程,还有通过自己编写单片机的程序,也让我对单片机的学习有了更大的兴趣,虽然过程中遇到了些许的困难,但这也让自己意识到还有很多不足,通过接下来的学习,希望对单片机的课程有更加深入的了解。
{
unsigned int i = 0; //定义一个无符号整型变量i,赋初始值为0
ENLED = 0;
ADDR3 = 1;
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;
while(1)
{
LED = 0; //点亮小灯
for(i = 0; i<=3000; i++); //延时
LED = 1; //熄灭小灯
实验题目:中断实验
实验类型:验证性实验课时:4时间:2016年11月15日
一、实验内容和要求
复习C语言中的数组、if语句和switch语句
学习数码管的动态显示相关知识
掌握单片机中断系统
二、实验结果及分析
1、数码管的动态显示程序
(switch语句)
#include <reg52.h>
sbit ADDR0 = P1^0;