单片机原理与应用实验指导书
单片机原理与应用实验指导书(202203)-图文
单片机原理与应用实验指导书(202203)-图文实验指导书南通大学电气工程学院自动化系2022年3月前言单片机目前已广泛应用在智能仪表、工业控制、家用电器等各个领域,成为现代电子系统的一个极其重要的组成部分,对于电类专业学生来说,掌握单片机知识,具备基本应用技能,才能符合当前社会对专业人才的要求。
单片机是一门应用性极强的课程,学生在掌握基本理论知识的基础上,更要通过实验训练,提高其调试动手能力,学会解决具体问题的思路和手段,具备初步的系统设计和调试能力。
因此,为了更好地做好单片机课程的软硬件实验,特编写本实验指导书,书中叙述了各实验的目的、要求,对于设计性实验,给出了列出了接线图、程序结构框图和清单。
学生按要求完成本实验指导书中的实验,可基本掌握MCS-51单片机的结构原理、接口技术以及程序设计技巧。
另外:一、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据教学要求,选择相应实验。
二、对同一问题的解决方法往往不是唯一的,欢迎各位指导教师在使用本实验指导书的过程中提出更完善的实验方案,指出书中的错误和不足,并希望大家反馈给我们,以便及时修改。
I目录第一章集成开发环境简介..........................................1第二章演示程序......................................................9第三章实验项目 (15)实验一简单程序设计实验.............................................15实验二I/O 口实验......................................................18实验三定时器实验......................................................20实验四A/D、D/A转换实验..........................................21实验五并行接口扩展实验 (25)II第一章集成开发环境简介SuperICES-5180C51单片机实验仪使用当前流行的KeilC51开发软件,采用uViion2集成开发环境。
单片机原理及应用实验指导书
实验一指令系统和汇编语言程序设计实验本章实验主要包括指令系统和汇编语言程序设计两部分。
采用软件模拟调试的方法,目的在于通过这些实验可以使学生巩固所学知识,加深对MCS-51单片机内部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。
实验操作说明Keil 软件调试方式分为:软件仿真方式和硬件调试两种。
软件仿真实验上机操作步骤:1、进入Keil,点击桌面上“Keil μVersion 3”图标,进入Keil系统窗口;2、新建工程:1)打开“工程”菜单中的新建,在弹出的对话框中,键入自己定义的工程名;2)在进一步打开的对话框中,选择CPU的类型,为Intel公司的8032AH,确定;3)存入C:\keil 文件夹中。
(机房,安装在C盘,改为C:\keil)3、打开“视图”菜单中的“工程窗口”;4、在“工程窗口”中,右击“目标1”,为工程设置参数;1)在弹出的快捷菜单中选择“为目标“目标1”设置选项”;2)在弹出的对话框中选择“项目”选项卡,设置时钟为“12Mhz”;3)选择“调试”选项卡,在单选框选择“软件仿真方式”;4)确定,即完成了“软件仿真方式”的设置。
5、新建文件1)打开“文件”菜单,选择“新建”;2)系统打开一个文本窗口,你可在窗口的编辑区输入要调试的汇编语言源程序;3)存盘,命名文件名和扩展名,文件名任起,扩展名必须是.asm,存入C:\keil 文件夹中(在大机房,安装在C盘,改为C:\keil);例如:a.asm。
6、将刚建的新文件添入当前的工程中1)在“工程窗口”中,“目标1”的+号处打开,显示“源代码组1”;2)右击“源代码组1”,在快捷菜单中选择“为“源代码组1”添加文件”,弹出一个对话框; 3)在对话框中选择“文件类型”为*.*;4) 选择文件所在路径,同时找到刚键入的a.asm文件,点击“add”按钮,然后点击“close”按钮;5) 在“工程窗口”点击“源代码组1”左侧的+号,显示添加的a.asm文件,添加成功。
单片机原理及应用实验指导书(2013)
从弹出的【Options for Target‘Target 1’】,选中【Output】选项卡,然后勾选【Create Hex】,如下图所示:
第9页
上海师范大学信息与机电工程学院实验中心
《单片机原理及应用》实验指导书
第十二步:再点击【Rebuild all target files】,最后在输出窗口显示编译信息,最终生成 Test1.hex 文件,如 下图所示:
我们再来看工程中的代码:
好奇的你肯定想知道 reg52.h 头文件到底里面有什么内容呢?P0=0x00 中的 P0 到底从哪里冒出来的?(若 前者选择的是 STC CPU,也可以用此头文件,也可以加入 STC 的头文件:STC89C5xRC.H)
二、单片机开发系统主要硬件简介
单片机开发系统的硬件采用的是普中科技的 HC6800EM3 单片机开发试验仪,主要资源包括的具有“实验、 编程、ISP 下载线”多功能合一的新一代单片机开发系统。该 51 单片机学习实验板支持 STC 的增强型 51 单片 机的实验、编程功能,同时也兼容 AVR 系列单片机的烧写和实验。
Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另外重要的一点,只 要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代 码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。本实验指导书中的程序基本用 C 来编写。 下面详细介绍 Keil C51 开发系统基本功能和使用。 2、Keil C51 快速入门
第 12 页
2014-5《单片机原理与应用》实验-指导书DOC
《单片机原理与应用》课程实验指导书一、实验目的《单片机原理及应用》课程实验是电子信息工程和电子科学与技术专业的一门专业基础课实验,是学生获得单片机知识的开端。
要求学生通过本课程实验,具备利用单片机技术解决实际控制问题的能力。
培养与提高学生科学实验的能力,动手实践能力、理论联系实际的能力、自学能力、从简单的设计到综合的应用能力和创新能力。
通过实验的训练,使学生掌握《单片机原理与应用》实验的基本方法和基本技能,加深对单片机知识的理解,掌握单片机应用系统设计方法,为今后的工作打下良好的基础。
二、实验设备及器件PC机一台DP-51PROC单片机综合仿真实验仪一台示波器一台电阻若干电容若干导线若干三、实验内容本实验共6个实验内容:实验一仿真实验仪的操作使用练习实验二单片机I/O口控制实验实验三蜂鸣器驱动实验实验四电子琴实验实验五、六直流电机实验(定时器输出PWM实验)实验七 16×16 LED 扫描输出实验*详细指导内容请见附录。
四、实验考核、成绩评定考核方法:设计过程中检查学生实际操作能力,根据课程设计内容要求,设计相关程序, 指导书中所给代码仅供参考,要求学生独立进行整体程序设计,教师要检查学生的运行步骤及结果。
成绩评定:实验成绩根据考勤、实验态度、动手能力、创新能力和实验报告来综合评定,实验成绩计入课程平时成绩,占总成绩的20%。
五、参考资料1、DP-51PROC实验指导书(实验设备配套指导资料),2007年.2、李广第.等单片机基础.北京航空航天大学出版社,2005年.3、胡汉才等. 单片机原理及其接口技术.清华大学出版社,,2009年.六、实验报告格式要求按学院实验报告统一格式报告内容包括:实验目的与要求、实验步骤、程序流程图和实验程序、实验步骤和实验结论。
附录——详细指导内容实验一仿真实验仪的操作使用练习一.实验目的和要求熟悉Keil C51 集成开发环境调试功能的使用和DP-51PROC 单片机综合仿真实验仪的使用。
单片机原理及应用实验指导书
单片机原理及应用实验指导书淮海工学院机械工程学院实验一 51单片机编译环境的学习和使用一、实验目的1.了解并学习keil软件的使用方法。
2.了解并学习STC烧录软件的使用方法。
二、实验设备1.LJD-SY-5100学习板一台;2.Keil系统软件一套;3.STC_IST_V3.1软件一套4.微型计算机一台;三、实验内容对keil软件进行学习和使用,并对所给出的实验例程在keil环境下编写调试,实现单片机开发过程的第一步。
对STC烧录软件进行学习和使用,并将keil软件编译生成的目标代码烧录到单片机中,并运行程序。
四、实验例程;蜂鸣器演奏生日歌的音乐ORG 0000HJMP STARTORG 000BHJMP TIM0ORG 0030HSTART:MOV TMOD,#01HMOV IE,#82HSTART0:MOV 30H,#00HNEXT: MOV A,30HMOV DPTR,#TABLEMOVC A,@A+DPTRMOV R2,AJZ END0ANL A,#0FHMOV R5,AMOV A,R2SWAP AANL A,#0FHJNZ SINGCLR TR0JMP D1SING: DEC AMOV 22H,ARL AMOV DPTR,#TABLE1MOVC A,@A+DPTRMOV TH0,AMOV 21H,AMOV A,22HRL AINC AMOVC A,@A+DPTRMOV TL0,AMOV 20H,ASETB TR0D1: CALL DELAYINC 30HJMP NEXTEND0: CLR TR0JMP START0 TIM0: PUSH ACC PUSH PSWMOV TH0,21HMOV TL0,20HCPL P3.7POP PSWPOP ACCRETIDELAY: MOV R7,#02D2: MOV R4,#187D3: MOV R3,#248DJNZ R3,$DJNZ R4,D3DJNZ R7,D2DJNZ R5,DELAYRETTABLE1:DW 64260,64400,64524,64580DW 64684,64777,64820,64898DW 64968,65030,65058,65110DW 65157,65178,65217TABLE:DB 82H,01H,81H,94H,84HDB 0B4H,0A4H,04HDB 82H,01H,81H,94H,84HDB 0C4H,0B4H,04HDB 82H,01H,81H,0F4H,0D4HDB 0B4H,0A4H,94HDB 0E2H,01H,0E1H,0D4H,0B4HDB 0C4H,0B4H,04HDB 82H,01H,81H,94H,84HDB 0B4H,0A4H,04HDB 82H,01H,81H,94H,84HDB 0C4H,0B4H,04HDB 82H,01H,81H,0F4H,0D4HDB 0B4H,0A4H,94HDB 0E2H,01H,0E1H,0D4H,0B4HDB 0C4H,0B4H,04HDB 00HEND四、实验参考资料Keil软件用法和STC软件用法的多媒体教程。
单片机原理和应用实验指导书
{
delay(5);
P3=0xfb;//去抖动
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
temp=temp|0x0b;
}
else
{ P3=0xfd;//扫描第二排
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(5);
void delay(long time)
{
while(time>0)
time--;
}
void main()
{while(1)
{
P1=x;
delay(37620);
x=_crol_(x,1);
}}
六、实验小结和体会
通过本实验,懂得如何安装kell软件以及实验仿真板,懂得KEIL C51单片机仿真软件的调试,初步了解并熟悉实验板上单片机I/O口和LED灯的电路结构,能通过软件修改程序实现仿真板上不同灯的亮灭情况,并希望通过多次试验对它有更多的了解。
void sysinit()
{
TMOD=0x21;TH0=0x3C;
TL0=0xB0;TH1=0xfd;
TL1=0xfd;TR1=1;
SM0=0;SM1=1;
REN=1;EA=1;
ET0=1;ES=1;
SPK=1;flag=0;
tt=0;temp=0;
}
void main()
{
sysinit();
while(1)
{ if(flag==1)
{flag=0;ES=0;
SBUF=temp;while(!TI);
单片机原理与应用实验指导书
Harbin Institute 单电子of Technology单片机实哈尔子与信息工20机原理实验指尔滨工业大工程学院015年04与应导大学电子工程月用程系目 录前言 (1)一 实验素养和一般知识 (1)二 单片机实验开发系统 (1)三、实验报告内容和要求 (4)第一部分 软件实验 (5)实验一 清零实验 (6)实验二 拆字拼字实验 (7)实验三 查找相同数个数实验 (8)实验四 二进制转ASCII码实验 (9)实验五 数据块传送实验 (10)第二部分 硬件实验 (11)实验一 复杂IO控制实验 (11)实验二 定时器中断实验 (12)实验三 直流电机控制实验 (13)实验四 PC串口通信实验 (14)实验五 键盘扫描与显示实验 (15)附录一 主板布局图 (16)附录二 ISP安装与使用 (17)附录三 常见故障分析 (20)附录四 硬件实验5程序代码 (21)前言一、 实验素养和一般知识1.实验前准备工作(1)明确实验目的、熟悉实验内容、掌握实验步骤、了解所用单片机实验开发系统及仪器设备的性能。
(2)做好实验前预习和必要的准备(先编好程序),做到有的放矢。
2.进入实验室后(1)进入实验室后请首先了解关于实验仪器和相关操作的介绍,熟悉所用的单片机实验开发系统及仪器设备。
(2)严格按照操作流程进行实验操作,保证自身安全和实验设备的完好无损:接线要简单、正确、明了,一个人接线,另一个人检查,经老师复查允许后才可通电。
(3)通电瞬间,应注意仪器是否正常工作,不要只看开关,如有不正常现象,应立即断电查找原因。
3.实验进行时(1)正常请况下,按规定步骤进行,读取数据,并及时记录。
(2)各种操作要有目的、按要求进行。
4.实验完成后经老师察看或签字,并把仪器、导线、工具等清理收拾完毕后,学生签到方可离开实验室。
二、 单片机实验开发系统图1 Proteus软件与FB-EDU-MCU-F型微控制器仿真实训实验箱FB-EDU-MCU-F型微控制器仿真实训实验箱可以支撑目前各高校普遍开设的课程实验内容,如“单片机(微控制器)原理与应用”,“单片机(微控制器)技术”,“微机原理与接口”,“单片机C语言程序设计”,“EDA与SOPC 技术”,“嵌入式系统与技术”等微控制器及其应用技术教学大纲的要求,本实验箱将Proteus仿真软件设计与硬件实践紧密结合,可提高实践环节的授课效果。
《单片机原理及应用》实验操作指导书
c ai wp @f j ut .e d u.c n单片机实验操作指导书第一篇 Keil uVision2基本操作Windows应用程序Keil uVision2是一个集成开发环境,它把项目管理、源代码编辑、程序调试等集成到一个功能强大的环境中。
存储器窗口工作窗口外围设备窗口输出窗口项目窗口下面以P1口点亮LED 灯为例,介绍基本的实验操作。
1.双击桌面上的图标,启动Keil uVision2。
2.选择或工具栏的按钮新建文件。
3.编辑源程序,并将文件保存成后缀为.asm 的文件(本例存为led.asm)。
(建议先在D 盘建一文件夹如MCS51用于存放实验文件)。
c ai w p @f j ut .e d u.c n4.建立项目。
(1)从菜单中选择新建项目。
(2)输入项目名称(一般与源程序同名),点保存。
(3)选择器件。
选择Atmel 公司的AT89S51c ai w p @f j ut .e d u.c n往下,找到AT89S51,选中后点确定。
(5)出现下列对话项时,选择“否”。
(如果用C51,则选择“是”)5.将源程序文件添加到项目中。
①鼠标左键单击“+”号展开②单击鼠标右键③单击鼠标左键④在弹出的对话窗口中选择“文件类型”和“文件名”,然后点“Add ”添加。
添加后该窗口不会关闭,点“Close ”关闭。
c ai w p @f j ut .e d u.c n项目中添加了源程序文件6.设置目标文件选项单击工具按钮“Options for Target ”,对“Target”和“Output”标签进行相关设置。
设置后点“确定”。
设置时钟频率,用于仿真调试时定时、观察程序运行时间等,如设为6.0MHzc ai w p @f j ut .e d u.c n单击,将该选项打勾,编译后才会在当前目录生成后缀为.HEX 的目标文件,用于仿真调试。
7.编译 用菜单中的命令或工具栏的按钮对项目进行编译。
《单片机原理与应用》实验指导书
《单片机原理与应用》 实 验 指 导蒋艳红 编桂林电子科技大学电子工程学院2007.3目 录实验一 单片机开发系统的使用方法 (1)实验二 I/O口输入、输出实验 (7)实验三 定时器/计数器实验 (9)实验四 中断实验 (12)实验五 串行通讯实验 (15)附录一 逻辑分析工具 (17)附录二 系统自动检测功能 (21)实验一 单片机开发系统的使用方法一、实验目的1.学习单片机开发系统和仿真软件的使用及程序调试方法。
2.掌握汇编程序的编写方法及常用技巧。
二、单片机实验系统简介单片机的开发与应用需要借助于开发软件及硬件仿真系统进行。
在单片机应用系统的开发过程中,为了得到满足要求的用户程序,需要有一个对程序的调试过程,这项工作依靠单片机自身是无法完成的。
因为程序在机器内连续高速地运行,难以观测程序的运行情况。
此外,还需要把调试成功后的程序固化到单片机的程序存储器中,当单片机运行起来后,对整个用户样机系统的软硬件进行实时的诊断、调试。
因此需要有相应的仿真设备才能完成。
单片机实验系统LAB6000即是具有对应用程序进行输入编辑、修改等功能的设备,软硬件仿真可以实现对源程序进行编译,及程序的执行和检测。
在对目标系统的调试过程中,可以运用单步执行,设置断点执行、状态查询等功能,以达到设计目的、完成从用户程序的编写到单片机应用系统的正确运行之前的一切准备工作即仿真功能。
系统运行时,能够产生和单片机完全相同的实时信号,以实现对用户样机系统中软、硬件的故障诊断和调试。
LAB6000实验系统由硬件及软件两部分组成。
三、调试步骤(一)建立源文件并保存 双击桌面WAVE图标,进入伟福开发环境。
1、选择菜单:文件/新建文件,进入源程序编辑窗口,在此输入源程序。
如图1-1。
图 1-1选择菜单:文件/保存文件或直接点击工具栏上小磁盘图标,指定文件所要保存的位置,例如:F:\0820101文件夹,再确定文件名:sy1.ASM ,注意后缀应为 .ASM。
单片机原理与应用实验指导书(含参考程序)
单片机实验实验说明:实验一和二做一次实验三和四做一次实验五和六分别做一次实验一 P1口实验一一、实验目的:1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
二、实验设备:EL-MUT-II型实验箱,8051CPU板三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2.P1口做输入口,接八个按纽开关,以实验箱上74LS273做输出口,编写程序读取开关状态,在发光二极管上显示出来。
四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。
作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。
8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。
可以用第二个实验做一下实验。
先按要求编好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1做输入口,会有什么结果。
再来看一下延时程序的实现。
现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。
在系统时间允许的情况下可以采用后一种方法。
本实验系统晶振为6.144MHZ,则一个机器周期为12÷6.144us即1÷0.512us。
现要写一个延时0.1s的程序,可大致写出如下:MOV R7,#X (1)DEL1:MOV R6,#200 (2)DEL2:DJNZ R6,DEL2 (3)DJNZ R7,DEL1 (4)上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要1÷0.256us,现求出X值:1÷0.256+X(1÷0.256+200×1÷0.256+1÷0.256)=0.1×10⁶指令(1)指令(2)指令(3)指令(4)所需时间所需时间所需时间所需时间X=(0.1××10⁶-1÷0.256)/(1÷0.256+200×1÷0.256+1÷0.256)=127D=7FH经计算得X=127。
单片机原理及应用实验指导书
《单片机原理及应用》实验指导书温州大学瓯江学院2007年9月目录实验一单片机开发系统的使用 (1)实验二单片机软件实验 (4)实验三MCS-51单片机I/O实验 (9)实验四MCS-51单片机中断实验 (15)实验五定时器计数器实验 (22)实验六单片机综合应用设计实验 (25)附录Keil C51常用库函数原型 (31)实验一单片机开发系统的使用一、实验目的1、了解单片机开发系统的各主要组成部分,包括PC、仿真器和实验开发系统;2、掌握仿真器及其软件的使用,初步掌握程序的调试方法,包括跟踪、单步运行和断点设置等;3、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法。
二、实验仪器1、自制的C51实验开发板 1块2、直流温压电源 1台3、仿真器(EASYPROBE) 1只4、PC机 1台三、实验内容1、认识51单片机开发系统的结构。
图1-1 51单片机开发系统的结构2、初步认识仿真器软件和Keil C51软件界面。
3、简单程序调试(1) 传送指令设置内部RAM的值,(30H)=40H, (40H)=10H,单步执行下列程序,检查结果。
MOV R0,#30HMOV A,@R0MOV R1, AMOV B, @R1STOP: SJMP STOP执行后:(R0)= ,(R1)= ,(A)= ,(B)= ,(30H)= ,(40H)= 。
(2) 运算指令4、多字节十进制数加法被加数加数结果低位20H21H22H23H 高位图1-2 4字节十进制数相加两个4字节十进制数1234567和89987265相加,将其8421-BCD码按低位到高位存放在地址为20-23H、30-33H的RAM中,运算结果存放在20-23H的地址中,如上图示。
运算程序如下,ADD_BCD为多字节十进制数加法子程序的首地址。
分别按“跟踪”、“单步”和“全速”方式调试程序。
检查运算结果,区别“跟踪”、“单步”调试方式的不同。
在“ADD_BCD子程序”的指令“DA A”处设置断点,再用“全速”方式运行,到达断点后,观察“A”的值,然后用“单步”运行,观察指令“DA A”的功能。
《单片机原理及应用》实验指导书.doc
《单片机原理及应用》实验指导书广州大学松田学院电气与汽车工程系2011年10月实验一流水灯实验.................................. 实验二数码管动态显示实验 (3)实验三单片机外部中断实验 (5)实验四单片机定时器/计数器应用 (7)实验五中断及综合实验 (10)附录开发板电路原理图 (II)实验一流水灯实验1.实验H的及要求1)掌握keil c51软件和STC-ISP软件使用方法。
2)巩固单片机基本程序的编写方法和单片机工程项F1的建立流程。
3)熟悉用单片机P0 口控制LED灯亮和灭的方法。
2.实验仪器计算机、keil c51软件、单片机开发板、下载线3.实验内容利用P0 口直接控制8个LED灯的亮和灭。
把不同的数据(本实验采用40 个不用的字节)定时输出P0 口,控制LED灯相应的变化,产生花样灯效果。
改变延吋吋间,则改变LED灯改变速度,效果也不一样。
4.实验步骤1)使用ke订c51软件建立一个工程,命名保存,并配置工程。
2)新建一个文件,主文件名与工程名一致,文件后缀名为MSM。
编辑实验源程序。
(注意:源程序编辑不要在屮文状态下)实验参考程序如下:ORG 0100HTMP1:DB 0111, 02H, 04H, 0811, 10H, 2011, 40H, 80H, 8111, 8211DB 84H, 88H, 90H, OAOH, OCOH, 0C1H, 0C2H, 0C4H, 0C8H, ODOHDB OEOH, 0E1H, 0E2H, 0E4H, 0E8H, OFOH, 0F1H, 0F2H, 0F4H,0F8H0RG 000011 ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主稈序的开始MAIN: MOV DPTR, #TMP1 ;得到数据的地址MOV R7, #40 ;设置循环40次Ml: CLR AMOVC A, ©A+DPTR ;读取相应地址的数据CPL A ;因发光二极管采用共阳极,所以将数据取反再输出MOV P0, AINC DPTRLCALL DELAY ;转入延时了程序DJNZ R7, Ml ; 40次未完成继续LJMP MAIN ;40次完成冋到开始处DELAY: MOV R5, #255 ;延时子稈序D1: MOV R6, #255DJNZ R6, $DJNZ R5, DIRETEND ;程序体结束3)汇编、连接生产目标文件。
单片机原理与应用技术实验指导书(V2.3)
单片机原理与应用技术实验指导书(Freescale)机械工程学院机械电子工程教研室王晓峰实验一飞思卡尔嵌入式实验系统入门—GPIO控制实验一、实验目的:熟悉CodeWarrior集成开发环境及飞思卡尔嵌入式实验开发系统掌握AW60的GPIO结构及控制方法掌握CodeWarrior工程结构及创建汇编工程熟悉汇编指令及应用汇编语言编程方法二、实验内容1.运用CodeWarrior新建工程,进行工程程序编辑、编译、下载、调试;2.利用飞思卡尔嵌入式实验开发系统根据实验需要进行硬件连接;3.观察示例工程项目,该工程功能为:根据连接在PTC0、PTC1口上的两个拨动开关的状态,控制接中PTB口上的八个LED处在以下二种不同状态:八个LED同时亮-灭循环;四个灯交替亮-灭;4.设计一个比示例工程简单的工程项目,内容为控制PTB口上连接的八个LED灯同时亮-灭循环一次再四个灯交替亮-灭一次。
5.设计一个比示例工程更复杂一些的工程项目,根据连接在PTC口上的两个拨动开关的状态,控制接中PTB口上的八个LED处在以下四种不同状态:八个LED亮—灭循环;四个灯交替亮—灭;一个LED左移流水灯;两个LED右移流水灯。
三、实验步骤(注意:在调试过程中如需要进行连接线路时,要先将实验箱断电,待电路连接好后再接通电源!!!)1.将飞思卡尔嵌入式实验开发系统实验箱接上电源,写入器BDM接头插接入核心卡BDM座,USB头接入PC机USB口。
2.PC机上启动CodeWarrior,新建工程LED.mcp(注意设置工程保存路径)3.观察工程文件结构,查看相应文件。
4.在main.asm中编辑工程主文件5.编辑相关子程序6.编译,如果有错误修改,直至编译通过7.链接、下载,调试观察LED灯现象导线接插点Vcc拨码开关GN图1-1 LED及拨动开关原理图四、参考程序1.主汇编程序main.asm该程序为根据PTD口的PTD0上接的拨动开关的状态控制连接在PTB口上的八个LED灯在四亮四暗状态或八个灯同时亮同时暗的状态XDEF asm_mainXREF MCUInitXREF DelayHXINCLUDE 'derivative.inc'INCLUDE 'light.inc'INCLUDE 'switch.inc'MyCode: SECTION; this assembly routine is called the C/C++ applicationasm_main:JSR MCUInitJSR Switch_InitJSR Light_InitM_Scan: JSR Switch_ReadLDA $70CMP #$01BNE M01LDA #0JSR Light_On_OffLDHX #$0fffJSR DelayHXLDA #1JSR Light_On_OffLDHX #$0fffJSR DelayHXBRA M_ScanM01: CMP #$02BNE M02JSR Light_HalfLDHX #$0fffJSR DelayHXM02: BRA M_ScanRTS ; return to caller2、LED灯构件程序light.asm;[Light.asm]小灯驱动-----------------------------------------------------* ;本文件包含: * ; (1)Light_init:定义控制小灯的MCU的I/O引脚为输出* ; (2)Light_On_Off:驱动小灯"亮","暗" * ;--------------------------------------------------------------------------------*;小灯驱动所需头文件INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名;小灯控制引脚宏定义Light_P: equ PTBD ;灯(Light)接在PTB口Light_D: equ PTBDD ;相应的方向寄存器Lon: equ $00Loff: equ $ffLdiff: equ $0f;声明外部函数XDEF Light_Init ;小灯初始化XDEF Light_On_Off ;驱动小灯"亮","暗"XDEF Light_Half ;驱动小灯"四亮","四灭";Lightinit:定义控制小灯的MCU引脚为输出---------------------------* ;功能:定义控制小灯的MCU引脚为输出,并使小灯初始为暗* ;----------------------------------------------------------------------------------* Light_Init:LDA #$FFSTA Light_P ;设置初始时八个LED灯全灭LDA #$FFSTA Light_D ;设置LED所接PTB口为输出RTS;Light_On_Off:驱动小灯"亮","灭"---------------------------------------* ;功能:根据A的值控制小灯的亮和暗* ;---------------------------------------------------------------------------------* Light_On_Off:CMP #0BNE Light_1LDA #LonSTA Light_PBRA Light_ExitLight_1:CMP #1BNE Light_Exit ;入口非'L'/'A',程序无响应LDA #LoffSTA Light_PLight_Exit:RTS;Light_Half:驱动小灯"四亮","四灭"-------------------------------------* ;功能:根据A的值控制小灯的亮和暗* ;---------------------------------------------------------------------------------*Light_Half:LDA Light_PCMP #LdiffBNE Light_half1LDA #~LdiffSTA Light_PBRA L_exitLight_half1:LDA #LdiffSTA Light_PL_exit:RTS3、拨动开关控制程序Switch.asm;[switch.asm]开关状态输入---------------------------------------------* ;本文件包含: * ; (1)Switch_init:定义连接开关的MCU的I/O引脚为输入* ; (2)Switch_read:读取开关状态* ; (3)RAM$70保存开关状态;--------------------------------------------------------------------------------*;小灯驱动所需头文件INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名XDEF Switch_InitXDEF Switch_Read;开关连接引脚宏定义Switch_P: equ PTCDSwitch_D: equ PTCDDS_K1: equ 0S_K2: equ 1;Switch_Init:定义连接开关的I/O为输入----------------------------------*Switch_Init:BCLR S_K1,Switch_DBCLR S_K2,Switch_DRTS;Switch_Read:读取连接开关的I/O口数据,取出开关状态------------* ;RAM$70保存开关状态* ;------------------------------------------------------------------------------------*Switch_Read:PSHALDA #0STA $70BSET S_K1,$70BSET S_K2,$70LDA Switch_PAND $70STA $70PULARTS4、延时通用程序DelayHX.asmXDEF DelayHXDelayHX:PSHA ;[A进栈](保护寄存器A)CPX #0 ;X变址寄存器中的值是否为0BEQ DelayHX_ExitDelayHX_1:LDA #200 ;延时约200*5=1000(T)------DelayHX_2:NOP ;(1T)NOP ;(1T)DBNZA DelayHX_2AIX #-1 ;(HX - 1) -> HXCPHX #0BNE DelayHX_1DelayHX_Exit:PULA ;[A出栈](恢复寄存器A)RTS;[MCUInit.asm]AW60芯片初始化子程序---------------------*;功能: *; 系统初始化设置,设置ICGC1和ICGC2寄存器,SOPT的寄存器*; 设置,由外部晶振f = 4MHz,产生内部总线时钟f = 20MHz *;入口:无*;出口:无*;------------------------------------------------------*INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名;声明外部函数XDEF MCUInit ;芯片初始化MCUInit:PSHA ;A进栈(保护寄存器A)LDA #%01100000; |||; |||; |||; ||+------STOPE --- 允许STOP; |+-------COPT ---- long timeout 2^18; +--------COPE ---- 关看门狗STA SOPT ;系统选项寄存器(只写一次)MOV #%00110000,ICGC2; |||||||| 应该在设置ICGC1之前写MFDx; |||||||+-RFD0 \; ||||||+--RFD1 --- 分频因子R=1; |||||+---RFD2 /; ||||+----LOCRE --- 丢失时钟信号后产生一个中断信号; |||+-----MFD0 \; ||+------MFD1 --- 锁频环倍乘因子N = 10; |+-------MFD2 /; +--------LOLRE --- 锁频环失锁后产生一个中断信号(不复位) MOV #%01111000,ICGC1; |||||||x; ||||||+--LOCD ---- 允许检测时钟信号丢失Lost of Clock; |||||+---OSCSTEN - 在OFF模式下允许晶振电路; ||||+----CLKS0 \ - 选择FLL engaged external reference(FEE) ; |||+-----CLKS1 / 使用锁频环的外时钟模式; ||+------REFS ---- 使用晶振(0表示使用外时钟信号); |+-------RANGE --- 使用高频晶振(4MHz p=1) (1-1;0-64); +--------HGO ----- 低功耗;等待FLL稳定PULA ;A出栈(恢复寄存器A)RTS四、思考题1.CodeWarrior建立工程有什么工程框架文件,这些文件的作用?2.该实验采用模块化设计方法,工程框架包含哪些文件,画出其组织结构,画出主程序流程图。
单片机原理及应用实验指导书13春
《单片机原理及应用》实验指导书电气工程与信息工程学院专业实验室2013.3目录前言 (1)实验一仿真系统的使用与程序的调试 (3)实验二编程练习 (5)实验三单片机程序烧写 (8)实验四A/D转换 (10)实验五D/A转换 (14)实验六综合性实验——十字路口交通灯的通行指示控制 (17)实验七综合性实验——生产线货物自动计数设备 (17)实验八综合性实验——全自动洗衣机控制器 (18)实验九综合性实验——彩灯的循环闪烁控制 (18)附录1:51Tracer仿真器的使用及Keil uVision2快速入门 (20)附录2:Keil uVision2仿真调试高级技巧 (25)前言1、《单片机原理及应用》课程实验的任务通过本课程的实验环节,学生应进一步巩固和加深对单片机原理与应用基本知识的理解,提高综合运用所学知识,独立编程和设计电路的能力,培养自身独立分析问题、解决问题的能力。
实验要求学生经历由软件环境练习、简单程序编写及软件仿真、复杂程序调试、单片机中断定时功能的学习掌握及硬件仿真,最后到实践一个小型控制器的设计过程,学生必须根据实验要求完成每一个环节,期间培养自身的观察能力、动手能力,以及根据所学知识解决实际问题的能力。
学生须具备基本的自拟实验步骤、分析和综合实验结果以及撰写实验报告的能力。
2、实验设备安装有中文版Keil uVision2的计算机、学林51TRACER仿真器以及配合相关实验的实验板、实验工具,其中实验板配有按键、二极管、数码管显示电路、AD和DA模块等。
KEIL uVISION2由美国Keil Software公司出品,是众多单片机应用开发软件中的优秀软件之一。
提供丰富的库函数和功能强大的集成开发调试工具,生成的目标代码效率较高,多数语句生成的汇编代码较紧凑,容易理解。
软件仿真方面也具有较强的功能,其兼容51系列单片机C语言软件开发系统,使用接近于传统C语言的语法来开发。
与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用, 而且可以提高了工作效率和项目开发周期。
单片机原理与应用实验教案实验指导书
单片机原理与应用实验指导书专业班级姓名计算机学院编2007年3月实验目录第一部分软件实验选做实验一清零程序实验二拆字程序实验三拼字程序实验四数据区传送子程序实验五数据排序实验实验六查找相同个数实验七无符号数双字节快速乘法子程序实验八脉冲计数(定时/计数综合实验)第二部分硬件实验选做实验一 P1口亮灯实验实验二 P1口转弯灯实验实验三 P3.3口输入,P1口输出实验四工业顺序控制实验五 8255PA口控制PB口实验六 8255控制交通灯实验七简单I/O口扩展实验八 A/D转换实验第一部分软件实验实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容把2000H~20FF的内容清零。
三、实验步骤用连续或单步方式运行程序,检查2000H~20FF执行程序前后的内容变化。
四、思考 1、假使把2000H~20FF中的内容改为FF,如何修改程序。
2、将程序中的汇编语言中每条单步执行的指令阐述出来。
五、程序清单(sw01.asm)ORG 0000HLJMP SE01ORG 0640HSE01:MOV R0,#00HMOV DPTR,#00H ;(0000H)送DPTRLOO1:CLR AMOVX @DPTR,A ;0送DPTRINC DPTR ;DPTR+1INC R0 ;字节数加1CJNE R0,00H,LOO1 ;不到FF个字节再清LOOP:SJMP LOOPEND实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。
二、实验内容把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、实验程序框图四、实验步骤用连续或单步方式运行程序,检查2000H~2002H中内容变化情况。
五、思考 1、如何用断点方式调试本程序。
2、将程序中的汇编语言中每条单步执行的指令阐述出来。
六、程序清单(sw02.asm)ORG 0000HLJMP SE02ORG 0660HSE02: MOV DPTR,#2000HMOVX A,@DPTRMOV B,A ;(2000H)→A→BSWAP A ;交换ANL A,#0FH ;屏蔽高位INC DPTRMOVX @DPTR,A ;送2001HINC DPTRMOV A,BANL A,#0FH ;(2000H)内容屏蔽高位MOVX @DPTR,A ;送2002HLOOP: SJMP LOOPEND实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。
《单片机原理及应用》课程实验指导书
江西理工大学《单片机原理及应用》课程实验指导书主审人:主撰人:前言单片机技术作为计算机技术的一个重要分支,广泛用于工业控制、智能化仪器仪表、家用电器,甚至电子玩具等各个领域,它具有集成度高、性能价格比优越、货源充足等优点。
因此,越来越受到工程技术人员重视,目前国内中高等学校电力技术、电气自动化、自动控制、电子技术等均开设了此课程。
目录第一部分绪论第二部分基本实验指导实验一单片机及其开发系统入门实验二单片机I/O口控制实验实验三外部中断实验实验四定时/计数器实验实验五蜂鸣器驱动实验实验六串转并的I/O口实验实验七 8x8LED扫描输出实验实验八基于C51单片机综合程序设计实验九并转串的I/O口实验实验十 RS232串行口通信实验实验十一并行的模数转换实验实验十二并行的数模转换实验附录实验仪硬件结构第一部分绪论本实验指导书是根据《单片机原理及应用》课程实验教学大纲编写,适用于电气工程及自动化、自动化专业。
一、本课程实验的作用与任务《单片机原理及应用》实验是单片机学习过程中必不可少的重要实践环节。
通过实验和设计,让学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念,使学生在分析问题和解决问题等方面受到系统科学的训练,从而提高学生理论联系实际能力、自主动手能力和创新能力。
二、本课程实验的基础知识本课程要求学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念。
学生在学习这门课程之前,必须掌握《模拟电子技术》、《数字电路》、《微机原理及应用》、《C语言程序设计》等课程相关内容。
三、本课程实验教学项目及要求第二部分基本实验指导实验一单片机及其开发系统入门一. 实验目的熟悉 Keil C51集成开发环境的使用方法。
二.实验原理利用单片机的P1口控制发光二极管,进行Keil C51集成开发环境的仿真调试练习。
《单片机原理及应用》实验指导书(第一部分实验--4学时)
《单片机原理及应用》课程实验指导书一、实验目的《单片机原理及应用》课程实验是电子信息工程专业的一门专业基础课实验,是本专业学生获得单片机知识的开端。
要求学生通过本课程实验,具备利用单片机技术解决实际控制问题的能力。
培养与提高学生科学实验的能力,动手实践能力、理论联系实际的能力、自学能力、从简单的设计到综合的应用能力和创新能力。
通过实验的训练,使学生掌握《单片机原理及应用》实验的基本方法和基本技能,加深对单片机知识的理解,掌握单片机应用系统设计方法,为今后的工作打下良好的基础。
二、实验设备及器件PC机一台DP-51PROC单片机综合仿真实验仪一台示波器一台电阻若干电容若干导线若干三、实验内容本实验共8个实验内容:实验一仿真实验仪的操作使用练习实验二单片机I/O口控制实验实验三蜂鸣器驱动实验实验四电子琴实验实验五定时器输出PWM实验实验六直流电机实验实验七点阵LED 扫描输出实验实验八串口通信实验*详细指导内容请见附录。
四、实验考核、成绩评定考核方法:设计过程中检查学生实际操作能力,根据课程设计内容要求,设计相关程序, 指导书中所给代码仅供参考,要求学生独立进行整体程序设计,教师要检查学生的运行步骤及结果。
成绩评定:实验成绩根据考勤、实验态度、动手能力、创新能力和实验报告来综合评定,实验成绩计入课程平时成绩,占总成绩的20%。
五、参考资料1、DP-51PROC实验指导书(实验设备配套指导资料),2007年.2、李广第.等单片机基础.北京航空航天大学出版社,2005年.3、蒋辉平等.基于Proteus的单片机系统设计与仿真实例,2012年.六、实验报告格式要求按学院实验报告统一格式报告内容包括:实验目的与要求、实验步骤、程序流程图和实验程序、实验步骤和实验结论。
附录——详细指导内容第一次实验(4学时)实验一仿真实验仪的操作使用练习一.实验目的和要求熟悉Keil C51 集成开发环境调试功能的使用和DP-51PROC 单片机综合仿真实验仪的使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机实验实验说明:实验一和二做一次实验三和四做一次实验五和六分别做一次实验一 P1口实验一一、实验目的:1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
二、实验设备:EL-MUT-II型实验箱,8051CPU板三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2.P1口做输入口,接八个按纽开关,以实验箱上74LS273做输出口,编写程序读取开关状态,在发光二极管上显示出来。
四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。
作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。
8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。
可以用第二个实验做一下实验。
先按要求编好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1做输入口,会有什么结果。
再来看一下延时程序的实现。
现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。
在系统时间允许的情况下可以采用后一种方法。
本实验系统晶振为6.144MHZ,则一个机器周期为12÷6.144us即1÷0.512us。
现要写一个延时0.1s的程序,可大致写出如下:MOV R7,#X (1)DEL1:MOV R6,#200 (2)DEL2:DJNZ R6,DEL2 (3)DJNZ R7,DEL1 (4)上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要1÷0.256us,现求出X值:1÷0.256+X(1÷0.256+200×1÷0.256+1÷0.256)=0.1×10⁶指令(1)指令(2)指令(3)指令(4)所需时间所需时间所需时间所需时间X=(0.1××10⁶-1÷0.256)/(1÷0.256+200×1÷0.256+1÷0.256)=127D=7FH经计算得X=127。
代入上式可知实际延时时间约为0.100215s,已经很精确了。
五、实验步骤:执行程序1时:P1.0~P1.7接发光二极管L1~L8。
执行程序2时:P1.0~P1.7接按纽开关K1~K8;74LS273的SO0~SO7接发光二极管L1~L8;74LS273的片选端CS273接CS0(由程序所选择的入口地址而定,与CSO~CS7相应的片选地址请查看第一部分系统资源,以后不赘述)。
六、参考程序:循环点亮发光二极管NAME T1_1 ;P1口输实验ORG 0000HLJMP STARTORG 4100HSTART: MOV A,#01HLOOP: RL A ; 左移一位,点亮下一个发光二极管MOV P1,ALCALL DELAY ;延时 0.1秒JMP LOOPDELAY: MOV R1,#127 ; 延时0.1秒DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2DJNZ R1,DEL1RETEND通过发光二极管将P1口的状态显示NAME T1_2 ;P1口输入实验OUT_PORT EQU 0CFA0HORG 0000HLJMP STARTORG 4100HSTART: MOV P1,#0FFH ;复位P1口为输入状态MOV A,P1 ;读P1口的状态值入累加器AMOV DPTR,#OUT_PORT ;将输出口地址赋给地址指针DPTRMOVX @DPTR,A ;将累加器A的值赋给DPTR指向的地址JMP START ;继续循环监测端口P1的状态END实验二 P1口实验二一、实验目的:1.学习P1口既做输入又做为输出的使用方法。
2.学习数据输入、输出程序的设计方法。
二、实验设备:EL-MUT-III型实验箱,8051CPU板三、实验原理:P1口的使用方法这里不讲了。
有兴趣者不妨将实验例程中的“SETB P1.0, SETB P1.1”中的“SETB”改为“CLR”看看会有什么结果。
另外,例程中给出了一种N路转移的常用设计方法,该方法利用了JMP @A+DPTR的计算功能,实现转移。
该方法的优点是设计简单,转移表短,但转移表大小加上各个程序长度必须小于256字节。
四、实验步骤:K1接P1.0、K2接P1.1;L5接P1.2、L6接P1.3;L7接P1.6、L8接P1.7。
运行实验程序,K1做为左转弯开关,K2做为右转弯开关。
L5、L6做为右转弯灯,L7、L8做为左转弯灯。
结果显示:1:K1接高电平K2接低电平时,右转弯灯(L7、L8)灭,左转弯灯(L5、L6)以一定频率闪烁;2:K2接高电平K1接低电平时,左转弯灯(L5、L6)灭,右转弯灯(L7、L8)以一定频率闪烁;3:K1、K2同时接低电平时,发光二极管全灭;4:K1、K2同时接高电平时,发光二极管全亮。
五、参考程序:T2.ASMNAME T2 ;P1口输入输出实验ORG 0000HLJMP STARTORG 4100HSTART: SETB P1.0SETB P1.1 ;用于输入时先置位口内锁存器MOV A,P1ANL A,#03H ;从P1口读入开关状态,取低两位 MOV DPTR,#TAB ;转移表首地址送DPTRMOVC A,@A+DPTRJMP @A+DPTRTAB: DB PRG0-TABDB PRG1-TABDB PRG2-TABDB PRG3-TABPRG0: MOV P1,#00H ;向P1口输出#0FFH,发光二极管全灭 ;此时K1=0,K2=0JMP STARTPRG1: MOV P1,#0CH ;只点亮L5、L6,表示左转弯ACALL DELAY ;此时K1=1,K2=0MOV P1,#00H ;再熄灭0.5秒ACALL DELAY ;延时0.5秒JMP STARTPRG2: MOV P1,#0C0H ;只点亮L7、L8,表示右转弯ACALL DELAY ;此时K1=0,K2=1MOV P1,#00H ;再熄灭0.5秒ACALL DELAYJMP STARTPRG3: MOV P1,#0FFH ;发光二极管全亮,此时K1=1,K2=1 JMP STARTDELAY: MOV R1,#5 ;延时0.5秒DEL1: MOV R2,#200DEL2: MOV R3,#126DEL3: DJNZ R3,DEL3DJNZ R2,DEL2DJNZ R1,DEL1RETEND实验三简单I/O口扩展实验一——交通灯控制实验一、实验目的:1.学习在单片机系统中扩展简单I/O接口的方法。
2.学习数据输出程序的设计方法。
3.学习模拟交通灯控制的实现方法。
二、实验设备:EL-MUT-III型实验箱,8051CPU板三、实验内容:扩展实验箱上的74LS273做为输出口,控制八个发光二极管燃灭,模拟交通灯管理。
四、实验原理:要完成本实验,首先必须了解交通路灯的燃灭规律。
本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。
不妨将L1(红)、L3(绿)、L5(黄)做为东西方向的指示灯,将L2(红)、L4(绿)、L6(黄)做为南北方向的指示灯。
而交通灯的燃灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。
闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。
闪烁若干次后,再切换到东西路口方向,重复上述过程。
各发光二极管的阳极通过保护电阻接到+5V的电源上,阴极接到输入端上,因此使其点亮应使相应输入端为低电平。
五、实验步骤:74LS273的输出O0~O7接发光二极管L1~L8,74LS273的片选CS273接片选信号CSO,此时74LS273的片选地址为CFA0H~CFA7H之间任选。
运行实验程序,观察LED显示情况是否与实验内容相符。
六、参考程序:T3.ASMNAME T3 ;I/O口扩展实验一PORT EQU 0CFA0H ;片选地址CS0CSEG AT 0000HLJMP STARTCSEG AT 4100HSTART: MOV A,#03H ;两个红灯亮,黄灯、绿灯灭ACALL DISP ;调用273显示单元(以下雷同)ACALL DE3S ;延时3秒LLL: MOV A,#06H ;东西路口绿灯亮;南北路口红灯亮ACALL DISPACALL DE10S ;延时10秒MOV A,#02H ;东西路口绿灯灭;南北路口红灯亮ACALL DISPMOV R2,#05H ;R2中的值为黄灯闪烁次数TTT: MOV A,#12H ;东西路口黄灯亮;南北路口红灯亮ACALL DISPACALL DE02S ;延时0.2秒MOV A,#02H ;东西路口黄灯灭;南北路口红灯亮ACALL DISPACALL DE02S ;延时0.2秒DJNZ R2,TTT ;返回TTT,使东西路口黄灯闪烁五次 MOV A,#03H ;两个红灯亮,黄灯、绿灯灭ACALL DISPACALL DE02S ;延时0.2秒MOV A,#09H ;东西路口红灯亮;南北路口绿灯亮ACALL DISPACALL DE10S ;延时10秒MOV A,#01H ;东西路口红灯亮;南北路口绿灯灭ACALL DISPMOV R2,#05H ;黄灯闪烁五次GGG: MOV A,#21H ;东西路口红灯亮;南北路口黄灯亮ACALL DISPACALL DE02S ;延时0.2秒MOV A,#01H ;东西路口红灯亮;南北路口黄灯灭ACALL DISPACALL DE02S ;延时0.2秒DJNZ R2,GGG ;返回GGG,使南北路口;黄灯闪烁五次MOV A,#03H ;两个红灯亮,黄灯、绿灯灭ACALL DISPACALL DE02S ;延时0.2秒JMP LLL ;转LLL循环DE10S: MOV R5,#100 ;延时10秒JMP DE1DE3S: MOV R5,#30 ;延时3秒JMP DE1DE02S: MOV R5,#02 ;延时0.2秒DE1: MOV R6,#200DE2: MOV R7,#126DE3: DJNZ R7,DE3DJNZ R6,DE2DJNZ R5,DE1RETDISP: MOV DPTR,#PORT ;273显示单元MOVX @DPTR,ARETEND实验四简单I/O口扩展实验二一、实验目的:1.学习在单片机系统中扩展简单I/O口的方法。
2.学习数据输入,输出程序的编制方法。
二、实验设备:EL-MUT-III型实验箱,8051CPU板三、实验原理:MCS-51外部扩展空间很大,但数据总线口和控制信号线的负载能力是有限的。