《最新单片机原理及接口技术实验PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新单片机原理及接口技术实验PPT课件.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验一实验一 熟悉实验系统及熟悉实验系统及51指令练习指令练习n一一 实验要求实验要求 1. 指定存储器中某块的起始地址和长度,要求能将其内指定存储器中某块的起始地址和长度,要求能将其内容置容置1。2. 将给定的一个二进制数转换成将给定的一个二进制数转换成BCD码。码。3. 给出一个十六进制数,将其转换成给出一个十六进制数,将其转换成ASC码值。码值。 n二二 实验目的实验目的 1. 熟练运用熟练运用Keil开发软件调试汇编语言程序。开发软件调试汇编语言程序。2. 掌握存储器读写方法。掌握存储器读写方法。3. 掌握简单的数值转换算法。掌握简单的数值转换算法。4. 了解十六进制数和了解十六进制数
2、和ASC码值的区别。码值的区别。 排序程序排序程序1. 在程序运行前,在程序运行前, 在在20h单元开始随机存放单元开始随机存放10个数。个数。2. 程序运行后,查看程序运行后,查看20h开始的开始的10个单元的数据是否有序。个单元的数据是否有序。 ORG 0H LOOP3:MOV R0,#20H MOV R2,#9 CLR 0F0H LOOP: MOV A,R0 MOV 30H,A INC R0 MOV A,R0 CJNE A,30H,LOOP1 LOOP1:JNC LOOP2 XCH A,30H MOV R0,A DEC R0 MOV R0,30H INC R0 SETB 0F0H LOO
3、P2:DJNZ R2,LOOP JB 0F0H,LOOP3 SJMP $ END实验二报告要求实验二报告要求:在结果分析中:在结果分析中:1.写出调试程序过程中出现的错误(写出调试程序过程中出现的错误(3处)。处)。2. 对对3个程序运行结果分析是否正确。个程序运行结果分析是否正确。3. 写出第二个程序运行过程的写出第二个程序运行过程的pc值。若(值。若(20H)=8,结果如何?能不能实现多分支转移?结果如何?能不能实现多分支转移?实验三实验三 MCS-51内部接口实验内部接口实验 n一实验要求一实验要求 (一)(一)P1口输入口输入/输出实验输出实验1. p1口做输出口,接八只发光二极管,编
4、写程序,使发口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。光二极管循环点亮。2. P1口既做输入又做输出,将两个开关的状态在四个发口既做输入又做输出,将两个开关的状态在四个发 光二极管上显示出来。光二极管上显示出来。n(二)外部中断实验(二)外部中断实验 用单次脉冲申请中断,在中断处理程序中对输出信号用单次脉冲申请中断,在中断处理程序中对输出信号进行反转。进行反转。n(三)定时器实验(三)定时器实验 用用8031内部定时器,每内部定时器,每0.1秒钟秒钟T1溢出中断一次。溢出中断一次。P1口的口的P1.0P1.7分别接发光二极管的分别接发光二极管的L1L8。要。要求编写程序模拟
5、一循环彩灯。求编写程序模拟一循环彩灯。 二实验目的二实验目的1掌握掌握p1口的使用方法和延时子程序的编写及使用。口的使用方法和延时子程序的编写及使用。2进一步学习多分支结构程序的编程方法。进一步学习多分支结构程序的编程方法。3学习外部中断技术的基本使用及中断处理程序的编程学习外部中断技术的基本使用及中断处理程序的编程方法。方法。4学习学习8031内部计数器的使用和编程方法,掌握中断内部计数器的使用和编程方法,掌握中断处理程序的编写方法。处理程序的编写方法。n三三 实验说明实验说明 n1. P1口做输出口的实验说明口做输出口的实验说明n2. 延时程序编写延时程序编写n(1)软件延时)软件延时 本
6、实验系统晶振为本实验系统晶振为6.144MHZ,则一个机器周期为,则一个机器周期为126.144us即即10.512us=2us。现要写一个延时。现要写一个延时0.1s的程序,可大致写出如下:的程序,可大致写出如下:n MOV R7,#X 2usn DEL1:MOV R6,#200 2usn DEL2:DJNZ R6,DEL2 4usn DJNZ R7,DEL1 4us n RET 4us n(2us+4us200+4us) X+2us+4us=0.1 106usn(2)硬件延时)硬件延时 3. P1口既做输入又做输出实验说明口既做输入又做输出实验说明程序运行后输入与输出的关系程序运行后输入与
7、输出的关系 4. 中断程序实验说明中断程序实验说明5. 定时器实验说明定时器实验说明n由由8031内部定时器内部定时器1按方式按方式1工作,即作为工作,即作为16位定时位定时器使用,每器使用,每0.1秒钟秒钟T1溢出中断一次。溢出中断一次。P1口的口的P1.0P1.7分别接发光二极管的分别接发光二极管的L1L8。要求编写程序模拟。要求编写程序模拟一循环彩灯。彩灯变化花样可自行设计。例程给出的一循环彩灯。彩灯变化花样可自行设计。例程给出的变化花样为:变化花样为:nL1、L2、L8依次点亮;依次点亮; nL1、L2、L8依次熄灭;依次熄灭;nL1、L2、L8全亮、全灭。全亮、全灭。n各时序间隔为各
8、时序间隔为0.5秒。让发光二极管按以上规律循环显秒。让发光二极管按以上规律循环显示下去。学生可以任选一个变化花样。示下去。学生可以任选一个变化花样。 四程序流程图四程序流程图 八只发光二极管循环点亮流程图八只发光二极管循环点亮流程图P1口既做输入又做输出流程图口既做输入又做输出流程图开始开始设置初始状态设置初始状态设置中断控制寄设置中断控制寄存器存器中断允许中断允许等待中断等待中断中断入口中断入口保护现场保护现场状态位取反状态位取反状态位输出状态位输出恢复现场恢复现场中断返回中断返回INT0初始化流程图初始化流程图INT0中断服务程序流程图中断服务程序流程图开始开始设置设置T1工作方式工作方式
9、设置设置T1计数初值计数初值开开T1中断中断等待中断等待中断00A或或01A1TR1启动计数启动计数中断入口中断入口保护现场保护现场调用小灯亮子程序调用小灯亮子程序小灯亮的方式送小灯亮的方式送P1口口重设设置重设设置T1计数初值计数初值中断返回中断返回定时器初始化流程图定时器初始化流程图定时器中断服务程序流程图定时器中断服务程序流程图实验四实验四 MCS-51外部接口实验外部接口实验 n一实验要求一实验要求 (一)利用(一)利用74LS244做为输入口,读取开关状态,并将做为输入口,读取开关状态,并将此状态通过发光二极管显示出来。此状态通过发光二极管显示出来。(二)利用(二)利用8255A可编
10、程并行接口芯片,重复(一)的可编程并行接口芯片,重复(一)的内容。实验可用内容。实验可用B通道作为开关量输入口,通道作为开关量输入口,A通道作通道作为显示输出口。为显示输出口。 n二实验目的二实验目的 1. 学习在单片机系统中扩展简单学习在单片机系统中扩展简单I/O口的方法。口的方法。2. 学习数据输入,输出程序的编制方法。学习数据输入,输出程序的编制方法。3. 了解了解8255A芯片的结构及编程方法。芯片的结构及编程方法。4. 掌握通过掌握通过8255A并行口读取开关数据的方法。并行口读取开关数据的方法。 三实验原理及说明三实验原理及说明 n1. 74LS244的的IN0IN7接开关的接开关
11、的K1K8,片选信,片选信号号CS244接接CS1。n2. 74LS273的的O0O7接发光二极管的接发光二极管的L1L8,片,片选信号选信号CS273接接CS2。3. 8255A可编程并行接口芯片输入输出可编程并行接口芯片输入输出 四程序流程图四程序流程图 开始开始设置端口地址设置端口地址从从74LS24474LS244读读开关的状态开关的状态用用74LS27374LS273显示显示开关的状态开关的状态延时延时0.01秒秒开始开始8255初始化初始化从从8255 B8255 B口口读读开关的状态开关的状态用用8255 A8255 A口口显示显示开关的状态开关的状态延时延时0.01秒秒74LS
12、244做输出端口流程图做输出端口流程图 8255A做输出端口流程图做输出端口流程图 实验五实验五 综合实验综合实验 n一实验要求一实验要求 通过通过8255A 的的PA口输出段码,口输出段码,PB口输出位码。编程口输出位码。编程动态显示动态显示“012345”。 n二实验目的二实验目的 1复习巩固复习巩固8255接口芯片的应用。接口芯片的应用。2掌握八段数码管的使用方法,及动态显示的编程方法。掌握八段数码管的使用方法,及动态显示的编程方法。 三实验原理及说明三实验原理及说明 PA0PA7接接ADP,PB0PB5接接SLED1SLED6,8255片选信号接片选信号接CS0 LED位控制LED段码
13、控制四程序流程图四程序流程图 8255A 控制八段数码管显示流程图控制八段数码管显示流程图 相应程序:相应程序: MOV A,#80H MOV DPTR ,#0CFA3H MOVX DPTR ,ALOOP1: MOV R2, #6 MOV R0,#20H MOV R1,#0FEHLOOP: MOV A,R0 INC R0 ADD A,#25 MOVC A,A+PC MOV DPTR,#0CFA0H MOVX DPTR,A MOV A,R1 INC DPTR MOVX DPTR,A RL A MOV R1,A LCALL DELAY DJNZ R2, LOOP SJMP LOOP1DELAY:
14、MOV R6,#4 DEL:MOV R7,#200 DJNZ R7,$ DJNZ R6,DEL RET DB 3FH,06H,5BH DB 4FH,66H,6DH DB 7DH,07H,7FH DB 6FH,77H,7CH DB 39H,5EH,79H,71H END程序运行条件:程序运行条件: 在内部在内部RAM20H单元开始送单元开始送6个个0-15的数。的数。实验报告要求:实验报告要求:修改程序,使显示由右到左显示。修改程序,使显示由右到左显示。修改延时程序,查看显示变化。修改延时程序,查看显示变化。写出变化的原因。写出变化的原因。1. 如果希望程序能显示如果希望程序能显示0-F以外的以外的数值如何修改?数值如何修改?