实验(8课时用)单片机实验指导书
单片机实验指导书

目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (34)实验八数码管动态显示实验 (39)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。
二、实验内容任选单片机的一组I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。
三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。
作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。
例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;4、打开实验箱上的电源开关。
5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。
若实验现象有误请重复第5、6步。
六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。
单片机实验指导书

单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备1. 实验设备和材料:- 单片机开发板- USB数据线- 适配器- 数字电路元件(如LED、电位器等)2. 软件准备:- 单片机开发软件(如Keil、IAR EWARM等)- 编程软件(如C语言编辑器)- USB驱动程序三、实验步骤1. 搭建实验环境:- 将USB数据线连接单片机开发板和计算机。
- 通过适配器给单片机开发板供电。
- 检查驱动程序是否正确安装。
2. 编写程序:- 打开单片机开发软件,并创建一个新的工程。
- 选择适当的单片机型号和编程语言。
- 编写程序代码,实现所需功能。
- 编译程序并下载到单片机开发板。
3. 实验操作:- 根据实验要求连接相应的电路元件。
- 调试程序,确保程序能正确运行。
- 运行实验并观察结果。
四、实验注意事项1. 请确保您具备基本的电路和编程知识。
2. 在操作实验设备和元件时,请小心谨慎,避免发生触电等事故。
3. 如果遇到问题,请及时咨询实验指导人员或相关专家。
五、实验示例以下是一个简单的实验示例,用于演示如何控制LED灯的亮度:实验电路连接:将一个LED灯连接至单片机开发板的一个GPIO口。
程序代码:#include <reg51.h>sbit LED = P1^0;void delay(unsigned int time){unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<120;j++);}void main(){while(1){LED = 1; // 点亮LEDdelay(200); // 延时200msLED = 0; // 熄灭LEDdelay(200); // 延时200ms}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。
单片机实验指导书

单片机原理与应用实验指导书九江学院电子工程学院2007年9月第一章单片机实验的基本要求与方法一、实验目的学习并掌握单片机的基本结构及接口设计方法,学习汇编语言程序设计的基本方法和技能。
二、实验要求1、上机前要做好充分准备,明确实验目的、熟悉实验内容、掌握实验步骤、了解所用单片机实验开发系统及仪器设备的性能。
做好实验前预习和必要的准备,如画好程序流程图,编好程序,做到准备充分。
2. 进入实验室后,熟悉所用的单片机实验开发系统及仪器设备,了解其外观、性能。
接线要正确、简单明了,接线完成后检查一遍,经老师复查允许后才可通电。
通电瞬间,应注意仪器和实验装置是否正常工作,如有不正常现象,应立即断电查找原因,直至故障排除后,实验方可继续进行。
3. 实验进行时,按规定步骤进行,经过反复修改调试,达到设计功能后,读取数据,并及时纪录。
4. 实验完成后,经老师验收合格,并把仪器、导线、工具整理完毕后,学生方可离开实验室。
三、实验方法本课程所用的实验板采用在系统可编程方式下载程序,具体操作过程参考第三章。
四、实验报告内容和要求1. 实验报告要用学校统一印发的实验报告纸。
2. 实验报告内容应包括:实验名称、器材、目的、原理、步骤、结果及分析、流程图、程序清单。
3. 实验报告中实验原理图(含电路图和时序图)要准确无误。
4. 实验报告中程序清单要求调试并运行正确无误,要有中文注释。
5.每个实验后的实验结果分析和心得体会必须独立完成,对实验中发现的问题应加以讨论,并提出自己的改进意见和要求。
6.实验报告写完后统一交到学习委员处,按学号排列装订成册,然后交到老师处。
第二章 V6实验板简介本课程所用单片机实验板,可用于MCS-51系列单片机的仿真开发和《单片机原理与应用》课程的教学实验,具有电路简单,小巧便携,支持在系统可编程技术,简便易用等特点。
适合单片机初学者使用。
图2-1一、可开设实验1、wave仿真软件的应用2、用isplay实现在系统可编程3、流水灯4、动态显示程序5、中断响应程序设计6、定时/计数器的应用:测量脉冲宽度、倒计时器、带闪动的动态显示7、键盘接口程序设计:计时系统、抢答器设计、模拟汽车转向灯设计*8、红外按键识别程序设计*9、基于红外按键输入的四则混合运算计算器设计10、电子音乐盒设计*11、基于红外按键输入的电子琴设计12、基于DS1302的精密时钟设计13、基于DS18B20的数字温度计设计14、串行程序存储器扩展*15、数据采集电路设计:单片机与A/D 转换器接口 *16、信号发生器设计:单片机与D/A 转换器接口 *17、直流电机调速 *18、步进电机控制*19、基于MAX7219的数码管静态显示程序设计 *20、字符型液晶显示程序设计 *21、点阵型液晶显示程序设计注:带“*”实验项目需外接扩展电路二、V6实验板的原理和组成1、总体电路图上电复位....图2-22、微处理器V6实验板采用DIP 封装的AT89s52单片机作为微处理器,引脚配置如图2-3所示,为实现在系统可编程功能,选用11.0592MHz的晶振。
单片机实验指导书

