2023年广工单片机实验报告全部.docx

上传人:太** 文档编号:72785572 上传时间:2023-02-13 格式:DOCX 页数:18 大小:52.53KB
返回 下载 相关 举报
2023年广工单片机实验报告全部.docx_第1页
第1页 / 共18页
2023年广工单片机实验报告全部.docx_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《2023年广工单片机实验报告全部.docx》由会员分享,可在线阅读,更多相关《2023年广工单片机实验报告全部.docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验报告课程名称单片机原理及应用一学生学院信息工程学院专业班级13级应用电子专业4班学号姓名陈文威指导教师李优新2023年 12月12日0 MoURO,# D SOOOODLO:2MOVA,R 0。MOVoD P TR, #TAB。 MOVOA,A + DPTRMOV SBU F,ADL 1 : oJ NB TLDL1oCLR。 TI4NC sRO。 DJNZ.R7, DLORETTAB:DB OFC H,60H,OD AH,0F2H,66H,0B6HDB OB E H,0E0H,0FEH,0E6H, 0 EEH, 0 3 EH, 9CHDB 7AH, 9 EH,8EHEND原理:AT89s

2、5 1单片机的UART在工作方式0下通过P30 口将数据送到74LS 1 64中锁存,并通过LED数码管显示出传输的数字。现象:数码管显示数字。五、 思考题I.修改程序使数码管显示16进制数?修改DSOOOO,DSOO 0,DSOO,DSO中的数值,将其改为相应的数字即可。例:MOV DS(X)()0,#OAHMOVoDSO 0 0,#0 2HgMOV D S OO,#()CH。 MOVoDS0.#04H2.2.为什么显示之后要加上延时?由于单片机一条指令执行的时间只有几微秒,假如不加上延时,数码管上的数字就会不断的闪烁,不稳定。不利于观测结果。心得:了解了数码管个管脚与单片机的连接关系,以及

3、如何使用单片机SPI的方式来扩展端口。实验四 A/D转换亮度测量实验一.实验目的熟悉0809的工作因素,掌握A/D转换程序的设计方法以及以51连接的接口电路设计方法。学 习传感器件的应用。二 .实验内容和规定按照硬件连接图和程序流程图,编写A / D转换程序,通过调节AD CO 8 09的REF与转换值之间的 关系,了解光敏电阻的电气特性。光敏电阻特性:光敏电阻的阻值与亮度成反比,电气特性等效于一个可变电阻,如实验电路所示R13 光敏电阻和电阻R 1 6(4K7)串联,光敏电阻的阻值随环境亮度而变化,加在光敏电阻的电压也随之变 化。变化的电压加分到0 80 9的IN-0端和监视电路。单片机通过

4、74LS373和与非门,访问0 8 09, 对IN-0端电压进行AD转换,并将数据解决后通过数码管显示出来。数码管的显示数值满足以下公 式:显示数值=IN-0/ R E F+X25 6 .三 .实验重要仪器设备和材料:1. AMC51单片机综合开发系统一台2.微机一台四.实验方法,环节及结果测试1 .启动AMC51实验装置,检查跳线,一般无需改动。2 .运营KE I L,具体操作环节参照实验一。3 .参考以下电路图和流程图编写程序。4 .编译程序,把把生成的.HEX目的文献下载到AT8 9s51运营。5 .观测程序在AMC5 1实验装置的实际运营情况。(1)同手挡住“亮度传感器”,改变亮度,观

5、测数码管的数值变化。(2)调节ADC0 8 0 9的REF+观测REF和采样电压的关系。先按一下液晶屏下方的“RESET”再按一下“MODES SWITCH”按钮,液晶屏切换到MOD El. 用一字小螺丝刀分别顺时针和逆时针扭动“亮度传感器”下方蓝色长方体的变阻器上面的螺丝。从 液晶屏观测到REF的变化。五.实验报告规定1.实验原理分析,实验现象及结果。实验原理:光敏电阻的阻值与亮度成反比,电气特性等效于-一个可变电阻,如实验电路所示R 13光敏 电阻和电阻R16 (4K7)串联,光敏电阻的阻值随环境亮度而变化力J在光敏电阻的电压也随之变化。变化的电压加分到0 8 09的IN-0端和监视电路。

