版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及应用实验指导书湖南人文科技学院二00 一年三月实验一 I /O 口输出实验一LED流水灯实验、实验目的1、掌握单片机最小系统的构成;2、掌握I/O 口的使用及驱动能力的概念;3、熟悉移位指令和软件延时程序。、实验设备与器件1、计算机1台2、 PROTEUS单片机教学实验箱 FB-EDU-P51A三、实验原理如下图所示,用单片机控制 LED的亮与灭,在实验图中将 MCU的P1 口 与LED的阴极相连,当P1 口给低电平时,LED发亮,当P1 口给高电平时,LED熄灭。四、实验内容1、利用51单片机及8个发光二级管等器件,构成一个流水灯单片机系 统。2、用Keil C51软件创建程序3
2、、对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真;4、实验板验证(1)用ISP下载hex程序到CPU(2)按连接表连接电路(3)检查验证结果五、实验报告在预习报告的基础上写出详细实验过程;画出实验原理图,写出单片机控 制程序,写出调试步骤与仿真方法,观察实验现象,得出实验结果,并分析实 验结果的正确性。六、预习要求1、单片机最小系统的构成2、单片机I/O 口的使用以及软件延时程序的编写。七、实验参考程序ORG 00HSTART:MOVR2,#8MOVA,#0FEHLOOP:MOVP1,ALCALLDELAYRL A;循环左移DJNZR2,LOOP;判断移动是否超过 8位,未超过
3、继续循环LJMPSTARTDELAY:MOVR5,#20;延时程序,延时0.2sD1:MOVR6,#20D2:MOVR7,#248DJNZR7,$DJNZR6,D2DJNZR5,D1RETEND实验二定时器实验一、实验要求用51单片机的P1.0 口接1个发光二级管,编写程序,控制发光二级管闪烁,时间间 隔1S,要求AT89C51内部定时器计时。、实验目的掌握单片机定时计数器定时方式的使用及编程方法。三、实验电路及连线1、Proteus实验电路02WFX1C 3 _L_U2R31 卜A >D1LED-¥ELI£Hnil>XTAL1P口酣0 口 PDLmCi 1 阳
4、那MxmuP03DJ PDLWDt PDISJP.DS 叩朋MRSTPDL7j0?W-WPSENP23M1ALE陀加2EA陀験灯F2.7M15P1D两M耳DP1.1P3.1/TXDP15P妙HFPMpiintFPl.iP3.4/TQP15P3£fTlP1.eP1J&WRP1.TPJ.T/FD-133021222、硬件验证实验(CPU板+006板)硬件连接表CPU板006板P1.0LED1+5V+5VGNDGND四、实验说明1. 主要知识点概述:关于内部计数器的编程, 主要是定时常数的位置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本例使用的是定时
5、器,定时1S。CPU运行定时中断方式,实现每 1S输出状态发生一次反转,即发光二级管 1S亮一 次。定时器有关的寄存器有工作方式寄存器 TMOD和控制寄存器TCON。TMOD用于设 置定时器/计数器的工作方式 0-3,并确定用于定时还是计数。 TCON主要功能是为定 时器在溢出时设定标志位,并控制定时器的运行或停止。内部计数器用于定时器时,是对机器周期计数。每个机器周期的长度是12个振荡周期。本例中单片机晶振12MHZ,选用工作方式2,既8位自动重装方式定时器,定时器100us中断一次,所以定时常数的设置可按以下方法计算:机器周期=12/12MHZ=1us(256-定时常数)*1us=100u
6、s定时常数=156。然后对100us中断次数计数10000次,就是1S。2. 实验效果说明:发光二级管按设定的定时时间闪烁。五、实验参考程序:TICKEQU10000;10000 Wus=1sT100usEQU256-100;100us时间常数(12M )C100usEQU30H;100us计数单元LEDBUFEQU40HLEDBITP1.0ORG00HLJMPSTART;跳至主程序ORG000BH;定时中断入口地址TOINT:PUSHPSW;状态保护MOVA,C100us+1JNZGOONDECC100us;秒计数值减1GOON:DECC100us+1MOVA,C100usORLA,C100
7、us+1JNZEXIT;100us计数器不为0,返回MOVC100us,#HIGH(TICK);100us计数器为0,重置计数器MOVC100us+1,#LOW(TICK)CPLLEDBUF;取反LEDEXIT:POPPSWRETISTART:MOVTMOD,#02H;方式2,定时器MOVTH0,#T100us;置定时器初值MOVTL0,#T100usMOVIE,#10000010B;EA=1,IT0=1SETBTR0;开始定时CLRLEDBUFCLRLEDMOVC100us,#HIGH(TICK);设置10000次计数值MOVC100us+1,#LOW(TICK)LOOP:MOVC,LEDB
8、UFMOVLED,CLJMPLOOPEND实验三多个中断同时存在实验、实验目的1、了解MCS-51中断系统2、了解中断嵌套及中断优先级的概念和编程方法。二、实验设备与器件1、计算机1台2、PROTEUS单片机教学实验箱 FB-EDU-P51A三、实验原理如下图所示,在实验图中将MCU的P1 口与LED的阴极相连,外部中断 未发生时,系统通过定时器定时的方法,使 LED做流水灯操作,当有中断产 生,LED闪烁5次,完毕返回。1amwDOphibd!:PD.4#DI-ms闻PDIACCHCTPHTJAD1FZLWhLJEEA*>0111rawnnPILSflJ5MJwrFTfil L站呵Pi
9、门riiB*!1MrnrIJ三、实验内容1、 利用P3.2接一个外部中断输入,同时使用到单片机定时器中断,通过 P1 口连接8个发光二级管显示中断的作用。2、用Keil C51软件程序3、 对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真;4、实验板验证(1)用ISP下载hex程序到CPU(2)按连接表连接电路(3)检查验证结果五、实验报告在预习报告的基础上写出详细实验过程;画出实验原理图,给出设计程序 分析实验现象,得出实验结果。六、预习要求1、MCS-51中断系统与定时器的编程。2、中断优先级:51系统有高、低两个中断优先级。各中断的优先级通过 中断优先寄存器(IP)进行设定
10、。在进行中断响应时,高优先级可以打断低优 先级的中断服务,形成中断嵌套。七、实验参考程序ORG0000HLJMPSTARTORG0003H;外部中断入口LJMPEXTORG000BH;定时中断入口LJMPTIMSTART: MOVSP,#70H;建立堆栈区MOVTMOD,#00000001B;定时器0,工作方式1MOVTH0,#HIGH(65536-10000)5MOVTL0,#LOW(65536-10000);装计数器初值SETBTR0;TR0置1,定时开始MOVIE,#10000011B;开总中断,定时器 0中断允许MOVIP,#00000001B;设定外部中断0优先级高MOVR3,#10
11、0;定时溢出次数MOVR1,#0FEH5LJMP$ * TIM:PUSHACCPUSHPSW;现场保护MOVTH0,#HIGH(65536-10000)MOVTL0,#LOW(65536-10000);重赋计数值DJNZR3,LOOPMOVR3,#100MOVA,R1MOVP1,ARLAMOVR1,A;移位LOOP:POPPSWPOPACC;恢复现场RETI * 55;外部中断服务程序,闪烁5EXT:PUSHACCPUSHPSWMOVA,#00MOVR2,#10LOOP3:MOVP1,ACALLDELAYCPLADJNZR2,LOOP3POPPSWPOPACCRETI * ;延时程序DELAY
12、:MOVR5,#20D1:MOVR6,#20D2:MOVR7,#248DJNZR7,$DJNZR6,D2DJNZR5,D1RETEND实验四8051与PC之间串行通信实验一、实验目的1掌握8051单片机串行口软件编程和硬件使用方法;2、了解Proteus虚拟终端的使用;3、 了解PC超级终端(串口调试助手)和 RS232的使用。二、实验设备与器件1、计算机1台2、PROTEUS单片机教学实验箱 FB-EDU-P51A三、实验原理如下图所示,将单片机与的串行口通过串口线与PC机的COM 口相连,另外将单片机的P3.5与任一按键连接,当键盘按下的时候,开始发送字符, 在PC的调试终端出现在程序所设
13、定的字符。U1 dPunnoDPU1JRDIPU2MD3XTwaPDWD4P0i.5ftD5RSTPft6ftD6 PDLTADr皑瞬PSIZMALEP2.M17瓯P2M1IP1DP1.1F12PZTJR15Dl 1JTVI1P32/1MTTPSJfliiTrRIJ阳EP15PlJOUtlHF17F3.TD一-一?C1I四、实验内容1、51单片机的串行口经 MAX232 (实际使用MAX202,二者功能一样) 电平转换后,与PC串口相连,实现51和PC的通信。2、用Keil C51软件创建程序3、 对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真;4、实验板验证(1)用ISP下载
14、hex程序到CPU(2)按连接表连接电路(3)检查验证结果五、实验报告在预习报告的基础上写出详细实验过程;画出实验原理图,写出单片机控 制程序,得出实验结果,修改程序,观察实验结果。六、预习要求1、MAX232工作原理和Proteus虚拟终端使用。在简单的应用中,最常用的是 MAX232电路。它只需要有3条线即可完 成通信,分别是 第二脚RXD ,第3脚TXD,第5脚GND。串行通信与单片 机之间的接口:由于串行通信的电平逻辑定义是 +15V(高电平1)-15V(低电 平0)而单片机中分别用5V ,0V来表示1,0它们之间必须通过电平转换才可 以完成通信。2、单片机的串行口的发送与接收。七、实
15、验参考程序ORG0000HMOVSCON,#50HMOVTMOD,#20HMOVPCON,#00HMOVTH1,#0FdHMOVTL1, #0FdHSETBTR1WRIT:JBP3.5,$ACALLDELAY10JBP3.5,WRITJNBP3.5,$MOVA, #01HMOVSBUF,AAJMPWRITDELAY10:MOVR1,#20D2:MOVR2,#248DJNZR2,$DJNZRETENDR1,D2;预置初值,设波特率为 9600K;将16进制的字符01发送到串口去;10毫秒延时子程序实验五矩阵键盘扫描实验、实验目的1理解矩阵键盘扫描的原理;2、掌握矩阵键盘与51单片机接口的编程方法
16、。、实验设备与器件1、计算机1台2、 PROTEUS单片机教学实验箱FB-EDU-P51A三、实验原理如下图所示,用单片机的P1 口控制矩阵键盘,P1.0P1.3控制键盘的行,P1.4P1.7控制键盘的列,当键按下的时候,在数码管上显示相应的键值。I- 1M BJ- -i»C!Q 二©1-< o_q c一4 二©0a-D-SL-O 0 f8 二&j 0_pJ iJc_I-C二®-o 1巧.口 :J=L3心o*XnU-U-A S四、实验内容1、利用4X4 16位键盘和一个7段LED构成简单的输入显示系统,实现 键盘输入和LED数码管显示实验。
17、2、用Keil C51软件创建程序3、 对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真;4、实验板验证(1)用ISP下载hex程序到CPU(2)按连接表连接电路(3)检查验证结果五、实验报告在预习报告的基础上写出详细实验过程;画出实验原理图,写出动态键盘 扫描程序控制程序及主程序六、预习要求1、了解单片机的并行输入输出口2、键盘扫描原理,过程如下:首先扫描键盘,判断是否有键按下,再确 定是哪一个键,计算键值,输出显示。七、实验参考程序ORG 0000HAJMP MAINORG 0030HMAIN:MOV DPTR,#TABLE;将表头放入 DPTRLCALLKEYMOVC A,
18、A+DPTRMOV P2,ALJMP MAIN;调用键盘扫描程序;查表后将键值送入 ACC;将ACC值送入P0 口;返回反复循环显示KEY:LCALL KS;调用检测按键子程序JNZ K1;有键按下继续LCALL DELAY2;无键按调用延时去抖AJMP KEY;返回继续检测按键K1:LCALL DELAY2LCALL DELAY2;有键按下延时去抖动LCALL KS;再调用检测按键程序JNZ K2;确认有按下进行下一步AJMP KEY;无键按下返回继续检测K2:MOV R2,#0EFH;将扫描值送入 R2暂存MOV R4,#00H;将第一列值送入R4暂存K3:MOV P1,R2;将R2的值送
19、入P1 口L6:JB P1.0,L1;P1.0等于1跳转到L1MOV A,#00H;将第一行值送入ACCAJMP LK;跳转到键值处理程序L1:JB P1.1 ,L2;P1.1等于1跳转到L2MOV A,#04H;将第二行的行值送入 ACCAJMP LK;跳转到键值理程序进行键值处理L2:JB P1.2 ,L3;P1.2等于1跳转到L3MOV A,#08H;将第三行的行值送入 ACCAJMP LK;跳转到键值处理程序L3:JB P1.3,NEXT;P1.3等于1跳转到NEXT处MOV A,#0cH将第四行的行值送入 ACCLK:ADD A,R4;行值与列值相加后的键值送入APUSH ACC;将
20、A中的值送入堆栈暂存K4:NEXT:KS:DELAY2:LCALL KSJNZ K4POP ACCRETINC R4MOV A,R2JNB ACC.7,KEYRL AMOV R2,AAJMP K3MOV P1,#0FHMOV A,P1XRL A,#0FHRET;调用按键检测程序;按键没有松开继续返回检测;将堆栈的值送入 ACC;将列值加一將R2的值送入A;扫描完至KEY处进行下一扫描;扫描未完将A中的值右移一位进行下一列的扫描;将ACC的值送入R2暂存;跳转到K3继续;将P1 口高四位置0低四位值1;读 P1 口;将A中的值与#0FH相异或;子程序返回;40ms延时去抖动子程序MOV R5,#
21、08HL7:L8:MOV R6,#0FAHDJNZ R6,L8DJNZ R5,L7RET;七段显示器数据定义DB 0C0H, 0F9H, 0A4H, 0B0H, 99H;01234DB 92H,82H,0F8H, 80H,90H;56789DB 88H,83H,0C6H,0A1H, 86H;ABCDEDB 8EH;FEND;程序结束TABLE:实验六82551/0扩展实验、实验目的1、了解8255芯片结构及编程方法;2、了解8255输入/输出实验方法。、实验设备与器件1、计算机1台2、PROTEUS单片机教学实验箱 FB-EDU-P51A三、实验原理原理图如下图所示,利用8255可编程并行口芯
22、片,实现输入/输出实验, 实验中用8255 PA 口做输出,外接8个发光二极管,PB 口作输入外接8个按 键,通过按键控制8个发光二极管的熄与灭。那HT4M 碾区-E-&去四、实验内容:1、利用8255可编程并行口芯片,实现输入/输出2、用Keil C51软件创建程序3、 对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真;4、实验板验证(1)用ISP下载hex程序到CPU(2)按连接表连接电路五、实验报告在预习报告的基础上写出详细实验过程; 画出实验原理图,观察实验现象, 写出结果。六、预习要求了解8255A的工作原理及其应用和编程方法七、实验参考程序PA- >PB
23、:流水灯:ORG 00HORG 00HMAIN:ACALL DELAYMAIN:ACALL DELAYMOV DPTR,#7003HMOV DPTR,#7003HMOV A,#82HMOV A,#82HMOVX DPTR,AMOVX DPTR,ALOOP:MOV DPTR,#7001HMOV A,#11111110BMOVX A,DPTRMOV DPTR,#7000HMOV DPTR,#7000HLOOP:MOVX DPTR,AMOVX DPTR,ARL ASJMP LOOPACALL DELAYDELAY: MOV R1,#00HSJMP LOOPDLP:MOV R2,#50HDJNZ R2
24、,$DJNZ R1,DLPRETDELAY:ENDEND实验七A/D转换实验一、实验目的1、了解A/D转换与单片机的接口方法;2、了解ADC0809转换性能及编程方法;3、通过实验了解单片机如何进行数据采集。二、实验设备与器件1、计算机1台2、PROTEUS单片机教学实验箱 FB-EDU-P51A三、实验原理原理图如下图所示,实验用的 ADC0808是8位A/D转换器,每采集一次 一般需100虫。本实验可采用延时方式或查询方式读入 A/D转换结果,也可以 采用中断方式读入结果,在中断方式下,A/D转换结束后会自动产生 EOC信号,将其与CPU的外部中断相接。调整电位计,得到不同的电压值,转换后
25、的数据通过发光二级管输出。JCTAtZ*STATBK:5? HET-DI?1ni2D2二03dD5QDfTur31HT2i.irra&巧11TlEf-|:+:i VRer®AECXHJHROM:PZMiD Hl I P71AI2 临侧口 P渤忖 P7.1AI5FDDDCI PDlrtDiFD2MD7 吨护M HLMUH 巾弘皿 PDGMDE FDTDFFlIffiXD M.yrxB P3HV1TD KJJ*TTF”Tjnsffi_ rawiiT 总T用T"-ClDCk5FWTOUT2DUT1 OVTEVT5OUT6 ounWDD A MbD s 丘D口匚叭四、实验内
26、容:1、利用ADC0808/(0809)做A/D转换器,由实验板上的电位器提供模拟量 输入,编制程序将模拟量转换成二进制数字量,用 P1 口输出到发光二极管显 示,或通过八段码数码管将数值显示出来。2、用Keil C51软件创建程序3、 对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真;4、实验板验证(1)用ISP下载hex程序到CPU(2)按连接表连接电路五、实验报告在预习报告的基础上写出详细实验过程; 画出实验原理图,观察实验现象, 写出结果。调节电位器的电压大小,观察数管的显示值。六、预习要求A/D转换器的工作原理及控制方式 七、实验参考程序ADCDATA EQU35H;存
27、放转换后的数据STARTBITP2.1OEBITP2.7EOCBITP2.3CLOCKBITP2.0ADD_ABITP2.4ADD_BBITP2.5ADD_CBITP2.6ORG0000HLJMPMAINORG0100HMAIN:CLRADD_ACLRADD_BCLRADD_C;选择ADC0808的通道0WAIT:CLRSTARTSETBSTARTCLRSTART;启动转换CLOOP:CPLCLOCKJNBEOC,CLOOP;等待转换结束SETBOE;允许输出MOVADCDATA,P1;暂存转换结果CLROE;关闭输出MOVPO,ADCDATALJMPWAITEND实验八D/A转换实验一、实验目的了解D/A转换的基本原理及DAC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省2026年中考考前对标适应性考试三模数学试题附答案
- 2026年服务机器人项目投资回报周期与成本效益测算模型
- 2025年前台服务沟通考核卷
- 病区护理团队协作机制
- 2026年政府和社会资本合作新机制规范实施与使用者付费项目设计指南
- 2026年智慧鸡舍用工减少七成产蛋率提升六个点
- 2026年设计创意产业AI PC实时渲染AIGC内容生成工作流
- 2026年智能评估技术AI房价预测在反向抵押养老保险定价中应用
- 电信行业用户数据安全保障方案
- 防高坠安全专项施工方案(钢结构)
- 2024年高等教育文学类自考-06216中外建筑史考试近5年真题集锦(频考类试题)带答案
- 《AutoCAD 2023基础与应用》 课件全套 劳动 项目1-8 AutoCAD 2023 入门、绘制简单平面图形-综合实训
- 教师读书分享《做温暖的教育者》
- QCT1177-2022汽车空调用冷凝器
- 2.1科学探究感应电流的方向课件-高二物理(2019选择性)
- 2024陆上风电场安全生产标准化实施规范
- 基于PLC的混凝土搅拌站控制系统设计
- 药品经营和使用质量监督管理办法培训
- 2024年福建厦门航空招聘笔试参考题库附带答案详解
- 《仪表飞行课程》课件
- 角度测量-水平角测量误差与注意事项(水利水电工程测量课件)
评论
0/150
提交评论