《MCS-51单片机硬件接口实验部分》由会员分享,可在线阅读,更多相关《MCS-51单片机硬件接口实验部分(181页珍藏版)》请在金锄头文库上搜索。
1、第2章 MCS-51单片机硬件接口实验部分,实验一 I/0口输入、输出实验 实验二 扩展输入、输出实验 实验三 定时器/计数器实验 实验四 8253定时器/计数器实验 实验五 外部中断实验 实验六 并转串与串转并实验 实验七 串行静态数码管显示实验 实验八 8255输入、输出实验 实验九 8255控制键盘与显示实验,下一页,第2章 MCS-51单片机硬件接口实验部分,实验十 8279控制键盘与显示实验 实验十一 音频驱动实验 实验十二 LED点阵显示实验 实验十三 LCD显示实验 实验十四 电子钟实验 实验十五 电子琴实验 实验十六 交通灯控制实验 实验十七 并行A/D转换实验 实验十八 IC
2、卡读写实验,上一页,实验一 I/0口输入、输出实验,一、实验目的 掌握单片机P1口、P3口的使用方法。 二、预习要求 学习教材的相关内容,根据实验要求画出流程图,写出实验程序。 三、实验说明和电路原理图 P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知,当P1口作为输入时,必须先对它置高电平使内部MOS管截止。因为内部上拉电阻阻值是20K40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据时不正确的。,下一页,返回,实验一 I/0口输入、输出实验,本实验需要用到CPU模块和8位逻辑电平输出模块和8位逻辑电平显示模块,8位逻辑
3、电平显示电路原理图如图2-1所示。 四、实验设备与器材 1.THGMW-1型单片机实验系统1台; 2.导线若干。 五、实验内容与步骤 以P1口为输出口,接8位逻辑电平显示,LED显示跑马灯效果。以P3口味输入口,接8位逻辑电平输出,用来控制跑马灯的方向。 1.系统各跳线器处在初始设置状态。 用导线连接8位逻辑电平输出模块的K0到CPU模块RXD(P3.0口);,下一页,上一页,返回,实验一 I/0口输入、输出实验,用8位数据线连接8位逻辑电平显示模块的JD4B到CPU模块的JD8(P1口)。 2.启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,运行程序。 3.观察发
4、光二极管显示跑马灯效果,拨动K0可改变跑马灯的方向。 六、实验报告要求 七、思考题,下一页,上一页,返回,实验一 I/0口输入、输出实验,八、实验参考程序 DIR BIT P3.0 ORG 0000H LJMP START ORG 0100H START: Output1: mov a,#0fEH ;一盏二极管灯循环发亮 mov r5,#8 ;循环8次 loop1: CLR C mov C,DIR JC Output2 ;若C=1,则二极管循环右移发亮,下一页,上一页,返回,实验一 I/0口输入、输出实验,mov P1,a rl a Acall Delay djnz r5,loop1 Sjmp
5、 Output1 Output2: mov a,#07fH mov r5,#8 loop2: CLR C mov C,DIR JNC Output1 ;若C=0,则二极管循环左移发亮,下一页,返回,上一页,实验一 I/0口输入、输出实验,mov P1,a rr a Acall Delay djnz r5,loop2 Sjmp Output2 Delay: ;延时程序 mov r6,#0 DelayLoop1: mov r7,#0,下一页,返回,上一页,实验一 I/0口输入、输出实验,DelayLoop2: NOP NOP djnz r7,DelayLoop2 djnz r6,DelayLoop
6、1 ret end,返回,上一页,实验二 扩展输入、输出实验,一、实验目的 1.了解并行口输入/输出方式的工作原理及其使用方法。 2.掌握80C51单片机扩展74LS244输入数据及扩展74LS273输出数据的方法。 二、预习要求 学习教材的相关内容,根据实验要求画出程序流程图。 三、实验原理 当P0口总线负载达到或超出P0最大负载能力8个TTL门时,必须接入总线驱动器。 本实验需要用到CPU模块、8位逻辑电平输出模块、8位逻辑电平显示模块、扩展输入模块、扩展输出模块。扩展输入电路原理图如图2-4所示,扩展输出电路原理图如图2-5所示。,下一页,返回,实验二 扩展输入、输出实验,四、实验设备与
7、器材 1.THGMW-1型单片机实验系统一台; 2.导线若干。 五、实验内容与步骤 (一)实验内容 利用单片机设计一个简单的密码锁,设计要求如下。 1.以8位逻辑电平开关K0K7作为8位密码输入,设两路密码锁,第一路密码为10101010,第二路密码为11110000。 2.以8个发光二极管作为输出,当输入的密码与第一路密码相同时,第一个发光二极管点亮。当输入的密码与第二路密码相同时,第二个发光二极管点亮。如果输入的密码与两路密码都不同,则8个发光二极管全部点亮。,下一页,返回,上一页,实验二 扩展输入、输出实验,3.必须先输入第一路密码,然后输入第二路密码才能使第二个发光二极管点亮。 (二)
8、实验步骤 1.用8位数据线连接8位逻辑电平输出模块的JD1E到扩展输入模块的JD2C; 连接8位逻辑电平显示模块的JD4B到扩展输出模块的JD1C; 用导线连接扩展输入模块的CS_244到CPU模块的8000H; 2.启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载程序运行。 3.改变拨动开关的状态,观察发光二节管的亮灭与设计是否一致。设拨动开关下拨输出为低电平,低电平点亮发光二极管。,下一页,返回,上一页,实验二 扩展输入、输出实验,实验参考程序: DATA_in EQU 8000H DATA_out EQU 8100H ORG 0100H mov a,#0f
9、fh ;初始化 mov DPTR,#DATA_out ;数据指针指向74LS273 mov DPTR,a loop: mov DPTR,#DATA_in ;数据指针指向74LS244 mov a,DPTR ;开关状态经过74LS244读入累加器A,下一页,返回,上一页,实验二 扩展输入、输出实验,cjne a,#10101010b,loop1 mov DPTR,#DATA_out ;数据指针指向74LS273 mov a,#0feH mov b,a movx DPTR,a ;数据经过74273输出 loop1: cjne a,#11110000b,loop mov a,b cjne a,#0f
10、eh,loop mov DPTR,#DATA_out mov a,#0fdH,下一页,返回,上一页,实验二 扩展输入、输出实验,anl a,b movx DPTR,a Sjmp loop end 六、实验报告要求 七、思考题,返回,上一页,实验三 定时器/计数器实验,一、实验目的 1.了解MCS-51单片机定时器/计数器的结构和工作原理; 2.学习MCS-51内部计数器的使用和编程方法。 二、预习要求 1.掌握定时器/计数器的控制寄存器; 2.掌握定时器/计数器工作方式的控制; 3.掌握定时器/计数器的工作方式及模式。 三、实验功能及说明 1.本实验的定时方法是通过对系统时钟脉冲的计数来实现的
11、。,下一页,返回,实验三 定时器/计数器实验,2.计数功能。 所谓计数是指通过外部脉冲进行计数。 3.定时功能。 定时功能也是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加1。 4.定时器/计数器的工作方式的电路逻辑结构。 定时器/计数器0在工作方式2的逻辑结构如图2-6所示。 5.关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机主要有定时器和计数器两个功能。本实验使用的定时器,定时为一秒钟。,下一页,返回,上一页,实验三 定时器/计数器实验,6.与定时器有关的寄存器有工作模式寄存器TM
12、OD和控制寄存器TCON。 7.内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。 8.在本实验的中断处理程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关闭对应的中断,置数完之后再打开相应的中断。 四、实验设备与器材 1.THGMW-1实验系统一台; 2.内存256兆以上的计算机一台; 3.导线若干。,下一页,返回,上一页,实验三 定时器/计数器实验,五、实验内容与步骤 1.本实验需要用到CPU模块和8位逻辑电平显示模块; 2.系统各跳线器处在初始设置状态,用导线连接CPU模块的P10到8位逻辑电平显示模块的L0; 3.启动PC机,打
13、开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载程序运行; 4.运行程序观察发光二极管隔一秒点亮一次,点亮时间为一秒。 六、实验报告要求 七、思考题,下一页,返回,上一页,实验三 定时器/计数器实验,八、参考程序 Tick equ 10000 ;10000100s=1s T100us equ 156 ;100 s时间常数(6M) C100us equ 30h ;100 s计数单元 LEDBuf bit 20h org 0 ljmp Start org 000bh T0INt: push PSW mov a,C100 s+1,下一页,返回,上一页,实验三 定时器/计数器实验,j
14、nz Goon dec C100 s Goon: dec C100 s+1 mov a,C100 s orl a,C100 s+1 jnz Exit ;100 s计数器不为0,返回 mov C100 s,#27H ;#high(Tick) mov C100 s+1,#10H ;#low(Tick) cpl LEDBuf,下一页,返回,上一页,实验三 定时器/计数器实验,Exit: pop PSW reti Start: mov TMOD,#02h ;方式2,定时器 mov TH0,#t100s mov TL0, #t100 s mov IE,#10000010b ;EA=1,IT0=1 set
15、b TR0 ;开始定时 clr LEDBuf clr P1.0 mov C100s,#27H ;# high(Tick) mov C100s+1,#10H ;#low(Tick),下一页,返回,上一页,实验三 定时器/计数器实验,Loop: mov c,LEDBuf mov P1.0,c ljmp Loop end,返回,上一页,实验四 8253定时器/计数器实验,一、实验目的 1.了解8253定时器的基本工作原理、硬件连接方法及时序关系; 2.掌握8253工作方式以及编程方法。 二、预习要求 1.复习8253定时/计数器的相关理论和初始化方法; 2.认真阅读本试验指导书预先编写好的试验程序。
16、 三、实验功能及说明 1.8253芯片内部有三个独立的16位定时/计数器,如图2-7所示。,下一页,返回,实验四 8253定时器/计数器实验,8253有6种工作方式,分别为: (1)方式0:计数结束产生中断方式。 (2)方式1:可编程单次脉冲方式。 (3)方式2:分频工作方式。 (4)方式3:方波方式。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。,下一页,返回,上一页,实验四 8253定时器/计数器实验,2.8253有3个独立的16位计数器,有6种不同的工作方式。 3.频率信号发生器示意图如图2-8所示。 4.工作方式2初始化时,8位计数初值同时装入TL0和TH0中。当TL0计数溢出时,置位TF0,同时把保存在预置寄存器TH0中的计数初值自动加载到TL0,然后TL0重新计数。 5.工作方式3下的定时器/计数器0。 在工作方式3下,定时器/计数器0被拆成两个独立的8位计数器TL0和TH0。,