6、单片机通过74LS373和与非门,访问0 809,对IN-0 端电压进行AD转换,并将数据解决后通过数码管显示出来。数码管的显示数值满足以下公式:显示数 值=IN-0/REF+X256.ADCO809的 工 作 过 程方面输入3位地址,并使ALE = 1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之 一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变 低,指示转换正在进行。直到A/D转换完毕,EOC变为高电平,指示A/D转换结束,结果数据已存入 锁存器,这个信号可用作中断申请。当0E输入高电平时,输出三态门打开,转换结果的数字量输 出到数据总

7、线上。转换数据的传送A /D转换后得到的数据应及时传送给单片机进行解决。数据传 送的关键问题是如何确认A/ D转换的完毕,由于只有确认完毕后,才干进行传送。为此可采用下 述三种方式。(1)定期传送方式 a对于一种A/D转换其来说,转换时间作为一项技术指标是己知的和固定的。 例如ADC 0 809转换时间为1 28 u s,相称于6MH z的MCS- 5 1单片机共6 4个机器周期。可据此设 计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完毕了,接着就 可进行数据传送。(2)查询方式 AA/D转换芯片由表白转换完毕的状态信号,例如A DC080 9的EOC端。因此可

8、以用查询方式,测试EOC的状态,即可确认转换是否完毕,并接着进行数据传送。(3)中断方式把表白转换完毕的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。不管使用上述哪 种方式,只要一旦拟定转换完毕,即可通过指令进行数据传送。一方面送出口地址并以信号有效时, 0E信号即有效,把转换数据送上数据总线,供单片机接受。实验现象:(1)通过手挡住“亮度传感器”,减少亮度,数码管的逐渐数值变大,大到255就不再增长,由于显示 数值= IN-0/REF+X256.,随着亮度的变小,光敏电阻的阻值随环境亮度变小而变大,加在光敏电阻的 电压也随之变化,变化的电压加分到0 80 9的IN-0端也变大(

9、具体数值已经通过A / D转换输也可以 从液晶屏直接读出),从而数码管的数值在参考电压REF+没有变的情况下,显示数值也增长,输入电 压I N-0最大等于基准电压REF+,因而显示值大约是 2 56,实验显示最大是2 55.(2)调节REF+的,同理,由于显示数值=IN-0/REF+X25 6 .,调节REF+,可以改变数码管的显示值,最大 仍然是256,调节RE F+的具体数字也可以直接从液晶屏读出,REF+越大,数码管的显示值越小, 基准电压RE F +越小,数码管的显示值越大,最大为25 6,实验显示最大是255.,存在一定误差。结果:通过调节ADC0809的参考电压REF(以及亮度传感

10、器)与转换值之间的关系,了解光敏电阻 的电气特性,光敏电阻的阻值与亮度成反比,电气特性等效于一个可变电阻。2.完毕思考题,修改后的程序代码清单(具体注释)程序代码如下CHENL EQU 5CH。;A/D转换通道地址。DISP LAY_BUFFER E QU 5DH。;显示缓存DSO EQU 3FH。;数码管个位DS00 EQU3EH。;数码管十位D S 0 00 EQU3DH;数码管百位DS 0 000 o EQ U 3 C H 。;数码管千位ORG 0000H。;下一条指令的地址为00 0 0HAJ MP MAIN ,。;跳转到MAIN函数。ORGOO 13H。;外部中断 I NTIAJMP

11、 I NT_ 1;跳转到INTJL函数ORG 0 0 30H;下一条指令的地址为0030HMAIN:SETBI T1;初始化程序;inti边沿触发SETB EXlo 。 ;开 INTI 中断SETB EA。 : CPU 开放中断MOV CHENLz#0F8H。;通道 0 口地址MOV DPII, #7FH。; ADC0809 高位地址#7FH。;等待子程序;等待I NTI中断外部中断1程序;保护现场;重新设立ADC0809高位地址#7FH。;继续放AD转换数据;读取A/D转换值MOVD P L, C H E N LMOV A,#0MOVXDPTR, A。;启动 A/DLOOP_MAIN:AJM

