单片机技术应用 教学课件 ppt 作者 朱运利 主编 第七章

上传人:E**** 文档编号:89475987 上传时间:2019-05-25 格式:PPT 页数:54 大小:1.12MB
返回 下载 相关 举报
单片机技术应用 教学课件 ppt 作者 朱运利 主编 第七章_第1页
第1页 / 共54页
单片机技术应用 教学课件 ppt 作者 朱运利 主编 第七章_第2页
第2页 / 共54页
单片机技术应用 教学课件 ppt 作者 朱运利 主编 第七章_第3页
第3页 / 共54页
单片机技术应用 教学课件 ppt 作者 朱运利 主编 第七章_第4页
第4页 / 共54页
单片机技术应用 教学课件 ppt 作者 朱运利 主编 第七章_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《单片机技术应用 教学课件 ppt 作者 朱运利 主编 第七章》由会员分享,可在线阅读,更多相关《单片机技术应用 教学课件 ppt 作者 朱运利 主编 第七章(54页珍藏版)》请在金锄头文库上搜索。

1、单片机技术应用,第7章 单片机实验与实训,第7章 单片机实验与实训,7.1 存储器块清零 7.2 二进制到 BCD 码转换 7.3 二进制到 ASCII 码转换 7.4 内存块移动 7.5 数据排序 7.6 P1 口输入与输出 7.7 计数器实验 7.8 外部中断实验 7.9 8255A输入与输出 7.10 D/A 转换实验 7.11 A/D 转换实验,7.1.1 实验要求 指定存储器中某数据块的起始地址和长度,编程将其内容清零。 7.1.2 实验目的 1存储器的读写方法; 2存储器的块操作方法。,7.1 存储器块清零,7.1 存储器块清零,通过实验了解单片机存储器的读写方法、单片机的编程以及

2、调试方法。 如何将存储器指定的数据块内容置成某固定值(如FFH)?请修改参考程序后完成。,7.1.3 实验说明,7.1.4 程序框图,7.1 存储器块清零,参考程序: ORG 0000H MOV R0,#30H MOV R7,#20H CLR A LOOP: MOV R0,A INC R0 DJNZ R7,LOOP AJMP $ END,7.1 存储器块清零,7.2 二进制到 BCD 码转换,7.2.1 实验要求 将给定的二进制数,转换成BCD码(二-十进制编码)。 7.2.2 实验目的 1简单的数值转换算法; 2数值的各种表达方法。 7.2.3 实验说明 计算机中的数值有多种表达方式,掌握各

3、种数制之间的转换是一种基本功,可以进一步尝试将BCD转换成二进制码。,7.2.4 程序框图,7.2 二进制到 BCD 码转换,参考程序: ; 将 BCD 码存入 RE开始的叁个单元 RE EQU 20H ORG 0000H LJMP START BinToBCD: MOV B, #100 DIV AB MOV RE ,A MOV A,B MOV B,#10,7.2 二进制到 BCD 码转换,DIV AB MOV RE +1, A MOV RE +2, B RET START: MOV SP,#40H MOV A, #123 CALL BinToBCD AJMP $ END,7.2 二进制到 B

4、CD 码转换,7.3 二进制到 ASCII 码转换,7.2.1 实验要求 将给定的BCD数,转换成ASCII值。 7.2.2 实验目的 1BCD值和ASCII值的区别; 2BCD值转换成ASCII值; 3查表进行数值转换及快速计算。 7.2.3 实验说明 了解BCD码和ASCII码的区别,进一步了解数值的各种表达方式,利用查表功能进行数值的快速转换。,7.3.4 程序框图,7.3 二进制到 ASCII 码转换,参考程序: ; 将 ASCII 码存入 RE开始的二个单元 RE EQU 20H ORG 0000H LJMP START TAB: DB 0123456789ABCDEF BinToH

