




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 目 录 基本 I O 口实 训 1 外部数据存储器的应用 6264 4 外部数据存储器的应用 2864 6 键盘显示接口芯片的应 用 8 并口扩展的应 用 12 A D 转换的实 训 14 D A 转换的实 训 20 采集温 2 度 21 制作音乐 盒 27 制作四字单色显示 屏 31 控制微型打印 机 39 3 实验一 基本实验一 基本 I OI O 口的实训口的实训 目的 通过对单片机的编程仿真 学会单片机仿真系统的基本工作过程 要求 用 LED 的亮 灭来体现单片机高 低电平的变化 连接单片机的基本 I O 口 对单片 机进行编程使其完成 1 8 个 LED 顺序点亮 顺序熄灭 依此循环 4 次 2 8 个 LED 第 1 3 5 7 与 2 4 6 8 LED 交替点亮 依此循环 4 次 3 1 和 2 无限次循环 原理 1234 A B C D 4321 D C B A Title NumberRevisionSize A Date 22 Sep 2005Sheet of File D chu MyDesign1 ddbDrawn By EA VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TXD 11 RXD 10 89C51 1Y 1Y 3Y 4Y 5Y 6Y 7Y 8Y 1A 2A 3A 4A 5A 6A 7A 8A 74ALS04 300 300 300 300 300 300 300 300 5V 20uF 1K 5V 11 0592MHz 30PF 30PF 步骤 1 连接系统板的 P1 口到 LED 2 连接 PC 机和仿真机的串口线 3 给仿真机接通电源 4 打开仿真机的电源开关 电源灯亮表示仿真系统已经带电 5 编程 6 调试 7 改换其它 I O 口 调试程序 4 参考程序 ORG 0000H MAIN MOV P1 0FFH MOV R7 04H BACK1 SETB P3 0 CLR P1 0 LCALL YS CLR P1 1 LCALL YS CLR P1 2 LCALL YS CLR P1 3 LCALL YS CLR P1 4 LCALL YS CLR P1 5 LCALL YS CLR P1 6 LCALL YS CLR P1 7 LCALL YS SETB P1 0 LCALL YS SETB P1 1 LCALL YS SETB P1 2 LCALL YS SETB P1 3 LCALL YS SETB P1 4 LCALL YS SETB P1 5 LCALL YS SETB P1 6 LCALL YS SETB P1 7 LCALL YS CLR P3 0 DJNZ R7 BACK1 MOV R7 04H BACK2 SETB P3 0 CLR P1 1 CLR P1 3 CLR P1 5 5 CLR P1 7 LCALL YS LCALL YS SETB P1 1 SETB P1 3 SETB P1 5 SETB P1 7 CLR P1 0 CLR P1 2 CLR P1 4 CLR P1 6 LCALL YS LCALL YS SETB P1 0 SETB P1 2 SETB P1 4 SETB P1 6 CLR P3 0 DJNZ R7 BACK2 LJMP MAIN YS MOV TMOD 01H MOV R5 05H LOOP MOV TH0 4CH MOV TL0 00H SETB TR0 JNB TF0 CLR TF0 CLR TR0 DJNZ R5 LOOP RET SJMP END 心得体会 6 实验二 外部数据存储器的应用 实验二 外部数据存储器的应用 62646264 目的 学会用单片机和外部数据存储器进行交流 了解单片机和外部数据进行交换时的时 序关系 要求 以 6264 数据存储器为实例 按照系统板上的硬件地址对其进行编程 写出 单片机与 6264 的接口地址 读出 6264 中连续 16 个字节的随机数 由小到大排序 然后再存放到 6264 的相应字节中 由 BC7281 显示地址及数据 前四位地址 最后 两位数据 原理 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date 22 Sep 2005Sheet of File D chu MyDesign1 ddbDrawn By EA VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TXD 11 RXD 10 89C51 20uF 1K 5V 11 0592MHz 30PF 30PF A0 10 A1 9 A2 8 A3 7 A4 6 A5 5 A6 4 A7 3 A8 25 A9 24 A10 21 A11 23 A12 2 CS1 20 CS2 26 WE 27 OE 22 D0 11 D1 12 D2 13 D3 15 D4 16 D5 17 D6 18 D7 19 6264 A0 2 A1 3 A2 4 A3 5 A4 6 A5 7 A6 8 A7 9 B0 18 B1 17 B2 16 B3 15 B4 14 B5 13 B6 12 B7 11 E 19 DIR 1 74ALS245 OC 1 C 11 1D 2 2D 3 3D 4 4D 5 5D 6 6D 7 7D 8 8D 9 1Q 19 2Q 18 3Q 17 4Q 16 5Q 15 6Q 14 7Q 13 8Q 12 74ALS573 A 1 B 2 C 3 E1 4 E2 5 E3 6 Y0 15 Y1 14 Y2 13 Y3 12 Y4 11 Y5 10 Y6 9 Y7 7 74ALS138 5v 5v 1 2 3 A 74ALS00 1 2 3 A 74ALS00 步骤 1 连接 PC 机和仿真机的串口线 2 连接 P1 0 DAT P1 1 KEY P1 2 CLK 3 给仿真机接通电源 4 打开仿真机的电源开关 电源灯亮表示仿真机已经带电 5 编程 6 调试 7 参考程序 CCQ EQU 2000H 外部数据 RAM 的地址从 2000H 开始到 3FFFH 结束 BIT COUNTDATA06FH TIMERDATA06EH TIMER1DATA06DH TEMPDATA06CH DATA INDATA02FH DATA OUTDATA02EH CLKBIT P1 2 定义 I O 口 DATBIT P1 0 KEYBIT P1 1 ORG 0000H MAIN LCALL XSFW MOVR0 30H MOVR1 10H MOV DPTR CCQ BACK MOVX A DPTR MOV R0 A INCR0 INCDPTR DJNZR1 BACK LCALLPAIXU MOVR0 30H MOVR1 10H MOV DPTR CCQ 外部数据 RAM 的地址从 2000H 开始到 3FFFH 结 束 BACK1 MOV A R0 MOVX DPTR A INCR0 INCDPTR DJNZR1 BACK1 LCALL XSSHJ SJMP PAIXU MOV R0 30H 排序子程序 MOV R1 31H MOV 40H 0FH LOP MOV 41H 40H LP MOVA R0 CLRCY SUBB A R1 JC NEXT MOV A R0 8 XCH A R1 MOV R0 A NEXT INC R1 DJNZ 41H LP INC R0 MOV A R0 INC A MOV R1 A DJNZ 40H LOP RET XSFW MOV TIMER 50 START DELAY MOV TIMER1 255 延时以确保 BC728X 完成复位 START DELAY1 DJNZ TIMER1 START DELAY1 DJNZ TIMER START DELAY MOV DATA OUT 12H BC728X 初始化 LCALL SEND MOV DATA OUT 80H 设定为 164 模式 不反相 LCALL SEND RET 向 BC728X 发送一个字节子程序 待发送数据存于 DATA OUT SEND CLR CLK 在 CLK 输出一脉冲 SETBCLK WAIT1 JBDAT WAIT1 等待 DAT 变为低电平 CLR CLK 再输出一 CLK 脉冲 SETBCLK WAIT2 JNB DAT WAIT2 等待 DAT 恢复高电平 输入状态 MOV BIT COUNT 8 SEND LOOP MOV C DATA OUT 7 输出 BIT7 MOV DAT C CLR CLK 输出一 CLK 脉冲 SETBCLK MOV A DATA OUT RLA MOV DATA OUT A DATA OUT 左移一位 NOP 短暂延时 NOP NOP DJNZBIT COUNT SEND LOOP SETBDAT 恢复 DAT 为高电平 RET 9 从 BC728X 接收一个字节子程序 接收到的数据存于 DATA IN RECEIVE CLR CLK 发出一 CLK 脉冲 SETBCLK WAIT3 JBDAT WAIT3 等待 DAT 低电平响应信号 CLR CLK 再发出一 CLK 脉冲 准备接收数据 SETBCLK MOV BIT COUNT 8 RECV LOOP NOP 短暂延时 NOP NOP NOP NOP NOP NOP NOP MOV A DATA IN MOV C DAT 读入一位 RLC A MOV DATA IN A CLR CLK 发出 CLK 脉冲 SETBCLK DJNZBIT COUNT RECV LOOP RET XSSHJ MOVR0 30H MOVR1 10H MOV41H 00H MOV DPTR CCQ BACK3 MOV DATA OUT 15H HEX 译码指令 LCALLSEND MOV A DPH ANL A 0F0H 取键码的低 4 位 SWAP A ADD A 41H MOV DATA OUT a 在第 0 位显示 LCALLSEND MOV A 41H ADD A 10H MOV 41H A MOV DATA OUT 15H HEX 译码指令 10 LCALLSEND MOV A DPH ANL A 0FH 取键码的低 4 位 ADD A 41H MOV DATA OUT a 在第 0 位显示 LCALLSEND MOV A 41H ADD A 10H MOV 41H A MOV DATA OUT 15H HEX 译码指令 LCALLSEND MOV A DPL ANL A 0F0H 取键码的低 4 位 SWAP A ADD A 41H MOV DATA OUT a 在第 0 位显示 LCALLSEND MOV A 41H ADD A 10H MOV 41H A MOV DATA OUT 15H HEX 译码指令 LCALLSEND MOV A DPL ANL A 0FH 取键码的低 4 位 ADD A 41H MOV DATA OUT a 在第 0 位显示 LCALLSEND MOV A 41H ADD A 30H MOV 41H A MOV DATA OUT 15H HEX 译码指令 LCALLSEND MOV A R0 ANL A 0F0H 取键码的低 4 位 SWAP A ADD A 41H MOV DATA OUT a 在第 0 位显示 LCALLSEND MOV A 41H 11 ADD A 10H MOV 41H A MOV DATA OUT 15H HEX 译码指令 LCALLSEND MOV A R0 ANL A 0FH 取键码的低 4 位 ADD A 41H MOV DATA OUT a 在第 0 位显示 LCALLSEND INC R0 INC DPTR LCALL YS2 MOV41H 00H DJNZR1 BACK2 RET BACK2 LJMP BACK3 YS MOV 60H 02H YS1 MOV 61H 33H YS2 MOV 62H 33H YS3 DJNZ 62H YS3 DJNZ 61H YS2 DJNZ 60H YS1 RET END 心得体会 12 实验三 外部数据存储器的应用 实验三 外部数据存储器的应用 28642864 目的 学会单片机和外部程序存储器的交流 知道比较程序存储器和数据存储器的差异 要求 以 2864 数据存储器为实例 按照系统板上的硬件地址对其进行编程 写出 单片机与 2864 的接口地址 读出 2864 中连续 16 个字节的随机数 由小到大排序 然后再存放到 2864 的相应字节中 由 BC7281 显示地址及数据 前四位地址 最 后两位数据 原理 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date 22 Sep 2005Sheet of File D chu MyDesign1 ddbDrawn By EA VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TXD 11 RXD 10 89C51 20uF 1K 5V 11 0592MHz 30PF 30PF A0 2 A1 3 A2 4 A3 5 A4 6 A5 7 A6 8 A7 9 B0 18 B1 17 B2 16 B3 15 B4 14 B5 13 B6 12 B7 11 E 19 DIR 1 74ALS245 OC 1 C 11 1D 2 2D 3 3D 4 4D 5 5D 6 6D 7 7D 8 8D 9 1Q 19 2Q 18 3Q 17 4Q 16 5Q 15 6Q 14 7Q 13 8Q 12 74ALS573 A 1 B 2 C 3 E1 4 E2 5 E3 6 Y0 15 Y1 14 Y2 13 Y3 12 Y4 11 Y5 10 Y6 9 Y7 7 74ALS138 5v 1 2 3 A 74ALS00 1 2 3 A 74ALS00 A0 10 A1 9 A2 8 A3 7 A4 6 A5 5 A6 4 A7 3 A8 25 A9 24 A10 21 A11 23 A12 2 CE 20 OE 22 PGM 27 VPP 1 D0 11 D1 12 D2 13 D3 15 D4 16 D5 17 D6 18 D7 19 2864 步骤 1 连接 PC 机和仿真机的串口线 2 连接 P1 0 DAT P1 1 KEY P1 2 CLK 3 给仿真机接通电源 4 打开仿真机的电源开关 电源灯亮表示仿真机已经带电 5 编程 13 6 调试 参考程序 CCQ EQU 0000H 外部数据 RAM 的地址从 0000H 开始到 1FFFH 结束 BIT COUNTDATA06FH TIMERDATA06EH TIMER1DATA06DH TEMPDATA06CH DATA INDATA02FH DATA OUTDATA02EH CLKBIT P1 2 定义 I O 口 DATBIT P1 0 KEYBIT P1 1 ORG 0000H MAIN LCALL XSFW MOVR0 30H MOVR1 10H MOV DPTR CCQ 外部数据 RAM 的地址从 0000H 开始到 1FFFH 结 束 BACK MOVX A DPTR MOV R0 A INCR0 INCDPTR DJNZR1 BACK LCALLPAIXU MOVR0 30H MOVR1 10H MOV DPTR 0050H 外部数据 RAM 的地址从 0000H 开始到 1FFFH 结束 BACK1 MOV A R0 MOVX DPTR A LCALL YS4 INCR0 INCDPTR DJNZR1 BACK1 LCALL XSSHJ SJMP PAIXU MOV R0 30H 排序子程序 MOV R1 31H MOV 40H 0FH LOP MOV 41H 40H LP MOVA R0 CLRCY SUBB A R1 14 JC NEXT MOV A R0 XCH A R1 MOV R0 A NEXT INC R1 DJNZ 41H LP INC R0 MOV A R0 INC A MOV R1 A DJNZ 40H LOP RET YS4 MOV TMOD 01H MOV R5 01H LOOP MOV TH0 0CH MOV TL0 00H SETB TR0 JNB TF0 CLR TF0 CLR TR0 DJNZ R5 LOOP RET XSFW MOV TIMER 50 START DELAY MOV TIMER1 255 延时以确保 BC728X 完成复位 START DELAY1 DJNZ TIMER1 START DELAY1 DJNZ TIMER START DELAY MOV DATA OUT 12H BC728X 初始化 LCALL SEND MOV DATA OUT 80H 设定为 164 模式 不反相 LCALL SEND RET 向 BC728X 发送一个字节子程序 待发送数据存于 DATA OUT SEND CLR CLK 在 CLK 输出一脉冲 SETBCLK WAIT1 JBDAT WAIT1 等待 DAT 变为低电平 CLR CLK 再输出一 CLK 脉冲 SETBCLK WAIT2 JNB DAT WAIT2 等待 DAT 恢复高电平 输入状态 MOV BIT COUNT 8 SEND LOOP MOV C DATA OUT 7 输出 BIT7 MOV DAT C 15 CLR CLK 输出一 CLK 脉冲 SETBCLK MOV A DATA OUT RLA MOV DATA OUT A DATA OUT 左移一位 NOP 短暂延时 NOP NOP DJNZBIT COUNT SEND LOOP SETBDAT 恢复 DAT 为高电平 RET 从 BC728X 接收一个字节子程序 接收到的数据存于 DATA IN RECEIVE CLR CLK 发出一 CLK 脉冲 SETBCLK WAIT3 JBDAT WAIT3 等待 DAT 低电平响应信号 CLR CLK 再发出一 CLK 脉冲 准备接收数据 SETBCLK MOV BIT COUNT 8 RECV LOOP NOP 短暂延时 NOP NOP NOP NOP NOP NOP NOP MOV A DATA IN MOV C DAT 读入一位 RLC A MOV DATA IN A CLR CLK 发出 CLK 脉冲 SETBCLK DJNZBIT COUNT RECV LOOP RET XSSHJ MOVR0 30H MOVR1 10H MOV41H 00H MOV DPTR CCQ BACK3 MOV DATA OUT 15H HEX 译码指令 16 LCALLSEND MOV A DPH ANL A 0F0H 取键码的低 4 位 SWAP A ADD A 41H MOV DATA OUT a 在第 0 位显示 LCALLSEND MOV A 41H ADD A 10H MOV 41H A MOV DATA OUT 15H HEX 译码指令 LCALLSEND MOV A DPH ANL A 0FH 取键码的低 4 位 ADD A 41H MOV DATA OUT a 在第 0 位显示 LCALLSEND MOV A 41H ADD A 10H MOV 41H A MOV DATA OUT 15H HEX 译码指令 LCALLSEND MOV A DPL ANL A 0F0H 取键码的低 4 位 SWAP A ADD A 41H MOV DATA OUT a 在第 0 位显示 LCALLSEND MOV A 41H ADD A 10H MOV 41H A MOV DATA OUT 15H HEX 译码指令 LCALLSEND MOV A DPL ANL A 0FH 取键码的低 4 位 ADD A 41H MOV DATA OUT a 在第 0 位显示 LCALLSEND MOV A 41H ADD A 30H 17 MOV 41H A MOV DATA OUT 15H HEX 译码指令 LCALLSEND MOV A R0 ANL A 0F0H 取键码的低 4 位 SWAP A ADD A 41H MOV DATA OUT a 在第 0 位显示 LCALLSEND MOV A 41H ADD A 10H MOV 41H A MOV DATA OUT 15H HEX 译码指令 LCALLSEND MOV A R0 ANL A 0FH 取键码的低 4 位 ADD A 41H MOV DATA OUT a 在第 0 位显示 LCALLSEND INC R0 INC DPTR LCALL YS2 MOV41H 00H DJNZR1 BACK2 RET BACK2 LJMP BACK3 YS MOV 60H 02H YS1 MOV 61H 33H YS2 MOV 62H 33H YS3 DJNZ 62H YS3 DJNZ 61H YS2 DJNZ 60H YS1 RET END 心得体会 18 实验四 键盘显示接口芯片的应用实验四 键盘显示接口芯片的应用 目的 学会使用键盘显示接口芯片 BC7281 了解键盘的工作原理 LED 数码管的显示方式 及工作原理 要求 从键盘输入信息 数码管显示对应按键键码 原理 1234 A B C D 4321 D C B A Title NumberRevisionSiz e Orcad A Date 31 Mar 2005Sheet of File D 件件件 件件件件件 件件件件件 DdbDrawn By QJ1 8050 QJ2 8050 QJ3 8050 QJ4 8050 QJ5 8050 QJ6 8050 QJ7 8050 B CE QJ8 8050 VC C VC C VC C VC C VC C VC C VC C VC C A B C D E F G DP COM DIG0 A B C D E F G DP COM DIG1 A B C D E F G DP COM DIG2 A B C D E F G DP COM DIG3 A B C D E F G DP COM DIG4 A B C D E F G DP COM DIG5 A B C D E F G DP COM DIG6 A B C D E F G DP COM DIG7 SA SB SC SD SE SF SG DP SA SB SC SD SE SF SG DP SA SB SC SD SE SF SG DP SA SB SC SD SE SF SG DP SA SB SC SD SE SF SG DP SA SB SC SD SE SF SG DP SA SB SC SD SE SF SG DP SA SB SC SD SE SF SG DP SA SB SC SD SE SF SG DP VC C CLK DAT KEY R79 3 3K C21 20P VC C A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U13 74XX164 DIG0 DIG1 DIG2 DIG3 DIG4 DIG5 DIG6 DIG7 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 DIG0 DIG1 DIG2 DIG3 DIG4 DIG5 DIG6 DIG7 SO0 SO1 SO0 SO1 VC C R28 4 7K R29 4 7K R30 4 7K R31 4 7K R32 4 7K R33 4 7K R34 4 7K R35 4 7K DIG0 6 DIG1 7 DIG2 8 DIG3 9 DIG4 10 DIG5 11 DIG6 12 DIG7 13 SDAT 18 SC LK 17 DAT 1 CLK 3 KEY 2 RS T 4 RC 16 OS CO 15 U12 BC 7281 R1 R8 100 8 D5 1N4148 D6 1N4148 S12 S13 S14 S15 S11 S16 S17 S18 SO2 D7 1N4148 SO2 1 2 3 J7281 CON3 CLK DAT KEY D1 2 D2 3 D3 21 D4 22 STR 1 INH 23 S0 11 S1 9 S2 10 S3 8 S4 7 S5 6 S6 5 S7 4 S8 18 S9 17 S10 20 S11 19 S12 14 S13 13 S14 16 S15 15 VCC 24 GND 12 步骤 1 连接 PC 机和仿真机的串口线 2 连接 P1 0 DAT P1 1 KEY P1 2 CLK 3 给仿真机接通电源 4 打开仿真机的电源开关 电源灯亮表示仿真机已经带电 5 编程 6 调试 参考程序 include 函数定义 void delay unsigned char 短暂延时 void write728x unsigned char unsigned char 写入到 BC728x unsigned char read728x unsigned char 从 BC728x 读出 void send byte unsigned char 发送一个字节 unsigned char receive byte void 接收一个字节 void chushihua BC7281 unsigned char Number unsigned char 变量及 I O 定义 unsigned char key number unsigned int tmr sbit dat P1 0 dat 连接于 P1 0 19 sbit key P1 1 key 连接于 P1 1 sbit clk P1 2 clk 连接于 P1 2 主程序 main unsigned char a unsigned int i key 1 chushihua BC7281 初始化 for if key 0 key number read728x 0 x13 write728x 0 x15 0 x00 key number write728x 0 x15 0 x10 key number write728x 0 x15 0 x20 key number write728x 0 x15 0 x30 key number write728x 0 x15 0 x40 key number write728x 0 x15 0 x50 key number write728x 0 x15 0 x60 key number write728x 0 x15 0 x70 key number 初始化 BC7281 void chushihua BC7281 for tmr 0 tmr 0 xffff tmr 等待 BC728x 完成复位 write728x 0 x12 0 x80 初始化 BC728x 为 164 模式 不反相 写入 BC728X 第一个参数为目标寄存器地址 第二个参数为要写入的数据 void write728x unsigned char reg add unsigned char write data send byte reg add 发送寄存器地址 send byte write data 发送数据字节 读出 BC728X 内部寄存器的值 调用参数为寄存器地址 20 unsigned char read728x unsigned char reg add send byte reg add 0 x80 发送读指令 bit7 1 return receive byte 接收数据并返回 向 BC728X 发送一个字节 void send byte unsigned char send byte unsigned char bit counter clk 0 产生一个 clk 脉冲 clk 1 do clk 0 发送 clk 脉冲 直至 dat 为低电平 clk 1 while dat clk 0 15us 之内再输出一个 clk 脉冲 clk 1 while dat 等待 BC728X 进入接收状态 for bit counter 0 bit counter 8 bit counter 发送 8 个比特 if send byte 如果待发 bit 为 0 置 dat 为 0 else dat 1 反之为 1 send byte send byte 2 send byte 左移一位 clk 0 输出一个 clk 脉冲 clk 1 delay 1 短暂延时 dat 1 恢复 dat 为高电平 delay 2 指令间设置一个微小延时 从 BC728X 接受一个字节 unsigned char receive byte void 21 unsigned char bit counter in byte clk 0 只发送单一的 clk 脉冲 clk 1 while dat 等待 BC728X 响应 dat 低电平 clk 0 收到响应 在发一个脉冲等待接收数据 clk 1 for bit counter 0 bit counter 8 bit counter 接收 8 个 bit delay 1 短暂延时 in byte in byte 2 in byte 左移一位 if dat 如果 dat 为 1 in byte in byte 0 x01 bit0 1 clk 0 输出一个 clk 脉冲 clk 1 delay 2 指令间设置一个微小延时 return in byte 短暂延时程序 延时时间与 time 成正比 范围是几个 uS 到几百个 uS void delay unsigned char time while time 0 time 心得体会 22 实验五 并口扩展的应用实验五 并口扩展的应用 目的 学会使用并口扩展芯片 8255 了解并口的扩展原理 要求 用 8255 扩展出的 I O 口来点亮发光二极管 先使发光二极管从左到右依次点亮 然 后再逐次熄灭 原理 123456 A B C D 654321 D C B A Title NumberRevisionSize C Date 24 Sep 2005Sheet of File D chu MyDesign1 ddbDrawn By AD0 12 PA0 21 AD1 13 PA1 22 AD2 14 PA2 23 AD3 15 PA3 24 AD4 16 PA4 25 AD5 17 PA5 26 AD6 18 PA6 27 AD7 19 PA7 28 PB0 29 CE 8 PB1 30 RD 9 PB2 31 WR 10 PB3 32 IO M 7 PB4 33 ALE 11 PB5 34 PB6 35 PB7 36 TMROUT 6 PC0 37 PC1 38 TMRIN 3 PC2 39 PC3 1 PC4 2 RESET 4 PC5 5 8155 A0 2 A1 3 A2 4 A3 5 A4 6 A5 7 A6 8 A7 9 B0 18 B1 17 B2 16 B3 15 B4 14 B5 13 B6 12 B7 11 E 19 DIR 1 74ALS245 OC 1 C 11 1D 2 2D 3 3D 4 4D 5 5D 6 6D 7 7D 8 8D 9 1Q 19 2Q 18 3Q 17 4Q 16 5Q 15 6Q 14 7Q 13 8Q 12 74ALS573 EA VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TXD 11 RXD 10 89C51 A 1 B 2 C 3 E1 4 E2 5 E3 6 Y0 15 Y1 14 Y2 13 Y3 12 Y4 11 Y5 10 Y6 9 Y7 7 74ALS138 20uF 1K 5V 11 0592MHz 30PF 30PF 5v A0 2 A1 3 A2 4 A3 5 A4 6 A5 7 A6 8 A7 9 B0 18 B1 17 B2 16 B3 15 B4 14 B5 13 B6 12 B7 11 E 19 DIR 1 74ALS245 1 2 3 A 74ALS00 4 5 6 B 74ALS00 OC 1 C 11 1D 2 2D 3 3D 4 4D 5 5D 6 6D 7 7D 8 8D 9 1Q 19 2Q 18 3Q 17 4Q 16 5Q 15 6Q 14 7Q 13 8Q 12 74ALS573 D0 34 D1 33 D2 32 D3 31 D4 30 D5 29 D6 28 D7 27 PA0 4 PA1 3 PA2 2 PA3 1 PA4 40 PA5 39 PA6 38 PA7 37 PB0 18 PB1 19 PB2 20 PB3 21 PB4 22 PB5 23 PB6 24 PB7 25 PC0 14 PC1 15 PC2 16 PC3 17 PC4 13 PC5 12 PC6 11 PC7 10 RD 5 WR 36 A0 9 A1 8 RESET 35 CS 6 8255 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 步骤 1 连接系统板上 8255 的 PB 或 PC 口和 LED 的基本接口 2 连接 PC 机和仿真机的串口线 3 给仿真机接通电源 4 打开仿真机的电源开关 电源灯亮表示仿真机已经带电 5 编程 6 调试 参考程序 ORG 0000H MAIN MOV DPTR 4003H 方式控制字的地址 MOV A 90H MOVX DPTR A MOV DPTR 4000H A 口的地址 MOVX A DPTR MOV A 30H MOV DPTR 4001H B 口的地址 MOV A 01H 发光二极管循环点亮测试 B 口 MOVX DPTR A LCALL YS MOV A 02H MOVX DPTR A LCALL YS MOV A 04H MOVX DPTR A LCALL YS MOV A 08H 23 MOVX DPTR A LCALL YS MOV A 10H MOVX DPTR A LCALL YS MOV A 20H MOVX DPTR A LCALL YS MOV A 40H MOVX DPTR A LCALL YS MOV A 80H MOVX DPTR A LCALL YS MOV DPTR 4002H C 口的地址 MOV A 80H 发光二极管循环点亮测试 C 口 MOVX DPTR A LCALL YS MOV A 40H MOVX DPTR A LCALL YS MOV A 20H MOVX DPTR A LCALL YS MOV A 10H MOVX DPTR A LCALL YS MOV A 08H MOVX DPTR A LCALL YS MOV A 04H MOVX DPTR A LCALL YS MOV A 02H MOVX DPTR A LCALL YS MOV A 01H MOVX DPTR A LCALL YS SJMP MAIN YS NOP 24 TTY MOV R3 01H TTY1 MOV R4 0FFH TTY2 MOV R5 0FFH TTY3 DJNZ R5 TTY3 DJNZ R4 TTY2 DJNZ R3 TTY1 RET END 心得体会 25 实验六 实验六 A DA D 转换的实训转换的实训 目的 了解 A D 转换的方式及原理 学会使用 AD574 芯片 要求 模拟电压值通过 574 芯片转换成数字量采集出来 然后通过 BC7281 键盘显示芯片显 示已经读出的结果 原理 显示部分略 123456 A B C D 654321 D C B A Title NumberRevisionSize C Date 24 Sep 2005Sheet of File D chu MyDesign1 ddbDrawn By EA VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TXD 11 RXD 10 8031 VCC 1 REF IN 10 lsbDB0 16 DB1 17 AN GND 9 DB2 18 DB3 19 DB4 20 BPLRof 12 DB5 21 DB6 22 DB7 23 10Vspn 13 DB8 24 DB9 25 20Vspn 14 DB10 26 msb 11 27 REFout 8 STATUS 28 CE 6 CS 3 Vs 7 A0 SC 4 R C 5 Vs 11 12 8 2 U1 AD574A OC 1 C 11 1D 2 2D 3 3D 4 4D 5 5D 6 6D 7 7D 8 8D 9 1Q 19 2Q 18 3Q 17 4Q 16 5Q 15 6Q 14 7Q 13 8Q 12 74ALS573 A 1 B 2 C 3 E1 4 E2 5 E3 6 Y0 15 Y1 14 Y2 13 Y3 12 Y4 11 Y5 10 Y6 9 Y7 7 74ALS138 20uF 1K 5V 11 0592MHz 30PF 30PF 5v 100K 200 100K 100 100uF 100uF 15v 15v 1 2 3 A 74ALS02 A0 2 A1 3 A2 4 A3 5 A4 6 A5 7 A6 8 A7 9 B0 18 B1 17 B2 16 B3 15 B4 14 B5 13 B6 12 B7 11 E 19 DIR 1 74ALS245 1 2 3 A 74ALS00 4 5 6 B 74ALS00 5v 步骤 1 连接 PC 机和仿真机的串口线 2 给仿真机接通电源 接通 A D 模块的 12V 和 12V 直流电源 3 连接 P1 0 DAT P1 1 KEY P1 2 CLK P1 3 SYS 并连接 5V 或 10V 跳线 4 打开仿真机的电源开关 电源灯亮表示仿真机已经带电 5 编程 6 调试 参考程序 26 include unsigned char xdata start ad574 at 0 x6000 unsigned char xdata high8 at 0 x6002 unsigned char xdata low4 at 0 x6003 函数定义 void delay unsigned char 短暂延时 void write728x unsigned char unsigned char 写入到 BC728x unsigned char read728x unsigned char 从 BC728x 读出 void send byte unsigned char 发送一个字节 unsigned char receive byte void 接收一个字节 void chushihua BC7281 void bit display unsigned char unsigned char 变量及 I O 定义 unsigned char key number unsigned int tmr sbit dat P1 0 dat 连接于 P1 0 sbit key P1 1 key 连接于 P1 1 sbit clk P1 2 clk 连接于 P1 2 sbit P1 2 P1 3 主程序 main unsigned int i unsigned char a unsigned char b unsigned int c unsigned char d unsigned char e float f 2 048 chushihua BC7281 for P1 2 1 start ad574 0 while P1 2 a hig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 复合合成纤维生产建设项目风险评估报告
- 2025《江苏省物流运输服务合同》示范文本
- 2025二手车买卖合同范本(标准版)
- 绿色纺织新材料生产线项目经济效益和社会效益分析报告
- 标准厂房及配套基础设施建设项目环境影响报告书
- xx园区污水处理及管网配套工程建设工程方案
- 330kV升压储能站建设项目施工方案
- 无人机技术私人合伙股权投入与收益分成协议
- 离婚财产分割协议书样本与详细操作指南
- 离婚子女抚养费用及教育经费支付及监护责任合同
- 幼儿园假期安全教育内容知识
- 小学教育课件教案雪雕和冰雕的历史与传统
- 新版出口报关单模板
- 员工工资条模板
- 新教科版科学六年级上册知识点
- 初中历史小论文现状分析与写作探讨
- 新疆地方史课件
- 一粒种子旅行
- GB/T 9124-2010钢制管法兰技术条件
- GB 4287-1992纺织染整工业水污染物排放标准
- 腰椎间盘突出症课件
评论
0/150
提交评论