12、P LOOP_MAININT_1: PUSH P S W ooPUSH ACCPUSH DPHPUSH DPLMOV DPH,#7FHMOV DPL, CHENLMOVX A,DPTR:ADC080 9低位地址放A D转换数据;人清除数据MOV DISPLAY_BUFFER,A :保存 A / D 的数值ACALL TRAN_BCD。;将A/D的数值转换成BC D码ACALL D1SP。调用串行显示子程序MOV A#0ACALLDEL AYQ调用延时程序MOVDPH,#7FH;再次设立AD C 0 809高位地址#7FHMOVDPL,CHENL;再次放AD转换数据MOV X DPTR,A。,P

13、OP DPLPOP DPHPOP ACCPOP PSWRETID E LAY:。MOV R6,# 6 4HD22: oMOV R5,#0 F9HD21:。DJNZR5,D21D J NZ R6,D22;再次A/D启动程序;恢复现场;弹出标志位;中断返回;R5, R6为临时延时变质;6M晶振延时0.1S:R5减为。继续;R 6减为0继续MOVR7,#0 AHooMOV B,R7DIV AB 。MOVDS0zBMOV B, R 7DIV ABMOV DSOO, BMOV B,R7D I V ABMOV DSOOO,BMOV B,R7DIV ABMOV DSOOOO, B;求数码管十位;将十位数字送

14、到品示发送缓冲;求数码管百位;将百位数字送到显示发送缓冲;求数码管千位;将千位数字送到显示发送缓冲RET;子程序返回TRANBCD:MOV A,DlSPL AY_BUF FER ;读入缓冲;R7 为 10;送10到B求数码管个位;将个位数字送到显示发送缓冲;送10至IJBRETRET:子程序返回DISP:MOV R7,#4MOV RO,# D SO 0 0 0DLO:MOV A,R0MOVDPTR, #TAB MOVC A,A+DPTR MOVSBUF, ADL 1 :J NBT1,DL1CLRTIINC ROoDJNZR7,DL0RETTA B:DBDISP:MOV R7,#4MOV RO,

15、# D SO 0 0 0DLO:MOV A,R0MOVDPTR, #TAB MOVC A,A+DPTR MOVSBUF, ADL 1 :J NBT1,DL1CLRTIINC ROoDJNZR7,DL0RETTA B:DBDB7AH,9EH, 8EHEND思考题;串行显示程序(4位数码管);千位数据先放在R0;取待显示的数据;查表;查得相应的七段代码;启动串行口发送数据;等待一帧发送结束;清串行中断标志:指向下一个数据;R7为零继续;共阴七段数码管代码表;(0-6段码)(7-9 ABC 段码)OF CH,60H,0DAH, OF2H,6 6 H, 0 B6HDB 0BEH,0E 0 H,OF E

16、 H,OE 6 H,0 E E H ,0 3 EH,9C H;(DF段码)OF CH,60H,0DAH, OF2H,6 6 H, 0 B6HDB 0BEH,0E 0 H,OF E H,OE 6 H,0 E E H ,0 3 EH,9C H;(DF段码)1 .在0 8 09的IN-1段已接入热敏电阻,要测量温度的变化应将原程序如何修改?答:将MOV DPH,# 7FH;通道0 口地址 改为通道1 口地址,使其通道一接受数据 并进行AD转化。通道1 口地址暂时不会求。2.为什么从数码管观测到,在亮度没有变化的情况下,随着ADC080 9的REF+的变化,AD转化结 果发生变化。答:由于D转化结果显

17、示数值= IN-O/REF+X25 6 .,随着A D C0809的R E F+的变化,调节R E F+, 可以改变数码管的显示值,最大仍然是256,调节REF+的具体数字也可以直接从液晶屏读出,REF+ 越大,数码管的显示值越小,基准电压REF+越小,数码管的显示值越大,最大是当输入电压IN 0等于基准电压R EF+时为256,实验显示最大是2 55.,存在一定误差。实验一:开发软件使用与调试方法实验目的:学习KEIL的使用方法,用Keil开发工具编译C源码、汇编源程序。掌握 单片机的编程及调试。二.实验内容和规定:编写C语言程序,用Keil将程序编译并生成HEX文献调试程序。通过并 口通信

