单片机三个实验

上传人:hong****2021 文档编号:48771640 上传时间:2022-01-14 格式:DOCX 页数:13 大小:25.96KB
收藏 版权申诉 举报 下载
单片机三个实验_第1页
第1页 / 共13页
单片机三个实验_第2页
第2页 / 共13页
单片机三个实验_第3页
第3页 / 共13页
资源描述:

《单片机三个实验》由会员分享,可在线阅读,更多相关《单片机三个实验(13页珍藏版)》请在装配图网上搜索。

1、本文格式为Word版,下载可任意编辑单片机三个实验 试验一构建单片机最小系统和试验环境熟识 一、单片机最小系统的组成原理图 、单片机的工作原理 1. 运算器 运算器包括算术规律运算单元 ALU、累加器 ACC、寄存器 B、暂存器 TMP、程序 状态字寄存器 PSW、十进制调整电路等。它能实现数据的算术规律运算、 位变量处理和 数据传送操作。 (1) 算术规律单元 ALU ALU 在掌握器依据指令发出的内部信号掌握下,对 8 位二进制数据进行加、减、乘、除 运算和规律与、或、非、异或、清零等运算。它具有很强的判跳、转移、丰富的数据传送、 供应存放中间结果以及常用数据寄存器的功能。 MCS-51

