单片机原理实验报告(详细)

合集下载

单片机实验报告

单片机实验报告

单片机实验报告第一篇:单片机实验报告单片机实验报告一、实验目的1.熟练使用Keil、Protues两款软件2.通过上机操作,增强个人动手实践能力3.加深对理论知识的理解4.培养运用汇编语言进行初步编写程序的能力二、实验内容1.将片外RAM3050-306FH中数据转移至片内70-8FH中。

要求:可以从Keil或Protues上看到RAM的数据转移结果。

2.设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮。

要求:开发板或Prrotues演示3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术。

要求:在Keil或Protues上看到数据转换结果。

4.各使用中断方式和查询方式设计一个方波发生器,频率为50HZ。

要求:Protues使软件间示波器显示方波。

三、实验程序1.将片外RAM3050-306FH中数据转移至片内70-8FH中ORG 0000H AJMP MAIN 上电,转向主程序ORG 0030H 主程序入口MAIN: MOV DPTR,#3050H 数据指针指向地址3050H MOV A,#04H 将立即数04H送A寄存器MOV R0,#20H NEXT: MOVX @DPTR,A INC DPTR 数据指针DPTR自加一DJNZ R0,NEXT 判断是否跳转到NEXT或继续向下执行MOV DPTR,#3050H MOV R0,#70H MOV R2,#20H NEXT1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R2,NEXT1SJMP $ 等待END 2.设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮ORG 0000H SJMP MAIN 上电,转向主程序ORG 0003H 外部中断0向量入口AJMP INSER ORG 0030H 主程序入口MAIN: SETB EX0 SETB IT0SETB EA CPUHERE: SJMP HERE ORG 0200H INSER: MOV R2,#08H MOV A,#01H NEXT: MOV P2,A LCALL DELAY RL A DJNZ R2,NEXT NEXT或继续向下执行RETI DELAY: MOV R3,#0FFH DEL2: MOV R4,#0FFH DEL1: NOP 允许外部中断0中断选择边沿触发方式开中断等待中断设置循环次数赋初值,设置高电平亮将初值送往P2口延时左移一位判断循环次数,是否跳转到中断返回延时程序DJNZ R4,DEL1 DJNZ R3,DEL2 RET END 3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术 ORG 0000H LJMP MAIN ORG 0030H主程序起始地址 MAIN: MOV 80H,#05H 将立即数50H转送内存单元80H MOV A,80H 将内存单元80H中的内容送寄存器A MOV DPTR,#TAB MOVC A,@A+DPTR A寄存器内容加指针偏移量后送A寄存器 MOV 80H,A RET TAB: DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H 4.1中断方式产生50HZ方波ORG 0000HAJMP MAINORG 0030H 主程序入口 MAIN: MOV TMOD,#10H 设置定时器工作模式为模式1 MOV TH1,#0D8H 装入T1计数初值MOV TL1,#0F0HSETB ET1 开中断SETB EA CPU开中断SETB TR1 启动定时器T1 HERE: SJMP HERE 等待中断ORG 001BH T1中断向量地址CLR TF1 将TF1清零CPL P2.0 P2.0取反输出MOV TH1,#0D8H 重装初值MOV TH0,#0F0HRETI;中断返回END 4.2 查询方式产生50HZ方波ORG 0000HAJMP MAINORG 0030H 主程序入口MAIN: MOV TMOD,#10H 设置定时器的工作模式为模式1 SETB TR1 启动定时器T1 LOOP: MOV TH1,#0D8H 装入T1计数初值MOV TH0,#0F0H JNB TF1,$ T1没有溢出则等待CLR TF1产生溢出,清标志位CPL P2.0 P2.0取反输出SJMP LOOP 循环END四、实验结果截图1.23.4.14.2第二篇:单片机实验报告实验四、中断交通灯实验林立强1000850116一、实验目的1、了解MCS-51单片机的组成、中断原理,中断处理过程、外部中断的中断方式。

单片机实验报告

单片机实验报告

单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。

二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。

这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。

2、数码管显示利用单片机驱动数码管,实现数字的显示。

需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。

3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。

例如,通过按键切换不同的显示模式或控制其他外部设备。

4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。

例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。

5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。

四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。

2、编程语言本次实验采用 C 语言进行编程。

C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。

3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。

通过对这些引脚的合理配置和控制,可以实现各种功能。

