单片机实验指导书2012版
- 格式:doc
- 大小:13.15 MB
- 文档页数:39
2012单⽚机课程设计指导书-⾃动化2010《单⽚机原理及应⽤》课程设计指导书班级:⾃动化2010-2、3班时间:2012.12.24-2013.1.4 指导教师:孙秀娟王传江⼀、设计⽬的1、通过综合运⽤单⽚机原理及接⼝技术的知识,对所学的内容做⽐较系统的设计,提⾼学⽣综合运⽤本课程和先修专业课程的能⼒,以及分析问题和解决问题的能⼒。
2、进⼀步巩固所学的课堂教学理论基础,通过硬件的设计及软件的编程,提⾼学⽣的实验⽔平,加强学⽣的实践技能的培养,提⾼他们的应⽤能⼒。
3、使学⽣在树⽴正确的⼈⽣观、养成严谨、踏实的⼯作作风等思想素质⽅⾯受到教育和培养。
⼆、内容及时间安排本次课程设计的题⽬定为下⾯4个,学⽣可以结合⾃⾝特点⾃由组合,3⼈⼀组选择任意⼀题(也可以是以下题⽬的组合或其它感兴趣的课题)进⾏设计。
课题1:简易时钟/秒表计时器(LED数码管或液晶显⽰)课题2:电⼦⽇历时钟的设计与调试(可选⽤时钟芯⽚DS1302)课题3:多路温度检测系统设计(可选⽤温度传感器DS18B20)课题4:简易交通灯控制系统设计时间为2周学习⽇,⼤体安排如下:(⼀)第⼀阶段:12⽉24⽇(18周周⼀)上午:布置课题,任务介绍,设计分组;12⽉24⽇(18周周⼀)下午:查阅资料,拟定⽅案,绘制硬件原理草图;12⽉25⽇(18周周⼆):⽅案确定,熟悉硬件原理,画出原理图,确定软件流程。
(⼆)第⼆阶段12⽉26⽇(18周周三):实物配备、调试显⽰电路,编写显⽰软件,熟悉LED静态、动态显⽰或LCD液晶显⽰的⼯作原理;12⽉27⽇(18周周四):编写键盘软件,调试键盘电路;12⽉28、29⽇(18周周五、周六):编制其它功能软件,开始系统程序调试;12⽉30(18周周⽇):优化程序、系统软硬件联合调试,记录并观察重要数据。
(三)第三阶段12⽉31⽇(19周周⼀):实物验收、考核;2013年1⽉12⽇(20周周六):考核、上交设计报告。
《单片机原理》实验指导书计算机科学与技术系2012年8月目录第一部分单片机仿真实验 (1)实验一:流水灯实验 (1)实验二:中断实验 (4)实验三:定时器中断实验 (6)实验四:串行口实验 (9)实验五:矩阵式键盘输入识别 (13)实验六:LCD循环显示设计 (19)第二部分单片机硬件实验............................错误!未定义书签。
第一章试验箱系统概述 ...................................错误!未定义书签。
一、系统地址分配........................................... 错误!未定义书签。
二、系统接口定义........................................... 错误!未定义书签。
三、通用电路简介........................................... 错误!未定义书签。
第二章实验指导...............................................错误!未定义书签。
实验七P1口亮灯和P1口加法器实验........... 错误!未定义书签。
实验八简单I/O口扩展(选作).................. 错误!未定义书签。
实验九8255控制交通灯................................ 错误!未定义书签。
实验十128*64LCD液晶显示 .......................... 错误!未定义书签。
第一部分单片机仿真实验实验一:流水灯实验一、实验目的:通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。
二、实验原理图实验参考电路图如下:三、参考实验程序//流水灯实验#include<reg51.h> //包含单片机寄存器的头文件sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机//的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的操作/****************************************函数功能:延时一段时间*****************************************/void delay(void){unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++); //利用循环等待若干机器周期,从而延时一段时间 }/*****************************************函数功能:主函数******************************************/void main(void){while(1){x=0xfe; //第一个灯亮delay(); //调用延时函数x=0xfd; //第二个灯亮delay(); //调用延时函数x=0xfb; //第三个灯亮delay(); //调用延时函数x=0xf7; //第四个灯亮delay(); //调用延时函数x=0xef; //第五个灯亮delay(); //调用延时函数x=0xdf; //第六个灯亮delay(); //调用延时函数x=0xbf; //第七个灯亮delay(); //调用延时函数x=0x7f; //第八个灯亮delay(); //调用延时函数}}四、实验思考题:修改程序使LED灯为18灯亮——27灯亮——36灯亮——45灯亮,再将LED 灯亮的顺序倒过来既:45灯亮——36灯亮——27灯亮——18灯亮,连续运行。
一、基本控制语句应用——简单广告牌霓虹灯设计1. 实验目的:a.理解左移RL、右移RR指令的功能。
b.延时程序DELAY的具体执行过程、延时量控制等。
c.掌握通过设置程序的跳转来实现程序循环的方法。
2.实验设备使用:计算机一台、单片机实验箱一套、Keli C软件一套。
3.实验基本原理:Array (1)源程序及流程图:ORG 0000HAJMP MAINORG 0030HMAIN: MOV P0,#00HMOV A,#01HLOOP: MOV P0,ARL AJMP LOOPEND(2)电路原理图: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 AACALL DELAYJMP LOOP;*****延时子程序******;DELAY:MOV R2,#10HLOOP1:MOV R1,#0FFHLOOP2:DJNZ R1,LOOP2DJNZ R2,LOOP1RETENDd. 适当修改延时量,使LED闪烁更为明显,易于肉眼观察。
e. 适当修改程序,使程序最终实现一只LED作流水状移动。
(2)发挥部分:①能自左向右——自右向左——自左向右反复循环来控制一只发光管如反弹状移动。
②能通过两组I/O口组合实现16只LED的流水灯效果。
6.实验报告要求:a.记录实验每一步骤的具体过程及实验现象。
b.叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。
单片机原理及其应用实验指导书南通大学电气工程学院自动化系2012 年 3 月前言单片机目前已广泛应用在智能仪表、工业控制、家用电器等各个领域,成为现代电子系统的一个极其重要的组成部分,对于电类专业学生来说,掌握单片机知识,具备基本应用技能,才能符合当前社会对专业人才的要求。
单片机是一门应用性极强的课程,学生在掌握基本理论知识的基础上,更要通过实验训练,提高其调试动手能力,学会解决具体问题的思路和手段,具备初步的系统设计和调试能力。
因此,为了更好地做好单片机课程的软硬件实验,特编写本实验指导书,书中叙述了各实验的目的、要求,对于设计性实验,给出了列出了接线图、程序结构框图和清单。
学生按要求完成本实验指导书中的实验,可基本掌握MCS-51单片机的结构原理、接口技术以及程序设计技巧。
另外:一、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据教学要求,选择相应实验。
二、对同一问题的解决方法往往不是唯一的,欢迎各位指导教师在使用本实验指导书的过程中提出更完善的实验方案,指出书中的错误和不足,并希望大家反馈给我们,以便及时修改。
目录第一章集成开发环境简介 (1)第二章演示程序 (9)第三章实验项目 (15)实验一简单程序设计实验 (15)实验二I/O口实验 (18)实验三定时器实验 (20)实验四A/D、D/A转换实验 (21)实验五并行接口扩展实验 (25)第一章 集成开发环境简介Super ICES-51 80C51单片机实验仪使用当前流行的Keil C51开发软件,采用uVision2集成开发环境。
1.1 Keil C51简介Keil C51软件是德国Keil 公司开发的功能完善的C51开发软件,近年来在国内得到了迅速普及。
Keil 包括以下几个部分:uVision2 IDE 、C51编译器、A51汇编器、LIB 库管理器、BL51连接器/定位器、uVision 硬件调试器、RTX51实时多任务操作系统。
单片机实验指导书(与单片机实验板配套使用)实验一简单程序调试实验一、实验目的1、熟悉 Keil uVision3集成仿真环境2、掌握以下内容:1)建立工程2)建立源程序并添加源程序到工程3)编译源程序及工程4)调试并观察运行结果①观察汇编代码;②观察并修改寄存器值;③观察并修改内部存储单元内容二、实验内容实验程序如下:汇编指令行号ORG 0000HDSP0 EQU 30HDSP1 EQU 31HAT1:MOV R0,#DSP1; 1MOV 32H,A ; 2ANL A,#0FH ; 3MOV @R0, A ; 4DEC R0 ; 5MOV A, 32H ; 6ANL A, #0FH ; 7SWAP A ; 8MOV @R0, A; 9SJMP $ ; 10END二、实验步骤说明:以下[ ] 内加粗内容均为系统菜单名称、列表名称、窗口名称或按钮名称㈠进入Keil uVision3集成仿真环境从程序组或桌面找到Keil uVision3图标,点击图标启动仿真软件,即可进入KeiluVision2 仿真环境。
㈡建立工程文件⒈点击菜单[Project]→[New Project]⒉出现[Creat New Project]对话框,在文件名栏中输入一个工程文件名(用英文缩写),选择一个可以保存的文件夹,点击[保存] 按钮。
⒊出现选择器件类型对话框, 在对话框左列表中选择处理器型号[Atmel]→[AT89C51],点[确定] 按钮。
⒋出现是否添加标准8051启动代码的对话框,点击[否],进入Keil uVision2 工程界面。
㈢建立汇编源文件:⒈点击菜单[File] →[New],出现一个名为[Text 1]的空白文本文件,点击菜单[File] →[Save]保存文本文件,出现[Save]对话框。
⒉在文件名栏中输入一个有意义的文件名,用英文缩写并且不能和工程文件名同名(如TEST1),后缀必须为“.asm”,点击[保存]按钮。
实验一伟福编程软件、编程器、实验箱的使用一、实验目的1.掌握仿真软件、编程器、实验箱的安装、使用方法2.学习P1口的使用方法3.学习延时子程序的编写和使用二、实验说明使用伟福仿真软件Wave6000、编程器、实验箱。
实验时间:3学时。
三、实验内容及步骤1.启动计算机,按照软件安装说明安装伟福仿真软件,进入开发环境。
2.参照开发环境说明,掌握软件的使用。
3.P1.0 P1.1接发光二极管,参照如下结构,使用软件延时方式,编写程序,控制P1.0以4Hz、P1.0以2Hz的频率闪烁。
4.使用编程器、单片机开发实验箱,调试程序,观察发光二极管的闪烁。
5.写实验报告,内容包括电路原理图,汇编程序,延时的计算,心得体会等四、程序示例;P1.0输出以某频率方波,P1.1以其1/2频率输出方波ORG 00HSJMP MAIN ;跳转到主程序ORG 30HMAIN: MOV R0,#02HFP10: CALL DELAYCPL P1.0DJNZ R0, FP10CPL P1.1MOV R0,#02HSJMP FP10DELAY: MOV R1,#100DEL1: MOV R2,#50DJNZ R2,$NOPNOPDJNZ R1,DEL1RETEND;思考:在此例中,P1.0、P1.1输出方波的频率究竟是多少?实验二程序设计实验一、实验目的:⑴熟练掌握80C51汇编语言程序设计方法。
⑵熟练掌握80C51汇编语言程序的调试方法。
二、实验说明实验时间:2学时。
三、实验内容:完成从内部数据存储区20H开始的8个单字节数累加、计算平均程序的设计与调试。
累加结果存放在29H(高字节)、2AH(低字节),平均数存放在2BH。
四、实验设备:PC机五、思考:如何使用软件Wave6000调试所编写的计算程序?六、实验报告要求1. 整理好执行正确的程序和数据;2. 写实验报告,内容包括实验项目、内容,汇编程序及其相应的注释说明,实验完成情况,心得体会。
2012单片机及智能仪器实验指导书《单片机及智能仪器》实验指导书杨明亮梁应选编适应专业:测控技术与仪器陕西理工学院机械工程学院2012年4月1前言《单片机及智能仪器》是一门实践性很强的课程。
为了使学生更好的理解和掌握这些知识,灵活应用单片机,使学生熟悉单片机实用技术的开发过程,提高汇编语言的编写能力,提高对汇编语言的编辑、汇编、调试运行等技能,设置了软件类、硬件类和综合应用类实验,通过上机及接口实验,熟练地掌握单片机的编程结构、工作模式、指令系统;学会汇编语言程序设计;掌握微机输入/输出接口的基本概念,主要模式和基本工作方法,掌握并行和串行接口的原理,学会并2行输入/输出口的扩展,并能够进行基本的接口设计,提高其实践能力;并培养学生实事求是、严谨的科学作风和良好的实验习惯,为今后课程学习以及开发应用打下基础。
开设“单片机综合实验”的目的,是总结几年来单片机教学中,用购买的实验箱,虽然功能很齐全,但基本上是黑箱结构,对初学者,不是从最简单的最小系统开始,一步步深入,做完实验后,效果很差,大部分学生对单片机的系统没有感性认识,最后在课程设计和毕业设计中,连最简单的单片机最小系统都不清楚。
因此该实验就是想让学3生从最简单的系统开始,自己搭建,编程,调试和固化程序,循序渐进,逐步深入。
本实验指导书是针对测仪专业《单片机与智能仪器》课程实验设置的,两个2学时的验证实验和一个6学时的综合实验。
4实验一:LED显示实验实验学时:2实验类型:验证实验要求:必做一、实验目的:1、了解MCS51系列单片机汇编语言的设计和调试方法;2、掌握8032单片机通过8155扩展I/O接口时,LED显示的连接方法和编程方法。
3、了解LED动态显示原理及汇编语言编程。
二、实验内容:1、观察单片机实验系统(实验箱)结构与原理;52、看懂附录1中的程序,将程序输入并调试;编译、调试、运行该程序,显示结果应为“123456”;3、修改该程序,让LED交替显示“123456”和“654321”,注意交替变化中间要有明显的保持时间;也可以显示任意两个六位数字或字符(用七断数码管可以显示的字符,如“H”、“L”等)。
8051单片机实验指导书信阳农专计算机科学系前言本书全面地阐述了8051单片机的基本实验和应用开发技术。
全书共介绍了16个应用实验,每个实验都进行了原理说明,阐述了实验过程并给出了具体实验程序。
本实验指导书最后给出了实验报告的基本要求和书写格式,希望在每次完成实验之后按照要求认真书写实验报告,这样不仅可以帮助回忆实验过程,也为今后实际工作打下较为坚实的基础。
由于作者水平有限及编写时间仓促,书中难免会有不妥之处,殷切希望读者在使用过程中发现问题并提出批评指正。
目录实验一PROTEUS仿真软件的使用 (3)实验二单片机最小系统认识 (13)实验三KEIL软件的使用与数据传送指令 (13)实验四算术、逻辑运算指令 (15)实验五指令综合验证 (15)实验六基本输入输出 (15)一、按钮控制LED 的亮、灭 (15)二、数码管显示 (17)三、开关控制流水灯Proteus 仿真实验 (19)四开关控制LED实验 (21)五广告灯的左移右移实验 (23)六P1口实验 (26)实验七外部中断实验 (29)1、外部中断实验 (29)2、中断优先级实验 (31)实验八单片机定时/计数实验 (37)一T0作定时应用—60秒计时器 (37)二T0作定时—闪烁灯 (42)实验九T0计数器实验 (46)实验十存储器扩展 (49)一、用SRAM6264扩展单片机 (49)二、EEPROM2864A扩展ROM、RAM (49)实验十一数码管动态显示 (47)实验十二键盘接口技术 (48)一.键盘接口技术 (48)二键盘输入液晶显示实验 (51)实验十三ADC0809接口技术 (55)一ADC0809接口技术 (55)二DAC0832接口技术 (55)三ADC0808接口技术 (55)实验十四串行通信-单片机间通信 (58)一.双机通信 (58)二.多机通信 (61)实验十五单片机与PC串行口通讯实验 (66)实验十六综合实验 (69)实验一PROTEUS仿真软件的使用一.实验要求:必做二.实验类型:验证三.实验学时:2四.实验地点与环境:机房,PROTEUS71软件和KEIL软件五.实验目的:1、熟悉PROTEUS单片机仿真软件的使用方法。
DTHS-A互动式实验教学平台单片机实验指导书山东工商学院信息与电子工程学院前言单片机原理及应用实验指导书,是针对自动化、电气工程及其自动化、电子信息科学与技术、电子信息工程、计算机科学与技术及通信工程等专业的学生学习《单片机原理及应用课程》而编写的,主要用于互动式单片机教学中实践环节的参考教材。
单片机及相关的应用技术是近代超大规模集成电路技术与计算机技术发展的产物,已经深入到国民经济与人民生活的各个领域。
《单片机原理及应用》课程已经被几乎所有工科院校中仪器仪表、测控技术、光机电一体化、电子、通信、计算机等类专业列为本科主干专业课程,是培养现代电子技术应用类专业人才的重要技术课程之一。
单片机实践是学习单片机理论的重要实践环节。
通过边学习理论课边实践的教学模式,使学生在课堂理论课学习的基础上,进一步加深对理论知识的理解,学习、掌握单片机的硬件扩展技术、软件编程技术、以及小型应用系统设计技术等相关的技能,增强感性认识,促进认识的深化,培养学生科学的分析能力,使学生掌握单片机应用系统开发的基本方法与基本技能,培养学生严肃认真和实事求是的科学作风,锻炼科学实验的能力。
为今后在相关领域中从事与单片机有关的设计、开发、应用等工作打下良好的基础。
本实验指导书是根据《单片机原理及应用》课程实验教学大纲的要求,以及我校单片机实验开发系统的情况由张鑫、张岩老师编写。
山东工商学院信息与电子工程学院目录第一章系统概述 (1)1.1上部扩充区(简称上板) (1)1.2中部核心控制区(简称中板) (2)1.3下部常规实验区(简称下板) (3)1.4 MCS-51集成开发环境 (7)第二章单片机及其接口实验 (12)实验一系统认识实验 (12)实验二程序设计实验 (14)实验三74LS138译码实验 (15)实验四P1口输入/输出实验1(控制发光二极管亮灭) (18)实验五P1口输入/输出实验2(控制转向灯) (20)实验六P3.3口输入/P 1口输出实验 (23)实验七MCS-51单片机中断系统实验 (26)实验八MCS-51单片机内部定时器/计数器实验 (28)实验九MCS-51单片机串行口并/串、串/并转换实验 (30)实验十MCS-51单片机串行口双机通信实验 (32)实验十一MCS-51单片机与PC通信实验 (34)实验十二外部数据存储器扩展实验 (40)实验十三外部I/O口扩展实验 (42)实验十四工业顺序控制实验 (44)实验十五8255 并行口输出方波实验 (48)实验十六8255并行口输入/输出实验 (50)实验十七8255并行口模拟交通灯实验 (52)实验十八8259中断控制实验 (55)实验十九8253定时器/计数器实验 (57)实验二十DS1302实时时钟实验 (59)实验二十一X5045P看门狗实验 (68)实验二十二D/A数模转换实验 (70)实验二十三A/D模数转换实验 (72)实验二十四8255键盘显示实验 (76)实验二十五LCD128×64液晶显示实验 (82)实验二十六微型打印机实验 (89)实验二十七继电器控制实验 (91)实验二十八步进电机控制实验 (93)实验二十九直流电机调速实验 (95)实验三十DS18B20温度闭环实验 (97)第一章系统概述DTHS-A是由耐思(NICE)科技有限公司设计制造的MCS-51单片机系统通用型实验台,它以常规实验设备的开放式实验环境为基础,增加了在线检测模式,在自定义环节融入轨迹捕捉,影射和展现实验电路搭接的全过程,为互动教学活动的展开创造了一个较为完整与规范的实践平台。
单片机原理及应用实验指导书孙立红编黄涛审武汉理工大学教材中心2012年7月实验一、熟悉软件开发环境及51单片机资源认识——I/O口的应用与编程计算机的应用是一个系统,这个系统应由两部分组成――硬件和软件。
硬件是指具体的元器件、电路等,软件则是指程序和数据。
如果説硬件是计算机应用系统的基础的话,那么软件则是计算机应用系统的灵魂。
计算机原理告诉我们程序和数据是被“装载”在计算机存储器中的,从某种意义上讲,认识一个计算机的存储器系统是开发软件所必须的。
为了全面认识51系列单片机的存储空间,实验一与实验二列出四个实训单元。
在进行完四个实训单元后,要求学生应全面了解51系列单片机的程序存储器(ROM)、片内随机存储器(片内RAM)和片外随机存储器(片外RAM)空间的范围、用途和使用方法等。
1.1认识51系列单片机的程序存储器(ROM)第一部分教学要求一、实验目的:1.认识51系列单片机的程序存储器(ROM)的空间范围;2.认识汇编指令编码在ROM中存储形式;3.掌握指令编码和指令编码所在地址的概念;4.了解51系列单片机的程序存储器(ROM)固定地址的用途。
二、实训平台1.PC机,台/人;2.伟福V3.2版仿真软件或其它51系列单片机仿真软件三、实验报告内容:(注:成绩评定等级:优、良、中、及格、不及格)第二部分教学内容一、预备知识1.ROM存储器ROM(Real Only Memory)即只读存储器之意,其特点是在计算机正常运行的情况下CPU 对ROM存储器只能进行读操作且断电后信息不会丢失,通常用来存储固定不变的程序和数据,如引导程序、基本输入输出系统程序等。
ROM按其性能可分为以下几类:(1)掩模工艺ROM它是由芯片制造厂根据ROM要求存储的信息,制造成固定的半导体掩模版生产的。
一旦制出成品后,其存储的信息只能读出,不能改变。
这种ROM适用于存储固定不变的程序和数据,批量生产时,成本较低。
(2)可一次编程PROM允许用户对ROM进行一次编程。
《单片机原理及应用》实验指导书姓名:学号:专业班级:所在学院:成人教育学院》2012年5月日单片机实验指导书目录实验一系统认识实验........................................... 错误!未定义书签。
实验二程序调试 .................................................. 错误!未定义书签。
实验三外部中断实验 .......................................... 错误!未定义书签。
实验四串口实验 (8)~*实验一系统认识实验一、实验目的1.掌握SICElab-G2200实验/仿真系统的结构与使用方法;2.熟悉单片机系统开发软件WAVE6000。
二、实验设备1.G2200/2100 实验平台 1 台2.仿真器/ 仿真板 1 台3.连线若干根4.计算机 1 台~三、实验内容P1端口接发光二极管,加1点亮。
四、连线方案:实验箱内部已连好五、实验步骤1.连接Lab51CPU板。
(已由实验师连好)2.仿真器与实验平台的连接将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。
(已由实验师连好)3.仿真器与计算机的连接*用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。
特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。
4.实验连线按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。
拆线时,应先回转一下,不要硬拨,以免损坏线路板。
不管是拆线还是插线,都应在断电的情况下进行。
实验中“连线方案”的粗线即为需用户动手接连的线。
5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。
6.在计算机上打开“WAVE6000集成调试环境”,界面如下图所示:7.建立新程序(如果程序已编好,直接跳到第9步)选择菜单[文件| 新建文件]功能。
《单片机技术》实验指导书刘宝成内蒙古民族大学物理与电子信息学院2011年3月前言单片机技术课程是一门实践性很强的理论与实践相结合的课程,实践教学环节是单片机课程不可缺少的重要环节。
单片机技术课程安排的实验旨在培养学生的实际动手能力,锻炼学生的软件编程、调试能力,提高学生对单片机的软、硬件综合开发能力。
单片机技术实践教学环节安排30学时,包括10个实验项目。
项目1 P1口输入/输出实验、项目2 简单I/O口扩展实验、项目3 LED数码管动态显示实验、项目4 LCM液晶模块显示实验、项目5 外部中断实验、项目6 定时器/计数器应用实验、项目7 八位并行A/D 转换器实验、项目8 八位并行D/A转换器实验、项目9 12位串行A/D转换器实验、项目10 12位串行D/A转换器实验。
实验设备采用安装有Keil μVision4 C51集成开发环境的计算机和配有E-lab-Keil C51 CPU板的EL-MUT-III单片机实验挂箱。
实验要求学生在EL-MUT-III单片机实验挂箱及相应的扩展模块上设计与连接电路,利用Keil μVision4 C51集成开发环境采用汇编语言或C语言编写程序,实现单片机系统方案设计、硬件电路连接、软件程序编写、在线仿真调试以及程序下载运行等单片机系统开发的全部过程,让学生从实验中体会具体硬件接口的应用技巧,进一步理解单片机外围接口芯片使用方法,逐步掌握单片机系统的开发和应用方法。
书后附有Keil μVision4 C51集成开发环境的简单使用说明。
通过单片机技术实验的学习,学生可以掌握80C51系列单片机的输入/输出接口、定时器/计数器、中断系统等内部模块的应用方法,熟悉各种类型的外围接口芯片的使用,提高使用汇编语言或C语言编写单片机程序的能力,锻炼发现问题、分析问题、解决问题的能力,初步具备能够独立进行单片机控制系统开发的工作能力。
本书中的参考程序都经过调试和使用,所以正确性是有保证的,但是不是唯一的,也不一定是最优的。
单片机课程设计指导书西安理工大学电气工程系2012年7月第1章单片机最小系统的设计一、AT89S52 单片机简介AT89S52是一种低功耗、高性能、基于CMOS技术的8位微控制器,它具有8K在系统可编程Flash存储器,使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品的指令和引脚完全兼容。
其片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高度灵活且有效的解决方案。
AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
此外,AT89S52还可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
1、AT89S系列单片机对一般用户来说,存在下列明显的优点:(1)片内含Flash存储器在系统开发过程中,可十分容易地进行程序的修改,大大缩短了系统的开发周期。
同时,在系统工作过程中,能有效地保存一些数据信息,即使外界电源损坏也不影响到信息的保存。
(2)和80C51兼容89S系列单片机的引脚和80C51是全兼容的,所以当选用89S系列单片机取代80C51时,可以直接进行代换(二者封装一样是前提)。
(3)静态时钟方式89S系列单片机采用静态时钟方式,故很节能,这对于降低便携式产品的功耗十分有用。
(4)错误编程亦无废品产生一般的OTP产品,一旦错误编程就成了废品,而89S系列单片机内含Flash存储器,故在出现错误编程之后仍可以重新编程,直到正确为止,并不存在废品。
北京联合大学实验(实习、实训)报告课程(项目)名称:单片机实验学院:师范学院专业:电子信息工程班级: 2009级(1)班学号: 20090203051姓名:于海兰成绩:2012年 6 月14 日实验一单片机实验系统的学习一、任务与目的熟悉整个系统的功能及系统在WINDOWS环境下的使用方法。
二、原理(条件)认识单片机实验软件系统的操作三、内容与步骤以P3.3口作为开关,控制P1口所接的八个发光二极管做十六进制加1次序点亮或全灭程序为例,对程序进行指定操作,使学生初步了解实验系统的功能及其使用方法。
1.启动系统打开实验箱的电源开关,双击桌面上MCS51的图标,出现提示“请按实验箱上的复位键”时,按下复位键即可进入如图2-2:图2-22.新建文件或打开已有的文件使用文件菜单中的打开命令,将出现一个对话框,在文件类型的对话框中选择汇编语言源程序文件,然后在文件名的对话框中选择D盘的参考程序中的实验一即可,如图2-3图2-33.编译连接源程序使用编译菜单中的汇编(shift+F3)命令对源程序进行汇编连接,查看程序是否有错,若有错,一定要更改到没有错为止才能联机调试程序,如图2-4。
图2-44.调试程序使用调试菜单中的调试(F5)命令如图2-5,对程序进行调试。
图2-5调试菜单中又包括许多和调试有关的命令,阅读以下命令行的功能,并在所调试的程序中操作,以加深对它们的理解。
(1)程序复位(ctrl+F2):当所调试的程序出现问题时,需要使用此项。
(2)单步执行(F8):指一步一步的执行所调试的程序,不跟踪子程序。
(3)跟踪调试(F7):跟踪执行程序,跟踪子程序。
(4)运行(F9):全速运行程序,程序将从当前PC处开始往下执行,遇到断点,返回监控。
无断点时,程序将失去控制。
(5)执行到光标行(F4):从当前PC处开始运行到当前光标行,忽略程序中的所有断点。
如果不能执行到光标行,程序将失去控制。
注意:光标不能放在跳转目标语句之前的三字节代码内,否则,将不能正常返回监控。
实验一8051简单编程与调试实验目的通过简单小程序的输入和调试,熟悉并掌握Keil 的使用。
学会Proteus与Keil的整合调试。
实验基本要求建立三个项目,分别输入存储块清零、二进制BCD码及二进制ASCII码转换的汇编源程序,并进行仿真调试。
画出实验程序的流程框图。
实验步骤采用Keil Cx51 开发8051单片机应用程序一般需要经过下面几个步骤:1、在 Vision2集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机CPU器件。
在菜单栏中选择“Project”→“New Project”,弹出“Create New Project”对话框,选择目标路径,在“文件名”栏中输入项目名后,单击“保存(S)”按钮,弹出“Selecte Device for Target”对话窗口。
在此对话窗口的“Data base”栏中,单击“Atmel”前面的“+”号,或者直接双击“Atmel”,在其子类中选择“A T89C51”,确定CPU类型。
如图所示。
点击“确定”按钮后,弹出如下的对话框如果是进行汇编语言编程选择“否”。
2、利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。
一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。
在μVision2的菜单栏中选择“File”→“New”命令,新建文档,然后在菜单栏中选择“File”→“Save”命令,保存此文档,这时会弹出“Save As”对话窗口,在“文件名(N)”一栏中,为此文本命名,注意要填写扩展名“.asm”。
单击“保存(S)”按钮,这样在编写汇编代码时,Keil会自动识别汇编语言的关键字,并以不同的颜色显示,以减少输入代码时出现的语法错误。
程序编写完后,再次保存。
在Keil中“Project Workspace”子窗口中,单击“Target 1”前面的“+”号,展开此目录。
在“Source Group 1”文件夹上单击鼠标右键,在右键菜单中选择“Add File to ‘Group Source 1’”,弹出“Add File to Group”对话窗口,在此对话窗口的“文件类型”栏中,选择“Asm Source File”,并找到刚才编写的.asm 文件,双击此文件,将其添加到Source Group中,此时“Project Workspace”子窗口如图所示。
3、通过μVision2的各种选项,配置Cx51编译器、Ax51宏汇编器、BL51/.Lx51连接定位器以及Debug 调试器。
在“Project Workspace”窗口中的“Target 1”文件夹上单击鼠标右键,在弹出的右键菜单中选择“Option for Target”选项,这时会弹出“Options for Target”对话窗口,在此对话窗口中选择“Output”选项卡,选中“Create HEX File”选项,如图所示。
4、利用μVision2的构造(Buid)功能对项目中的源程序文件进行编译连接,生成绝对代码和可选的HEX文件,如果出现编译连接错误则返回到第2步,修改源程序中的错误后重新构造整个项目。
在Keil的菜单栏中选择“Project”→“Build Target”命令,编译汇编源文件。
如果编译成功,则在“Output Window”子窗口中会显示如图所示的信息;如果编译不成功,双击“Output Window”窗口中的错误信息,则会在编辑窗口中指示错误语句。
5、将没有错误的绝对代码装入μVision2调试器进行仿真调试,调试成功后将HEX文件写入到单片机应用系统的EPROM中。
在Keil的菜单栏中,选择“Debug”→“Start/Stop Debug Session”选项,进入程序调试环境,如图所示。
按“F11”键,单步运行程序。
在“Project Workspace”窗口中,可以查看累加器、通用寄存器及特殊功能寄存器的变化。
在“Memory”窗口中,可以看到每执行一条语句后存储空间的变化。
在“Address”栏中,输入“D: 30H”,查看A T89C51的片内直接寻址空间。
程序调试完毕后,再次在菜单栏中选择“Debug”→“Start/Stop Debug Session”选项,退出调试环境。
在Proteus中调试程序打开Proteus ISIS编辑环境,在菜单栏中选择“File”→“Load Design”弹出“Load ISIS Design File”对话窗口,选择要打开的Proteus的.DSN设计文件。
在本实验中,设计文件为本实验子目录下的Basic.DSN单击鼠标右键选中A T89C51并单击鼠标左键,打开“Edit Component”对话窗口,在此窗口中的“ProgramFile”栏中,选择先前用Keil生成的.HEX文件,如图所示。
单击Proteus ISIS界面左下角的按钮,进入程序调试状态,并在“Debug”菜单中打开“8051 CPU Registers”、“8051 CPU Internal (IDATA) Memory”及“8051 CPU SFR Memory”三个观察窗口,按“F11”键,单步运行程序。
在程序运行过程中,可以在这三个窗口中看到各寄存器及存储单元的动态变化。
Proteus 与Keil整合调试及电路仿真在Proteus的“Debug”菜单中选择“Use Remote Debug Monitor”选项,如图所示。
选择Keil的“Project”→“Options for Target ‘Target 1’”,在弹出的对话框中,单击Debug选项卡,单击右上部的下三角按钮选择“Proteus VSM Monitor-51 Driver”如图所示。
单击“Setting”进入对话框填写如图所示的IP地址和端口号。
在Keil中,在菜单栏中选择“Debug”→“Start/Stop Debug Session”选项,Keil系统进入调试状态。
同时Proteus也进入调试状态。
这时可以调整这两个软件窗口的大小,使它们同时出现在桌面上,这样就可以同时观察这两个软件运行的情况了。
在Proteus的调试状态下,在“Debug”菜单中打开“8051 CPU Registers”、“8051 CPU Internal(IDATA) Memory”、“8051 CPU SFR Memory”三个观察窗口,在单步运行程序的过程中,可以在这三个窗口中看到各寄存器以及存储单元的动态变化。
实验内容1Porteus模型为BASIC.DSN如下图所示。
一、存储块置全“1”源代码:汇编语言源程序:ORG 00HSTART EQU 30HMOV R1,#START ;起始地址MOV R7,#32 ;Rn中设置32字节计数值MOV A,#0FFHLOOP: MOV @R1,AINC R1 ;指向下一个地址DJNZ R7,LOOP ;计数值减1,不为零继续SJMP $END在下划线处填入适当指令。
输入源程序,编译无误后,用单步执行的方法,观察各个相应存储单元和寄存器中内容的变化。
解释START EQU 30H。
【答】将30H定义为START二、二进制BCD码转换源代码:汇编语言源程序:RESULT EQU 30HORG 00HLJMP STARTSTART: MOV SP,#40H ;堆栈指针指向40HMOV A,#123LCALL BINTOBACSJMP $BINTOBAC: MOV B,#100DIV AB ;除以100得百位数MOV RESULT,AMOV A,BMOV B,#10DIV AB ;余数除以10得十位数MOV RESULT+1,AMOV RESULT+2,B ;余数为个位数RETEND在下划线处填入适当指令。
用单步执行的方法,观察子程序调用过程中堆栈指针的变化。
三、二进制ASCII码转换源代码:汇编语言源程序:RESULT EQU 30HORG 00HSTART:MOV A,#1AHLCALL BINTOHEX ;调用BINTOHEX子程序LJMP $BINTOHEX:MOV DPTR,#ASCIITAB ;表的首址ASCIITAB送DPTRMOV B,A ;暂存ASWAP AANL A,#0FH ;取A的高四位MOVC A,@A+DPTR ;查ASCII表MOV RESULT, AMOV A,B ;恢复AANL A,#0FH ;取低四位MOVC A,@A+DPTR ;查ASCII表MOV RESULT+1,ARETASCIITAB:DB '0123456789ABCDEF' ;定义数字对应的ASCII表END在下划线处填入适当指令。
单步运行程序观察查表指令的执行过程。
把LJMP $这条指令注释掉,然后全速运行该程序,然后让其停止观察程序执行到哪里?【答】一直重复调用不停止实验内容2输入、汇编、调试下列四个程序,通过信息窗口观察并回答问题。
1、程序a.asmORG 0000HMOV 30H,#87HMOV A,#69HADD A,30HNOPEND问:CY= 0,(A)= F0H,OV= 0,P= 0将程序中的指令NOP改为指令DA A后问:CY= 1 ,(A)=56H ,OV= 0 ,P= 02、程序b.asmORG 0000HMOV SP,#60HMOV DPTR,#0A679HPUSH DPHPUSH DPLMOV A,#80HPUSH ACCPOP BPOP 30HPOP 31HNOPEND问:(SP)= 60H,(A)= 80H,(30H)= 79H,(31H)=A6H,(B)=80H,(DPH)=A6H,(DPL)=79H3、程序c.asmORG 0000HMOV DPTR,#TABMOV A,#05HMOVC A,@A+DPTRNOPORG 1000HTAB: DB 6FH,30H,96H,75H,0A8H,0FEHDB 49H,8AH,5FH,0B6H,7FH,0C4HEND问:执行完MOVC A,@A+DPTR以后,(A)=FEH4、程序d.asmORG 0000HMOV A,#02HMOV B,ARL AADD A,BMOV DPTR,#TABJMP @A+DPTRNOPORG 0800HTAB: LJMP 1000HLJMP 2000HLJMP 3000HLJMP 4000HEND问:执行完JMP @A+DPTR以后,PC=0806H实验二汇编语言程序设计(一)实验目的通过上机实验掌握单片机汇编语言程序的编写和调试。
实验基本要求按实验内容上机输入并调试实验程序。