广工-单片机实验报告全部
单片机实验报告
单片机实验报告第一篇:单片机实验报告单片机实验报告一、实验目的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口)。
广东工业大学单片机课程设计报告
广东工业大学单片机课程设计报告一、实验目的、要求掌握单片机的开发应用,巩固、加深已学过的知识,提高动手能力及解决实际问题的能力。
要求用AT89S52芯片控制彩灯(流水灯)图形。
即AT89S52单片机上点工作时控制由发光二极管组成的图形有规律地不停闪烁;当按下按钮时彩灯图形全灭,而继电器工作吸合(控制~220V 30W灯泡亮)5秒,5秒后返回彩灯闪烁(若再次按下按钮,彩灯图形又全灭,而继电器又能工作吸合5秒,5秒后又回到彩灯闪烁)。
也就是说每当按下按钮时,彩灯都能全灭,继电器能吸合5秒,5秒后能回到彩灯图形的闪烁。
按此要求:①设计并绘制硬件电路图,电路图应包含强电控制部分,做实物板时强电部分可省略;②制作实物板;③编写程序并将调试好的程序固化实物板中的单片机中。
硬件(电路图、元器件布置、排线、元器件的焊接)及软件(程序设计、编写)均由同学们自己完成。
程序编写完后进行调试,调试成功后将程序烧录到单片机内。
实物板通电检查是否能正确运行,如果不行,要找出问题并解决它。
二、实验仪器设备与器材三、硬件方案1、设计思想用单片机P口实现流水灯,先从9~0进行倒数后出现“2012”和“gdut”字样。
当按下按钮,继电器吸合,中断响应,延时5秒,然后返回主程序继续运行。
3、工作原理用单片机P口实现流水灯,先从9~0进行倒数后出现“2012”和“gdut”字样。
当按下按钮,继电器吸合,中断响应,延时5秒,然后返回主程序继续运行。
四、软件方案1、程序流程图主程序中断程序2、程序清单ORG 0000HAJMP MAINORG 0003HAJMP INT_0ORG 000BHAJMP T_0ORG 001BHAJMP T_1ORG 0030H MAIN:MOV R0,#14H MOV R1,#16H MOV R2,#00HMOV R3,#64HMOV R4,#38HMOV DPTR,#TABSETB ET0SETB ET1SETB EX0SETB EASETB PT0MOV TMOD,#11H ;初始化MOV TH1,#3CHMOV TL1,#0B0HSETB TR1SJMP $T_1:MOV TH1,#3CHMOV TL1,#0B0HMOV A,R4JZ L6 ;判断流水灯是否完全输出,完全输出(R4=0)后则跳到L6 L7: ACALL L2 ;开始输出流水灯MOV P0,AACALL L2MOV P1,AACALL L2MOV P2,ADEC R4L1: RETIL6: DJNZ R0,L1 ;开始倒计时10秒和输出2012 gdutACALL L2MOV P0,AACALL L2MOV P1,AACALL L2MOV P2,AMOV R0,#14HDJNZ R1,L1 ;判断倒计时10秒和输出2012 gdut 是否完全输出,若完全输出则重新开始MOV R1,#16HMOV R2,#00HMOV R4,#38HSJMP L1L2: INC R2MOV A,R2MOVC A,@A+DPTRRETINT_0:MOV P0,#0FFH ;响应外部中断,LED全灭MOV P1,#0FFHMOV P2,#0FFHCLR P3.0 ;继电器线圈吸合MOV TH0,#3CHMOV TL0,#0B0HSETB TR0L4:JNB P3.0,L4RETIT_0:MOV TH0,#3CH ;延时5秒MOV TL0,#0B0HDJNZ R3,L3SETB P3.0 ;继电器线圈断开MOV R3,#64HCLR TR0L3: RETITAB:DB0FFH,0DFH,0FFH,0FFH,0EFH,0FFH,0FFH,0F7H,0FFH,0FFH,0FB H,0FFH,0FF H,0FDH,0FFH,0FFH,0FEH,0FFH,0FFHDB0FFH,0FFH,0FEH,0FFH,0FEH,0FFH,0FFH,0FDH,0FFH,0FFH,0FB H,0FFH,0FFH,0F7H,0FFH,0FFH,0EFH,0FFH,0FFH,0DFH,0FFH,0FFH,0BFH,0FFH, 0FFH,7 FH,0FFHDB0FFH,0FFH,0F7H,7FH,0FFH,0FFH,0BFH,0FFH,0FFH,0FFH,0FFH ,0FFH DB0DFH,0FFH,0FFH,0CFH,0FFH,0FFH,0C7H,0FFH,0FFH,0C3H,0F FH,0FFH,0C1 H,0FFH,0FFH,0C0H,0FFH,0FFH,0C0H,0FFH,0FEH DB0C0H,0FFH,0FEH,0C0H,0FEH,0FEH,0C0H,0FCH,0FEH,0C0H,0F 8H,0FEH,0C0H,0F0H,0FEH,0C0H,0E0H,0FEH,0C0H,0C0H,0FEH,0C0H,080H,0F EH,0C0H,000H,0FEH,0C0H,000H,0F6HDB 40H,00H,0F6H,00H,00H,0F6HDB40H,00H,0F6H,0C0H,000H,0F6H,0C0H,00H,0FEH,0C0H,080H ,0FEH,0C0H,0C0H,0FEH,0C0H,0E0H,0FEH,0C0H,0F0H,0FEH,0C0H,0F8H,0FEH, 0C0H,0F CH,0FEH,0C0H,0FEH,0FEHDB0C0H,0FFH,0FEH,0C0H,0FFH,0FFH,0C1H,0FFH,0FFH,0C3H,0F FH,0FFH,0C7 H,0FFH,0FFH,0CFH,0FFH,0FFH,0DFH,0FFH,0FFH ;流水灯DB 0FFH,0FFH,0FFH ;全灭1秒DB00H,0C0H,0F0H,00H,00H,0F0H,0C0H,0F8H,0FEH,03H,00H,0F 0H DB03H,0C0H,0F0H,18H,0F8H,0F0H,0C0H,0C0H,0F0H,0C0H,03H ,0F0H,1FH,1 FH,0F7H,00H,00H,0F6H ;倒计时10秒DB0FFH,0FFH,0FFH,0C0H,03H,0F0H,00H,00H,0F6H,1FH,1FH,0F7H,0C0H,03 H,0F0H ;2012DB0FFH,0FFH,0FFH,00H,0C0H,0F0H,0F8H,00H,0F0H,18H,00H,0F6H,1FH,03 H,0F0H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;gdut END3、方案论证硬件方面采用低电平灌电流方案,使得灯更为亮。
单片机实训工作报告(精选3篇)
单片机实训工作报告(精选3篇)单片机实训篇1实训任务:做单一灯的左移右移,八个发光二极管l1-l8分别接在单片机的p1.0→p1.2→p1.3┅→p1.7→p1.6→┅→p1.0亮,重复循环3次。
然后左移2次,右移2次,闪烁2次(延时的时间0.2秒)。
一、实训目的和要求:(1)熟练掌握keilc51集成开发环境的使用方法(2)熟悉keilc51集成开发环境调试功能的使用和单片机仿真器、编程器、实验仪三合一综合开发平台的使用。
(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。
(4)了解掌握单片机芯片的烧写方法与步骤。
(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。
(6)掌握利用protel99se绘制电路原理图及pcb图。
(7)了解pcb板的制作腐蚀过程。
二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(1)根据原理图(下图所示),用导线把单片机综合开发平台a2区的j61接口与d1区的j52接口相连。
(2)将流水灯程序编写完整并使用tkstudyice调试运行。
(3)使用导线把a2区j61接口的p1口7个口分别与j52接口的八个led相连。
(4)打开电源,将编写好的程序运用tkstudyice进行全速运行,看能否实现任务要求。
(5)观察运行结果,若能实现功能,则将正确编译过的hex文件通过easypro51编程器写入mcu片内存储器,然后将烧写的芯片a2区的圆孔ic座进行最终实验结果的演示。
(6)制板。
首先利用protel99se画好原理图,根据原理图绘制pcb 图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb板上布线图外的铜全部后,将其取出,清洗干净。
单片机实习报告(精选12篇)
单片机实习报告(精选12篇)大文斗范文网会员为你整理了“单片机实习报告”12篇范文,希望对你有参考作用。
篇1:单片机实习报告课程设计任务书学生姓名:专业班级:指导教师:工作单位:武汉理工大学题目: 单片机原理与应用初始条件:STC89C52 温度采集芯片DS18B20 数码管MAX232 开关74LS04 仿真软件要求完成的主要任务:1)利用PROTEL等软件进行硬件设计;2)利用Keil uV2软件完成应用系统软件设计;3)利用PROTEUS软件进行仿真设计;4)完成单片机最小系统和应用系统电路板的焊接;5)对电路进行调试;6)利用stc-isp软件完成在系统编程、下载,并完成系统软件调试;7)题目由指导教师提供;8)要求每个学生单独完成硬件软件设计、仿真、焊接、调试任务;9)写出实习报告,实习报告主要包括以下内容:目录、摘要、关键词、基本原理、方案论证、硬件设计、软件设计(带流程图、程序清单)、仿真结果、实物运行结果照片、结论、参考文献等;10)实习完成后通过答辩;11)答辩时交实习报告电子文档,通过答辩后根据修改意见修改并打印、装订成册。
时间安排:实习时间20xx年12月17日---20xx年12月30日。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (3)Abstract (4)1 基本原理 (5)1.1基本原理及原理框图 (5)1.2 STC89C52结构功能介绍 (5)2 方案论证 (7)2.1 数字温度计方案 (7)3 硬件设计 (8)3.1复位电路 (8)3.1.1上电复位 (8)3.1.2按键复位 (8)3.2振荡电路 (9)3.3 单片机最小系统单片机 (10)3.4 显示电路 (10)3.5矩阵键盘电路 (11)3.6 温度采集电路 (11)3.7串口通信电路 (12)3.8总设计电路 (13)4 软件设计 (14)4.1 软件介绍 (14)4.1.1设计软件Protel (14)4.1.2 程序编写软件Keil (14)4.1.3仿真软件Proteus (15)4.2 数码管显示 (15)4.3数字温度计的设计 (16)4.4串口通信的设计 (17)5仿真结果 (18)5.1数字温度计仿真 (18)5.2键盘扫描仿真 (18)6 实物调试结果 (19)7元件列表 (20)8参考文献 (22)9实习日记 (23)10附录 (40)摘要单片微型计算机简称单片机,又称为微型控制器,是微型计算机的一个重要分支。
单片机实验报告汇总
单片机实验报告汇总一、引言单片机是一种嵌入式系统中的重要组成部分。
通过单片机可以实现各种控制功能,包括自动控制、测量和数据处理等。
在本次实验中,我们就对单片机进行了一系列实验,包括基本IO口控制、定时器和中断、串口通信等内容。
通过这些实验的学习和掌握,我们对单片机的原理和应用有了更深入的理解。
二、实验目的1.掌握单片机的基本操作和编程方法;2.理解单片机的IO口控制原理;3.学习单片机的定时器和中断功能;4.掌握单片机的串口通信原理和操作方法。
三、实验过程与结果1.基本IO口控制实验在此实验中,我们使用单片机控制LED灯的亮灭。
首先,将LED灯连接到单片机的一个IO口上,然后编写相应的程序来控制该IO口的电平变化。
实验结果显示,当程序中对该IO口输出高电平时,LED灯亮起;反之,当输出低电平时,LED灯熄灭。
2.定时器和中断实验定时器和中断是单片机的重要功能之一、在此实验中,我们使用定时器和中断来实现一个简单的计数器。
我们先设置定时器的计数周期,然后在中断函数中对计数器进行加一操作。
实验结果表明,LED灯随着时间的推移不断闪烁,计数器的值也在不断增加。
3.串口通信实验串口通信是单片机与外部设备进行数据交换的一种通信方式。
在此实验中,我们通过串口通信将单片机与计算机相连,并实现数据的发送与接收。
我们使用UART通信协议来建立通信连接,并编写相应的程序来控制通信的发送与接收。
实验结果显示,当单片机向计算机发送数据时,计算机会接收到相应的数据,并进行处理;反之,当计算机向单片机发送数据时,单片机也能够正确接收并进行相应的操作。
四、实验总结通过本次实验,我们对单片机的基本操作和编程方法、IO口控制、定时器和中断、串口通信等内容有了更深入的了解和掌握。
我们通过实践操作,对单片机的原理和应用有了更为直观的认识。
通过编写程序,我们实现了对LED灯的控制、计数器的实现以及与计算机的数据交互等功能。
这些实验不仅提升了我们的动手能力,也加深了我们对单片机技术的理解。
单片机实习报告(精选8篇)
单片机实习报告(精选8篇)单片机篇1这次实习我们使用控制电路的单片机是AT89S51型号的。
透过它实现对八盏双色灯发光二极管的控制P0和《单片机实习报告总结》正文开始》这次实习我们使用控制电路的单片机是AT89S51型号的。
透过它实现对八盏双色灯发光二极管的控制P0和P2口控制四盏灯。
在AT89S51的9引脚接复位电路,对电路实现复位控制。
在电路中接入74S164译码器和共阴极数码管,透过AT89S51的P3口数据的输入对共阴极数码管的控制。
同时也可实现双色发光的二极管与共阴极数码管的共同作用。
在AT89S51的P3。
2口接上中断控制电路,P3。
5口接入蜂鸣器,使电路实现中断作用,也使电路便于检测。
尽量朝“单片”方向设计硬件系统。
系统器件越多,器件之间相互干扰也越强,功耗也增大,也不可避免地降低了系统的稳定性。
系统中的相关器件要尽可能做到性能匹配。
如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选取低功耗产品。
硬件电路设计:1)确保硬件结构和应用软件方案相结合。
硬件结构与软件方案会相互影响,软件能实现的功能尽可能由软件实现,以简化硬件结构。
务必注意,由软件实现的硬件功能,一般响应时光比硬件实现长,且占用CPU时光;2)可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选取、去耦滤波、印刷电路板的合理布线、各元器相互隔离等;3)尽量朝“MCS-51单片”方向设计硬件系统。
系统器件越多,器件之间相互干扰也越强,所消耗功耗也增大,也不可避免地降低了系统的稳定性;4)系统中的相关器件要尽可能做到性能匹配。
如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选取低功耗产品。
1。
1单片机型号及特性单片机型号是AT89S51。
特性是:⑴8031CPU与MCS-51⑵兼容4K字节可编程FLASH存储器(寿命:1000写/擦循环)⑶全静态工作:0Hz-24KHz⑷三级程序存储器保密锁定⑸128*8位内部RAM⑹32条可编程I/O线⑺两个16位定时器/计数器⑻6个中断源⑼可编程串行通道⑽低功耗的闲置和掉电模式⑾片内振荡器和时钟电路1。
单片机电子实习实验报告
一、实验目的1. 掌握单片机的基本工作原理和编程方法。
2. 熟悉常用单片机的硬件结构和接口。
3. 学习使用单片机进行简单的电子系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验仪器与设备1. 单片机实验板(含8051单片机、电源、按键、LED灯等)2. 示波器3. 万用表4. 电阻、电容、二极管等电子元件5. 编译器及调试软件三、实验内容1. 单片机最小系统搭建- 目的:学习单片机最小系统的构成和作用。
- 实验步骤:1. 将单片机插入实验板。
2. 连接电源、按键、LED灯等元件。
3. 使用示波器检测单片机的时钟信号。
- 实验结果:成功搭建单片机最小系统,时钟信号正常。
2. 按键控制LED灯- 目的:学习按键的读取和LED灯的控制。
- 实验步骤:1. 编写程序实现按键的读取。
2. 根据按键读取结果控制LED灯的亮灭。
- 实验结果:按键按下时LED灯亮,松开时LED灯灭。
3. 定时器中断控制LED闪烁- 目的:学习定时器中断的应用。
- 实验步骤:1. 编写程序设置定时器中断。
2. 在中断服务程序中控制LED灯闪烁。
- 实验结果:LED灯按照设定的频率闪烁。
4. 串口通信实验- 目的:学习串口通信的原理和应用。
- 实验步骤:1. 编写程序实现串口发送和接收。
2. 使用串口调试助手进行数据传输。
- 实验结果:成功实现串口通信,发送和接收数据。
5. 温度检测实验- 目的:学习使用温度传感器进行温度检测。
- 实验步骤:1. 连接温度传感器。
2. 编写程序读取温度传感器数据。
3. 将温度数据显示在LCD显示屏上。
- 实验结果:成功读取温度数据,并在LCD显示屏上显示。
四、实验总结通过本次单片机电子实习实验,我掌握了以下知识和技能:1. 单片机的基本工作原理和编程方法。
2. 常用单片机的硬件结构和接口。
3. 使用单片机进行简单的电子系统设计。
4. 串口通信、定时器中断、温度检测等应用。
在实验过程中,我遇到了一些问题,如程序调试、硬件连接等,通过查阅资料和请教老师,最终成功解决了这些问题。
广工-单片机实验报告全部
广工-单片机实验报告全部实验一:开发软件使用与调试方法一.实验目的:学习KEIL 的使用方法,用Keil 开发工具编译C 源码、汇编源程序。
掌握单片机的编程及调试。
二.实验内容和要求:编写C语言程序,用Keil 将程序编译并生成HEX 文件调试程序。
通过并口通信线连接PC 与实验箱,用Easy 51Pro 把程序下载到AT89S51 观察实验箱LED 的变化。
三.实验要求程序代码:ORG 0000HAJMP M AINORG 0030HMAIN:MOV P2,#0FFHMOV A,#0FEHMOV P0,ALOOP: JB P2.0,LOOPACALL DELAY_100MSJB P2.0,LOOPRR AHRER: JNB P2.0,HRERMOV P0,AAJMP L OOPDELAY_100MS:MOV R6,#64HD22: MOV R5,#0F9HD21: DJNZ R5,D21DJNZ R6,D22RETEND四.实验心得:通过本次试验,熟悉了keil软件的使用。
初步掌握单片机的编程及调试实验二定时器和中断应用程序设计与调试一.实验目的:掌握单片机的定时器,中断功能系统的应用二.实验内容和要求:编写程序,用AT89C51的内部定时器/计数器T0的方式1产生周期为0.2秒的TTL脉冲(TCH和TCL 溢出的时候,产生一个中断),从P05输出。
计算如下:振荡器的频率f=6M=6000000,方式1计数器的长度为L=16.2的16次方即65536定时时间(溢出时间)t=0.1s定时常数TC=65536-6000000x0.1/12=65536-50000=15536,将15536转换成16进制为3CB0,TCH=3CH(高八位),TCL=B0H(低八位)。
三.实验主要仪器设备和材料:1 AMC51单片机综合开发系统一台 2.微机一台四.实验方法,步骤及结果测试1.开启ANC51实验装置,检查跳线,一般无需改动。
单片机实验报告总汇
单片机技术及应用实验报告学院电子信息工程学院专业电子信息工程学号姓名实验一:流水灯实验一、实验目的:通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。
二、实验原理图三、参考实验程序#include<reg51.h> sfr x=0xb0;void delay(void){unsigned char i,j; for(i=0;i<250;i++) for(j=0;j<250;j++); }void main(void) {while(1){x=0xfe;delay();x=0xfd;delay(); x=0xfb; delay(); x=0xf7; delay(); x=0xef; delay(); x=0xdf; delay(); x=0xbf; delay(); x=0x7f; delay(); }}四、思考题#include<reg51.h> sfr x=0xb0;void delay(void){unsigned char i,j; for(i=0;i<250;i++) for(j=0;j<250;j++); }void main(void){while(1){x=0x7e; delay(); x=0xbc; delay(); x=0xcb; delay(); x=0xe7; delay(); x=0xe7; delay(); x=0xcb; delay(); x=0xbc; delay(); x=0x7e; delay(); }}五、实验结果图六、实验总结通过本次的实验,我了解了单片机的原理,基本会了ISIS7和keil的操作。
并且认识到这个单片机实验不仅构图连线要正确,更重要的是程序的编写编译。
只有当构图与程序都正确的时候,才能得到正确的实验结果。
实验二:中断实验一、实验目的通过对P3.2、P3.3引脚的电平控制,实现外部中断处理,从而控制输出口P1的输出效果变化。
单片机实训教程实验报告
一、实验目的1. 熟悉单片机的基本结构和工作原理。
2. 掌握单片机的编程方法,包括C语言和汇编语言。
3. 学习单片机的接口技术和应用系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验环境1. 单片机开发系统:STC89C52单片机开发板2. 编译器:Keil uVision3. 调试器:Proteus4. 实验指导书:《单片机实训教程》三、实验内容1. 单片机基本原理实验(1)实验目的:了解单片机的结构、工作原理和引脚功能。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与Proteus仿真软件;2)编写程序,设置单片机的工作模式;3)通过Proteus仿真软件观察单片机的运行状态。
(3)实验结果:通过仿真软件,观察到单片机能够按照程序的要求进行运行,实现了实验目的。
2. 单片机C语言编程实验(1)实验目的:掌握单片机的C语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写C语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
3. 单片机汇编语言编程实验(1)实验目的:掌握单片机的汇编语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写汇编语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
4. 单片机接口技术实验(1)实验目的:了解单片机的接口技术,掌握常用接口的编程方法。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与外部设备;2)编写程序,实现单片机与外部设备的通信;3)通过Proteus仿真软件观察通信过程。
(3)实验结果:通过仿真软件,观察到单片机与外部设备能够成功通信,实现了实验目的。
单片机实验报告(完整版)
单片机原理与应用实验报告学院(部):专业:学生姓名:班级:学号:最终评定成绩:实验一存储器读写一、实验目的:1、掌握寄存器、存储器读写等汇编指令;2、掌握编程软件编辑、编译、调试等基本操作。
二、实验仪器设备1.PC机,1台2.WAVE软件开发系统三、实验内容及步骤:1、将下面的汇编程序输入到W A VE集成开发软件中ORG 0000HSJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08HMOV R1,#70HMOV DPTR,#2000HLOOP:MOVX A,@R1MOVX A,@DPTRINC R1INC ADJNZ R7,LOOPSJMP $END2、选择菜单“仿真器”→“仿真器设置”,按下图所示完成软件初始设置。
3、选择菜单“项目”下“编译”,编译通过后,选择“单步运行”,观察记录寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。
四、源程序源程序:ORG 0000H ;定义起始地址SJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08H ;给内部RAM的70H单元赋初值MOV R1,#70H ;使R1指向内部70H单元MOV DPTR,#2000H ;定义外部存储器开始单元LOOP:MOVX A,@R1 ;将R1所指向的70H的内容赋给AMOVX @DPTR,A;将A的内容赋给外部存储器单元INC R1 ;内部RAM地址加1INC DPTR ;外部存储器地址加1DJNZ R7,LOOP ;循环,直到RAM中70H~7FH;单元的内容全部相应赋给;外部2000H~2007H单元SJMP $END3、记录下程序单步运行时,寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。
五、仿真效果图实验二I/O端口操作一、实验目的:1、掌握I/O端口读写等基本汇编指令;2、掌握单片机最小系统硬件电路设计及仿真软件PROTEUS仿真、调试等基本操作方法。
广工单片机实验报告
单片机实验报告一、实验目的:1)熟悉汇编语言,能用汇编语言编写单片机程序。
2)对stm8的功能有进一步的了解,掌握AD转换。
3)利用ADC,将电压采集后,用LED数码管显示电压,显示格式为X.XX 没有滤波二、实验仪器:stm8s105c6单片机、单片机开发试验仪、杜邦线三、实验内容:1、步骤:1)接线。
将单片机与电脑连接起来,将转接板借入单片机试验仪,用杜邦线件PB口与数码管连接起来,PE6(JP8_P1.5)->J4.1(数字"0"脚)电位器。
J15.1连j16.1,j15.2连j16.2,j15.3连j16.3。
2)编写程序。
在电脑上运行ST Visual Develop 软件,建立工程文件;选CPU型号。
然后编写代码,编译,检查是否有错误与警告,如果有,则对程序进行修改。
3)下载程序。
如果没有,就进行程序调试,把程序下载到stm8单片机里面。
4)运行程序,观察数管的显示。
2、主程序(要有注释):intelcall init_led; 初始化IO,驱动数码管call init_adc; 初始化adc.main_loop: ;主循环call adc_convert ; 开启AD转换call data_processing;将采集到的电压值进行处理call data_to_display;将电压值,送到显示区call display;显示jp main_loop;重复init_led:;初始化PB,推挽输出,用于数码管段驱动;mov PB_DDR,#0ffhmov PB_CR1,#0ffhmov PB_CR2,#0;初始化PA,推挽输出,用于数码管位驱动;mov PA_DDR,#0ffhmov PA_CR1,#0ffhmov PA_CR2,#0mov PA_ODR,#0bfh ;PA6为0,即3-8译码C为0;初始化PE,推挽输出,用于数码管位驱动;; 3-8译码器mov PE_DDR,#0ffhmov PE_CR1,#0ffhmov PE_CR2,#0mov PE_ODR,#0ffhretinit_adc:mov ADC_CR2,#0 ; A/D结果数据左对齐,主读高8位.mov ADC_CR1,0 ; ADC时钟=主时钟/2=1MHZ, ADC转换模式=单次,禁止ADC转换mov ADC_CSR,#9 ; 选择通道9mov ADC_TDRH,#1 ;禁止施密特触发器bset ADC_CR1,#0ld a,#100WAIT_ADC_ONdec ajrne WAIT_ADC_ON ; 延时一段时间,至少7uS,保证ADC模块的上电完成 retadc_convert:bset ADC_CR1,#0WAIT_ADC_EOCld a,ADC_CSRand a,#80hjreq WAIT_ADC_EOC ; 等待ADC结束ld a,ADC_DRH ; 读出ADC结果的高8位retdata_processing: ;处理数据,电压值a*500/256,约简后:a*125/64 clrw xmov r01 ,#00h;16位乘数高位mov r02 ,#7dh;16位乘数低位ld r00,a ;采样后电压值ld a,r02 ;取被乘数低8位ld xl,ald a,r00 ;取8位乘数mul x,aldw r04 ,x ;16位乘积送R04,R05ld a,r01 ;取被乘数高8位ld xl,ald a,r00 ;取8位乘数mul x,aaddw x,r03 ;求和ldw r03,xldw x,r04 ;保存结果.完成a*125运算mov couter,#6 ;用移位,完成除法运算,/64adc_div:srlw xdec couterjrne adc_divret ;x=a*125/64data_to_display:;将电压值数据,分别存到个位,十位,千位,显示格式为X.XX ld a,#10div x,ald vol1,ald a,#10div x,ald vol2,ald a,#10div x,ald vol3,aretdisplay: ;动态扫描,显示格式为X.XXclrw xld a,vol1 ;显示第一位ld xl,ald a,(LED_TAB,x)mov PE_ODR,#11110110b ;3-8译码CBA为000,LED1亮ld PB_ODR,acall delayld a,vol2 ;显示第二位ld xl,ald a,(LED_TAB,x)mov PE_ODR,#11110111b ;;3-8译码CBA为001,LED2亮ld PB_ODR,acall delayld a,vol3 ;显示第三位ld xl,ald a,(LED_TAB,x)ld temp,abres temp,#7;显示小数点ld a,tempmov PE_ODR,#11111110b ;3-8译码CBA为010,LED3亮ld PB_ODR,acall delayretLED_TAB: ;八段共阴数码管字模; 0 1 2 3 4 5 6 7 8 9dc.b 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh3、注意事项:1)线路是否连接正确。
广工单片机实验报告
计算机学院计算机科学与技术专业5班学号3110006054姓名谭威协作者______________ 教师评定________________实验题目单片机I/O口—流水灯实验一.实验目的:1.学习单片机各I/O口的结构特点及相关寄存器的使用方法。
2.掌握一个简单的具体的单片机项目的开发流程。
3.了解Proteus ISIS 软件及实用方法。
4.熟悉Proteus ISIS 与uVision2 IDE 的开发环境的互连调试。
二.实验内容:1.打开ISISProfessional,参照“实验电路”绘制仿真电路的原理图。
2.编程实现:(1)从VD1~VD32逐次点亮每个LED,然后熄灭。
每个LED亮灯时间约为200ms。
(2)点亮VD32,200ms后再点亮VD31····最后点亮VD1,直到全部灯被点亮。
(3)在全部灯亮的情况下,从VD1~VD32逐次熄灭LED,熄灭VD1,延时200ms;然后熄灭VD2,延时200ms····熄灭VD32,全部灯被熄灭。
(4)重复上述过程。
三.实验电路:四.实验源程序:#include <REG52.H>//片内寄存器定义#define uchar unsigned char#define uint unsigned intuchar code fun[]={0xfe,0x7f,0x01}; void delay()//延时函数{uchar i,j;for (i=0;i<250;i++)for (j=0;j<250;j++);}void fun1()//逐个点亮、熄灭{uchar j,i=0;uchar temp;temp=fun[i];for (j=0;j<8;j++){P0=temp;temp=temp<<1 ;temp|=0x01;delay();}P0=0xff;temp=fun[i];for (j=0;j<8;j++){P1=temp;temp=temp<<1 ;temp|=0x01;delay();}P1=0xff;temp=fun[i];for (j=0;j<8;j++){P2=temp;temp=temp<<1 ;temp|=0x01;delay();}P2=0xff;temp=fun[i];for (j=0;j<8;j++){P3=temp;temp=temp<<1 ;temp|=0x01;delay();}P3=0xff;}void fun2()//逐个点亮,最后全部点亮{uchar j,i=1;uchar temp;temp=fun[i];for (j=0;j<8;j++){P3=temp;temp=temp>>1 ;delay();}temp=fun[i];for (j=0;j<8;j++){P2=temp;temp=temp>>1 ;delay();}temp=fun[i];for (j=0;j<8;j++){P1=temp;temp=temp>>1 ;delay();}temp=fun[i];for (j=0;j<8;j++){P0=temp;temp=temp>>1 ;delay();}}void fun3()//逐次熄灭{uchar j,i=2;uchar temp;temp=0x00;P0=temp;P1=temp;P2=temp;P3=temp;temp=fun[i];for (j=0;j<8;j++){P0=temp;temp=temp<<1 ;temp|=0x01;delay();}P0=0xff;temp=fun[i];for (j=0;j<8;j++){P1=temp;temp=temp<<1 ;temp|=0x01;delay();}P1=0xff;temp=fun[i];for (j=0;j<8;j++){P2=temp;temp=temp<<1 ;temp|=0x01;delay();}P2=0xff;temp=fun[i];for (j=0;j<8;j++){P3=temp;temp=temp<<1 ;temp|=0x01;delay();}P3=0xff;}void main()//主函数{while (1){fun1();fun2();fun3();}}计算机学院计算机科学与技术专业 5 班学号3110006054姓名谭威协作者______________ 教师评定______________实验题目定时器实验一.实验目的:1.学习80c51单片机的定时器的使用和编程。
单片机实验报告(一)2024
单片机实验报告(一)引言概述:本文档是关于单片机实验报告的第一部分。
在本实验中,我们使用了单片机进行各种电子电路的设计和实现。
本报告将详细介绍本次实验的目的、实验过程、实验结果以及相关的数据分析和总结。
正文内容:1. 实验目的:- 熟悉单片机的基本原理和操作方法;- 学习如何使用单片机进行数字信号处理;- 掌握通过单片机控制外围设备的方法;- 了解单片机在电子电路设计中的应用;- 培养动手能力和解决问题的能力。
实验过程:- 准备实验所需的器件和材料;- 搭建实验电路并连接单片机;- 编写程序并下载到单片机中;- 运行程序并观察实验现象;- 对实验结果进行测量和记录。
实验结果:- 在本实验中,我们成功完成了以下实验任务:实现一个LED灯的闪烁效果、实现一个温度传感器并显示温度值、通过单片机控制一个小型电机的转动。
- 实验过程中,我们观察到LED灯按照设定的时间间隔闪烁,温度传感器准确地显示了环境温度,并且成功地控制了电机的转动。
- 实验结果与理论预期相符合,证明了单片机在电子电路设计和控制方面的可行性和实用性。
数据分析:- 针对每个实验任务,我们对实验结果进行了数据分析和统计。
- 对LED灯的闪烁效果进行了频率和亮度的分析,验证了程序中设定的时间间隔和LED的亮度参数。
- 对温度传感器进行了精度和灵敏度的测试,发现与其输入温度之间存在一定的误差。
- 对电机控制实验进行了转速和转向的测量,得出了电机在不同控制模式下的转动情况。
总结:通过本次实验,我们熟悉了单片机的基本原理和操作方法,学习了如何使用单片机进行数字信号处理,并且掌握了通过单片机控制外围设备的方法。
本实验验证了单片机在电子电路设计和控制方面的可行性和实用性。
我们通过数据分析,对实验结果进行了详细的解读和讨论,并总结了实验中遇到的问题和经验教训。
在今后的实验中,我们将进一步深入学习和应用单片机技术,不断提高自己的动手能力和解决问题的能力。
单片机实验报告(学期全部实验)
单片机程序设计实验报告姓名:学号:专业班级:第二节课:实验一:1357,2468位置的灯交替闪烁一实验要求1357,2468位置的灯交替闪烁。
二硬件连接图与结果三原理简述程序直接控制LED各位置的灯亮灭,时间间隔简单的用了一个延时的语句。
四程序#include<reg51.h>main (){int i;P0=0XAA; //1357四个灯亮for (i=0;i<=25000;i++); //延时程序P0=0X55; //2468四个灯亮for (i=0;i<=25000;i++); //延时程序}五所遇问题与解决方式程序比较简单,没有遇到问题。
实验二:流水灯一实验要求流水灯,一个接一个的灯亮,亮到最后一个后,全部的灯亮,然后重头开始。
二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。
时间间隔简单的用了一个延时的语句。
因为移位时是直接补0,发送低电平不亮,所以直接移位达到要求。
四程序//流水灯#include<reg51.h>main (){int i,j;while(1){P0=0X01; //第1个灯亮for (i=0;i<=30000;i++); //延时程序for(j=0;j<=7;j++) //移位循环程序{P0=P0<<1; //移位for (i=0;i<=30000;i++); //延时程序}P0=0xff; //全亮for (i=0;i<=30000;i++); //延时程序}}五所遇问题与解决方式程序比较简单,没有遇到问题。
实验三:跑马灯一实验要求一个接一个的灯亮,前面亮过的等依旧亮,直到最后一个灯,最后重新开始,循环。
二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。
单片机实习报告(精选5篇)
单片机实习报告单片机实习报告(精选5篇)单片机实习报告篇1一、生产实习的目的和意义:生产实习是培养本科学生理论联系实际,提高实际动手操作潜力的重要教学环节。
本专业的生产实习旨在使学生广泛了解实际电子产品生产的全过程,熟悉电子产品的主要技术管理模式,并在实习的操作过程中学习掌握电子产品的焊接安装调试的实际操作技能。
巩固和加深理解所学的理论,开阔眼界,提高潜力,为培养高素质大学本科人才打下必要的基础。
透过学习,是理论与实际相结合,能够使学生加深对所学知识的理解,并为后续专业课的学习带给必要的感性知识,同时使学生直接了解本业的生产过程和生产资料,为将来走上工作岗位带给必要的实际生产知识。
二、实习的基本资料:集中授课,进行相关知识的学习。
学习掌握电子产品的独立性设计与安装调试的潜力;进一步掌握电子测量仪器的正确使用方法,电元器件的测量与筛选技术。
初步了解电子整机产品的工艺过程。
为能使学生得到充分的锻炼,较大的提高学生的实际动手潜力,本次生产实习安排每一位学生独立完成全部系统的设计与安装工作。
本实习环节,学生要独立使用电焊铁及各种电子测试设备电路安装与调试,要学生严格遵守电器设备的使用安全,遵守实验室的各项规章制度。
三、基本要求:在教师的指导下练习在测试电路德核心板上焊接元件,掌握焊接要领。
熟悉元器件的性能及管脚分配。
在给定的PCB板上焊接跳线,IC插座,电阻,电容,LED器件等。
检查焊接是否正确。
插上元器件,运行系统,并观测系统工作是否正常。
四、总体设计电路思想和原理:本次生产实习用到的开发板和模块共7块,分别为:单片机核心板,电子钟模块,MP3模块,RFID模块,无线传输模块,脉搏传感模块,GPS模块。
各模块相互组合,其所能实现的基本功能如下:单片机核心板+电子钟模块:实现时光的显示,温度的测量,且可透过遥控器调时定闹等。
单片机核心板+无线传输模块:实现数据的近距离无线传输。
单片机核心板+MP3模块(含SD卡):实现MP3播放功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广工-单片机实验报告全部实验报告课程名称_单片机原理及应用 __学生学院信息工程学院专业班级13级应用电子专业4班学号3113002512姓名陈文威指导教师李优新2015年12月12 日实验一:开发软件使用与调试方法一.实验目的:学习KEIL 的使用方法,用Keil 开发工具编译C 源码、汇编源程序。
掌握单片机的编程及调试。
二.实验内容和要求:编写C语言程序,用Keil 将程序编译并生成HEX 文件调试程序。
通过并口通信线连接PC 与实验箱,用Easy 51Pro 把程序下载到AT89S51 观察实验箱LED 的变化。
三.实验要求程序代码:ORG 0000HAJMP M AINORG 0030HMAIN:MOV P2,#0FFHMOV A,#0FEHMOV P0,ALOOP: JB P2.0,LOOPACALL DELAY_100MSJB P2.0,LOOPRR AHRER: JNB P2.0,HRERMOV P0,AAJMP L OOPDELAY_100MS:MOV R6,#64HD22: MOV R5,#0F9HD21: DJNZ R5,D21DJNZ R6,D22RETEND四.实验心得:通过本次试验,熟悉了keil软件的使用。
初步掌握单片机的编程及调试实验二定时器和中断应用程序设计与调试一.实验目的:掌握单片机的定时器,中断功能系统的应用二.实验内容和要求:编写程序,用AT89C51的内部定时器/计数器T0的方式1产生周期为0.2秒的TTL脉冲(TCH和TCL 溢出的时候,产生一个中断),从P05输出。
计算如下:振荡器的频率f=6M=6000000,方式1计数器的长度为L=16.2的16次方即65536定时时间(溢出时间)t=0.1s定时常数TC=65536-6000000x0.1/12=65536-50000=15536,将15536转换成16进制为3CB0,TCH=3CH(高八位),TCL=B0H(低八位)。
三.实验主要仪器设备和材料:1 AMC51单片机综合开发系统一台 2.微机一台四.实验方法,步骤及结果测试1.开启ANC51实验装置,检查跳线,一般无需改动。
2.运行Keil调试程序,具体操作步骤参考实验一。
3.参考以下电路图和流程图编写程序。
4.编译程序,把生成的.HEX目标文件下载到AT89S51运行。
5.观察AMC51实验装置的LED在运行程序时闪烁的情况。
参考程序代码:ORG 0000H ;下一条指令的地址为0000HSTART: AJMP M AIN ;跳入主程序ORG 000BH ;下一条指令的地址为000BH AJMP INT_T0 ;定时器0中断程序ORG 0030H ;下一条指令的地址为0030H MAIN: MOV TMOD,#01H ;设定时器T0为16位定时器MOV TH0,#3CH ;设定T0的定时值(0.1s)MOV TL0,#0B0H ;设定T0的定时值(0.1s)SETB TR0 ;启动定时器T0SETB ET0 ;开定时/计数器0允许SETB EA ; CPU开放中断MAIN_1: SJMP MAIN_1INT_T0:PUSH ACC ;保护现场PUSH PSWMOV TH0,#3CH ;设定T0的定时值(0.1s)MOV TL0,#0B0H ;设定T0的定时值(0.1s)CPL P0.5 ;取反,流水灯闪烁POP PSW ;恢复现场POP ACCRET1 ;中断返回END五.实验报告要求1.实验原理分析,实验现象。
通过启动T0中断,设定定时值为0.1S,当定时器溢出后,重新置位,并将P05取反,其中P05口对应的发光二极管将造成闪烁的结果。
2.按思考题修改程序,修改程序后的调试结果;程序流程图;源程序及注释。
思考题1.如果要输出一个周期为1秒的方波,应怎么样修改程序?答:周期为1S,就是每次延时0.5S,源程序0.1S 延时 5次循环后,再开中断。
ORG 0000HSTART: AJMP M AINORG 000BHAJMP INT_T0ORG 0030HMAIN: MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HMOV R2,#05HSETB TR0SETB ET0SETB EAMAIN_1: SJMP MAIN_1INT_T0: DJNZ R2,INT ;当R2=5每次减1到为0才继续执行,开启中断,也MOV R2,#05H 就是延时5次,一共0.5S,周期就是1S,频率1HZCPL P0.5INT: P USH ACCPUSH PSWMOV TH0,#3CHMOV TL0,#0B0HPOP PSWPOP ACCRETIEND程序流程图主程序:开始中断程序:↓↓P0.5取反初始化↓↓分别延时循环5次,2次↓等待中断←↓_____↑2.如果要同时输出多个频率不同的方波(f1=1HZ f2=2HZ),应怎么样修改程序?(改为2.5HZ)答:频率1HZ,周期为1S,就是每次延时0.5S,源程序0.1S 延时 5次循环后,再开中断。
频率为2HZ,周期为0.5S,就是每次延时0.25S,源程序0.1S 大概延时 2次循环后,再开中断。
程序如下ORG 0000HSTART: AJMP M AINORG 000BHAJMP INT_T0ORG 0030HMAIN: MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HMOV R2,#05HMOV R3,#02HSETB TR0SETB ET0SETB EAMAIN_1: SJMP MAIN_1INT_T0: DJNZ R2,INT ;[当R2=5每次减1到为0才继续执行,开启中断,也MOV R2,#05H 就是延时5次,一共0.5S,周期就是1S,频率1HZ]CPL P0.5DJNZ R3,INT ; [当R3=2每次减1到为0才继续执行,开启中断,MOV R3,#02H 就是延时2次,一共0.2S,周期就是0.4S,频率2.5HZ]CPL P0.2INT: P USH ACCPUSH PSWMOV TH0,#3CHMOV TL0,#0B0HPOP PSWPOP ACCRETIEND程序流程图:主程序:开始中断程序:↓↓P0.5取反初始化↓↓延时循环5次↓等待中断←↓_____↑实验三串行I/O扩展和LED数码管显示实验一、实验目的掌握单片机的ISP串行I/O扩展和LED数码管显示的原理和应用。
二、实验内容和要求AT89S51的UART由P30(EXD)和P31(TXD)组成,当UART以方式0工作的时候就是以SPI 的方式工作。
用SPI的方式0工作的时候就是以SPI的方式工作。
用SPI的方式来扩展低速的I/O,就可以节省P口。
三、实验主要仪器设备和材料1.AMC51单片机综合开发系统一台2.IBM-PC微机一台四、实验方法、步骤及结果测试1.开启AMC51实验装置,检查跳线,J5,J4:2-3相连。
2.运行KEIL,具体操作步骤参照实验一3.参考电路图和流程图,编写程序,送数值到数码管以16进制形式显示。
4.编译程序,把生成的HEX目标文件下载到AT89S51运行。
5.设置断点观察程序在AMC51实验装置的运行情况6.代码DS0 EQU 3FHDS00 EQU 3EHDS000 EQU 3DHDS0000 EQU 3CHORG 0000HAJMP MAINORG 0030HMAIN:LOOP: MOV DS0000,#01HMOV DS000,#02HMOV DS00,#03HMOV DS0,#04HACALL DISPACALL DELAY_100MSAJMP LOOPDELAY_100MS:MOV R6,#64HD22: MOV R5,#0F9HD21: DJNZ R5,D21DJNZ R6,D22RETDISP: MOV R7,#4MOV R0,#DS0000DL0: MOV A,@R0MOV DPTR,#TABMOVC A,@A+DPTRMOV SBUF,ADL1: JNB TI,DL1CLR TIINC R0DJNZ R7,DL0RETTAB: DB0FCH,60H,0DAH,0F2H,66H,0B6HDB0BEH,0E0H,0FEH,0E6H,0EEH,03EH,9CHDB 7AH,9EH,8EHEND原理:AT89S51单片机的UART在工作方式0下通过P30口将数据送到74LS164中锁存,并通过LED数码管显示出传输的数字。
现象:数码管显示数字。
五、思考题1.修改程序使数码管显示16进制数?修改DS0000,DS000,DS00,DS0中的数值,将其改为相应的数字即可。
例:M OV DS0000,#0AHMOV DS000,#02HMOV DS00,#0CHMOV DS0,#04H2.为什么显示之后要加上延时?因为单片机一条指令执行的时间只有几微秒,如果不加上延时,数码管上的数字就会不断的闪烁,不稳定。
不利于观察结果。
六、心得:了解了数码管个管脚与单片机的连接关系,以及如何使用单片机SPI的方式来扩展端口。
实验四 A/D转换-亮度测量实验一.实验目的熟悉0809的工作原因,掌握A/D转换程序的设计方法以及以51连接的接口电路设计方法。
学习传感器件的应用。
二.实验内容和要求按照硬件连接图和程序流程图,编写A/D转换程序,通过调节ADC0809的REF与转换值之间的关系,了解光敏电阻的电气特性。
光敏电阻特性:光敏电阻的阻值与亮度成反比,电气特性等效于一个可变电阻,如实验电路所示R13光敏电阻和电阻R16(4K7)串联,光敏电阻的阻值随环境亮度而变化,加在光敏电阻的电压也随之变化。
变化的电压加分到0809的IN-0端和监视电路。
单片机通过74LS373和与非门,访问0809,对IN-0端电压进行AD转换,并将数据处理后通过数码管显示出来。
数码管的显示数值满足以下公式:显示数值=IN-0/REF+X256.三.实验主要仪器设备和材料:1.AMC51单片机综合开发系统一台2.微机一台四.实验方法,步骤及结果测试1.开启AMC51实验装置,检查跳线,一般无需改动。
2.运行KEIL,具体操作步骤参照实验一。
3.参考以下电路图和流程图编写程序。
4.编译程序,把把生成的.HEX目标文件下载到AT89S51运行。
5.观察程序在AMC51实验装置的实际运行情况。
(1)同手挡住“亮度传感器”,改变亮度,观察数码管的数值变化。
(2)调节ADC0809的REF+观察REF和采样电压的关系。
先按一下液晶屏下方的“RESET”再按一下“MODES SWITCH”按钮,液晶屏切换到MODE1.。
用一字小螺丝刀分别顺时针和逆时针扭动“亮度传感器”下方蓝色长方体的变阻器上面的螺丝。