4、数码管驱动原理数码管分为共阴极和共阳极两种类型。

通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。

5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。

单片机实验报告(相当不错,有具体实验结果分析哦)

单片机实验报告(相当不错,有具体实验结果分析哦)

学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:实验一 I/O 口输入、输出实验地点:基础实验大楼A311一、实验目的掌握单片机P1口、P3口的使用方法。

二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。

以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。

三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验说明和电路原理图P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。

因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。

若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区)。

2学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:五、实验步骤1)系统各跳线器处在初始设置状态。

用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。

编译无误后,下载程序运行。

3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。

六、实验参考程序本实验参考程序:;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);;用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。

单片机原理中断实验单片机原理实验报告

单片机原理中断实验单片机原理实验报告

单片机原理中断实验一、实验前准备1. 实验目的:本实验旨在通过学习和实践,掌握单片机原理中断的基本概念和工作原理,并能灵活运用中断技术解决实际问题。

2. 实验器材:- STC89C52单片机开发板- LED灯- 电阻、电容等基本电子元器件- 连接线3. 实验原理:单片机原理中断实验是通过将外部事件(如按键按下、定时器溢出等)与单片机的中断系统相连,实现对外部事件的即时响应和处理。

单片机的中断系统可以在常规程序运行的过程中接收和响应中断请求,提高系统的实时性和可靠性。

4. 实验步骤:- 首先,将开发板上的LED灯与单片机相连。

- 将外部事件(例如,按键)与单片机的中断引脚相连。

- 对中断相关的寄存器进行初始化设置。

- 编写相应的中断服务程序。

- 在主程序中编写相应的处理代码。

二、实验过程以按键中断为例,以下为实验过程的详细步骤:1. 硬件连接:将按键连接到单片机的外部中断引脚上,同时将LED灯连接到单片机的IO口上,以实现按键按下时LED灯的亮灭。

2. 寄存器设置:通过编程设置单片机的寄存器,使其能够正确地接收和响应外部中断请求。

具体的设置包括中断使能、中断触发方式、中断优先级等。

3. 中断服务程序编写:根据实际需求,编写相应的中断服务程序。

在按键中断的情况下,可以编写一个简单的中断服务程序,通过判断按键的状态来控制LED灯的亮灭。

4. 主程序编写:在主程序中,编写相应的处理代码。

在按键中断的情况下,可以编写一个循环程序,不断检测按键的状态,并根据按键状态控制LED灯的亮灭。

三、实验结果经过实验验证,成功利用中断技术实现了按键按下时LED灯的亮灭,实现了对外部事件(按键)的即时响应和处理。

实验结果表明单片机中断技术在提高系统的实时性和可靠性方面具有重要作用。

四、实验总结通过本次实验,我对单片机原理中断有了更深入的了解。

掌握了中断系统的基本原理和工作方式,并成功运用中断技术解决实际问题。

在今后的学习和实践中,我将进一步熟悉和应用中断技术,不断提高自己的技术水平。

单片机实验报告

单片机实验报告

一、实验目的1. 熟悉单片机的硬件组成和基本工作原理。

2. 掌握单片机最小系统的搭建方法。

3. 学习使用单片机编程软件进行程序编写和调试。

4. 通过实际操作,加深对单片机应用的理解。

二、实验环境1. 实验设备:MCS-51单片机实验板、电源模块、面包板、连接线、LED灯、蜂鸣器、按键等。

2. 软件环境:Keil uVision5、Proteus仿真软件。

三、实验内容1. 点亮LED灯(1)实验目的:掌握单片机I/O口的使用,实现LED灯的点亮。

(2)实验步骤:① 将LED灯的阳极连接到单片机的P1.0口,阴极连接到GND。

