《MCS-51单片机系统设计指导书》由会员分享,可在线阅读,更多相关《MCS-51单片机系统设计指导书(39页珍藏版)》请在金锄头文库上搜索。
1、MCS-51单片机系统设计指导书1一、 单片机开发系统应用初步基本 I/O 口赋值1. 实验目的:a KEIL C 软件对程序进行编译调试及烧录软件的使用方法。b 单片机基本 I/O 口的驱动方式、特点等。c 汇编语句的基本用法;对基本 I/O 口的赋值方法;程序的具体流程等。2实验设备使用:计算机一台、单片机实验箱一套、Keli C 软件一套。3实验基本原理:(1)源程序及流程图:ORG 0000HAJMP MAINORG 0030HMAIN: MOV P0,#0FHJMP MAINEND(2)电路原理图: 2 3 5 7 7 8 0 j4 1 D E e 2 1 0 1 1 K Z C C
2、 D 0 0 0 0 0 对 P0 口赋值跳转至主程序开始ENDMCS-51单片机系统设计指导书24实验内容:a. 编写一程序,可实现 P0 口输出固定数据。b. 改变输出端口,改变输出数据,观察实验现象。c. 通过数码管显示原理,结合本次实验,实现 I/O 口输出相应数据驱动数码管显示出特定字符。5实验步骤:(1) 基本步骤:a. 通过读程序,弄懂程序对哪个口进行赋初值,通过发光管亮或灭的情况反映出单片机输出数据的情况(注意区分数据的高低位)。b. 通过 KEIL C 软件对以上程序进行编译,正确后生成*.HEX 机器语言文件,随即打开烧录软件,将生成的*.HEX 文件烧录到单片机芯片中,完
3、成后点击运行按钮便可脱机运行编写好的程序。c. 观察发光管亮灭情况,比较其与程序中所赋数据是否一致。d. 修改程序中的输出数据,重复以上编译烧录步骤,再次观察 LED 发光情况是否与数据对应。例:ORG 0000HAJMP MAINORG 0030HMAIN: MOV P0,#65HJMP MAINENDe. 修改单片机输出数据的 I/O 端口(如改为 P2 口输出),观察其余端口是否能正确输出数据。例:ORG 0000HAJMP MAINORG 0030HMAIN: MOV P2,#0FHJMP MAINEND(2)发挥部分:将 I/O 口通过 8 芯排线接至独立两位数码管处,通过 I/O
4、口赋值能使数码管显示出本人学号最后一位(注意数据高位统一用来控制数码管的 a 笔段,低位控制 h 笔段)。MCS-51单片机系统设计指导书36实验报告要求:a 记录实验每一步骤的具体过程及实验现象。b 叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。c 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部分程序块功能及关键语句的作用。d 总结本次实验知识点及编程调试心得体会。7实验预习思考题:a 课前预习好编程的基本知识。程序的基本概念、*.asm、*.c、*.hex、*.uv2所表示的文件类型等。b 熟练掌握不同数据类型之间的相互转换,不同类型的数据在程序中的表示方法等。
5、c 课前弄清楚单片机 I/O 口的基本驱动方式,理解何谓上拉及下拉方式,单片机驱动电流、灌入电流等概念。d 复习数码管的相关知识,弄清数码管需显示某个字符应如何对其进行控制等。e 读懂以下 C 语言程序:#include void main(void)while(1)P0=0x0f;提示:1. 由于单片机芯片烧录时需用到 P1 口,故在烧录过程中 P1.5、P1.6、P1.7 口不应有导线连接,否则易引起实验台初始化失败等错误(烧录完成后可以进行连接) 。MCS-51单片机系统设计指导书4二、基本控制语句应用简单广告牌霓虹灯设计1. 实验目的:a 理解左移 RL、右移 RR 指令的功能。b 延
6、时程序 DELAY 的具体执行过程、延时量控制等。c 掌握通过设置程序的跳转来实现程序循环的方法。2实验设备使用:计算机一台、单片机实验箱一套、Keli C 软件一套。3实验基本原理:(1)源程序及流程图:ORG 0000HAJMP MAINORG 0030HMAIN: MOV P0,#00HMOV A,#01HLOOP: MOV P0,ARL AJMP LOOPEND(2)电路原理图:开始P0 及累加器 A 初始化化A 内容赋予 P0A 内容左移跳转至 LOOP结束MCS-51单片机系统设计指导书5 2 3 5 7 7 8 0 j4 1 D E e 2 1 0 1 1 K Z C C D 0
7、 0 0 0 0 4实验内容:a. 编写一程序,可实现数据左移并通过 I/O 口输出显示。b. 加入延时程序,观察实验现象是否有所变化。c. 实现左移及右移的循环输出。d 实现 16 盏 LED 的移位显示。5实验步骤:(1) 基本步骤:a. 读懂程序,分析程序中哪一句为控制语句,起到什么控制作用以及最终实现何功能。b. 运行程序,观察结果是否与程序相符,如不相符请分析出现问题的原因所在。c. 试着向源程序中加入延时语句,观察现象是否有所改变。ORG 0000HAJMP MAINORG 0030HMAIN: MOV P0,#00HMOV A,#01HLOOP: MOV P0,ARL AACAL
8、L DELAYJMP LOOP;*延时子程序*;DELAY:MOV R2,#10HLOOP1:MOV R1,#0FFHLOOP2:DJNZ R1,LOOP2MCS-51单片机系统设计指导书6DJNZ R2,LOOP1RETENDd. 适当修改延时量,使 LED 闪烁更为明显,易于肉眼观察。e. 适当修改程序,使程序最终实现一只 LED 作流水状移动。(2)发挥部分: 能自左向右自右向左自左向右反复循环来控制一只发光管如反弹状移动。 能通过两组 I/O 口组合实现 16 只 LED 的流水灯效果。6实验报告要求:a 记录实验每一步骤的具体过程及实验现象。b 叙述实验步骤中发挥部分程序的具体构思,
9、同时将调试过程作详细记录。c 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部分程序块功能及关键语句的作用。d 总结本次实验知识点及编程调试心得体会。7实验预习思考题:a 汇编语言控制语句应用。b 程序的循环、子程序调用、程序跳转等。c 单片机基本 I/O 口的驱动方式、特点等。d 读懂以下 C 语言程序:#include unsigned char i,c,d,temp=0xfe;void delay(void)unsigned char a,b;for(a=0;a(8-i);P0=c|d;delay();三、单片机 I/O 口输入独立按键识别1. 实验目的:a 掌握 JB、CPL
10、语句的具体使用方法。b 延时程序的具体执行过程、延时量控制等。c 掌握通过设置程序的跳转来执行相应语句的方法。d 体会按键抖动对单片机系统所造成的影响,以及如何通过软件延时去抖动方法来消除按键抖动。2实验设备使用:计算机一台、单片机实验箱一台、Keli C 软件一套。3实验基本原理:(1)源程序及流程图:ORG 0000HAJMP MAINORG 0030H;*主程序*;MAIN: MOV P0,#0FFHMOV A,#0FFHWAIT: MOV P0,A开始P0 及累加器 A 初始化化A 内容赋予 P0判断是否有键按下结束对 A 取反NYMCS-51单片机系统设计指导书8JB P1.0,WA
11、ITCPL AJMP WAIT END(2)电路原理图: 2 3 0 h i3 r4 1 1 K 0 4实验内容:a. 编写一程序,实现 P1.0 口作输入,同时输出内容随 P1.0 口状态变化而变化。b. 加入按键去抖动程序,观察实验结果与之前有何不同。c. 实现按键复用功能。5实验步骤:(1) 基本步骤:a. 读懂并理解程序,根据程序定义,将 P1.0 端口用单芯导线连接至单片机芯片下方的独立式键盘中(平时按键抬起时为高电平,按下按键时为低电平),将P0 口通过 8 芯排线连接至 8 路发光管中。b. 运行以上程序,同时反复按下连接至 P1.0 口的轻触开关,观察 LED 发光情况。(2)
12、 发挥部分: 由于按键抖动,使 LED 的亮灭情况无法通过按键准确控制,试着通过前面一节的实验,在程序适当的位置加入延时程序,实现软件去抖动。 实现按键复用功能,即短按按键实现 LED 亮灭控制;长按按键(如按下按键时间大于 1 秒时)进入 LED 流水灯状态(可只需流动一遍便结束,然后再次等待按键动作) 。6实验报告要求:MCS-51单片机系统设计指导书9a 记录实验每一步骤的具体过程及实验现象。b 叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。c 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部分程序块功能及关键语句的作用。d 总结本次实验知识点及编程调试心得体会
13、。7实验预习思考题:a 独立式按键的连接。b 汇编语句对按键是否按下的具体判断、按键按下后所执行的跳转等。c 按键抖动对单片机所造成的影响以及如何消除抖动对单片机在执行程序上所产生的影响。d 读懂以下 C 语言程序:#include sbit key=P10;unsigned char a=0;void main(void)while(1)P0=a;if(key=0)a=a;四、外部中断应用按键计数器1. 实验目的:a 理解中断服务程序的入口地址并将其熟记。b 掌握中断控制字 TCON、IE、IP 的具体含义及正确定义等。c 掌握中断服务程序的具体执行过程。d 体会按键抖动对单片机系统所造成的影响及如何消除按键抖动。2实验设备使用:计算机一台、单片机实验箱一台、Keli C 软件一套。MCS-51单片机系统设计指