单片机实验指导书
单片机实验指导书

单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备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}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。
单片机实验指导书

单片机原理及应用实验指导书殷爱华南京理工大学实验一62256 SRAM自检一、实验目的:1.熟悉仿真器的使用。
2.了解教学实验系统的结构和地址译码方式。
3.通过62256自检程序实验,掌握数据存储器检测方法。
二、实验要求1.实验内容与方法编写自检程序,要求通过循环程序逐个单元检测62256芯片。
分别由低地址单元到高地址单元写入55H和AAH,并读出后进行比较,以判断存储器单元是否工作正常,如果检测结果正常,则点亮一个发光二极管,若检测结果不正常,则使该二极管以闪烁的方式进行指示。
62256RAM的寻址范围为0000H ~7FFFH 。
2.要求①按实验内容自编程序,并输入计算机进行仿真调试。
②完成I/O口某一位的输出与发光二极管电路的连接。
③注意实验设备、电源的使用安全。
④调试完毕观察发光二极管的工作情况是否满足设计要求。
⑤提交试验报告。
三、注意事项1. 不带电操作。
2. 不要随便用手触摸电路板及元器件。
3. 接插电路时务必注意元件正负方向,以防止元件被击穿。
四、实验器材与设备:1. PC计算机一台2. 单片机教学实验开发系统一套3. 实验器材若干五、实验原理:六、实验步骤:七、程序功能要求:八、程序流程图:九、实验源程序并附简单说明:十、实验感想及建议实验二8255可编程并行口输入/输出一、实验目的:1.熟悉仿真器的使用。
2.了解教学实验系统的结构和地址译码方式。
3.掌握8255可编程并行I/O扩展口编程。
二、实验要求1.实验内容与方法编写8255并行输入输出程序,编写8255按位置位/复位程序。
要求8255工作于基本输入/输出方式,PA口和PC口的高4位为输出口,PB口和PC口的低4位为输入口。
用发光二极管显示工作是否正常。
8255的PA口地址—F228H,PB口地址—F229H,PC口地址—F22AH,控制寄存器地址—F22BH。
2.要求①按实验内容自编程序,并输入计算机进行仿真调试。
②完成8255并行输出口与输入口的对应电路连接。
单片机实验指导书

单片机实验指导书一、硬件实验系统介绍(一)电路原理实验板的主要组成有STC-89C51,电源开关、复位电路,发光二极管、数码管、键盘、模/数转换电路(ADC0809电路),数/模转换电路(DAC0832电路)、12232F液晶显示电路,温度检测模块、DS1302时钟电路,I2C总线电路(AT24C02电路),串行接口(MAX232电路、MAX485电路),步进电机调速电路等组成。
详细的电路原理图见附件(二)各模块开关控制简表二、单片机实验板使用说明(一)程序下载1、下载软件为STC-ISP V3.X,建议使用V3.5版本。
2、程序下载前,建议将所有器件的开关置于关闭状态,尤其是MAX485的开关S7,必须关闭;RS232的开关S6必须打开。
3、开始下载程序前,关闭实验板的总电源,等待下载软件提示上电后,再打开实验板电源。
(二)程序运行1、将程序涉及到的元件开关打开,原则上关闭与程序无关的元件开关。
2、各元件的电源开关均靠近本元件。
(三)注意事项由于ADC0809采用了最简化设计,使用液晶模块12232F时,须将DAC0832和ADC0809的电源开关打开,选择开关S13,S14拨向ADC0809侧,同时,程序中将P1.1和P1.2清零。
2. LED显示可采用动态扫描或串行74LS164显示,采用一种显示方式时,须将另一种方式的电源关闭,以免发生冲突。
使用动态扫描显示时,拨码开关均拨向下方与地断开,由74LS14(反向驱动)控制位选;使用串行静态显示时,拨码开关拨向上方与地接通。
3.由于P2.5作了DS1302的片选控制,在电机调速模块应使其清零三、Keil软件使用简要说明1、建立工程文件:单击“工程”菜单中的“新工程”命令。
选择路径、输入项目名称,不需要扩展名。
在Select Device for Target窗口中,选择“Atmel”中的“89C**”系列。
2、工程对象选项设定:单击“工程”菜单中的“options for Target属性”命令。
单片机实验指导书