② 在Keil uVision5中新建工程,编写程序如下:```cvoid main() {while (1) {P1 = 0xFF; // 点亮LED灯delay(500000); // 延时P1 = 0x00; // 熄灭LED灯delay(500000); // 延时}}③ 将程序编译并下载到单片机中,观察LED灯的点亮效果。

2. 蜂鸣器控制(1)实验目的:掌握单片机I/O口的使用,实现蜂鸣器的控制。

(2)实验步骤:① 将蜂鸣器的正极连接到单片机的P1.1口,负极连接到GND。

② 在Keil uVision5中编写程序如下:```cvoid main() {while (1) {P1 = 0x02; // 使能蜂鸣器delay(100000); // 延时P1 = 0x00; // 禁止蜂鸣器delay(100000); // 延时}}```③ 将程序编译并下载到单片机中,观察蜂鸣器的鸣叫效果。

3. 按键扫描(1)实验目的:掌握单片机I/O口的使用,实现按键的扫描和识别。

(2)实验步骤:① 将两个按键分别连接到单片机的P1.2和P1.3口。

② 在Keil uVision5中编写程序如下:void main() {while (1) {if (P1 & 0x04) { // 检测按键1是否按下// 执行按键1按下后的操作}if (P1 & 0x08) { // 检测按键2是否按下// 执行按键2按下后的操作}}}```③ 将程序编译并下载到单片机中,观察按键的扫描和识别效果。

单片机原理实验报告

单片机原理实验报告

实验报告01_排序程序实验目的1. 熟悉MCS-51指令系统,掌握程序设计方法。

2. 掌握控制转移指令的功能,以及冒泡排序法原理。

3. 熟悉51单片机汇编语言编程环境。

实验要求设30H开始的10个存储单元中,存放的是无符号数,编写程序实现:将它们排序,并存放到50H开始的单元中。

实验原理冒泡算法的思想为,每次取相邻单元的两个数比较,判断是否需要交换数据的位置。

第一次循环,比较N-1次,取到数据表的最大值;第二次循环,比较N-2次,取到次大值;……第N-1次循环,比较一次,排序结束。

流程框图实验程序及调试仿真:实验程序如下:N EQU 10TAB EQU 30HTAC EQU 50HORG 0000H SORT: MOV R4,#N-1 LOOP1: MOV A,R4MOV R3,AMOV R0,#TAB LOOP2: MOV A,@R0MOV B,AINC R0MOV A,@R0CLR CSUBB A,BJNC UNEXCHMOV A,@R0DEC R0XCH A,@R0INC R0MOV @R0,A UNEXCH: DJNZ R3,LOOP2DJNZ R4,LOOP1MOV R1,#TABMOV R7,#NMOV R0,#TAC AGAIN: MOV A,@R1MOV @R0,AINC R1INC R0DJNZ R7,AGAINSJMP $END程序调试及运行结果实验结论通过本实验,我对冒泡排序法的原理有了更深入的理解,同时在掌握此算法思想的基础上能够用汇编语言进行编程,并学会在Keil μVersion4调试界面的Memory窗口中查看内存地址的内容,从而验证设计的源程序的正确性,提高了自己解决问题的能力。

实验报告02_ 外部中断实验实验目的学会使用Keil μVersion4和Proteus软件进行单片机汇编语言和C语言程序设计与开发;了解和掌握MCS-51单片机的中断组成、中断控制工作原理、中断处理过程、外部中断的中断触发方式,掌握中断功能的编程方法。

单片机实训实验报告

单片机实训实验报告

一、实验名称单片机原理及应用实验二、实验目的1. 熟悉单片机的基本结构和原理,了解单片机在电子系统中的应用。

2. 掌握单片机编程语言C的基本语法和编程技巧。

3. 学会使用单片机进行简单控制,实现LED流水灯、数码管显示等基本功能。

4. 提高动手实践能力,培养团队合作精神。

三、实验仪器与设备1. 单片机实验箱:包括单片机、电源、按键、LED灯、数码管等。

2. 电脑:用于编程和仿真。

3. 编程软件:Keil uVision5或IAR EWARM等。

四、实验原理单片机是一种集成度高、功能强大的微控制器,具有运算速度快、功耗低、体积小等优点。

本实验以51单片机为例,介绍其基本原理和编程方法。

51单片机主要由以下几个部分组成:1. 中央处理器(CPU):负责执行指令,控制整个单片机系统。

2. 存储器:包括程序存储器(ROM)和数据存储器(RAM),用于存储程序和数据。

3. 输入/输出接口:用于与外部设备进行数据交换。

4. 定时器/计数器:用于实现定时和计数功能。

5. 中断系统:用于处理中断事件。

本实验主要涉及以下几个方面:1. 单片机基本结构和工作原理。

2. 单片机编程语言C的基本语法和编程技巧。

3. 单片机I/O口的使用和驱动能力。

4. 定时器/计数器的使用和编程。

5. 中断系统的使用和编程。

五、实验内容1. 实验一:LED流水灯(1)实验目的:掌握单片机I/O口的使用,实现LED流水灯效果。

(2)实验原理:通过单片机I/O口输出高低电平,控制LED灯的亮灭,实现流水灯效果。

(3)实验步骤:① 连接实验箱电路,将LED灯连接到单片机的P1口。

② 编写程序,设置P1口为输出模式,通过循环改变P1口输出电平,实现LED流水灯效果。

③在电脑上编译、下载程序,观察实验效果。

2. 实验二:数码管显示(1)实验目的:掌握单片机I/O口的使用,实现数码管显示功能。

(2)实验原理:通过单片机I/O口输出高低电平,控制数码管显示数字。

单片机原理及应用实验报告2

单片机原理及应用实验报告2

单片机原理及应用实验报告2单片机原理及应用实验报告2实验报告:单片机原理及应用实验一、实验目的1、了解单片机的基本工作原理;2、掌握单片机的编程方法和编写汇编语言程序的能力;3、学习单片机的应用实验。

二、实验原理单片机是一种集成电路,内部包含了中央处理器、存储器和各种输入输出端口。

单片机的工作原理是通过对输入信号的处理和对输出信号的控制来实现各种功能。

单片机的编程方法一般采用汇编语言编写程序。

汇编语言是一种低级语言,可以直接对单片机进行操作。

通过编写汇编语言程序,可以实现各种功能,如控制LED灯的亮灭、控制电机的转动等。

本次实验主要通过控制LED灯的亮灭来演示单片机的应用。

在实验中,我们将使用汇编语言编写程序,通过编程来控制LED灯的亮灭。

三、实验步骤2、编写汇编语言程序:打开编程软件,进入编程界面,编写程序代码;3、编译程序:将编写好的程序进行编译,生成机器码;4、烧录程序:用编程工具将编译好的机器码烧录到单片机中;5、连接电路:使用面包板将单片机与LED灯连接起来;6、测试程序:将单片机的电源接通,观察LED灯的亮灭情况。

四、实验结果与分析经过以上步骤,我们成功地编写了汇编语言程序,并将程序烧录到了单片机中。

在实验中,我们观察到LED灯根据程序的控制产生了相应的亮灭效果。

实验结果表明,通过编程可以实现对单片机的控制,从而实现各种功能。

单片机在嵌入式系统、自动控制系统、家电等方面有着广泛的应用。

五、应用实例1、家居智能化控制:通过编程控制单片机,可以实现对家电的智能化控制。

例如,可以根据日出日落时间控制窗帘的开闭,根据室内温度控制空调的开关等。

2、工业自动化:在工业生产中,单片机可以用来控制各种设备和机械,实现生产线的自动化控制。

例如,可以根据产品的规格和数量,自动调整机械的工作速度和工作时间。

3、智能交通系统:在交通领域,单片机可以用来控制信号灯、道闸等设备,实现交通流量的控制。

例如,可以根据道路的拥堵程度和车辆的行驶速度,调整信号灯的红绿灯时间,从而达到交通畅通的目的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南城市学院实验报告2018-2019 学年上学期姓名:***班级学号:******实验课程:单片机原理及应用实验室名称:电子工程实验室湖南城市学院信息与电子工程学院实验中心印制实验项目名称:实验一指示灯和开关控制器实验一、实验目的及要求1、学习51单片机I/O基本输入/输出功能,掌握汇编语言的编程与调试方法;2、熟悉proteus软件,了解软件的结构组成与功能;3、学会在ISIS模块中进行汇编程序录入、编译和调试;4、理解单片机程序控制原理,实现指示灯/开关控制器的预期功能。

二、实验原理实验电路原理图如图1所示,图中输入电路由外接在P3口的8只拨动开关组成;输出电路由外接在P2口的8只低电平驱动的发光二极管组成。

此外,还包括时钟电路、复位电路和片选电路。

图1 实验原理图在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的灯亮状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。

软件编程原理为:(1)8只发光二极管整体闪烁3次亮灯:向P2口送入数值0;灭灯:向P2口送入数值0FFH;闪烁3次:循环3次;闪烁快慢:由软件延时时间决定。

(2)根据开关状态控制灯亮或灯灭开关控制灯:将P3口(即开关状态)内容送入P2口;无限持续:无条件循环。

程序流程图如图2所示。

图2 实验程序流程图三、实验仪器设备及装置(1)硬件:电脑一台;(2)仿真软件:Proteus;(3)编程软件Keil uVision4。

其中,仿真软件ISIS元件清单如表1所示。

表1 仿真软件ISIS元件清单四、实验内容和步骤(一)实验内容:(1)熟悉ISIS模块的汇编程序编辑、编译与调试过程;(2)完成实验的汇编语言的设计与编译;(3)练习ISIS汇编程序调试方法,并最终实现实验的预期功能。

(二)实验步骤:(1)提前阅读与实验相关的阅读材料;(2)参考指示灯/开关控制器的原理图和实验的元件清单,在ISIS中完成电路原理的绘制;(3)参考程序流程图在Keil uVision4中编写和编译汇编语言程序;(4)利用ISIS的汇编调试功能检查程序的语法和逻辑错误;(5)观察仿真结果,检验与电路的正确性。

五、实验数据记录与处理或实验现象与分析1、实验程序#include <reg51.h>#define uchar unsigned char#define uint unsigned intvoid delay(uchar k){uint j;while(k--)for(j=0;j<1000;j++);}void main(void){uchar temp;uint i;for (i=0;i<3;i++){P2=0;delay(100);P2=0xff;delay(100);}while(1){temp=P1;P2=temp;}}2、实验现象①程序开始运行后,8只发光二极管先整体闪烁3次(亮→暗→亮→暗→亮→暗)实验结果如图3图4所示。

图3 二极管灯亮图图4 二极管灯灭图②开关可以控制二极管的最终状态(即开关闭合则对应二极管最后的状态为亮,开关断开则对应二极管最后的状态为暗)。

(1)当按下开关1 2 7 8时结果如图5.1所示。

图5.1 二极管状态图(2)当按下开关1 3 4 6时结果如图5.2所示。

图5.2 二极管状态图实验结果分析:当程序启动时,可以看到8只发光二极管整体循环闪烁三次,闪烁快慢由延时时间决定,然后根据所设开关的状态对应二极管的亮灯状态。

六、问题讨论下图6中单片机80C51中31号引脚为什么接+5V?图6 问题分析图答:31号引脚为使能端(EA非),通过+5V电压是使单片机访问内部程序存储器,但当PC(程序计数器)值超过某值时,将自动转向执行外部程序存储器内的程序。

实验项目名称:实验二LED灯和数码显示器的中断控制一、实验目的及要求1.掌握外部中断原理,学习中断编程与程序调试方法;2.熟悉Keil uVision4平台软件调试方法。

二、实验原理实验电路原理图如图1所示,图中按键K1和K2分别接于P3.2和P3.3,发光二极管D1接于P0.4,共阴极数码管LED1接于P2口。

时钟电路、复位电路、片选电路忽略。

图1实验原理图在编程软件的配合下,要求实现如下功能:程序启动后,D1处于熄灯、LED1处于黑屏状态;单击K1,可使D1亮灯状态反转一次;单击K2,可使LED1显示增加1,并按十六进制数显示,达到F后重新从1开始。

软件编程原理为:K1和K2的按键动作分别作为INT0和INT1的中断请求,在中断函数中进行指示灯与数码管的信息处理。

初始化后,主函数处于无限循环状态,等待中断请求。

三、实验仪器设备及装置(1)硬件:电脑一台;(2)仿真软件:Proteus;(3)编程软件Keil uVision4。

其中,仿真软件ISIS元件清单如表1所示。

四、实验内容和步骤(一)实验内容:(1)熟悉Keil uVision4的软件调试方法;(2)完成实验的C51语言编程;(3)练习Keil uVision4与ISIS的联机仿真方法。

(二)实验步骤:(1)提前阅读与实验相关的阅读材料;(2)参考实验电路原理图和元件清单在ISIS中完成电路原理图的绘制;(3)在Keil uVision4中编写和编译C51程序,生成可执行文件;(4)在Keil uVision4中启动ISIS的仿真运行,并进行联机调试;(5)观察仿真结果,检验与电路的正确性。

五、实验数据记录与处理或实验现象与分析1、实验程序#include<reg51.h>#define uchar unsigned charsbit led=P0^4;uchar led_mod[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};uchar i=0;void init(){IT0=1; //中断0边沿触发IT1=1; //中断1边沿触发EA=1;EX0=1;EX1=1; //开总中断、中断0、中断1}void int0() interrupt 0{led=~led;}void int1() interrupt 2{if(++i>=16) i=0; //先加再用}void main(){init();while(1){P2=led_mod[i];}}2.实验现象图2为仿真运行效果图。

图2仿真图按下K1,D1灯亮,如图3(a)所示:图3(a) 二极管状态图再按下K1,D1灯灭,如图3(b)所示:继续按下K1则D1将“亮→灭→亮→灭→亮→灭”如此循环。

当按K2时,每按一次数码显示管上的字符变化一次:持续按K2则数码显示管依次显示1-F :如图4所示。

图4 LED 状态图实验结果分析:① 持续按下K1则D1将“亮→灭→亮→灭→…→亮→灭”如此循环表明实现了K1对应于D1状态反转这个功能;②持续按下持续按K2则数码显示管依次显示1-F ,实现了K2对应于0-F 间的数码管加一计数显示。

图3(b) 二极管状态图六、问题讨论uchar led_mod[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};这些就代表0-F,为什么呢?答:数码分为7段式(7个发光二极管)和8段式(8个发光二极管,见图6)的,而二极管的亮灭对应0x3F的一位(1或0),为0时灭,1为亮;比如 0x3f 就是是 0b00111111 那么它对应的数码管的最外面一圈的二极管是1,是亮的,中间的一横和小数点都输0,是灭的,所以显示出来的就是0。

图5二极管示意图实验项目名称:实验三双机通信及PCB设计一、实验目的及要求1.掌握串行口通信工作原理;2.熟悉单片机电路的PCB设计过程。

二、实验原理实验的电路原理图如图1所示,图中1#机的发送线与2#机的接收线相连,1#机的接收线与2#机的发送线相连,共阴极BCD数码管BCD_LED1和BCD_LED2分别接各机的P2 口,两机共地(默认),晶振为11.0592MHz,波特率为2400bps,串口方式1。

软件编程原理如下:1#机采用查寻法编程,根据RI和TI标志的软件查询结果完成收发过程;2#机采用中断法编程,根据RI和TI的中断请求,在中断函数中完成收发过程。

PCB设计原理:在1#机的电路原理图中添加接线端,并定义电源端口,图中BCD数码管需要自定义PCB封装。

图1实验原理图三、实验仪器设备及装置(1)硬件:电脑一台;(2)仿真软件:Proteus ARES;(3)编程软件Keil uVision4。

其中,仿真软件ISIS元件清单如表1所示。

表1 仿真软件ISIS元件清单四、实验内容和步骤(一)实验内容:(1)掌握串行通信原理和中断法通信软件编程;(2)完成实验的C51编程;(3)学习使用ARES软件,完成实验电路(见图1)PCB设计。

(二)实验步骤(1)提前阅读与实验相关的阅读材料;(2)参考图1及表1,在ISIS中完成电路原理图的绘制;(3)采用Keil μVision4进行C51串行通信编程和调试;(4)对电路进行PCB设计,生成Gerber输出文件。

五、实验数据记录与处理或实验现象与分析1、实验程序//实例实现两个单片机点对点的数据通信#include<reg51.h>#define uchar unsigned char void delay (unsigned int time){ unsigned int j=0;for(;time>0;time--)for(j=0;j<125;j++);}void main(void){uchar counter=0;P2=0x3f;TMOD=0x20;TH1=0xf4;TL1=0xf4;PCON=0x00;TR1=1;SCON=0x50;while(1){SBUF=counter;while(TI==0);TI=0;while(RI==0);RI=0;if(SBUF==counter){P2=counter;if(++counter>15) counter=0; delay(500);}}}#include<reg51.h>#define uchar unsigned charvoid main(void){uchar receiv;P2=0x3f;TMOD=0x20;TH1=0xf4;TL1=0xf4;PCON=0x00;TR1=1;SCON=0x50;while(1){while(RI==1){RI=0;receiv=SBUF;SBUF=receiv;while(TI==0);TI=0;P2=receiv;}}}2、实验现象下面的图2.1和图2.2仿真的效果图,发送值和接收值分别显示在双方LED 数码管上。

相关文档
最新文档