18、线连接PC与实验箱,用Easy 5 1 Pro把程序下载到A T 89s 5 1观 测实验箱LED的变化。三.实验规定程序代码:ORG 0000HAJMP MAINORGoo0030HMA I N:oMOV P2,#0FFH。MOV A,# 0 F E Ho M 0 P 0 ALOOP: JB-P2. 0,LOOPA CALLDELAY_100MS。J Bo P2.0,LOOP,R R$。AHRER:JNB P2. O,HRERMOV P0,AAJMP LOOPDELAY 100MS: MOVoR6, #64HD22: MOV R 5,# OF9HD21:0NZ,R5,D21。 DJNZo R

19、6,D22RET-END四.实验心得:通过本次实验,熟悉了 kei 1软件的使用。初步掌握单片机的编程及调试实验二 定期器和中断应用程序设计与调试一.实验目的:掌握单片机的定期器,中断功能系统的应用二.实验内容和规定:编写程序,用AT8 9c51的内部定期器/计数器TO的方式1产生周期为0.2秒的TTL脉冲(TCH和TCL溢出的时候,产生一个中断),从P 0 5输出。计算如下:振荡器的频率f =6M=600000 0,方式1计数器的长度为L=16.2的1 6次方即6553 6定期时间(溢出时间)t= 0.1s定期常数 TC= 6 x0.1/12=6553 6 -50 0 00= 1 5 536

20、,将 15 5 3 6 转换成 1 6 进制为 3cB 0 ,TCH=3CH (高八位)JCL=B0H (低八位)。三.实验重要仪器设备和材料:1AMC51单片机综合开发系统一台 2.微机一台四.实验方法,环节及结果测试L启动AN C 51实验装置,检查跳线,一般无需改动。2 .运营Ke i I调试程序,具体操作环节参考实验一。3 .参考以下电路图和流程图编写程序。4 .编译程序,把生成的.HEX目的文献下载到AT 8 9S51运营。5 .观测AMC 5 1实验装置的LED在运营程序时闪烁的情况。参考程序代码ORG。 00 0 0HORG。 00 0 0H;下一条指令的地址为OOOOHSTAR

21、T: oAJMP MAIN;跳入主程序START: oAJMP MAIN;跳入主程序。ORG 000BH ;下一条指令的地址为000BHqAJMP INT_T0 ;定期器0中断程序 ORG 0030H;下一条指令的地址为0030HMA I N: MOV TMO D,#01H;设定期器TO为16位定期器MOV TH0,#3CH ;设定 TO 的定期值(0.1s)MOV TLO, #OBOH ;设定 TO 的定期值(0. 1 s)。SET BTRO。SETB ETO。SETBE A。SET BTRO。SETB ETO。SETBE A;启动定期器TO;开定期/计数器0允许;CPU开放中断MAIN 1

22、:SJ MPMAIN 1:SJ MPMAIN_ 11 NT_T0: PUSH ACCPUSH PSWMOV T HO,# 3 CH1 NT_T0: PUSH ACCPUSH PSWMOV T HO,# 3 CH:保护现场;设定TO的定期值(0.1s)MOVTLO, #0 B 0 HMOVTLO, #0 B 0 H;设定TO的定期值(0. 1 s)C PL PO. 5C PL PO. 5;取反,流水灯闪烁POP PS w;恢复现场P OP ACCRET 1;中断返回END五.实验报告规定L实验原理分析,实验现象。通过启动TO中断,设定定期值为0.1S,当定期器溢出后,重新置位,并将P05取反,其