单片机实验指导书近年来,单片机技术的发展十分迅速。
越来越多的工程师和科技爱好者开始接触和学习单片机技术,这促使单片机实验指导书的需求越来越大。
然而,这方面的书籍并不是很多,而且很多都只是简略介绍了一些基础的知识,很难满足读者的需求。
因此,我们有必要撰写一本全面、详实的单片机实验指导书,以供广大读者参考。
一、实验前的准备工作在进行单片机实验之前,需要进行一些准备工作。
首先,应确保实验所需要的单片机、电路板、电路图和元件都准备齐全;其次,应找到合适的实验环境,比如一间安静、干净、通风的实验室;最后,需要特别注意使用电器设备时的安全问题,确保自己和他人的安全。
二、实验的流程和步骤在开始实验之前,需要认真研读实验指导书中的介绍和分析,了解实验的目的、原理和步骤。
然后,按照指导书中的步骤依次进行实验。
实验完成后,应按照要求记录实验数据,并进行分析和归纳总结。
如果有问题需要解决,可以查阅相关的资料和文献,或向老师和同学请教。
三、实验中的注意事项在进行单片机实验时,一定要注意以下几点:首先,要认真选择合适的元件和器材,确保其质量和性能符合要求;其次,要遵守电器设备的使用规范,比如正确连接电源和地线、避免引起短路等;最后,要防止过度使用单片机,以免出现电磁干扰、损坏设备等问题。
四、实验课堂作业单片机实验课堂作业的目的是让学生加深对单片机知识的理解和掌握。
作业内容应与实验内容相密切相关,包括设计实验电路、编写程序、测试运行结果等。
同时,作业应具有一定难度和挑战性,以激发学生的兴趣和创造力。
总之,单片机实验指导书是单片机科技研究和应用的基础。
只有通过认真研读和实践,才能真正掌握单片机技术,应用到实际生产和工程中。
希望我们的实验指导书能够对广大读者有所帮助。
单片机实验指导书

实验一数制转换实验一、实验目的:(1)、熟悉单片机实验系统板、稳压电源及示波器的使用方法。
(2)、培养程序编制及调试的方法。
(3)、输入自己编写的程序(机器码),并通过实验板和示波器观察程序运行结果。
二、实验要求:(1)、给出程序设计流程图。
(2)、设计数制转换实验程序。
(3)、记录单片机实验板晶体振荡器的波形图。
(4)、记录单片机实验板上电复位电路的波形图。
三、实验原理:以下是把16进制数转换为10进制数的参考程序清单及机器码表:测试程序:四、实验仪器:稳压电源一台HB-51教学实验系统一套五、实验步骤:1、HB-51教学实验系统简介:(1)、+5V电源,+12V电源,-12V电源(2)、CPU、程序存储器、数据存储器、晶体振荡器、手动复位、LED发光管、键盘、显示器(LED 数码管)。
(3)、显示器介绍该系统共有6个数码管,分为两组,左边4个为一组,右边2个为一组。
在大部分情况下,左边4个数码管作为地址显示器,右边2个数码管作为内容显示器。
(4)、键盘介绍0~F 为数字键,用来输入0~F的数字,并且系统默认十六进制输入MEM 为程序存储器内容检查/修改键REG 为寄存器/内部RAM内容检查/修改键LAST 用来向上跳一个地址单元NEXT 用来向下跳一个地址单元EXEC 为连续执行键SCAL 为单步调用键STEP 为单步执行键MON 为返回系统监控状态,相当于让系统回到刚刚上电时的状态。
也是其他功能键的前导按键2、HB-51教学实验系统与稳压电源的连接。
实验系统上的+5V电源与稳压电源正确相连,接好以后,给稳压电源上电。
此时,如果系统工作正常,会在显示器上显示“HB--51”。
如果显示内容不是“HB--51”,则说明系统上电复位过程不正常。
此时按一下红色的手动复位按钮,系统就应当正常工作了。
如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。
单片机实验指导书