实验一数制转换实验一、实验目的:(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”,则说明系统上电复位过程不正常。
此时按一下红色的手动复位按钮,系统就应当正常工作了。
如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。
单片机实验指导书

实验1 仿真软件Proteus和Keil环境的使用实验目的1、熟悉Proteus和Keil软件的操作环境2、了解单片机I/O口的结构实验仪器PC机、实验箱、ISP下载器实验内容1、利用单片机,按键和发光二极管,构成一个LED灯控制电路;2、上电时, 点亮两个LED,按下K1时, LED1亮、LED2灭,按下K2时, LED1灭,LED2亮。
实验步骤1、打开Uv4 IDE环境,选择菜单Project的下拉菜单Open Project选项, 加载后缀名为uvproj的工程文件。
2、选择菜单Project的下拉菜单Options for Target 选项。
在弹出的窗口中,选择output选项,在Creat HEX File 的勾选项中,勾选。
这样才能生成HEX文件。
3、选择菜单Project的下拉菜单Build target选项,如无错误或特别警告,编译链接完成后就会产生相应工程的HEX文件了。
4、如果无仿真工程时,可跳过下列步骤。
有相应的仿真工程文件时,可进行下列步骤:a、双击打开P_PROTEUS文件夹中的后缀为DSN的仿真工程文件。
b、在处理器芯片AT89C52器件上,鼠标右键单击,选择Edit Properties选项,或者双击AT89C52芯片,在Program File的浏览选项中添加上面步骤中生成的HEX文件。
点击OK,完成HEX文件添加。
c、选择菜单Debug的下拉菜单Start/Restart Debugging选项。
此时程序已处于调试状态,同样再次选择菜单Debug,选择Execute选项,程序开始运行。
可通过人机接口观察程序的效果。
5、连接ISP下载器一端到USB接口,另一端连到目标板。
打开实验台电源,参考产品说明书中的ISP下载软件使用方法对程序进行下载。
6、接下来大家就可以按照硬件连接表连线了,然后测试程序,观察实验现象,理解程序,最后自己修改程序提高编程能力。
实验2 广告灯实验实验目的1、了解I/O口的电气特性和驱动能力2、掌握编写程序的方法实验仪器PC机、实验箱、ISP下载器实验内容利用单片机及8个发光二极管等器件,构成一个流水灯单片机系统。
单片机实验指导书

单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备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 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。
第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。
通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。
本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。
在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。
通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。
在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。
单片机实验指导书

第一部分 SE—52仿真开发系统介绍第一节SE-52单片机仿真开发系统简介SE-52单片机仿真开发系统是万利电子有限公司80C51系列单片机仿真开发的产品,专门用于对80C51系列单片机的软、硬件开发和调试。
SE-52单片机仿真开发系统有仿真器和MedWin软件调试器两部分组成。
MedWin软件可以对C、PLM和汇编程序进行多模块混合语言源程序级调试。
第二节SE-52单片机仿真器介绍SE-52单片机仿真仿真器主机使用W78958 Bondout Chip仿真芯片和大规模集成电路设计,采用Client/Server结构,无跳线、无按键、无开关,所有硬件配置和运行控制全由MedWin软件调试器设置。
该仿真器面板上有三个LED,分别为POWER(电源、红色)、RUN(运行、绿色)、MONITOR(监控、黄色)。
它具有以下主要性能:●“Bondout”仿真技术,Client/Server仿真结构●完全仿真8xC51/51/54/58单片机●仿真频率内部12/24MHz,目标系统33MHz●仿真器提供32K程序存贮器,仿真片内程序方式和64K数据区●完善的I/O口保护电路●完全支持C、PLM和汇编语言源程序实时调试●打印口高速并行通讯●仿真8xC51/51/54/58,80C31/32以及80C51兼容的MCU●仿真器内提供直流开关电源第三节MedWin软件调试器介绍MedWin软件是万利电子有限公司Insight系列仿真开发系统的高性能集成开发环境。
集编辑、编译/汇编、在线模拟调试为一体,VC风格的用户界面,完全支持Franklin/Keil C扩展OMF格式文件,支持所有变量类型及表达式。
3.1启动MedWin第一步:启动MedWin●如果已经连接仿真器,屏幕上出现MedWin的初始画面,直接进入MedWin。
●如果没有连接仿真器,屏幕上出现端口选择画面。
第二步:选择进入在线仿真或模拟仿真●由于仿真器供电电源、通讯电缆连接问题,请检查并使仿真器工作正常后,点击仿真器按钮,进入在线仿真。
单片机实验指导书

单片机原理及应用实验指导书谢明华刘辉张文希编写2010.6目录实验一Keil C51集成开发环境的使用练习 (1)实验二Keil C51集成开发环境的使用练习 (2)实验三单片机I/O口控制实验 (4)实验四中断实验 (6)实验五定时/计数器实验 (9)实验六串转并的I/O口实验 (11)实验七74HC138译码器实验 (13)实验八并行的模数转换实验 (15)实验九RS232串行通信实验 (18)实验十步进电机控制实验 (21)实验十一继电器控制实验 (23)实验十二键盘与显示接口程序设计 (235)实验一Keil C51集成开发环境的使用练习一.实验目的熟悉Keil C51集成开发环境的使用方法。
二.实验设备及器件PC机一台三.实验内容进行Keil C51集成开发环境的安装和使用练习。
然后按照以下内容建立文件并编译产生HEX 文件。
ORG 0000HLJMP MainORG 00F0HMain:MOV R7, #0Loop:MOV R6, #0DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R7, LoopCPL P1.0 ; P 1 .0 取反CPL P1.1 ; P 1 .1 取反CPL P1.2 ; P 1 .2 取反CPL P1.3 ; P 1 .3 取反CPL P1.4 ; P 1 .4 取反CPL P1.5 ; P 1 .5 取反CPL P1.6 ; P 1 .6 取反CPL P1.7 ; P 1 .7 取反SJMP MainEND四.实验要求:熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。
五.实验思考题:①试写一条把片内RAM 50H~59H单元清零的程序。
②试写一条把片内 RAM 50~59H单元写入01H的程序。
实验二Keil C51集成开发环境的仿真与调试一.实验目的熟悉Keil C51 集成开发环境调试功能的使用和DP-51PROC 单片机综合仿真实验仪的使用。
单片机实验指导书(用于完成实验报告)

一、实验目的1. 掌握存储器读写方法。
2. 了解存储器的块操作方法。
二、实验内容1. 指定内部RAM中某块的起始地址和长度,要求能将其内容清零。
2. 指定外部RAM中某块的起始地址和长度,要求能将其内容清零。
3. 指定外部RAM中某块的起始地址和长度,要求能将其内容置为某固定值(如0FFH)。
三、实验说明通过本实验,学生可以了解单片机的存储器结构及读写存储器的方法,同时也可以了解单片机编程、调试方法。
四、实验仪器和设备PC机、W A VE软件。
五、参考程序框图存储器块清零参考程序框图六、参考程序(略)一、实验目的掌握汇编语言设计和调试方法。
二、实验内容把7000H的低四位BCD数和7001H的低四位BCD数,拼成压缩BCD码的形式存放在7002H。
三、实验说明通过本实验,掌握拼字的编程方法,同时也可以了解单片机编程、调试方法。
四、主要仪器设备及耗材PC机、W A VE软件五、参考程序框图六、参考程序(略)实验三数据块移动(基础实验)一、实验目的1.了解内存的移动方法。
2.加深对存储器读写的认识。
二、实验内容将指定源地址和长度的存储块移到指定目标位置。
三、实验说明块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。
本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。
另外,若源块地址和目标块地址有重叠,该如何避免?四、实验仪器和设备PC机、W A VE软件。
五、参考程序框图存储块移动参考程序框图六、参考程序(略)实验四实验三跑马灯实验一、实验目的1、掌握P1口控制跑马灯程序的编写方法。
2、延时程序的编写方法。
二、实验内容实现P1控制的8个灯D1~D8的间隔半秒的循环点亮。
三、实验说明1、P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。
单片机实验实验指导书

目录实验一P1口输入、输出实验 (1)实验二P3口输出控制继电器实验 (4)实验三简单I/O实验(交通灯控制) (6)实验四外部中断实验(急救车与交通灯实验) (8)实验五定时器实验 (11)实验六8155输入输出实验 (13)实验七矩阵键盘实验 (15)实验八8279显示实验 (17)实验九串并转换实验 (20)实验十A/D转换实验 (22)实验十一步进电机控制实验 (24)实验十二D/A转换实验 (27)实验十三传送带控制系统综合实验 (29)实验十四机械手控制实验 (32)实验一 P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
延时时间500ms。
2.P1口做输入口,接八个开关,以74LS273作输出口,编写程序读取开关状态,将状态写入P0口,在发光二极管上显示出来。
二.实验目的1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
三.实验电路及连接实验1-1电路图如下:图1.1实验1-2中:P1.0-P1.7接八个按钮K1-K8,P0.0-P0.7接八个发光二极管L1-L8。
四.实验说明1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止,因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响,若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题对延时子程序DELAY: MOV R0,#00HDELAY1: MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ指令均需要两个机器周期,而一个机器周期时间长度为12/12MHZ(假设晶振频率是12MHZ),所以该段程序执行时间为:((0B3+1)*256+1)*2*12/12000000=100ms五.实验程序流程图实验要求1的程序框图:实验要求2的程序框图:图1.2 图1.3六、调试方法第一步:打开位于d:\单片机实验\实验一\1_1.uv2,进行实验1_1打开位于d:\单片机实验\实验一\1_2.uv2,进行实验1_2第二步:在资源管理器中如打开.src文件,在程序窗口中输入已编好的程序,保存。
单片机实训指导书

单片机实训指导书一、实训目的单片机实训是一门重要的实践课程,旨在通过实际操作和项目实践,让学生深入了解单片机的工作原理、编程方法和应用开发。
通过本次实训,学生将能够掌握单片机系统的设计、调试和维护技能,提高解决实际问题的能力,为今后从事相关领域的工作打下坚实的基础。
二、实训设备1、计算机:用于编写和调试单片机程序。
2、单片机开发板:包含单片机芯片、外围电路和接口,如STC89C52 开发板。
3、编程器:用于将编写好的程序下载到单片机中。
4、示波器:用于观察电路中的信号波形。
5、万用表:用于测量电路中的电压、电流等参数。
三、实训要求1、学生应提前预习相关的理论知识,熟悉单片机的基本结构和编程方法。
2、实训过程中,要严格遵守实验室的规章制度,注意安全,爱护实验设备。
3、认真完成每个实训项目,按时提交实训报告。
4、培养团队合作精神,积极参与小组讨论和项目开发。
四、实训内容(一)单片机基础知识1、了解单片机的发展历程、应用领域和特点。
2、熟悉单片机的内部结构,包括中央处理器(CPU)、存储器(ROM、RAM)、输入输出端口(I/O 口)、定时器/计数器、中断系统等。
3、掌握单片机的指令系统和编程方法,能够使用汇编语言或 C 语言进行简单的程序编写。
(二)单片机开发环境搭建1、安装单片机编程软件,如 Keil C51。
2、学习编程软件的使用方法,包括创建工程、编写代码、编译调试等。
3、安装并使用下载软件,将编写好的程序下载到单片机开发板中。
(三)单片机 I/O 口控制实验1、学习单片机 I/O 口的工作原理和控制方法。
2、编写程序实现对单个 I/O 口的输出控制,如点亮 LED 灯。
3、实现对多个 I/O 口的组合控制,如流水灯效果。
(四)定时器/计数器实验1、了解单片机定时器/计数器的工作原理和计数模式。
2、利用定时器/计数器实现定时功能,如控制LED 灯闪烁的频率。
3、实现计数器功能,如对外部脉冲进行计数。
单片机实验指导书

实验指导书单片机基础长春工业大学人文信息学院第一章前言ξ 1.1 概述本实验指导为学生所用,完成本实验指导中的实验,可使学生基本掌握MCS-51单片机的结构原理、接口技术、编程技巧。
手册中详细叙述了实验的目的、内容、实验线路图、实验程序框图和实验步骤,减轻和免除了主讲教师设计、准备调试实验线路和实验程序所需的工作量,节约了宝贵的时间。
手册中编排了10个软件实验和13个硬件实验,全部的实验演示程序已固化区上,用EPROM传送命令传送送到DVCC仿真实验系统的仿真程序区,通过DVCC仿真实验系统的键盘显示直接运行实验程序和观察实验结果。
如果DVCC仿真实验系统在联PC机状态进行各种实验,其实验演示程序既可以用实验监控中的程序,亦可以用\DV598\DHEX子目录下的实验程序(.HEX),把.HEX文件用Load命令传到DVCC仿真实验系统仿真程序区(详细操作见《用户手册》第三章)。
每个实验程序的其实地址、目标文件名、源文件名、实验名称见下表一和二。
注:实验程序的源文件在\DV598\DASM子目录下。
实验程序的目标文件在\DV598\DHEX子目录。
ξ 1.2 实验部分通用电路简介1.LED显示:实验仪上装有12只发光二极管及相应驱动电路。
见图1-1,L1~L12为相应发光二极管驱动信号输入端为低电平“0”时发光二极管亮。
2.逻辑电平开关电路:见图1-2。
实验台上有9只开关K1~K8与之相对应的K1~K8引线孔为逻辑电平输出端。
开关向上拨相应插孔输出高电平“1”,向下拨相应插孔输出低电平“0”。
3.单脉冲电路:实验台上单脉冲产生按钮,没按一次产生一个单脉冲。
4.计数器电路:该电路由一片74LS393组成,见图1-3,实验仪上T0~T7为分频输出插孔,该计数器在上电时由RESET信号清零。
当脉冲输入为1.0M时。
T0~T7输出脉冲频率为1M、500KHZ、250KHZ依次二分频。
5.脉冲发生器电路:实验台上提供一2MHZ的脉冲源见图1-4,实验台上标有2MHZ的插孔即为该脉冲的输出端。
单片机实验指导书

目录实验一P1口输入、输出实验 (2)实验二继电器控制实验 (8)实验三音频控制实验 (11)实验四程序调试 (14)实验五5LED静态串行显示实验 (16)实验六6LED动态扫描显示实验 (21)实验七查询式键盘实验 (28)实验八阵列式键盘实验 (36)实验九计数器实验 (47)实验十定时器实验 (49)实验十一外部中断实验 (54)实验一P1口输入、输出实验一、实验目的1、学习P1口的使用方法2、学习延时子程序的编写和使用二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。
三、实验内容及步骤实验(一):用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。
1、使用单片机最小应用系统1模块。
关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加P1_A.ASM源程序,进行编译,直到编译无误。
4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。
发光二极管单只从右到左轮流循环点亮。
实验(二):用P1.0、P1.1作输入接两个拨断开关,P1.2、P1.3作输出接两个发光二极管。
程序读取开关状态,并在发光二极管上显示出来。
1、用导线分别连接P1.0、P1.1到两个拨断开关,P1.2、P1.3到两个发光二极管。
2、添加 P1_B.ASM源程序,编译无误后,运行程序,拨动拨断开关,观察发光二极管的亮灭情况。
向上拨为熄灭,向下拨为点亮。
四、流程图及源程序1.流程图2.源程序:(一)实验一ORG 0000HLJMP STARTORG 0030HSTART: MOV A, #0FEHMOV R2,#8OUTPUT: MOV P1,ARL AACALL DELAYDJNZ R2,OUTPUTLJMP STARTDELAY: MOV R6,#0MOV R7,#0DELAYLOOP:;延时程序DJNZ R6,DELAYLOOPDJNZ R7,DELAYLOOPRETEND(二)实验二KEYLEFT BIT P1.0 ;定义KEYRIGHT BIT P1.1LEDLEFT BIT P1.2LEDRIGHT BIT P1.3ORG 0000HLJMP STARTORG 0030HSTART: SETB KEYLEFT ;欲读先置一SETB KEYRIGHTLOOP: MOV C,KEYLEFTMOV LEDLEFT,CMOV C,KEYRIGHTMOV LEDRIGHT,CLJMP LOOPEND五、思考题(1)对于本实验延时子程序Delay: MOV R6,0MOV R7, 0DelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET如使用12MHz晶振,粗略计算此程序的执行时间为多少?六、电路图实验二继电器控制实验一、实验目的1、学习I/O端口的使用方法2、掌握继电器的控制的基本方法3、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
单片机实验指导书

目录第一章开发流程、硬件设定一、软件开发流程--------------------------------------------------------2二、硬件接口及开关设置-----------------------------------------------3三、系统地址分配--------------------------------------------------------4 第二章软件实验实验一数据区传送子程序--------------------------------------------5 实验二数据排序实验-------------------------------------------------6实验三查找相同数个数----------------------------------------------7实验四脉冲计数(定时/计数器实验)--------------------------8第三章硬件实验实验一P1口亮灯实验--------------------------------------------------11实验二 P3口输入,P1口输出-----------------------------------------12实验三8255 PA口控制PB口---------------------------------------13实验四8255控制交通灯-----------------------------------------------14 实验五简单I/O口扩展------------------------------------------------17实验六A/D转换实验----------------------------------------------------18 实验七D/A转换----------------------------------------------------------21 实验八8279键盘显示实验--------------------------------------------23 第四章综合性设计实验实验一步进电机控制---------------------------------------------------27实验二128*64 LCD液晶显示----------------------------------------34第一章开发流程、硬件设定一、软件开发流程对于刚刚使用keil 的用户来讲,一般按照以下流程来完成开发任务。
单片机实验指导书

前言 (3)实验一熟悉µ’nSP™ IDE环境下的汇编程序的编写 (4)【实验目的】 (4)【实验设备】 (4)【实验步骤】 (4)【程序流程图】 (5)【程序范例】 (5)【程序练习】 (5)实验二熟悉µ’nSP™ IDE环境下的C语言的编写 (6)【实验目的】 (6)【实验设备】 (6)【实验步骤】 (6)【程序范例】 (6)【程序练习】 (6)实验三使用汇编语言实现A口的输出实验 (7)【实验目的】 (7)【实验设备】 (7)【实验原理】 (7)【实验步骤】 (7)【硬件连接图】 (7)【程序练习】 (8)实验四 FIQ中断实验 (9)【实验目的】 (9)【实验设备】 (9)【实验原理】 (9)【实验步骤】 (9)【程序流程图】 (9)【程序练习】 (10)实验五 A/D转换 (11)【实验目的】 (11)【实验设备】 (11)【实验原理】 (11)【实验步骤】 (11)【硬件连接图】 (12)【程序流程图】 (12)【程序练习】 (13)实验六双通道D/A (14)【实验目的】 (14)【实验设备】 (14)【实验原理】 (14)【实验步骤】 (14)【程序流程图】 (15)【程序练习】 (15)实验七一路输入的录音 (16)【实验目的】 (16)【实验设备】 (16)【实验原理】 (16)【实验步骤】 (16)【程序练习】 (16)实验八 32K Flash 读/写 (17)【实验目的】 (19)【实验设备】 (19)【实验原理】 (19)【硬件连接图】 (19)【实验步骤】 (19)【程序练习】 (20)实验九 0.5S定时刷新数码管显示 (21)【实验目的】 (21)【实验设备】 (21)【实验原理】 (21)【硬件连接图】 (22)【实验步骤】 (22)【程序练习】 (23)前言本教材是结合《µ’nSP™系列SPCE061A单片机基础与应用技术》一书而设计实验,与课堂教学内容结合紧密。
单片机实验指导书

目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (33)实验八数码管动态显示实验 (38)实验一系统认识实验一、实验目的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、掌握Keil软件的基本使用。
2、掌握单片机汇编语言基本编程。
二、实验内容1、学习用Keil软件进行51单片机的软件开发;学习Keil软件的一般操作,步骤为:项目建立、程序录入、添加文件、编译生成HEX文件、仿真调试。
(见参考程序一)2、霓虹灯控制程序设计用P1口控制8个LED,按P3口输入信号的不同模式选择4种16次循环点亮方式,用软件延时实现1秒的扫描周期。
将生成的HEX文件下载到实验板上验证。
(见参考程序二)三、实验原理1、Keil软件使用练习设(R0)=20H,(R1)=25H,(20H)=80H,(21H)=90H,(22H)=0A0H,(25H)=0A0H,(26H)=6FH,(27H)=76H,执行程序后,问程序完成什么功能,写出运行结果。
(见参考程序一)2、霓虹灯控制程序设计电路原理图如下,所需元件为:AT89C51、SW-SPST、LED-RED图中用单片机的P1口作输出口接8个LED ,8个LED 按共阳极连接,端口逻辑值为0点亮LED ;P3口作输入口接2个SW-SPST 开关,P3口内含上拉电阻,当开关打开时逻辑值为1,开关闭合时逻辑值为0。
本实验中要实现循环输出,最常用的方法是循环计数实现循环次数控制,对计数器值进行查表转换得出输出值,输出到P1口进行显示,灯亮表示输出为“0”,灯灭表示输出为“1”。
本实验中的延时,用软件延时方法产生,延时时间=程序总机器周期数*循环次数*机器周期。
输出表格确定发光模式,实验中定义表格如下:TAB1:DB 01H,02H,04H,08H,10H,20H,40H,80H (SW3,SW4为:00) TAB2:DB 03H,06H,0CH,18H,30H,60H,0CH,81H (SW3,SW4为:01) TAB3:DB 80H,40H,20H,10H,08H,04H,02H,01H (SW3,SW4为:10) TAB4: DB 用户自己定义(SW3,SW4为:11)输入信号使用P3口的2个位,如P3.2和P3.3,可以确定4种模式。
单片机实验指导书

第一章DVCC-52196JH单片机仿真实验系统简介第一节DVCC系列单片机仿真实验系统性能§ 1 . 1 系统性能指标1.仿真、实验相结合。
2.实验模块化结构,互不影响,通过连线又可将各模块有机结合。
3.实验内容设置丰富、合理,满足教学大纲要求。
4.每项实验连线方便,既能满足学生动手能力愿望,又能充分发挥学生的创新能力,提高教学实验的质量和效率。
5.自带集成调试环境,Win9X/NT软件平台,含:源程序库、芯片资料库、原理图库、元器件位置图库、实验说明、动态调试工具库。
6.提供源程序编辑、汇编、链接。
7.电路具有过压保护,确保系统安全、可靠工作。
8.整机采用热风整平工艺基板、波峰焊接,实验连接接口采用圆孔插座,整机可靠性好。
9.自带EPROM写入器,可对27128、2764EPROM进行写入。
10.自带键盘显示器,进口键座,专用彩色键帽,决无按键不可靠现象。
11.系统用串行口、用户用串行口相互独立,在通过RS232与上位机联机状态下,同样可以调试用户串行口程序。
12.系统带有示波器功能,通过RS232口,可将测得的信号显示在上位机的屏幕上。
该系统通过RS232口可连各种上位机,在Win9X/NT软件平台进行仿真开发和实验。
同时系统自带键盘显示器,无须任何外设也能独立工作,支持因陋就简建立单片机实验室。
系统提供实验程序库,均放在系统光盘上,可直接使用。
同时全部实验程序机器码已固化在EPROM中,作为用户程序。
在进入实验前,需将该EPROM中的程序(在固化区)传送到仿真RAM区,以便以单步、断点、连续等方式运行程序。
§ 1.2 系统提供的主要实验项目如下:一、MCS—51部分软件实验1、清零程序实验 6、字符串查找并统计相同字符串个数2、拆字程序实验 7、双字节乘法程序3、拼字程序实验 8、多分支程序设计4、数据块传送实验 9、定时/计数器实验5、数据排序实验 10、电脑时钟实验二、MCS—51部分硬件实验1、8031单片机P3、P1口应用 11、步进电机控制2、工业顺序控制 12、直流电机控制3、并行I/O口8255应用 13、电子音响4、简单I/O口输入、输出扩展 14、继电器控制5、A/D转换0809应用 15、数据存贮器扩展和程序存贮器扩展6、D/A转换0832应用 16、8031串行口应用实验(一)—双机通信实验7、串并转换实验 17、8031串行口应用实验(二)—与PC机通信8、定时计数器8253A应用 18、温度测量实验(5G14433应用)9、可编程键盘显示8279A应用 19、压力测量实验10、打印机接口应用对DVCC—××JH+机型增加下列四个扩展实验一、128×64液晶显示实验二、16×16LED点阵显示实验三、语音录放实验四、IC卡读写实验§ 1.3 实验系统主要机型如下:DVCC—52JH(JH+) 51实验、仿真DVCC—52196JH(JH+) 51、196实验、仿真DVCC—5286JH(JH+) 51实验、仿真,8088实验DVCC—598JH(JH+) 51、196实验、仿真,8088实验第二节 MCS—51实验系统安装与启动§ 2.1 MCS51实验系统安装与启动1. DVCC系列实验系统在出厂时均为51状态对DVCC—52196JH机型:SK1位1—5置ON位置,位6—10置OFF对DVCC—5286JH和DVCC—598JH机型:a.SK1位1—5置ON,位6—10置OFF;b.SK2位1—2置ON;c.SK3置ON;d.SK4置OFFe.卧式KBB置51、96位置,立式KBB1开关置51、88位置(只对DVCC—598JH/JH+);f.DL1—DL4连1、22. 如果系统用于仿真外接用户系统,将40芯仿真电缆一头插入系统中J6插座,另一头插入用户系统的8051CPU位置,注意插入方向,仿真头上小红点表示第一脚,对应用户8051CPU 第一脚。
单片机实验指导书

目录1、keil μVision2基本操作实验2、汇编程序设计实验3、在线编程脱机运行实验4、定时/计数器的应用实验5、中断应用实验6、I2C系统总线实验(E2PROM24C02 )7、串行AD转换实验(ADC0832)8、C51 简单程序设计实验9、C51综合程序设计实验附录 S51E单片机用户板介绍实验一 KeilμVision2基本操作实验一、实验目的1、熟悉KeilμVision2 集成开发环境2、初步掌握KeilμVision2的使用方法二、KeilμVision2使用方法介绍1、KeilμVision2启动从桌面上直接双击KeilμVision2的图标来启动软件。
KeilμVision2启动后,在程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs和Books,这三个标签分别显示当前项目的文件结构、CPU寄存器和部分特殊功能寄存器的值(只有在调试的时候才出现)和所选CPU的附加说明文件,如果是第一次启动KeilμVision2,这三个标签都是空的。
2、源文件的建立使用菜单“File→New”或点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入以下汇编语言源程序,ORG 0000HMOV A,#0FEHMAIN: MOV P1, ARL ALCALL DELAYAJMP MAINDELAY: MOV R7,#255DL: MOV R6,#255DJNZ R6,$DJNZ R7,DLRETEND保存该文件,注意必须加上扩展名(汇编语言源程序一般使用asm或a51为扩展名,假如是C语言源程序,扩展名为*.c),这里假定文件保存为text1.asm,3、新建一个工程在项目开发中,不仅有一个源程序就可以了,还要为这个项目选择CPU,确定编译、汇编、连接的参数,指定调试的方式,有些项目会友多个文件组成,为了管理和使用方便,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及应用实验指导书实验一Keil集成开发环境的使用一、实验目的1、熟悉Keil软件集成开发环境及使用方法,并能够编写编译实验项目;2、掌握编写51程序及程序的运行;3、学习控制单片机I/O口驱动发光二极管流水显示的方法。
二、实验内容如图1-1所示,利用STC89C54RD+单片机的P1口外接8个发光二极管,实现双向流动流水灯效果。
图1-1 原理图图1-2 插线图三、实验步骤1、Keil软件的使用。
2、硬件资源连接。
用排线按图1-2在实验箱上将相应端子接好。
用USB数据线将计算机USB口和GL9型开发板相连。
注意保持GL9型开发板电源开关断开(开关SW1置于左侧)。
3、编译下载a.启动uVision4新建一个51单片机的工程,输入参考代码并编译下载。
b.点击STC_ISP_V480.exe启动下载界面,如图1-3。
c.启动界面后如图1-4所示。
选择单片机型号,此处根据实际情况我们应选择STC89C54RD+,如图1-5。
d.打开程序文件。
此处我们打开编译生成的HEX文件即可,如图1-6。
e.设置串口参数。
其中串口标号按系统分配的端口序号进行选择,其它内容按照默认即可。
f.设置其它参数。
此处按照默认即可。
如图1-7。
图1-3图1-4图1-5图1-6图1-7图1-8g.下载。
点击Download下载键即可下载,点击前要保证GL9型开发板已经正确地通过USB数据线连接于USB接口上,并且将开关SW1置于左侧。
如图1-8。
h.点击点击Download下载键后,信息窗口提示“仍在连接中,请给MCU上电...”,如图1-9。
此时需要给GL9开发板上的单片机重新上一次电,电源开关SW1推向右方,指示灯V9点亮,如图1-10。
重新上电后下载程序开始,会有相应文字提示及进度提示,如图1-11。
下载完成,有相应提示,如图1-12.图1-9图1-10图1-11图1-12下载完成后,单片机会立即开始运行程序。
3、观察实验结果。
四、参考程序#include <AT89X52.h> //调用51单片机的头文件//---------------------------------------//定义一个数据表格unsigned char code TAB[16]={ //定义表格一定要使用code,这样会做到程序存储区中0x01, //表格第1步数据0b000000010x02, //表格第2步数据0b000000100x04, //表格第3步数据0b000001000x08, //表格第4步数据0b000010000x10, //表格第5步数据0b000100000x20, //表格第6步数据0b001000000x40, //表格第7步数据0b010000000x80, //表格第8步数据0b100000000xC0, //表格第9步数据0b110000000xE0, //表格第10步数据0b111000000xF0, //表格第11步数据0b111100000xF8, //表格第12步数据0b111110000xFC, //表格第13步数据0b111111000xFE, //表格第14步数据0b111111100xFF, //表格第15步数据0b111111110x00, //表格第16步数据0b00000000};//---------------------------------------//名称: 主函数//---------------------------------------void main(void) //主函数,单片机开机后从这个函数开始运行{unsigned int a=0; //定义一个int型变量,做延时用unsigned char b=15; //定义一个char型变量,显示内容用while(1) //死循环,单片机初始化后,将一直运行这个死循环{for(a=0;a<20000;a++); //延时若干时间,具体时长暂不理会if(++b>15) b=0; //b做加1操作,并限制在0-15以内P0=TAB[b]; //将TAB[b]的值送入PO口输出}}五、实验报告1、实验报报告必须用专用的实验报告纸手写,字迹工整;2、程序语句要有详细注释和说明;3、写出本次实验的心得体会及总结。
实验二数码管显示一、实验目的1、熟悉KEIL软件使用方法;2、熟悉七段数码管的笔段与字符显示关系;3、熟悉51单片机I/O口与七段数码的笔段连接关系;4、了解数码管的静态与动态显示原理。
二、实验原理1、七段数码管图2-12、七段数码管显示驱动与I/O口的连接关系P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 数字段码显示字符H G F E D C B A0 0 1 1 1 1 1 1 0x3F 00 0 0 0 0 1 1 0 0x06 10 1 0 1 1 0 1 1 0x5B 20 1 0 0 1 1 1 1 0x4F 30 1 1 0 0 1 1 0 0x66 40 1 1 0 1 1 0 1 0x6D 50 1 1 1 1 1 0 1 0x7D 60 0 0 0 0 1 1 1 0x07 70 1 1 1 1 1 1 1 0x7F 80 1 1 0 1 1 1 1 0x6F 90 1 1 1 0 1 1 1 0x77 A0 1 1 1 1 1 0 0 0x7C b0 0 1 1 1 0 0 1 0x39 C0 1 0 1 1 1 1 0 0x5E d0 1 1 1 1 0 0 1 0x079 E0 1 1 1 0 0 0 1 0x71 F若要在共阴数码管上显示“1”,则直接对P0赋值0x06,即赋值语句为P0 = 0x06;3、七段LED数码管动态显示原理当显示位数较多时,静态显示所需I/O口太多,这时常采用动态显示。
为节省I/O口,通常将所有数码管的显示笔段线的相应段关联在一起,由一个8位I/O口控制,而各位显示位的公共端分别由相应的I/O线控制。
动态显示就是通过笔段引脚向数码管输出所要显示字符的段码。
每一时刻,只有1位数码管的位选线有效,其他各位位选线都是无效的。
逐位地每隔一定时间轮流点亮各位数码管(扫描方式),由于LED数码管的余辉和人眼的“视觉暂留”作用,只要控制好每位显示的时间和间隔,则可以造成“多位同时亮”的假象,达到同时显示的效果。
一般LED数码管的显示时间间隔(扫描间隔)大约在1~10ms之间即可。
三、实验内容1、1位数码管显示变化的数字0-9。
图2-2 原理图图2-3 插线图2、4位数码管动态显示变化数字0-9999。
图2-4 原理图图2-5插线图四、实验步骤1、硬件资源连接;2、编译下载;3、观察实验结果。
五、参考程序1、1位数码管显示变化的数字0-9。
#include <AT89X52.h> //调用51单片机的头文件//---------------------------------------//定义一个数据表格unsigned char code TAB[10]={ //定义表格一定要使用code,这样会做到程序存储区中0x3F, //表格第1步数据0b001111110x06, //表格第2步数据0b000001100x5B, //表格第3步数据0b010110110x4F, //表格第4步数据0b010011110x66, //表格第5步数据0b011001100x6D, //表格第6步数据0b011011010x7D, //表格第7步数据0b011111010x07, //表格第8步数据0b000001110x7F, //表格第9步数据0b011111110x6F, //表格第10步数据0b01101111};//---------------------------------------//名称: 主函数//---------------------------------------void main(void) //主函数,单片机开机后从这个函数开始运行{unsigned int a=0; //定义一个int型变量,做延时用unsigned char b=15; //定义一个char型变量,显示内容用while(1) //死循环,单片机初始化后,将一直运行这个死循环{for(a=0;a<40000;a++); //延时若干时间,具体时长暂不理会if(++b>9) b=0; //b做加1操作,并限制在0-9以内P2=TAB[b]; //将TAB[b]的值送入P2口输出}}2、4位数码管动态显示变化数字。
#include <AT89X52.h> //调用51单片机的头文件//---------------------------------------//数码管字形表,供显示时查询unsigned char code LED[10]={ //定义表格一定要使用code,这样会做到程序存储区中0x3F, //"0"的字形表,0B001111110x06, //"1"的字形表,0B000001100x5B, //"2"的字形表,0B010110110x4F, //"3"的字形表,0B010011110x66, //"4"的字形表,0B011001100x6D, //"5"的字形表,0B011011010x7D, //"6"的字形表,0B011111010x07, //"7"的字形表,0B000001110x7F, //"8"的字形表,0B011111110x6F, //"9"的字形表,0B01101111};//---------------------------------------//4位数码管相关I/O设置sbit U165A0=P1^0; //U165(74HC138)的A0脚接在P1.0口上sbit U165A1=P1^1; //U165(74HC138)的A1脚接在P1.1口上sbit U165A2=P1^2; //U165(74HC138)的A2脚接在P1.2口上//---------------------------------------//名称: 主函数//---------------------------------------void main(void) //主函数,单片机开机后从这个函数开始运行{unsigned char c=0; //定义一个char型变量,做延时用unsigned char d=0; //定义一个char型变量,控制显示位置unsigned char e=0; //定义一个char型变量,做延时用unsigned int f=0; //定义一个int型变量,显示内容用,显示内容0-9999while(1) //死循环,单片机初始化后,将一直运行这个死循环{for(c=0;c<250;c++);//做一个0-250的循环,不执行其他操作,只为延时if(++e>200) //做一个延时,时间到将显示内容加1{e=0; //清零,为下一次延时做准备补充语句1 ;//显示内容加1,因为只有4位显示,超过9999后归零}P2=0; //关一次显示,以免显示出鬼影if(++d>3) d=0; //先将d加1,然后判断是否大于3,大于3归零if(d==0) //如果d=0,显示千位{P1=0x03; //U165A0=1,U165A1=1,U165A2=0选通数码管的千位进行显示P2=LED[f/1000]; //将要显示的f的千位提取出来查表后送显示}else if(d==1) //如果d=1,显示百位{P1=0x02; //U165A0=0,U165A1=1,U165A2=0选通数码管的百位进行显示P2=LED[(f%1000)/100]; //将要显示的f的百位提取出来查表后送显示}else if(d==2) //如果d=2,显示十位{P1=0x01; //U165A0=1,U165A1=0,U165A2=0选通数码管的十位进行显示补充语句2 ; //将要显示的f的十位提取出来查表后送显示}else //如果d=3,显示个位{P1=0x00; //U165A0=0,U165A1=0,U165A2=0选通数码管的个位进行显示P2=LED[f%10]; //将要显示的f的个位提取出来查表后送显示}}}六、实验报告1、实验报报告必须用专用的实验报告纸手写,字迹工整;2、程序语句要有详细注释和说明;3、写出本次实验的心得体会及总结。