YL-215单片机实训与开发系统实验指导书_第1页
YL-215单片机实训与开发系统实验指导书_第2页
YL-215单片机实训与开发系统实验指导书_第3页
YL-215单片机实训与开发系统实验指导书_第4页
YL-215单片机实训与开发系统实验指导书_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

亚龙教仪亚龙教仪 亚龙 YL 215 型 单片机实训与开发系统 实验指导书 浙江亚龙教仪有限公司 目录目录 实验一实验一 灯光控制实验灯光控制实验 1 1 实验二实验二 I OI O 口输入输出实验口输入输出实验 4 4 实验三实验三 继电器控制实验继电器控制实验 6 6 实验四实验四 LEDLED 动态显示实验动态显示实验 1313 实验五实验五 D AD A 转换实验转换实验 1818 实验六实验六 A DA D 转换实验转换实验 2323 实验七实验七 定时定时 计数实验计数实验 2727 实验八实验八 中断实验中断实验 3030 实验九实验九 串行通讯实验串行通讯实验 4141 实验十实验十 步进电机控制实验步进电机控制实验 4444 实验十一实验十一 82558255 扩展实验扩展实验 4949 实验十二实验十二 82798279 键盘接口实验键盘接口实验 5454 实验十三实验十三 键盘扫描键盘扫描 LCD LCD 显示实验显示实验 5959 实验十四实验十四 大屏幕大屏幕 LCDLCD 显示实验显示实验 7272 实验十五实验十五 I I2 2C C 总线实验总线实验 8282 1 实验一实验一 灯光控制实验灯光控制实验 1 实验目的 实验目的 通过实验了解 P0 口 P1 口 P2 口 P3 口作为输入输出方式使用时 CPU 对 P0 口 P1 口 P2 口 P3 口的操作方式 2 实验设备 实验设备 单片机实训与开发系统主机模块 1 台 灯光控制实验模块 1 台 并口线 1 根 40 芯连接排线 1 根 连接线若干 相关控制软件 3 实验电路原理图及其说明实验电路原理图及其说明 P0 口为双向八位三态 I O 口 P1 口 P2 口 P3 口均为八位准双向 I O 口 每一位可 独立定义为输入输出 CPU 对四个 I O 口的操作可以是字节操作 也可以是位操作 实验线路如图 1 1 所示 I O 口输出为 1 时对应的发光二极管灯灭 输出为 0 时对应的发光二极管灯亮 编写程序 通过控制 LED 的状态 来熟悉 CPU 对 I O 口的操 作指令 4 实验内容实验内容 1 编写程序使 32 个发光二极管循环闪亮 5 实验步骤实验步骤 1 用 40 芯排线把主机模块和灯光控制实验模块连接起来 将 4 个短路子连到标有黑 块的一边 接通电源 运行参考程序 2 把 40 芯排线拔掉 用导线将主机的任意一个 8 位 I O 口和灯光控制实验模块的任 意 8 个 LED 相连 编写一个程序运行 2 VCC 300 8 P20 P21 P22 P23 P24 P25 P26 P27 VCC 300 8 VCC 300 8 VCC 300 8 P00 P01 P02 P03 P04 P05 P06 P07 P10 P11 P12 P13 P14 P15 P16 P17 P30 P31 P32 P33 P34 P35 P36 P37 1 2 3 1 2 3 1 2 3 1 2 3 图 1 1 灯光控制实验电路原理图 6 实验参考程序实验参考程序 ORG 000H 程序开始 AJMP MAIN 跳转到主程序 ORG 0030H 主程序从 30H 开始 MAIN MOV SP 60H 初始化堆栈 MOV P1 0FFH MOV P0 0FFH MOV P2 0FFH MOV P3 0FFH 发光 二极管全灭 3 LP LCALL DELAY1 调用延时子程序 MOV P2 0BBH 点亮 P2 2 P2 6 以下同理 MOV P3 0FFH MOV P0 0FFH MOV P1 0DDH LCALL DELAY1 MOV P2 0DDH MOV P3 0FFH MOV P0 0FFH MOV P1 0BBH LCALL DELAY1 MOV P2 0EFH MOV P3 0FEH MOV P0 7FH MOV P1 0F7H LCALL DELAY1 MOV P2 0F7H MOV P3 7FH MOV P0 0FEH MOV P1 0EFH AJMP LP DELAY1 MOV R5 0F8H 延时子程序 S0 MOV R6 60H S1 DJNZ R6 S1 DJNZ R5 S0 RET END 4 实验二实验二 I OI O口输入输出实验口输入输出实验 1 实验目的实验目的 通过实验了解开关量输入输出控制的接口及编程方法 2 实验设备实验设备 单片机实训与开发系统主机模块 1 台 I O 输入输出实验模块 1 台 并口线 1 根 40 芯连接排线 1 根 连接线若干 相关控制软件 3 实验电路原理图及其说明实验电路原理图及其说明 实验线路如图 2 1 所示 74LS377 的输入端 1D 8D 接在 89S52 的 P0 口 其输出端 经过 330 电阻限流接到 8 个发光二极管的负极 P3 6 WR 作为锁存器控制信号接在 74LS377 的时钟端 P2 7 接到允许端 作为片选信号 开关通过 P1 口向单片机输入数据 任意组合开关的输入状态 得到不同的输出状态 4 实验内容实验内容 编写程序 由 P1 口输入数据 把 P1 口输入的数据由 P0 口输出 5 实验步骤实验步骤 1 用 40 芯排线把主机模块和 I O 输入输出实验模块连接起来 运行参考程序 2 把 40 芯排线拔掉 用导线接把主机和 I O 输入输出实验模块连接起来 连接方式 自己定义 编写一个程序运行 6 实验参考程序实验参考程序 ORG 000H 程序开始 AJMP MAIN 跳转到主程序 ORG 0030H 主程序从 30H 开始 MAIN MOV SP 60H MOV P1 0FFH LP MOV A P1 读入 P1 口数据 5 MOV DPTR 07FFFH 7FFFH 为八位并行输出口地址 MOVX DPTR A SJMP LP END R1 330 R2 330 R3 330 R4 330 R5 330 R7 330 D1D8D7D2D3D4D5D6 5V D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 CLK 11 E 1 U1 P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7 P3 6 P2 7 R6 330 R8 330 S1 S2 S3 S4 S5 S6 S7 S8 R9 5 1k 8 R10 R11 R12 R13 R14 R15 R16 5V GND P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 图 2 1 I O 口输入输出实验电路原理图 6 实验三实验三 继电器控制实验继电器控制实验 1 实验目的实验目的 掌握用单片机控制继电器的原理和方法 熟悉独立式按键的编程 学会编程并调试 程序运行 实现继电器控制过程 2 实验设备实验设备 单片机实训与开发系统主机模块 1 台 继电器控制实验模块 1 台 并口线 1 根 40 芯连接排线 1 根 连接线若干 相关控制软件 3 实验电路原理图及其说明实验电路原理图及其说明 在工业控制系统中 需要断开或接通开关量输入 输出通道 当开关接高压电路时 还需要将控制电路和被控对象加以隔离 以保护主控电路和人身安全 继电器是电气控 制中最常用的元件之一 它能同时实现接通和隔离这两项任务 因此 它在工业控制中 得到广泛应用 实验线路如图 3 1 所示 按照系统的默认连接 四个独立式按键分别接到 P0 0 P0 1 P0 2 P0 3 P1 口控制 8 个继电器 继电器的常开触点接一发光二机管 P1 口的任一 I O 口 输出高点平 对应的继电器吸合 发光二极管灯亮 4 实验内容实验内容 1 通过编程将 P1 0 定时置高置低 控制继电器的通 断 实现 LED 的亮 灭控制 2 通过编程用按键控制继电器的通 断 5 实验步骤实验步骤 1 用 40 芯排线把主机模块和继电器控制实验模块连接起来 运行参考程序 2 把 40 芯排线拔掉 用导线接把主机和 I O 输入输出实验模块连接起来 连接方式 自己定义 编写一个程序运行 7 I 1 I 2 I 3 I 4 I 5 I 6 I 7 D 8 V 9 O 10 O 11 O 12 O 13 O 14 O 15 O 16 300 8 GND VCC VCC P0 1 P0 2 P0 3 P0 0 1A1 2 1A2 4 1A3 6 1A4 8 2A1 11 2A2 13 2A3 15 2A4 17 1Y1 18 1Y2 16 1Y3 14 1Y4 12 2Y1 9 2Y2 7 2Y3 5 2Y4 3 1G 1 2G 19 P10 P11 P12 P13 P14 P15 P16 P17 1 3 4 25 1 3 4 25 1 3 4 25 1 3 4 25 1 3 4 25 1 3 4 25 1 3 4 25 1 3 4 25 VCC 10K 8 图 3 1 继电器控制实验电路原理图 6 实验参考程序实验参考程序 ORG 0030H MAIN MOV SP 60H MOV P1 0FFH MOV P0 0FFH K LCALL KEY 调用键盘扫描子程序 AJMP LPP 8 SJMP K LPP 子程序里 继电器是要么全部断开 要么全部吸合 LPP LCALL DELAY1 延时 LCALL KEY 调用键盘扫描子程序 MOV P1 00H P1 口输出 00 继电器全部断开 LCALL DELAY1 延时 LCALL KEY 调用键盘扫描子程序 MOV P1 0FFH P1 口输出 FF 继电器全部吸合 以下同理 LCALL DELAY1 LCALL KEY MOV P1 00H LCALL DELAY1 LCALL DELAY1 LCALL KEY MOV P1 0FFH LCALL DELAY1 LCALL KEY MOV P1 00H LCALL DELAY1 LCALL DELAY1 LCALL DELAY1 LCALL KEY MOV P1 0FFH LCALL DELAY1 LCALL DELAY1 LCALL KEY MOV P1 0FFH LCALL KEY SJMP LPP LP1 子程序里继电器是由 K1 到 K8 一个一个吸合 LP1 MOV P1 01H 9 LCALL DELAY1 LCALL KEY MOV P1 02H LCALL DELAY1 LCALL KEY MOV P1 04H LCALL DELAY1 LCALL KEY MOV P1 08H LCALL DELAY1 LCALL KEY MOV P1 10H LCALL DELAY1 LCALL KEY MOV P1 20H LCALL DELAY1 LCALL KEY MOV P1 40H LCALL DELAY1 LCALL KEY MOV P1 80H LCALL DELAY1 LCALL KEY SJMP LP1 LP2 子程序里继电器是由 K8 到 K1 一个一个吸合 LP2 MOV P1 80H LCALL DELAY1 LCALL KEY MOV P1 40H LCALL DELAY1 LCALL KEY 10 MOV P1 20H LCALL DELAY1 LCALL KEY MOV P1 10H LCALL DELAY1 LCALL KEY MOV P1 08H LCALL DELAY1 LCALL KEY MOV P1 04H LCALL DELAY1 LCALL KEY MOV P1 02H LCALL DELAY1 LCALL KEY MOV P1 01H LCALL DELAY1 LCALL KEY SJMP LP2 LP3 子程序里继电器分别是按顺序 K1K5 K2K6 K3K7 K4K8 两个一起吸 合 LP3 MOV P1 11H LCALL DELAY1 LCALL KEY MOV P1 22H LCALL DELAY1 LCALL KEY MOV P1 44H LCALL DELAY1 LCALL KEY MOV P1 88H 11 LCALL DELAY1 LCALL KEY SJMP LP3 LP4 子程序里继电器分别是按顺序 K4K8 K3K7 K2K6 K1K1 两个一起吸 合 LP4 MOV P1 88H LCALL DELAY1 LCALL KEY MOV P1 44H LCALL DELAY1 LCALL KEY MOV P1 22H LCALL DELAY1 LCALL KEY MOV P1 11H LCALL DELAY1 LCALL KEY SJMP LP4 键盘扫描子程序 KEY JNB P0 0 RP0 P0 0 闭合了吗 是 转 RP0 JNB P0 1 RP1 P0 0 闭合了吗 是 转 RP1 JNB P0 2 RP2 P0 0 闭合了吗 是 转 RP2 JNB P0 3 RP3 P0 0 闭合了吗 是 转 RP3 KK RET 返回 RP0 LCALL DELAY 调用延时子程序 JNB P0 0 RP00 P0 0 闭合了吗 是 转 RP00 AJMP KK RP00 JB P0 0 KEY0 P0 0 释放了吗 是 转 KEY0 SJMP RP00 等待释放 RP1 LCALL DELAY 调用延时子程序 JNB P0 1 RP01 P0 1 闭合了吗 是 转 RP01 12 AJMP KK RP01 JB P0 1 KEY1 P0 1 释放了吗 是 转 KEY1 SJMP RP01 等待释放 RP2 LCALL DELAY 调用延时子程序 JNB P0 2 RP02 P0 2 闭合了吗 是 转 RP02 AJMP KK RP02 JB P0 2 KEY2 P0 2 释放了吗 是 转 KEY2 SJMP RP02 等待释放 RP3 LCALL DELAY 调用延时子程序 JNB P0 3 RP03 P0 3 闭合了吗 是 转 RP03 AJMP KK RP03 JB P0 3 KEY3 P0 3 释放了吗 是 转 KEY3 SJMP RP03 等待释放 AJMP KK KEY0 AJMP LP1 P0 0 键闭合 执行 LP1 子程序 KEY1 AJMP LP2 P0 1 键闭合 执行 LP2 子程序 KEY2 AJMP LP3 P0 2 键闭合 执行 LP3 子程序 KEY3 AJMP LP4 P0 3 键闭合 执行 LP4 子程序 DELAY MOV R5 18H 延时子程序 S0 MOV R6 0F8H S1 DJNZ R6 S1 DJNZ R5 S0 RET DELAY1 MOV R7 18H S2 LCALL DELAY DJNZ R7 S2 RET END 13 实验四实验四 LEDLED动态显示实验动态显示实验 1 实验目的实验目的 学习 LED 数码显示器与并行接口扩展电路设计方法 理解 LED 动态显示原理 并掌 握 LED 动态显示的编程方法 练习编程 调试的工作过程 2 实验设备实验设备 单片机实训与开发系统主机模块 1 台 LED 动态显示实验模块 1 台 并口线 1 根 40 芯连接排线 1 根 连接线若干 相关控制软件 3 实验电路原理图及其说明实验电路原理图及其说明 在多位 LED 显示时 为了简化硬件电路 通常将所有位的段选线相应地并联在一起 由一个 7 段 LED 或两个 米 字段 LED 8 位 I O 口控制 形成段选线的多路复用 而各位的共阳极或共阴极分别由相应的 I O 口控制 实现各位的分时选通 如图 4 1 所示 是一个 6 位 7 段 LED 动态显示器电路原理图 六位数码管采用共阳极 方式 U1 控制段选线 由 P2 7 选通 U2 控制位 由 P2 6 选通 由于各位的段选线并联 段选码的输出对各位来说都是相同的 因此 同一时刻 如果各位位选线都处于选通状 态的话 6 位 LED 将显示相同的字符 若要各位 LED 能够显示出与本位相应的显示字符 就必须采用扫描显示方式 即在某一时刻 只让某一位的位选线处于选通状态 而其它 各位的位选线处于关闭状态 同时 段选线上输出相应位要显示字符的字型码 这样 同一时刻 6 位 LED 中只有选通的那一位显示出字符 而其它 5 位则是熄灭的 同样 在下一时刻 只让下一位的位选线处于选通状态 而其它各位的位选线处于关闭状态 同时 在段选线上输出相应位将要显示字符的字型码 则同一时刻 只有选通位显示出 相应的字符 而其它各位则是熄灭的 如此循环下去 就可以使各位显示出将要显示的 字符 虽然这些字符是在不同时刻出现的 而且同一时刻 只有一位显示 其它各位都 熄灭 但由于人眼有视觉暂留现象 只要每 14 位显示间隔足够短 则可造成多位同时亮的假象 以达到显示的目的 共阳极 7 段 LED 数码管的显示字形编码表如下表 表 1 1 共阳极 7 段 LED 数码管的显示字型编码表 4 实验内容实验内容 在 RAM 71H 76H 中分别存入 6 位数字 1 2 3 4 5 6 要求将这 6 位数字分 别显示在 6 个数码管上 hgfedcba 011000000C0H 111111001F9H 210100100A4H 310110000B0H 41001100199H 51001001092H 61000001082H 711111000F8H 81000000080H 91001000090H A1000100088H B1000001183H C11000110C6H D10100001A1H E1000011086H F100011108EH P100011008CH U11000001C1H Y1001000191H 灭 11111111FFH 15 5 实验步骤实验步骤 1 用 40 芯排线把主机模块和 LED 动态显示实验模块连接起来 运行参考程序 把延 时子程序的 MOV R7 01H 改为 MOV R7 0FFH 看看有何变化 2 把 40 芯排线拔掉 用导线接把主机和 LED 动态显示实验模块连接起来 连接方式 自己定义 编写一个程序运行 a bf c g d e DPY 7 6 4 2 1 9 10 a b c d e f g 5 dp dp GND 8 GND 3 a bf c g d e DPY 7 6 4 2 1 9 10 a b c d e f g 5 dp dp GND 8 GND 3 a bf c g d e DPY 7 6 4 2 1 9 10 a b c d e f g 5 dp dp GND 8 GND 3 a bf c g d e DPY 7 6 4 2 1 9 10 a b c d e f g 5 dp dp GND 8 GND 3 a bf c g d e DPY 7 6 4 2 1 9 10 a b c d e f g 5 dp dp GND 8 GND 3 a bf c g d e DPY 7 6 4 2 1 9 10 a b c d e f g 5 dp dp GND 8 GND 3 P00 P01 P02 P03 P04 P05 P06 P07 P36 P27 10K 6 P00 P01 P02 P03 P04 P05 P06 P07 100 8 P36 P26 D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 CLK 11 E 1 U2 D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 CLK 11 E 1 U1VCC 图 4 1 LED 动态显示实验电路原理图 6 实验参考程序实验参考程序 16 ORG 000H AJMP START ORG 0030H START ACALL SEND 传送子程序 在 RAM 71H 76H 中分别存入六位数 1 6 DD ACALL DISP 显示子程序 AJMP DD 显示子程序 DISP MOV R2 0FEH 字位码在 R2 中 MOVR5 06H 显示 6 个数 MOVR0 71H 71H 为数据区首地址 DSP1 MOV DPTR 0BFFFH 0BFFFH 为 U2 为位码输出地址 MOVA R2 MOVX DPTR A 输出字位码 MOVA R0 将要显示的数值送入 A 中 DSP2 MOVDPTR BCD 查表 MOVC A A DPTR 查表 查出要显示的数值的字形码 MOVDPTR 7FFFH 7FFFH 为 U1 字形码输出地址 MOVX DPTR A 输出字形码 ACALL DEL0 延时 MOVA R2 RL A MOVR2 A INC R0 DJNZ R5 DSP1 RET BCD DB0C0H 0F9H 0A4H 0B0H 显示数值 0 1 2 3 DB99H 92H 82H 0F8H 4 5 6 7 DB80H 90H 88H 83H 8 9 A B DB0C6H 0A1H 86H 8EH C D E F DEL0 MOV R6 00H 延时子程序 17 TM MOVR7 01H DJNZ R7 DJNZ R6 TM RET 传送子程序 在 RAM 71H 76H 中分别存入六位数字 1 2 3 4 5 6 SEND MOV R7 06H MOV R0 71H MOV A 01H SS MOV R0 A INC A INC R0 DJNZ R7 SS RET END 18 实验五实验五 D AD A转换实验转换实验 1 实验目的实验目的 掌握 DAC0832 与 51 单片机的接口方法及 D A 转换程序设计方法 2 实验设备实验设备 单片机实训与开发系统主机模块 1 台 D A 转换实验模块 1 台 并口线 1 根 40 芯连接排线 1 根 连接线若干 相关控制软件 3 实验电路原理图及其说明实验电路原理图及其说明 DAC083 内部框图如图 5 1 所示 DAC0832 输出是电流型的 但在实际应用中往往需 要电压输出信号 所以电路中采用运算放大器来实现电流转换为电压 当数字量输入在 00 FFH 范围时电压输出量为 0 XV 或 0 XV 这种方式称单极性输出 若电压输出为 XV 则称为双极性输出 实际应用中需要单极性输出 也需要双极性输出 实验线路如图 5 2 示 电路中用一片四运放 LM324 来实现两种极性输出 只用了其 中两个 电路中 A 点输出为单极性 0 5V B 点输出为双极性 5V Xfer 和 WR2 同时接 地 WR1 与 89S52 的 WR 连接 这样 8 位 DAC 寄存器始终处于导通状态 当 CS 选通后 8 位数据输入寄存器 便直接通过 8 位 DAC 寄存器 并由 8 位转换器进行 D A 转换 DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0 13 14 15 16 4 5 6 7 19 2 1 18 17 8位输入 寄存器 8位DAC 寄存器 8位D A 寄存器 LE1LE2 M1 M2 M3 20 10 8 11 12 9 3 ILE CS WR2 XFER WR1 VREF Iout2 Rfb AGND VCC DGND Iout1 Rfb 19 图 5 1 DAC0832 原理框图 DAC0832 各引脚的功能如下 DI0 DI7 8 位数据输入线 ILE 数据允许锁存信号 高电平有效 输入寄存器选择信号 低电平有效 CS WR1 输入寄存器的数据写信号 数据向 DAC 寄存器传送信号 传送后即启动转换 XEFR DAC 寄存器写信号 并启动转换 2WR IOUT2 IOUT2 电流输出端 VREF 参考电压输入端 RFB 反馈信号输入端 VCC 电源输入引脚 AGND 模拟信号地 DGND 数字地 4 实验内容实验内容 1 DAC0832 和开关组的连接 测量不同输入时的输出电压 2 编写程序 使 D A 输出为锯齿波形 用示波器观察输出波形 3 编写程序 使 D A 输出为正弦波波形 用示波器观察输出波形 5 实验步骤实验步骤 1 DAC0832 和开关组的连接 用 40 芯排线把主机模块和 D A 转换实验模块连接起 来 把开关组的 8 位逻辑电平输出和 DAC0832 的 8 位数字输入量相连 WR1 和 CS 接地 使 DI7 DI0 上数字量始终可以穿过 8 位输入寄存器 到达 8 位 DAC 寄存器 通过开 关组输入不同数字量 分别用万用表测出 OUT 输出之值并作好记录 2 把 DI7 DI0 上的导线和 WR1 CS 上的导线拔掉 用 40 芯排线把主机模块和 D A 实验模块连接起来 运行参考程序 运行参考程序可输出 4 种波形 P1 0 接地输出锯齿 波 P1 1 接地输出方波 P1 2 接地输出三角波 P1 3 接地输出阶梯波 都不接地默认输 出锯齿波 20 4 把 40 芯排线拔掉 用导线接把主机和 D A 实验模块连接起来 连接方式自己定义 编写一个程序运行 VCC VCC 12V 12V 3 2 1 411 5 6 7 5v 5v DAC0832 R16 150 R14 20K R1320K R15 20K GND 3 GND 10 Vcc 20 Iout1 11 lsbDI0 7 Iout2 12 DI1 6 DI2 5 Rfb 9 DI3 4 DI4 16 Vref 8 DI5 15 DI6 14 msbDI7 13 ILE 19 WR2 18 CS 1 WR1 2 Xfer 17 U4 DAC0832 P36 0 5v R17 150 P00 P01 P02 P03 P04 P05 P06 P07 P27 GND LM324 A B S1 S2 S3 S4 S5 S6 S7 S8 R9 5 1k 8 R10 R11 R12 R13 R14 R15 R16 5V GND OUT1 OUT2 图 5 2 D A 转换实验电路原理图 21 6 实验参考程序实验参考程序 ORG 00H AJMP MAIN ORG 0030H MAIN JNB P1 0 LP1 P1 0 为 0 转移到 LP1 JNB P1 1 LP2 P1 1 为 0 转移到 LP2 JNB P1 2 LP3 P1 2 为 0 转移到 LP2 JNB P1 3 LP4 P1 0 为 0 转移到 LP3 锯齿波发生程序 LP1 MOV DPTR 7FFFH MOVX DPTR A INC A SJMP MAIN 方波波发生程序 LP2 MOV DPTR 7FFFH MOV A 00H MOVX DPTR A LCALL DELAY MOV A 0FFH MOVX DPTR A LCALL DELAY SJMP MAIN 三角波发生程序 LP3 CLR A MOV DPTR 7FFFH DOWN MOVX DPTR A INC A 22 JNZ DOWN MOV A 0FEH UP MOVX DPTR A DEC A JNZ UP SJMP MAIN 阶梯波发生程序 LP4 MOV DPTR 7FFFH MOV R1 0FH LOOP MOVX DPTR A LCALL DELAY DJNZ R1 NEXT SJMP MAIN NEXT ADD A 20H LCALL DELAY SJMP LOOP DELAY MOV 20H 80H LP11 NOP NOP DJNZ 20H LP11 RET END 23 实验六实验六 A DA D转换实验转换实验 1 实验目的实验目的 了解 A D 转换器 0809 的工作原理 掌握 ADC0809 与 51 单片机的接口方法及 A D 转换程序设计方法 2 实验设备实验设备 单片机实训与开发系统主机模块 1 台 A D 转换实验模块 1 台 并口线 1 根 40 芯连接排线 1 根 连接线若干 相关控制软件 3 实验电路原理图及其说明实验电路原理图及其说明 ADC0809 就 8 位逐次逼近型 A D 转换器 带 8 个摸拟量输入通道芯片内带通道地址 译码锁存器 输出带三态数据锁存器 启动信号位脉冲启动方式 每一通道的转换大约 100 s 图 6 2 a 是 ADC0809 的结构图 ADC0809 由两大部分组成 一部分位输入通道 包括 8 位模拟开关 三条地址线的锁存器和译码器 可以实现 8 路模拟输入通道的选择 另一部分位一个逐次逼近型 A D 转换器 图 6 2 b c 是 ADC0809 的引脚和通道地址码 其中 IN0 IN7 8 个模拟通道输入端 D0 D7 8 位数字量输出端 START 启动转换信号 EOC 转换结束信号 OE 输出允许信号 信号由 CPU 读信号和片选信号组合产生 24 CLOCK 外部时钟脉冲输入端 典型值 640KHZ ALE 地址锁存允许信号 A B C 通道地址线 CBA 的 8 种组合状态 000 111 对应了 8 个通道选择 VREF VREF 参考电压输入端 VCC 5V 电源 GND 地 C B A 输入的通道地址在 ALE 有效时被锁存 启动信号 START 启动后开始转换 但是 EOC 信号是在 START 的下降沿到来 10 s 后才变无效的低电平 这要求查询程序 待 EOC 无效后再开始查询 转换结束后由 OE 产生信号输出数据 实验线路如图 6 1 示 IN0 IN7 为 8 路模拟量输入端 A B C 控制 8 个输入通道进行 选择 如图 6 2 C 所示 Vout 为 0 5V 模拟电压输出 可以连到 IN0 IN7 的任一 端口 74LS74 组成分频电路 对 ALE 进行分频加到 CLK 端 EOC 为 A D 转换结束标志 可作为转换结束中断请求信号 转换后的数字量经 74LS377 选通输出 再经过 8 个发光二 极管指示 灯亮为 0 灯灭为 1 4 实验内容实验内容 编写程序 在模拟通道输入端输入直流电压 进行 A D 转换 并把转换后的数字量 选通 74LS377 再经发光二极管指示 记录下直流电压在 1V 2V 3V 4V 5V 时的 A D 转换结 果 5 实验步骤实验步骤 把 Vout 连接到 IN0 REF 和 REF 为参考电压输入端 分别接到 5V 和 GND 上 连上 40 芯排线 运行参考程序 25 ADC0809 GND 13 VCC 11 IN 0 26 msb2 1 21 2 2 20 IN 1 27 2 3 19 2 4 18 IN 2 28 2 5 8 2 6 15 IN 3 1 2 7 14 lsb2 8 17 IN 4 2 EOC 7 IN 5 3 ADD A 25 IN 6 4 ADD B 24 ADD C 23 IN 7 5 ALE 22 ref 16 ENABLE 9 START 6 ref 12 CLOCK 10 U2 ADC0809 VCC VCC R410K R510K R610K R710K R810K P33 1 2 3 U3A 74LS02 4 5 6 U3B 74LS02 P20 P36 P37 WR RD P00 P01 P02 P03 P04 P05 P06 P07 CLK R310K R210K R110K IN3 IN4 IN5 IN6 IN7 IN0 IN1 IN2 1 1 J2 OUT10K D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 CLK 11 E 1 U5 377 P00 P01 P02 P03 P04 P05 P06 P07 P36 P21 R11 330 R12 330 R13 330 R10 330 R14 330 R15 330 R16 330 R9 330 D1 LED D8 LED D7 LED D2 LED D3 LED D4 LED D5 LED D6 LED VCC Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 8 9 10 U3C 74LS02 CLK 3 D 2 SD 4 CD 1 Q 5 Q 6 U1A 74LS74 CLK 11 D 12 SD 10 CD 13 Q 9 Q 8 U1B ALE CLK VCC VCC P10 P11 P12 REF REF 图图 6 1 A D 转换实验电路原理图 26 a ADC0809 构结图构结图 b 引脚图引脚图 c 模拟通道地址码模拟通道地址码 图图 6 2 ADC0809 结构图 结构图 引脚图与通道地址码引脚图与通道地址码 1 2 3 4 5 6 7 8 9 10 11 12 13 1415 16 17 18 19 20 21 22 23 24 25 26 27 28 IN3 IN4 IN5 IN6 IN7 IN0 IN1 IN2 启动START 转换结束EOC D3 2 5 输出有效控制OE 时钟CLOCK 正电压源VCC 5V 参考电压 端VEFR 接地端GND 7 D1 2 D2 2 6 VEFR 8 D0 2 D4 2 4 D5 2 3 D6 2 2 D7 2 1 ALE地址锁存有效 ADDA ADDB ADDC 地址码 输入 MSB LSB 参考电压 端 地址码 ABC 000 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 IN0 选通模拟通道 IN1 IN2 IN3 IN4 IN5 IN6 IN7 START COLCK 启动时钟 8位A D转换器 逻辑控制 与定时电路 逐次逼近寄存器 SAR 树状模拟开 关阵译码器 256R电阻分压器 三态输 出数据 锁存器 8路摸 拟量选 通开关 通道地 址锁存 与译码 转换结速 EOC D0 LSB D1 D2 D3 D4 D5 D6 D7 MSB 输出有效控制 OE IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 A B C 地址锁存有效 ALE 8位 数据 输出 电压比较器 VREF VREF GNDVCC 8路摸拟 信号输入 3 位 地址码 输 入 A 27 6 实验参考程序实验参考程序 ORG 00H AJMP MAIN ORG 0013H AJMP CINT 转中断服务程序 ORG 0030H MAIN MOV P1 0FFH SETB EA 开 CPU 中断 SETB EX1 允许 INT1 中断 SETB IT1 即 INT1 为边沿触发 SJMP 等待中断 CINT MOV DPTR 0FEFFH 端口地址送 DPTR MOV P1 00H 选择通道 IN0 MOVX DPTR A 启动转换 MOVX A DPTR 读取转换结果 MOV DPTR 0FDFFH 输出端口地址送 DPTR MOVX DPTR A 数字量通过 74LS377 输出 MOV DPTR 0FEFFH MOVX DPTR A 启动转换 RETI END 实验七实验七 定时定时 计数实验计数实验 1 实验目的实验目的 了解 51 单片机中定时器 计数器的基本 28 结构 工作原理和工作方式 掌握工作在定时器和计数器两种方式下的编程方法 2 实验设备实验设备 单片机实训与开发系统主机模块 1 台 定时 计数 中断实验模块 1 台 并口线 1 根 40 芯连接排线 1 根 连接线若干 相关控制软件 3 实验电路原理图及其说明实验电路原理图及其说明 80C51 内部有 T0 T1 两个定时器 计数器 TL0 TH0 和 TL1 TH1 分别对应两个定 时器 计数器的低 8 位和高 8 位 与定时器 计数器有关的 SFR 还有 TMOD 和 TCON TCON 中 TR0 TR1 是 T0 T1 对应的开始运行控制位 TF0 TF1 是溢出标志 剩 下 4 位是两个外部中断 INT0 INT1 对应的方式控制位 IT0 IT1 和中断请求标志 IE0 IE1 TMOD 中 每个定时器 计数器对应 GATE C T M1 M0 4 位 GATE 是选 通门控位 它决定 T0 T1 的开始运行是否要受外部中断输入引脚电平的控制 C T 是定 时器 计数器选择位 在定时器工作方式时 计数输入信号来自内部时钟 每个机器周期 计数寄存器加 1 在计数器工作方式时 计数输入信号来自 T0 T1 管脚 输入信号每次 从 1 到 0 跳变 计数寄存器加 1 要注意的是输入信号的最高频率不得大于机器振荡频率 的 1 24 M1 M0 是模式控制位 决定了 T0 T1 的四种工作模式 对于每种模式的具体 说明请阅读有关的参考手册 定时器 计数器控制寄存器 TCON D7 D6 D5 D4 D3 D2 D1 D0 TF1TR1TF0TR0IE1IT1IE0IT0 定时器 计数器方式寄存器 TMOD D7 D6 D5 D4 D3 D2 D1 D0 GATEC TM1M2GATEC TM1M0 实验线路如图 7 1 所示 这里以 T0 工作在方式 1 即 16 位定时计数方式为例简要说 明定时器 计数器的工作过程 根据需要设置 TMOD 及 TL0 TH0 的数值 开启定时或计 数 定时或计数溢出时自动置溢出标志 并请求中断 4 实验内容实验内容 29 1 定时器实验 晶振为 11 0592MHz 为方便计算按 12MHz 计算 用定时器 0 产生 50ms 定时 由 P1 0 输出周期为 100ms 的方波信号 并通过示波器观察 P1 0 的输出波形 2 计数器实验 手动外部输入脉冲 计数器计到一定值时 由 P1 0 输出高电平 使 蜂鸣器发声 5 实验步骤实验步骤 1 定时器实验 用 40 芯排线把主机模块和定时 计数 中断实验模块连接起来 接通 电源 运行参考程序 2 计数器实验 用导线把 P3 4 T0 连接到单次脉冲输出端 把 P1 0 连接到蜂鸣器输 入端 再用 40 芯排线把主机模块和定时 计数 中断实验模块连接起来 接通电源 运 行参考程序 3 定时器 计数器的其它工作方式 编写程序运行 实验模块提供两种连接方式 40 芯排线连接 或自由连接 1 2 3 U1A 8 9 10 U1C 4 5 6 U1B GND R1 1K R2 1K VCC R18 2K D4 LED R4 1K a bf c g d e DPY7 6 4 2 1 9 10 a b c d e f g 5 dp dp GND 8 GND 3 DS1 DPY 7 SEG DP a bf c g d e DPY7 6 4 2 1 9 10 a b c d e f g 5 dp dp GND 8 GND 3 DS2 DPY 7 SEG DP a bf c g d e DPY7 6 4 2 1 9 10 a b c d e f g 5 dp dp GND 8 GND 3 DS3 DPY 7 SEG DP a bf c g d e DPY7 6 4 2 1 9 10 a b c d e f g 5 dp dp GND 8 GND 3 DS4 DPY 7 SEG DP P00 P01 P02 P03 P04 P05 P06 P07 P36 P27 T1 T9012 VCC R14 R10k T2 T9012 VCC R15 R10k T3 T9012 VCC R16 R10k T4 T9012 VCC R17 R10k R5 100 R6 100 R7 100 R8 100 R9 100 R10 100 R11 100 R12 100 D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 CLK 11 E 1 U2 377 P10 P11 P12 P13 D2 LED R3 510 VCC D3 LED P14 S3 SW PB S2 P16 P15 R20 10K R21 10K VCC U3 BELL R13 100 R22 20K Q1 9013 VCC D1 LED R19 2K GND S1 LED 图 7 1 定时 计数 中断实验电路原理图 6 实验参考程序实验参考程序 30 1 定时器实验 ORG 00H AJMP MAIN ORG 0030H MAIN MOV TMOD 01H 设定时器 0 为方式 1 MOV TL0 3CH 赋初值 MOV TH1 0B0H SETB TR0 启动 T0 LP JBC TF0 LP1 查询计数溢出 SJMP LP LP1 MOV TL0 0B0H MOV TH0 3BH CPL P1 0 P1 0 取反输出 AJMP LP 反复循环 END 1 计数器实验 ORG 00H AJMP MAIN ORG 0030H MAIN CLR P3 7 MOV TMOD 06H MOV TL0 0FAH MOV TH0 0FAH SETB TR0 LP JBC TF0 LP1 SJMP LP LP1 CPL P3 7 SJMP LP END 31 实验八实验八 中断实验中断实验 1 实验目的实验目的 了解 51 单片机的中断组成 中断原理中断处理过程 外部中断的中断方式 掌握中 断功能的编程方法 2 实验设备实验设备 单片机实训与开发系统主机模块 1 台 定时 计数 中断实验模块 1 台 并口线 1 根 40 芯连接排线 1 根 连接线若干 相关控制软件 3 实验电路原理图及其说明实验电路原理图及其说明 实验线路如图 7 1 所示 这里简单介绍一下 80C51 的中断功能 有关中断原理的内容 这里不做说明 80C51 的中断系统有 5 个中断源 外部中断 INT0 定时器 计数器 T0 外部 中断 INT1 定时器 计数器 T1 和串口 UART 中断 它们对应不同的中断矢量 IE 是中断允许寄存器 其中 EX0 ET0 EX1 ET1 ES 分别是上述 5 个中断的允许控 制位 EA 是中断总允许位 每个中断只有在相应中断允许且总中断也允许的情况下才能 得到中断响应 5 个中断都可以设为高 低 2 个优先级 IP 是中断优先级寄存器 其中的 PX0 PT0 PX1 PT1 PS 位分别对应 5 个中断的优先级设置 置 1 时设定为高级中 断 为 0 时是低级中断 4 实验内容实验内容 1 定时器中断实验 编程设定 1S 定时 按 12M 计算 定时中断到来时 通过 P1 0 口发出信号 LED 发 光二极管亮 1S 灭 1S 如此循环 2 外部中断实验 每次手动外部输入中断后 P1 0 取反一次 也就是每次中断发光二极管变化一次 3 定时器 计数器 中断综合实验 实验线路如图 7 1 所示 设计一个时钟程序 5 实验步骤实验步骤 32 1 定时器中断实验 用 40 芯排线把主机模块和定时 计数 中断

温馨提示

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

评论

0/150

提交评论