2、中位处理具有位处理功能,特殊适 用于实时规律掌握。 (2) 累加器 ACC 累加器 ACC 是 8 位寄存器,是最常用的专用寄存器,它既可存放操作数,又可存放运 OpF Y1 If XTAL1 ra.o/ADO XTAL2 PD.1/AD1 P0.2/AD2 P0.3/AD3 RST P0.-4/AD4 FO.DJ P0.6/AD6 F0.7/AD7 rSEN P2 C/AS P2.1/A9 P2.3AIO P2/VA11 ALE P2.4/A12 EA r2 5/A13 F1.(MT2 P2.6/AI4 F3JO/RXD PI 1JT2F.X PI i rrxn Pl 7 PljTHTn P

3、I .3 P33imTi Pl.4 P3.-iyT0 Pl 5/MOST P3 5m P1.6/M1SO P3.6WR P1.7JSCK P3 価 vcc L 菊 32 JL 1 2 3 4 RES PACK S 22 23 24 25 盘 27 23 ID 11 12 1 岁 14 15 Lb 17 1S P SDOuF iQi 12IvI JI f vce ATE 昭铝 21 算的中间结果。MCS 51 系列单片机中很多指令的操作数来自累加器 ACC。累加器特别繁 忙,在与外部存储器或 I/O 接口进行数据传送时,都要经过 A 来完成。 (3) 寄存器 B 寄存器 B 是 8 位寄存器,主

4、要用于乘、除运算。乘法运算时, B 中存放乘数,乘法操 作后,高 8 位结果存于 B 寄存器中。除法运算时, B 中存放除数,除法操作后,余数存于 寄存器 B 中。寄存器 B 也可作为一般的寄存器用。 (4) 程序状态字 PSW 程序状态字是 8 位寄存器,用于指示程序运行状态信息。 其中有些位是依据程序执行结 果由硬件自动设置的,而有些位可由用户通过指令方法设定。 PSW 中各标志位名称及定义 如下: 位序 D7 D6 D5 D4 D3 D2 D1 D0 位标志 CY AC F0 RS1 RS0 OV 一 P CY( PSW.7):进(借)位标志位,也是位处理器的位累加器 C。在加减运算中,

5、若操作结 果的最高位有进位或有借位时, CY 由硬件自动置 1,否则清 0在位操作中,CY 作为位 累加器 C 使用,参于进行位传送、位与、位或等位操作。另外某些掌握转移类指令也会影 响 CY 位状态(第三章争论)。 AC( PSW.6):帮助进(借)位标志位。在加减运算中,当操作结果的低四位向高四位进位 或借位时此标志位由硬件自动置 1,否则清 0 F0( PSW.5):用户标志位,由用户通过软件设定,打算程序的执行方式。 RS1( PSW.4),RS0( PSW.3):寄存器组选择位。用于设定当前通用寄存器组的组,其对应 关系如下: RS1 RS0 寄存器组 R0R7 地址 0 0 组 0

6、 0007H 0 1 组 1 080FH 1 0 组 2 1017H 1 1 组 3 181FH OV( PSW.2):溢出标志位。它反映运算结果是否溢出,溢出时 OV=1 ;否则 OV=0 。 OV 可作为条件转移指令中的条件。 PSW.1 :未定义位。 P ( PSW.1):奇偶标志位。P=1,表示 ACC 中 1 的个数为奇数;否则 P=0 。 P 也可以作为条 件转移指令中的条件。 2. 掌握器 掌握器包括定时掌握规律 (时钟电路、复位电路),指令寄存器,指令译码器程序计数 器 PC,堆栈指针 SP,数据指针寄存器 DPTR 以及信息传送掌握部件等。 (1 )时钟电路 MCS 51 系

7、列单片机芯片内部有一个高增益反相放大器,输入端为 XTAL1,输出端为 XTAL2,一般在 XTAL1 与 XTAL2 之间接石英晶体振荡器和微调电容,从而构成一个稳定 的自激振荡器,就是单片机的内部时钟电路,如图( A)所示。时钟电路产生的振荡脉冲经 过二分频以后,才成为单片机的时钟信号。电容 C1 和 C2 为微调电容,可起频率稳定、微 调作用,一般取值在 530pf 之间,常取 30pf。晶振的频率范围是 1.2MHz12MHz ,典型 值取 6 MHz。XTAL1 接地,XTAL2 接外部震荡器,外接信号应是高电平持续时间大于 20ns 的方波,且脉冲频率应低于 12 MHZ。如图(B

8、)所示。 韻?TL KTAL1 V5S 国 AP WD5L 外部时钟源接法 (2 )复位电路 对于使用 (A)内部时钟电路 (B)外部振荡源 12MHZ 的晶振的单片机,复位信号持续时间应超过 4 卩 s 才能完成复位操作。 产生复位信号的电路有上电自动复位电路和按键手动复位电路两种方式。 上电自动复位是通过外部复位电路的电容充电来实现的,该电路通过电容充电在 RST 引脚上加了一个高电平完成复位操作。上电自动复位电路如图( 按键手动复位电路。 按键手动复位是通过按键实现人为的复位操作, (b)所示。 a)所示。 按键手动复位电路如图 8051 UTACCl 复位后内部暂存器的状态如下: PC

9、 0000H TCON 00H ACC 00H TL0 00H PSW 00H TH0 00H SP 07H TL1 00H DPTR 0000H TH1 00H P0P3 FFH SCON 00H IP XX 000000B SBUF 不定 IE 0 X 000000B PCON 0 XXX 0000B TMOD 00H (3)指令寄存器和指令译码器 指令寄存器中存放指令代码, CPU 执行指令时,由程序存储器中读取的指令代码送入 指令存储器,经译码器后由定时与掌握电路发出相应的掌握信号,完成指令所指定的操作。 4程序计数器 PC PC 是一个 16 位计数器,其内容为单片机将要执行的指令机

10、器码所在存储单元的地址。 PC 具有自动加 1 的功能,从而实现程序的挨次执行。由于 PC 不行寻址的,因此用户无法对它 直接进行读写操作,但可以通过转移、调用、返回等指令转变其内容,以实现程序的转移。 PC 的寻址范围为 64KB,即地址空间为 00000FFFFH。 (4)堆栈指针 SP SP 为 8 位寄存器,用于指示栈顶单元地址。所谓堆栈是一种数据结构,它只允许在其 一端进行数据删除和数据插入操作的线性表。数据写入堆栈叫入栈( PUSH ),数据读出堆 栈叫出栈(POP)。堆栈的最大特点是后进先出的数据操作原则。 MCS-51 系统复位后, SP 初始化为 07H。 VCC S051

11、1 1 22UF -r- RST n 1 U (5) 数据指针 DPTR 数据指针 DPTR 为 16 位寄存器,它是 MCS51 中唯一的一个 16 位寄存器。编程时, 既可按 16 位寄存器使用,也可作为两个 8 位寄存器分开使用。 DPH 为 DPTR 的高八位寄 存器, DPL 为 DPTR 的低八位寄存器。 DPTR 通常在访问外部数据存储器时作为地址指针 使用,寻址范围为 64KB 。 三、试验小结 单片机系统电路的基本模块有:复位电路,晶振电路,上拉电阻,下载口等主要模块。 其中 P0 口作为输出访用必需对单片机的 I/O 口,由于 P0 为集电极开路,可以提高其功率和 电平转换

12、。在单片机最小系统的构建中, EA 脚拉高是特别必要的,它可以影响单片机的正 常工作。 在检测单片机是否正常工作, 可以通过检测晶振两端的信号的波形外形。 在单片机 正常工作条件下, 其信号为正弦波。 经过一周的时间基本完成单片机最小系统板的焊接部分 和单片机的工作原理, 以及对单片机外围电路的焊接, 知道了硬件部分的重要性, 单片机最 小系统板的焊接最主要是晶振部分的焊接, 它为单片机供应了做工作的频率, 是单片机的心 脏。 试验二跑马灯试验及 74HC138 译码器 一、试验原理 1、跑马灯 (1) 参考试验原理图如下: (跑马灯原理图) (2) 工作原理 给单片机的端口赋初值,点亮第一个

13、 LED,然后延时一段时间后,点亮下一个 LED 依 次循环下去。形成动态闪亮的效果。 2、138 译码器电路 74LS138 译码器: 4P0IP. S01CJ TOP 妝 YO tTi 1 (VI) vi 讯 Y3 (T5) Y4 冋 图 8 74LS138 译码器芯片图 74LS138 为 3 线8 线译码器,共有 54/74S138 和 54/74LS138 两种线路 X XTAL1 XTAL2 RST PSEN ALE EA R2 510 D2 R3 510 D3 R4 D4 R6 510 R7 510 P1 0/T2 P1 1/T2EX P1 2 P1 3 P1 4 P1 5 P1

14、 6 P1 7 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 3 37 3药3 33 3右22 3 24 3 26 3 28一 W D8 Nnnan 7 R5 8 510 510 510 D5 D6 D7 AT89C

15、52 R8 结构型式。其工作原理如下: (1) 当一个选通端 E1 为高电平,另两个选通端 E2 和 E3 为低电平常,可将地址 端 A0 A1、A2 的二进制编码在 Y0 至 Y7 对应的输出端以低电平译出。比如: A0A1A2=110 寸,贝 U Y6 输出端输出低电平信号。 (2) 利用 E1、E2 和 E3 可级联扩展成 24 线译码器;若外接一个反相器还可级 联扩展成 32 线译码器。 (3) 若将选通端中的一个作为数据输入端时, 74LS138 还可作数据安排器。 (4) 可用在 8086 的译码电路中,扩展内存。 (1) 参考试验原理图如下: U1 (2) 工作原理 依据 138

16、 译码器的工作原理,当 G1G2AG2B=111 时,译码器工作,依据 74LS138 的 3 个译码信号 A、B、C 来选择 Y0、Y1、Y2、Y3、Y4、Y5、Y6 作为输出,各输出为低电平 时,当共阳极的 LED 灯节高电平常,就会使相应的灯亮。 A、B、C 三个信号由单片机的 P1.0、P1.1 和 P1.2 来供应,而 P1.0、P1.1 和 P1.2 的值是通过汇编程序设置初始值后,然后 依据P1.0、P1.1 和 P1.2 的值加 1 和循环来时 8 各 LED 灯循环点亮。 19 18 b XTAL1 XTAL2 RST 1 510 510 PSEN ALE EA P1.0/T

17、2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 PO.O/ADO P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 - 38 37 36 35 34 - 33 32 21 22 23 - 24 25 2

18、6 27 28 10 11 AT89C52 R3 510 R4 510 R5 510 R6 D4 -BLUE D5 -BLUE D7 -BLUE 510 R7 R8 LED-BLUE ABC 12 3 EEE 0 1 2 3 4 5 6 7 YYYYYYYY -匸 151413 一12 1315 16 二、软件流程图 1、138 译码器程序流程图: 三、源程序代码 1、跑马灯试验代码: #includereg52.h /定义 8052 寄存器的头文件 #includeintrins.h /包含 _cror_()的头文件 #define uint unsigned int /宏定义 #defi

19、ne uchar un sig ned char void delay(ui nt n) / 延时子程序 uchar i; while( n-) for(i=0;i255;i+); void mai n() uchar i; while(1) for(i=0;i8;i+) /左右循环点亮 P1=i; delay(300); /调用延时函数 四、试验调试: 将硬件电路焊制完成后, 连接好电路, 认真检查无错误后, 我们将流水灯程 序下载至 STC89C52 单片机中,看到八个灯按挨次依次循环点亮。但在焊制的过 程中由于八个 LED 灯是按共阳极接法连入电路中,所以可以只焊一个 470 Q 的上

20、拉电阻,此处上拉电阻的选择规章如下:由于点亮 LED 需要大约 711mA 勺电流, 而电源供电为 5V,所以由欧姆定律可知上拉电阻为 714454 Q, 此处选择 470 Q 。 试验中的接线是特别重要的, 在接线之前肯定要用万用表检测线的好坏否则试验 是很难胜利的! 试验三 8255 掌握交通灯试验 一、 试验原理 1、交通灯原理 交通灯的变化规律是:先假定一个十字路口为东南西北走向交通灯的初始状态为状态 1,东西方向绿灯通车,南北方向红灯。经过过一段时间( 3S)转换状态 2,东西方向黄灯 闪亮,延时 2S,南北方向仍旧红灯。再转换到状态 3,东西方向红灯通车,南北方向绿灯。 过一段时间

21、(3S)转换到状态 4,南北方向黄灯闪亮,延时 2S,东西方向仍旧红灯。最终循 环至南北红灯,东西绿灯。 试验原理参考图: 2、8255 芯片工作原理: 8255A 是一个 40 引脚的双列直插式集成电路芯片。按功能可把 8255A 分为 三个规律电路部分,即:口电路、总线接口电路和掌握规律电路 。 (1) 口电路 8255A 共有三个 8 位口,其中 A 口和 B 口是单纯的数据口,供数据 I/O 使用。 而C 口则既可以作数据口,又可以作掌握口使用,用于实现 A 口和 B 口的掌握功 能。数据传送中 A 口所需的掌握信号由 C 口高位部分(PCT- PC4 供应,因此把 A 口和 C口高位

22、部分合在一起称之为 A 组;同样理由把 B 口和 C 口低位部分(PC4 PC0 合在一起称之为 B 组。 (2)总线接口电路 C1 C2 CRYSTAL F 8 R1 1k U1 XTAL1 XTAL2 PSEN ALE EA P1 P1 P1 P1 0/T2 1/T2EX 2 3 RP1 RESPACK-8 U2 P1 P1 P1 P1 AT89C52 P0.0/AD0 P0.1/AD1 P0.2/AD2 D0 D1 D2 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PBO PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4

23、PC5 PC6 PC7 LED-YELLOW D10 d0 d2 d3 40 d4 39 d5 38 + D1 -RED D8 29 30 31 20UF RST 3 4 5 6 7 8 9 1 2 39 34 P2.0/A8 RD RESET CS P3.7/RD P2.1/A9 P2.2/A10 P2.3/A11 P3.4/T0 P3.5/T1 P3.6/WR WR A0 A1 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.4/A12 P2.5/A13 P2.6/A

24、14 P2.7/A15 D3 D4 D5 D6 D7 8255A 3 LED- D-GREEN d4 d4 D D-YELL d3 LED-GREEN 4 ED-RED LED-RED 总线接口电路用于实现 8255A 和单片微机的信号连接。其中包括:数据总线 缓冲器和读/写掌握规律,数据总线缓冲器为 8 位双向三态缓冲器,可直接和 80C51 的数据线相连,与 I/O 操作有关的数据、掌握字和状态信息都是通过该缓 冲器进行传送。与读写有关的掌握信号有 CS 为片选信号(低电平有效),RD 为读信号(低电平有效),WF 为写信号(低电 平有效) , AO、A1 为端口选择信号。8255A 共有

25、四个可寻址的端口(即 A 口、B 口、C 口和掌握寄存器),用二位地址编码即可实现选择。参见下表。 CS A1 A0 RD WR. 所选端口 操啣 | 0 0 0 0 1 A 口 读端口 A 0 0 1 0 1 B 口 :读端口 B 0 1 0 0 1 C 口 读端口 C 0 0 0 1 0 A 口 写端口 A 0 0 1 1 0 B 口 :写端 E B 0 1 0 1 0 C 口 写端口 c 0 1 1 1 0 掌握寄存器 写掌握字 1 X X X 冥 / 簸据总线缓冲器输出高阻抗 读写端口表 RESE复位信号(高电平有效)。复位之后,掌握寄存器清除,各端口 被置为输入方式。 读写掌握规律用

26、于实现 8255A 的硬件管理:芯片的选择,口的寻址以及 规定各端口和单片微机之间的数据传送方向。 (3)掌握规律电路 掌握规律电路包括 A 组掌握和 B 组掌握,合在一起构成 8 位掌握寄存器。 用于存放各口的工作方式掌握字 8255A 工作方式及数据 I/O 操作 (1)8255A 的工作方式(试验用方式 0) 方式 0 基本输入/输出方式 方式 0 下,可供使用的是两个 8 位口( A 口和 B 口)及两个 4 位口( C 口高 4 位部分和低 4 位部分)。四个口可以是输入和输出的任何组合 方式 0 适用于无条件数据传送,也可以把 C 口的某一位作为状态位,实现查 询方式的数据传送。

27、(2) 数据输入操作 用于输入操作的联络信号有: STB(StroBe)选通脉冲,输入,低电平有效。 当外设送来 STB 信号时,输 入数据装入 8255A 的锁存器。 IBF(Input Buffer Full) 输入缓冲器满信号,输出,高电平有效。 IBF 信号有效,表明数据已装入锁存器,因此它是一个状态信号。 INTR(INTerrupt Request) 中断恳求信号,高电平有效,当 IBF 数据输入 过程:当外设预备好数据输入后,发出信号,输入的数据送入缓冲器。然后 IBF 信号有效。如使用查询方式,则 IBF 即作为状态信号供查询使用;如使 用中断方式,当信号由低变高时,产生 IN

28、TR 信号,向单片微机发出中断。 单片微机在响应中断后执行中断服务程序时读入数据, 并使 INTR 信号变低, 同时也使 IBF 信号同时变低。以通知外设预备下一次数据输入。 (3) 数据输出操作 用于数据输出操作的联络信号有: ACK(ACKnowledge) 外设响应信号输入,低电平有效。 当外设取走输出数据,并处理完毕后向单片微机发回的响应信号为高,信号 由低变高 (后沿)时,中断恳求信号有效。向单片微机发出中断恳求。 OBF(Output Buffer Full )输出缓冲器满信号,输出,低电平有 效。 当单片微机把输出数据写入 8255A 锁存器后,该信号有效,并送去启动 外设以接收

29、数据。 INTR-中断恳求信号,输出,高电平有效。 数据输出过程:外设接收并处理完一组数据后,发回 ACK 信号。该信号使 OBF 变高,表明输出缓冲器已空。如使用查询方式,则 OBF 可作为状态信号供 查询使用;如使用中断方式,则当 ACK 信号结束时,INTR 有效,向单片微机 发出中断恳求。在中断服务过程中,把下一个输出数据写入 8255A 的输出缓冲 器。写入后 OBF 有效,表明输出数据已到,并以此信号启动外设工作,取走并 处理 8255A 中的输出数据。8255A C 口联络信号定义: C 口廳 方式 1 方式 2 献 输出 献 输出 PCj OBFA OBFA ACKA ACKA

30、 IBFA IBFA STBA STBA PCs INTRA INTRA INTRA INTRA PCs 预 ACKB PCi IBFT FB 卩必 INTRB INTO 三、试验源程序代码 #includereg52.h /定义 8052 单片机寄存器的头文件 #includeabsacc.h/肯定地址处理头文件,包含 XBYTE,用 XBYTE 来定义扩展 的 I/O 端口和外部 RAM 单元地址 #define uint unsigned int /宏定义 软件流程图 初姑化,南北红灯 團弓磴 I: 灼亮*东 西黄灯囚体 #define uchar unsigned char #defi

31、ne CON XBYTE0xffff / 定义 8255 掌握字寄存器端口 #define PA XBYTE0xfcff /定义 8255 端口 PA 地址 void delay(uint z); / 延时 void main() uint i=0; CON=0x80;写方式掌握字,方式 0,基本输入输出 PA=0xff; while(1) PA=0x1e;/冻西绿灯,南北红灯 delay(1000);/延时 for(i=3;i0;i-)/ 黄灯闪耀三次 PA=0x2e; delay(100); PA=0x3e; delay(100); PA=0x33;东西红灯,南北绿灯 delay(1000); for(i=3;i0;i-)/ 黄灯闪耀三次 PA=0x35; delay(100); PA=0x37; delay(100); void delay(uint z) /延时子程序 uint x,y; for(x=z;x0;x-) for(y=500;y0;y-); 第 13 页 共 13 页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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