23、中P05 口相应的发光二极管将导致闪烁的结果。2.按思考题修改程序,修改程序后的调试结果;程序流程图;源程序及注释。思考题1.假如要输出一个周期为1秒的方波,应怎么样修改程序?答:周期为1S,就是每次延时0.5 S,源程序0. 1 S延时5次循环后,再开中断。ORGOOO 。0 IISTART:。A J MP。MAIN,ORG OOOBHAJMP INT_T0。 ORG 00 3 OHMA I N:MOVT MOD, #01HMOV THO, #3CH0MOVTLO,#O BOH0MOVR2,#05 H0setbTR 0oSETBETO0SETBEAMA I N_ 1 : SJMP MA I

24、N_1I NT_TO: DJNZ R2JNT;当R2= 5每次减1到为0才继续执行,启动中断,也MOVMOVR 2 ,#0 5 H就是延时5次,一共0.53,周期就是1S,频率1HZ。 CPL P0. 5MNT: oPUSH ACCPUSH PSWMOVTHO, #3CHMOVTLO, #OBOHPOPPSWPOPACCooRETIEND程序流程图主程序: 开始中断程序:1IP 0.5取反初始化II分别延时循环5次,2次等待中断一1 T2.假如要同时输出多个频率不同的方波(fl=lHZf2=2HZ),应怎么样修改程序?(改为2.5HZ)答:频率1 HZ,周期为1 S ,就是每次延时0. 5 S

25、,源程序0.1S延时5次循环后,再开中断。频率为2HZ,周期为0.5S,就是每次延时0.25S,源程序0. 1 S大约延时2次循环后,再开中断。程序如下OR Go0000HSTART:oAJMP。MA I N00 0 BHAJ MPINT TOORG0 0 30HMAIN:MOVTMO D,#0 1HMOVTH0,#3CHMOV TLOZ#OBO HMOVR2Z# 0 5Hoo MOVR3,#02 HSETBTROETO。S ETBEAMAIN 1:SJMP MA IINT TO : DJ NZR2JNT;当R2 = 5每次减1到为0才继续执行,启动中断,MOVR2,# 0 5H就是延时5次,

26、一共0.5S,周期就是1S,频率1HZCPLP0.5DJ NZR3, I NT当R 3 = 2每次减1到为0才继续执行,启动中断,。MOVR3,#02 H就是延时2次,一共0.2S,周期就是0. 4S,频率2.5HZCPLP0.2-INT:PUSHACCPUSHPSWMOV TH0,#3CHMOVTL 0 ,#OBOHooPOPPOPPSWACC-END程序流程图:主程序:开始中断程序:11P0.5取反初始化I延时循环5次等待中断一1 t实验三,。串行I / 0扩展和L E D数码管显示实验实验目的掌握单片机的I SP串行I/O扩展和LED数码管显示的原理和应用。一、 实验内容和规定AT89S

27、51的UART由P30(EXD)和P31(TXD)组成,当U ART以方式0工作的时候就是以SPI的方式工作。用SP I的方式0工作的时候就是以SPI的方式工作。用SPI的方式来扩展低速 的1/ 0,就可以节省P 口。二、 实验重要仪器设备和材料1. AM C51单片机综合开发系统一台2. IBM -PC微机一台四、实验方法、环节及结果测试1 .启动AMC51实验装置,检查跳线,J5J42 3相连。2 .运营KE I L,具体操作环节参照实验一3 .参考电路图和流程图,编写程序,送数值到数码管以16进制形式显示。4 .编译程序,把生成的HEX目的文献下载到AT 8 9s 5 I运营。5,设立断

28、点观测程序在A MC 5 1实验装置的运营情况6 .代码DSO EQU。 3FHDSO 0,EQU3gEHDSO 00 E Q 3DHD S0000 EQl3 C HgORG。OOOOHAJ MP MAINORGaO 0 30HMAIN:LOOP:MOV DS00 0 0, #0IHMOV DS 0 0 0,#02H0M O V D S 0 0 , #0 3 HMOV DS0.#04H。 ACALLoDISPgACALLoDELA y_ioom sAJMPoLOOPDELAY_1()()MS:aMOVoR 6,# 6 4HD22:oMOVoR5,#OF9 HD21DJNZ R5,D21QJ NZoR6,D22。RETD I S P:oM O V R7,#4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