5、ex: MOV DPTR, #TAB MOV B,A SWAP A ANL A,#0FH MOVC A,A+DPTR,7.3 二进制到 ASCII 码转换,MOV RE, A MOV A,B ANL A,#0FH MOVC A,A+DPTR MOV RE+1, A RET SRART: MOV SP, #40H MOV A,#1AH CALL BinToHex AJMP $ END,7.3 二进制到 ASCII 码转换,7.4 内存块移动,7.4.1 实验要求 将指定起始地址和长度的存储块移动到指定位置。 7.4.2 实验目的 1内存块的移动方法; 2加深对存储器读写的认识。 7.4.3 实验

6、说明 块移动是常用的操作之一,多用于大量数据的复制和图象操作。本例给出起始地址,用地址加一的方法移动块,请思考给出块结束地址,用地址减一的方法移动块的方法。,7.4.4 程序框图,7.4 内存块移动,参考程序: ; 将长度为256 字节的内存块从3000H 移动到4000H。 MOV R0,#30H MOV R1,#00H MOV R2, #40H MOV R3, #00H MOV R7, #0 LOOP: MOV DPH, R0 MOV DPL, R1 MOVX A,DPTR MOV DPH, R2,7.4 内存块移动,MOV DPL, R3 MOVX DPTR, A CJNE R1, #0

7、FFH, K1 INC R0 K1: INC R1 CJNE R3, #0FFH, K2 INC R2 K2: INC R3 DJNZ R7, LOOP AJMP $ END,7.4 内存块移动,7.5 数据排序,7.5.1 实验要求 给出一组随机数,将其排序成为有序数列。 7.5.2 实验目的 1数据排序的简单算法; 2数列的有序和无序概念。 7.5.3 实验说明 本程序采用“冒泡排序”法,将一个数与后面的数进行比较,如果比后面的数大则交换,将所有的数比较完毕最大的数将出现在数列的最后面。同样进行下一轮比较,找出第二大数据,直到全部数据有序。,7.5.4 程序框图,参考程序: SIZE EQ

8、U 10; 数据个数 ARRAY EQU 50H; 数据起始地址 CHA EQU 0; 交换标志 KK: MOV R0, #ARRAY MOV R7, #SIZE-1 CLR CHA K2: MOV A, R0 MOV R2, A INC R0 MOV B, R0,7.5 数据排序,CJNE A, B, K1 SJMP NEXT K1: JC NEXT SETB CHA XCH A, R0 DEC R0 XCH A, R0; INC R0 Next: DJNZ R7, K2 JB CHA , KK AJMP $ END,7.5 数据排序,7.6 P1 端口输入与输出,7.6.1 实验要求 1.

9、P1端口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮; 2.P1.0和P1.1 做输入口接两个拨码开关,P1.2和P1.3 做输出口,接两个发光二极管,编写程序读取开关状态并在发光二极管上显示出来。 7.6.2 实验目的 1.学习 P1 端口的使用方法; 2.学习延时子程序的编写和使用。 7.6.3 实验说明 1.P1端口做输入口使用时,必须先置“1”;,7.6.3 实验说明,2.延时子程序的设计。 Delay: MOV R6,#0H MOV R7, #0H DelayLoop: DJNZ R6,DelayLoop DJNZ R7,DelayLoop RET 在6MHz晶振时,一

10、个机器周期时间长度为2us,该段程序执行时间为: (256255+2)2126 261ms,7.6 P1 端口输入与输出,7.6.4 实验电路及连线,7.6 P1 端口输入与输出,7.6.5 程序框图,7.6 P1 端口输入与输出,参考程序: ; (A)程序 Loop: MOV A, #01H MOV R2, #8 Output: MOV P1, A RL A CALL Delay DJNZ R2, Output AJMP Loop Delay: MOV R6, #0,7.6 P1 端口输入与输出,MOV R7, #0 DelayLoop: DJNZ R6, DelayLoop DJNZ R7

