广工-单片机实验报告全部
单片机实验报告

单片机实验报告第一篇:单片机实验报告单片机实验报告一、实验目的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、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间: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.。
用一字小螺丝刀分别顺时针和逆时针扭动“亮度传感器”下方蓝色长方体的变阻器上面的螺丝。