单片机原理与应用实验指导书西华大学机械工程与自动化学院目录实验一单片机仿真开发系统的使用实验二流水灯实验实验三显示及驱动电路设计实验四计数实验实验五中断实验实验六存储器扩展实验实验七串口通信实验实验八单片机A/D转换实验实验一单片机仿真开发系统的使用1.1 Keil C51 集成开发环境介绍①、运行keil C51编辑软件,软件界面如图1-1所示②、建立一个新的工程项目单击Project菜单,在弹出的下拉菜单中选中New Project选项③、保存工程项目a、选择要保存的文件路径,输入工程项目文件的名称,如保存的路径为C51文件夹,工程项目的名称为C51,如图所示,单击保存b、为工程项目选择单片机型号在弹出的对话框中选择需要的单片机型号,如图所示,这里选择51核单片机中使用较多的89S51,选定型号后,单击确定,出现如图所示的开发平台界面④、 新建源程序文件在下图中单击“File ”菜单,选择下拉菜单中的New 选项,新建文件后得到如图的界面:⑤、 保存源程序文件单击“File ”菜单,选择下拉菜单中的Save 选项,在弹出的对话框中选择保存的路径及源程序的名称,如图所示。
此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,建议首先保存该空白的文件,单击菜单上的“File ”,在下拉菜单中选中“Save As ”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时必须键程序录入区域入正确的.扩展名。
注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。
然后,单击“保存”按钮⑥、为工程项目添加源程序文件在编辑界面中,单击“Target ”前面的“+”,再在“Source Group ”上单击右键,得到如图所示的对话框,选择“Add File to Group ’ Source Group 1’”,弹出如图所示的对话框,选中要添加的源程序文件,单击“Add ”,得到如图所示的界面,同时,在“Source Group 1”文件夹中多了一个添加的“Text1.c ”文件。
单片机实验指导书

1.TKSTDIO 集成开发环境简介TKSTDIO 是一个集成开发环境软件。
它提供了工程管理、文件编辑、编译连接、调试与仿真等强大功能。
在此环境下可方便地开发单片机应用系统。
在TKSTDIO 集成开发环境中,工程是一个非常重要的概念。
它是用户组织一个应用的所有源文件、设置编译连接选项、生成可调试下载文件和最终Bin 文件的一个基本结构,所有工作都围绕工程而展开。
一个工程管理一个应用的所有源文件、库文件及其它输入文件,并根据实际情况进行相应的编译连接设置。
实验基本操作步骤:(1)建立自己实验项目文件夹(以学号或姓名命名);(2)打开TKSTDIO ;(3)[文件]→[新建]→[工程]→[Project Wizard]→[选择自己文件夹]→[输入工程名]→[确定]→[输入/选择单片机型号(STC89C51RC )]→[确定];(4)[文件]→[新建]→[文件]→[Asm File]→[选择自己文件夹]→[输入文件名]→[确定];(5)在弹出窗口输入/粘贴/打开实验1源程序;(6)[工程]→[生成“ ”];(7)[调试]→[启动/停止调试]→……;(8)[打开STC-ISP.EXE];(9)[打开程序文件]→[工程文件夹→DeBugRel →*.hex ]→[打开]→[DownLoad/下载]→程序在实验箱/开发板上运行,观察运行情况。
2.实验箱驱动与译码电路由于实验箱上扩展器件较多,所以在系统总线上加了驱动器。
数据总线(P0)口通过双向驱动器芯片74LS245驱动。
低5位地址(A0A1A2A3A4)和控制信号(WR ———、RD ———、ALE )通过单向驱动器芯片74LS244驱动。
系统通过两片3-8译码器芯片74LS138级联形成4-16译码逻辑,其译码输出作为实验箱上其它扩展器件译码控制信号,确定其地址范围。
P 2.7P 2.6P 2.5P 2.4作译码器输入,译码输出SEL0~SEL7所确定的地址空间分别为:0xxxH 、1xxxH、图1.1 实验箱驱动与译码电路2xxxH 、3xxxH 、4xxxH 、5xxxH 、6xxxH 、7xxxH ,译码输出SEL,8~SEL15所确定的地址空间分别为:、8xxxH 、9xxxH 、AxxxH 、BxxxH 、CxxxH 、DxxxH 、ExxxH 、FxxxH 。
单片机实验指导书