11、, DelayLoop RET END ;(B)程序 KeyLeft EQU P1.0 KeyRight EQU P1.1 LedLeft EQU P1.2 LedRight EQU P1.3,7.6 P1 端口输入与输出,SETB KeyLeft SETB KeyRight Loop: MOV C,KeyLeft MOV LedLeft,C MOV C,KeyRight MOV Ledright,C AJMP Loop END,7.6 P1 端口输入与输出,7.7 计数器实验,7.7.1 实验要求 单片机内部定时器/计数器T0以工作方式 1对 P3.4(T0)引脚计数,通过P1端口驱动发光二

12、极管将计数结果以二进制数形式显示出来。 7.7.2 实验目的 学习定时器/计数器使用方法。 7.7.3 实验说明 外部事件计数脉冲由 P3.4 引入定时器 T0,单片机在每个机器周期采样一次输入波形,单片机至少需要两个机器周期才能检测一次跳变,所以要求被采样电平至少维持一个完整的机器周期,同时也要求输入波形的频率不能超过机器周期频率。,7.7.4 实验电路及连线,7.7 计数器实验,7.7.5 程序框图,7.7 计数器实验,参考程序: MOV TMOD, #00000101B; 方式 1,记数器 MOV TH0, #0 MOV TL0, #0 SETB TR0; 开始记数 Loop: MOV

13、P1, TL0; 将记数结果送 P1 口 LJMP Loop END,7.7 计数器实验,7.8 外部中断实验,7.8.1 实验要求 用单次脉冲申请中断,在中断处理程序中对输出信号进行反转。 7.8.2 实验目的 1.外部中断技术的基本使用方法; 2.中断处理程序的编程方法。 7.8.3 实验说明 1.在程序中注意保护现场和恢复现场的操作; 2.必须在中断程序中设定是否允许中断重入,即设置EX0位。,7.8.3 实验说明,中断程序使用 中断,一般进入时应保护PSW、ACC 以及中断程序使用的寄存器。另外中断程序中涉及到现场操作时应关中断, 引脚接单次脉冲发生器,P1.0 接发光二极管显示信号反

14、转现象。,7.8 外部中断实验,7.8.4 实验电路及连线,7.8 外部中断实验,7.8.5 程序框图,7.8 外部中断实验,参考程序: LED EQU P1.0 LEDBuf EQU 0 LJMP Start ORG 0003H Interrupt0: PUSH PSW CPL LEDBuf MOV C, LEDBuf MOV LED, C POP PSW,7.8 外部中断实验,RETI Start: CLR LEDBuf CLR LED MOV TCON, #01H MOV IE, #81H LJMP $ END,7.8 外部中断实验,7.9 8255A 输入与输出,7.9.1 实验要求

15、利用8255A可编程芯片实现输入/输出,PA 口输出到发光二极管,PB口输入开关量。 7.9.2 实验目的 1.8255A 芯片结构及编程方法; 2.8255A 输入/输出的实验方法。 7.9.3 实验说明 可编程通用接口芯片8255A有三个八位的并行I/O端口,有三种工作方式,本例采用方式0(PA输出,PC 口输出,PB口输入)。,7.9.4 实验电路及连线,7.9 8255A 输入与输出,7.9 8255A 输入与输出,7.9.5 程序框图,参考程序: ORG 0000H MOV A, #MODE MOV DPTR, #CAddr MOVX DPTR,A JMP EX_B EX_A: MOV A,#80H MOVX DPTR,#PortA MOV B,#8H,7.9 8255A 输入与输出,OutA: MOVX DPTR,A RR A MOV R5,#1 CALL delay DJNZ B, OutA EX_B: MOV DPTR,#PortB MOVX A,DPTR MOV DPTR,#PortA MOVX DPTR,A,7.9 8255A 输入与输出,MOV R5,#2 CALL delay LJMP 0 delay: MOV R7,#0 KK: DJNZ R7,KK DJNZ R6,K

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号