单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备2.1 实验器材准备本实验需要准备以下器材:- 单片机开发板- USB线- 电脑2.2 软件安装在开始实验之前,需要安装以下软件:- Keil C51开发环境- STC单片机系列驱动程序第三章实验步骤3.1 硬件连接将单片机开发板通过USB线连接到电脑上,并确保连接正常。
3.2 软件设置打开Keil C51开发环境,点击菜单栏中的“文件”选项,选择“新建”创建新的工程。
设置工程的名称和保存位置,确定后点击“保存”。
3.3 编写程序在Keil C51开发环境中,编写单片机程序。
首先需要包含相应的头文件,然后编写具体的程序逻辑,实现所需的功能。
3.4 编译和烧录程序在编写完程序后,点击菜单栏中的“编译”选项进行编译。
编译成功后,点击菜单栏中的“下载”选项将程序烧录到单片机开发板中。
3.5 实验验证将程序烧录完毕后,将开发板与外部模块连接,观察实验现象是否符合预期。
第四章实验注意事项4.1 安全注意事项在实验过程中,要注意使用安全电压和电流,避免短路和电击风险。
4.2 实验环境实验需要在安静、整洁的环境中进行,以避免干扰和误操作。
4.3 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。
第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。
通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。
本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。
在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。
通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。
在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及应用》实验指导书计算机科学与技术系2012 年8 月目录实验一:流水灯实验.......................................... 1...实验二:中断实与定时器中断实验................................ 4..实验三:串行口实验.......................................... 9...实验四:矩阵式键盘输入识别.................................. 1..3实验五:LCD循环显示设计 (19)实验一:流水灯实验通过对P3 口地址的操作控制8位LED 流水点亮,从而认识单片机的存储器实验参考电路图如下:VCCAP17P3.7ZEQP1.6 P3.6M^ P1.5P3.5/T1 PI -1 P3.4/T0 P1.3 P33JlhJT1 P1.2 P3.2JirJT0 P1 1 P3.1 仃:<D P1 0 P3 0,'RXDAT89C51RSIPSEtJ匚A ALEXTAL2A[8.15|参考实验程序//流水灯实验#in clude<reg51.h> // 包含单片机寄存器的头文件 sfr x=OxbO; 〃P3口在存储器中的地址是 bOH 通过sfr 可定义8051内核单片机//的所有内部8位特殊功能寄存器,对地址x 的操作也就是对P1 口的操作**************************************实验目的:实验原理图—>XTAL1AD[O .7]D4 R447QR D6 R6屮斤D0 R8_470RD3 R3_4?OR D1 R1 470R-D7 R74Z0F?D5 R5_4?ORD2 R2 470R函数功能:延时一段时间*****************************************/ 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(); // 调用延时函数}}四、实验思考题:1. 修改程序使LED灯为18灯亮一一27灯亮一一36灯亮一一45灯亮,再将LED 灯亮的顺序倒过来既:45 灯亮——36 灯亮——27 灯亮——18 灯亮,连续运行。
2. 设计一个八位二进制加法计数器,要求用八个流水灯显示加法器的结果,灯亮表示1 ,灯灭表示0,实现从0000 0000~1111 1111 的加法过程。
调试后的程序代码:实验二:中断与定时计数器实验第一部分中断实验一、实验目的:通过对P3.2 、P3.3 引脚的电平控制,实现外部中断处理,从而控制输出口P1的输出效果变化。
二、实验原理图实验参考电路图如下:参考实验程序/用外中断0的中断方式进行数据采集和处理 #in clude<reg52.h>#in clude< intrin s.h> void ini t(); void delay (un sig ned in t); void mai n() {in it(); while(1) {P1 = 0xff; delay(100); P1 = 0x00; delay(100); } }void ini t() {EA = 1; IT0 = 0;LUDIA JLUDUU ILUDW LUO⑷'ELLDW臣LLD 切2R21 - 22 23 24 25 26 R u 耶R 匚圳尺匚MR匸湖尺匚肖2R2R72R2R8LED-VELLOW*XTAL1iPD.WD1P 口洲D 茫XTAU'啊加2FD.MD* pnawRSTPDJJ^DT P2JW啣阳F2iA1DPSEN P23ft11 ALE P2.4A12 EftP2S^13 P2J5jft1lP2.TA15 pi urnDiiwvn P1.1H2K・ 3.1/DC0 P1J P32rtNTD POF^^HNTI P14PXimiPISpajsn-iP1^P3WUHpiiP3J7RD西3S37芳35 3t21_a.23 S•T id卫a _ 13 i«16R92R2RT O2R2SW1SIAWPDTSW2SW ^SPO TIT1 = 0;EX0 = 1;EX1 = 1;}void delay(unsigned int n){unsigned int i,j;for(i=0;i<n;i++) for(j=0;j<110;j++);}void aa() interrupt 0{unsigned char tmp = 0xfe;unsigned int i=0;P1 = tmp;delay(100);i = 7;while(i--){tmp = _crol_(tmp,1);P1 = tmp; delay(100);}//delay(500);i=7;while(i--){tmp = _cror_(tmp,1);P1 = tmp; delay(100);}// delay(500);}void bb() interrupt 2{P1 = 0xf0;delay(500);P1 = 0x0f;delay(500);}四、实验思考题:根据指导书中提供的原理图,自行设计一个外部中断实验,要求:1. 两个外部中断全部用上;2. 实验能体现不同中断优先级的中断源的相应情况;3. 不同中断处理程序能输出不同的响应效果第二部分:定时器中断实验通过使用定时器TO 的中断来控制P2.0引脚的的LED 的灯闪烁,要求闪烁时 间2S,既亮1 S ,灭1 S 。
二、 实验原理图实验参考电路图如下(注释,下图只有D1等闪烁,既亮1 S ,灭1 S ):二、参考实验程序//用定时器TO 的中断实现长时间定时,单片机晶体振荡器周期为 12MHZ 机器//周期为1us#include<reg51.h> // 包含51单片机寄存器定义的头文件 sbit D 仁P2A 0; // 将D1位定义为P2.0引脚 unsigned char Countor; //设置全局变量,储存定时器 TO 中断次数/**************************************************************函数功能:主函数**************************************************************/实验目的:------------------- U伽却--'D1______________ ——晋一汕 -------- EiXTALIXTA12F£ .2//C2 p [常心PI 4/ 吃打如5Pt.if xsFI.7/MVP5ENF2.0W 他倔 P2.2/A13卩巳猟11 ALBP2.47A12 EA FIJ/A13PI. 6/AM PJ. 7/A.15P3JVRHDP11ns卩 2IMT1PI 4F3.4HD Pl 5 皱如 Pl 6PI 7F3.7JRDLED=rEi-imiC 2C31030RR 3R1——C懈J 1 11151173H 匚 GR^rrf=fan]to-1nEHBDTT1;13 21~25~ 27void main(void){EA=1; // ET0=1; // TMOD=0x01; //TH0=(65536-15536)/256; // TL0=(65536-15536)%256; //TR0=1; //while(1)// 无限循环等待中断}/**************************************************************函数功能:定时器TO 的中断服务程序**************************************************************/ void TimeO(void) interrupt 1 using O //“ interrupt ”声明函数为中断服务函数//其后的1为定时器TO 的中断编号;0表示使用第0组工作寄存器{Countor++; // 中断次数自加 1 if(Countor==2O) // 若累计满 2O 次,即计时满 1s {D1=~D1;// 按位取反操作,将 P2.O 引脚输出电平取反Countor=0; // 将Countor 清0,重新从0开始计数 } TH0=(65536-15536)/256; // 定时器T0的高8位重新赋初值 TL0=(65536-15536)%256; //定时器T0的高8位重新赋初值 }四、 实验思考题:开总中断定时器 T0 中断允许 使用定时器 T0 的模式 2 定时器TO 的高8位赋初值定时器TO 的高8位赋初值 启动定时器 TOCountor=O; // 从 O 开始累计中断次数实验指导修改程序使用定时器T1的中断方式来控制P2.0、P2.1引脚的LED灯分别以200mshe 800ms的周期闪烁调试后的程序代码:实验三:串行口实验一、实验目的:本实验要求单片机U1通过其串行口TXD向计算机发送一个数据用集成电路MAX232各单片机的输出信号转化成计算机能够识别的信号送的实例,再设计一个单片机接受计算机送出数据的过程二、实验原理图单片机发送数据实验参考电路图如图(1):“oxab”。
禾U图(1 )单片机接受数据实验参考电路图如下:三、参考实验程序//单片机向PC 发送数据 #in clude<reg51.h>//包含单片机寄存器的头文件un sig ned char code Tab[ ]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F}; //流水灯控制码,该数组被定义为全局变量 /*****************************************************函数功能:向PC 发送一个字节数据***************************************************/ void Send(un sig ned char dat) {SBUF=dat; while(TI==0)TI=0;}D1II I I I IADHD.7]U2vccAR1 220 RAIS,.15]X7AL2Kb rALE EAPbtNADP..7]XTAL1XTAE2ATB9C51D2220 RD2R3 220 R1— R4 220 R~I ——*P3>O/RX[>P1.0P2 H/TK&Pi.dP3-2/INT0PI.2 P33/INT1 P1.3 IP3^T0 P1.4 raj/TiP1.5 P3.6AWR P1.S IP3 J/RDP1.7D7 R7 Z20R D8R6 220 R1:1011 T T~13~ 14D4I I;311 1 i- i i 1 p p p pp pp pF3.0/RXD厂 1.-T/? p-2S /IMTOP3.3/IMT1P3 P3.7/RDRSTAT09C51ALE 3 p SEND5 DSR6 220 R 4函数功能:延时约150ms************************************************************ void delay(void) {unsigned char m,n; for(m=0;m<200;m++) for(n=0;n<250;n++)}/***************************************************** 函数功能:主函数***************************************************/void main(void){unsigned char i;TMOD=0x20; //TMOD=0010 0000B ,定时器T1 工作于方式2 SCON=0x40; //SCON=0100 0000B ,串口工作方式1PCON=0x00; //PCON=0000 0000B ,波特率9600TH1=0xfd; // 根据规定给定时器T1 赋初值TL1=0xfd; // 根据规定给定时器T1 赋初值TR1=1; // 启动定时器T1while(1){for(i=0;i<8;i++) // 模拟检测数据{Send(Tab[i]); // 发送数据idelay(); //150ms 发送一次数据}}}四、实验思考题:根据参考原理图图(2)设计一个单片机接受计算机送出数据的过程调试后的程序代码:实验四:矩阵式键盘输入识别一、实验目的:设计一个4X4的矩阵键盘,键盘的号码 0~15,要求编写出一个键盘输入扫 描程序,要求单片机能根据键盘排列顺序, 能将按下去键盘号正确识别出来, 并 采用两个数码管分别键盘号码的个位和十位。