单片机实训指导书
《单片机原理及应用》课程实训指导

《单片机原理及应用》课程实训指导书一、实训目的1、熟悉单片机应用系统的开发、研制过程。
2、能运用MCS-51单片机进行简单的单片机应用系统的硬件设计。
3、能采用MCS-51单片机汇编语言进行简单的单片机应用系统的软件设计。
4、掌握单片机应用系统的硬件、软件调试方法。
5、熟悉单片机仿真开发系统的作用,基本掌握运用单片机仿真开发系统进行在线仿真、调试和目标程序固化的方法。
6、为今后从事单片机应用系统的开发、生产和维护工作奠定基础。
二、实训要求1、本实训分组进行,具体分成几组详见实训计划。
每组指定一名组长,组长负责组内成员的分工和协调工作。
由各班班长负责分组和组长的确定,并将分组表提供给指导老师。
2、利用所提供的实训器材,每组独立完成实训内容中列出的一个实训课题。
具体到哪一组完成哪一个课题,由指导老师确定。
3、程序设计中要求用到定时器中断,即定时器以中断方式实现定时。
4、完成实训后或实训期满时,每组应主动将本组完成的样机交给指导老师验收,作为实训成绩评定的重要依据之一。
结束实训后的第二天每人提交一份实训报告。
报告中应指出组内成员的分工及完成情况,谈谈每人的实训收获与感想。
报告格式必须符合学院规定的规范格式。
三、实训内容课题1、十字路口交通信号灯的设计与制作1、课题任务(1) 基本功能:在马路的十字路口东西南北各设置红、黄、绿3种信号灯,4个路口共12个信号灯。
控制的过程为:当东西方向通车时绿灯亮,而南北方向红灯亮;当通车的时间到后,东西方向的绿灯灭,而黄灯亮,黄灯闪烁若干次后由东西方向换到南北方向通车。
此时,东西方向黄灯灭而红灯亮,南北方向红灯灭而绿灯亮,南北方向开始通车。
通车时间到后,南北方向绿灯灭,黄灯闪烁若干次后由南北方向切换到东西方向,南北方向黄灯灭,红灯亮;而东西方向红灯灭,绿灯亮。
如此不断循环。
如下图所示:北绿红西黄黄东红绿绿黄红南(2) 扩展功能:增设两个按键(1个“调整/确认健”、1个“加1秒键”),用于调整红、黄、绿灯的显示时间。
单片机实训指导书

实训项目一让单片机动起来1、实训目的及要求:1)掌握单片机开发板的使用方法(驱动识别,程序下载)2)掌握单片机程序开发软件KEIL的使用3)掌握单片机程序烧录软件STC-ISP下载软件的使用2、实训内容1)根据实训报告内容编写单片机程序2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录4)完成实训报告内容3、实训准备硬件:单片机开发板、电脑、杜邦线软件:keil uvision4 、STC-ISP4、实训过程1)流程图2)实训程序一:#include "reg52.h"sbit LED=P1^0;void main(){LED=0;while(1);}实训程序二:#include "reg52.h"#define LED P1;void main(){LED=0xaa;while(1);}3)实训步骤①打开KEIL软件编写LED控制程序。
②程序调试无误后,使用KEIL生产HEX文件。
③将生产的HEX文件烧录到单片机芯片中,并观察实验现象。
3)实验现象记录实训程序一:。
实训程序二:。
4)实训报告要求①将实训程序中的注释补充完整,了解每条语句作用。
实训项目二LED的闪烁1、实训目的及要求:1)掌握单片机控制LED点亮和熄灭的方法。
2)了解单片机延时程序的原理及设计。
3)了解单片机中常用的变量类型及其定义方法。
2、实训内容1)根据实训报告内容编写单片机程序2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录4)完成实训报告内容3、实训准备硬件:单片机开发板、电脑、杜邦线软件:keil uvision4 、STC-ISP4、实训过程1)流程图2)实训程序:#include "reg52.h"#define uchar unsigned char //定义uchar为定义字符型变量,范围#define uint unsigned int //定义uint为定义整型变量,范围sbit LED=P1^0;uint i;//定义整型变量ivoid main(){while(1){LED=0;for(i=0;i<20000;i++);LED=1;for(i=0;i<20000;i++);}}3)实训步骤①打开KEIL软件编写LED闪烁控制程序。
单片机实训指导书

单片机实训指导书编制:胡兴志徐斌高学目录1 对象系统 (3)1.1 系列产品概述 (3)1.2 装置 (3)1.2.1 实验箱 (3)1.2.2 微处理器模块 (3)1.2.3 软件 (4)2. 微处理器概述及调试方法 (4)2. 1 STC 51系列单片机概述 (4)2.2 单片机调试方法 (4)3.单片机实验指导部分 (10)3.1 流水灯实验 (10)3.2 基本指令的编程练习 (13)3.3 旋转灯模拟 (16)3.4 键控数码管加减显示实验 (19)3.5 定时器控制数码显示 (24)3.6 生产流水线模拟系统 (29)3.7 五相步进电机的模拟控制 (34)3.8 十字路口交通灯控制 (39)3.9 机械手动作实验 (43)1 对象系统1.1 系列产品概述本设备采用西门子S7-200、S7-300、S7-400,以及三菱PLC、欧姆龙PLC、研华ADAM8000等PLC、以及单片机为核心(可根据用户要求另行选择),集可编程逻辑控制器、微处理器控制器、编程软件、工控组态软件、模拟控制实验板、微处理器仿真对象、真实工业对象等于一体。
在本装置上,可直观地进行控制器的基本指令练习、多个控制器实际应用的模拟实验及实物实验。
整个系统结构紧凑、功能多样、使用方便,既能进行验证性、设计性实验,又能提供综合性实验,可满足本科、大专及中专等不同层次的教学实验要求,还可为研究开发提供实验平台。
提供各种形式的硬件装置系统,包括墙面形式、台架形式、桌面形式、斜台箱式与普通铝合金箱式等多种形式。
产品的模块是独立的,可以任意选择安装到小型台架或大型台驾的模块类型。
甚至可以安装其他控制系统,以便进行PLC与其他设备的协同处理或联网运行。
不像其他厂家,完全由发光管组成的实验系统,而是提供了多个真实模型,包括:小型电梯系统、小型直线机械运动控制系统、小型的旋转角度控制系统、温度控制系统、电机转速控制系统等等。
1.2 装置1.2.1 实验箱A8000B型箱式控制器实验装置由实验箱、控制器、软件、实验选件、配件等部分组成。
单片机实验指导书

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

目录1、实验一多路开关实验 (3)2、实验二可编程增益放大器实验 (5)3、实验三A/D转换实验 (7)4、实验四D/A转换实验 (11)5、实验五静态显示实验 (13)6、实验六动态扫描显示实验 (15)7、实验七液晶显示实验 (18)8、实验八矩阵式键盘实验 (23)9、实验九开关量输入输出实验 (28)10、实验十24WC02串行E2PROM的读写实验 (30)11、实验十一PCF8563时钟/日历芯片的应用实验 (37)12、实验十二外部程序存储器EPROM的扩展实验 (45)13、实验十三 SRAM外部数据存储器扩展实验 (47)14、实验十四单片机与PC机的RS232串行通信实验 (50)15、实验十五单片机与PC机的MAX485串行通信实验 (52)16、实验十六打印机实验 (54)17、实验十七 USB通信实验 (57)18、实验十八网络控制器实验 (102)实验一多路开关实验一.实验目的1.掌握多路开关与单片机的接口方法。
了解按键识别的编程方法。
2.通过实验了解单片机如何进行多路开关实验。
二.实验内容利用线路板DSC-SCM01提供CPU处理器,利用线路板DCP-SCM02上的发光二级管显示及查询式键盘完成多路开关实验。
当对应的按键按下时,相应的发光二极管亮。
三.实验器材1.主控屏+5V电源2. DCP-SCM01 单片机电路3. DCP-SCM02 键盘及显示电路四.实验原理图五.实验说明该实验通过线路板DCP-SCM01及线路板DCP-SCM02完成,线路板DCP-SCM02上发光二极管的阳极接正5V电源,所以要使某个发光二极管亮,只要使对应的发光二极管的阴极为低电平即可。
六.实验步骤1.利用导线按表格中的对应关系将DCP-SCM01对应的端口与DCP-SCM02对应的端口连接起来即可DCP-SCM02 DCP-SCM01发光二极管显示单元的插座U3 P0查询式键盘区域的插座U4 P1EA脚接+5VD_SWITCH.C3.输入并编辑D_SWITCH.C文件,并且编译生成HEX文件。
蓝桥杯单片机实训指导书

蓝桥杯单片机实训指导书蓝桥杯单片机实训指导书是许多学生在学习单片机编程和应用时的重要参考资料。
在这本指导书中,详细介绍了单片机的基础知识、编程方法和实际应用案例,帮助学生快速掌握单片机技术并在实践中不断提升。
本文将围绕着蓝桥杯单片机实训指导书展开讨论,重点介绍单片机在现代科技领域的应用现状和未来发展趋势。
首先,我们需要了解什么是单片机。
单片机是一种集成了处理器、存储器和输入输出设备的微型计算机,通常用于控制和监控各种电子设备。
在蓝桥杯单片机实训指导书中,我们可以学习到单片机的基本结构和工作原理,包括CPU、存储器、定时器、中断、串口通信等重要组成部分。
通过学习这些知识,学生可以深入了解单片机的内部机制,从而更好地利用单片机实现各种功能。
蓝桥杯单片机实训指导书还介绍了单片机编程的基本方法和技巧。
学生可以通过学习汇编语言、C语言等编程语言来实现单片机程序的开发和调试。
在实际应用中,单片机可以用于控制各种设备,如 LED灯、温度传感器、电机等,实现自动化控制和数据采集。
通过对单片机编程的学习,学生可以提高自己的编程能力和创新思维,为未来的科技创新打下坚实基础。
除了基础知识和编程技巧,蓝桥杯单片机实训指导书还介绍了单片机在各个领域的实际应用案例。
例如,在智能家居领域,单片机可以用于控制家电设备的开关和调节,实现智能化管理和节能效果。
在工业自动化领域,单片机可以用于自动化生产线的控制和监控,提高生产效率和质量。
在智能交通领域,单片机可以用于交通信号灯的控制和车辆管理,实现交通流畅和安全。
这些实际案例都体现了单片机在现代社会中的重要应用意义,为我们的生活和工作带来了便利和效益。
随着科技的不断发展,单片机技术也在不断创新和突破。
未来,单片机将更加智能化、高效化和多样化,应用范围将进一步扩大。
例如,随着人工智能和物联网技术的发展,单片机将更加智能化和联网化,可以实现设备之间的互联互通和智能控制。
同时,单片机的功耗和成本将进一步降低,推动单片机技术在各个领域的广泛应用。
11单片机专周实训指导书

11单片机专周实训指导书D本实训课程主要是培养学生单片机应用电路开发设计、制作与调试能力,通过按键控制LED亮灯电路设计制作制作训练,使学生熟练掌握单片机应用电路开发设计的方法,会熟练使用单片机仿真器和编程器进行电路和程序的仿真调试及下载。
实训任务:设计并制作由89C51单片机作控制器的带有按键控制LED的亮灯电路,实训内容包括有:电路设计、程序设计、电路制作与调试、撰写实训报告。
电路要求实现:AT89C51单片机P3.0和P3.1两位口线分别接一个轻触按键开关S1和S2,P1口接8只发光二极管LED1~LED8。
当按下S1键时,8只发光二极管按方式一从LED1~LED8间隔1S交替点亮一次,P1口输出值如图1所示;当按下S2键时,8只发光二极管按方式二从LED1~LED8间隔1S依次点亮一次,P1口输出值如图2所示;P1口相应位输出为0时,对应的LED点亮。
接着进行下一工作周期。
图1 方式一亮灯P1口输出值图2 方式二亮灯P1口输出值实训要求:设计出按键控制LED亮灯电路原理图和PCB图,编写控制程序并仿真调试,电路制作调试,实现任务要求的功能,撰写实训报告。
1第三章设计流程3.1 设计任务本次专周实训需要完成设计任务有:1、使用protel dxp绘制硬件电路原理图2、使用protel dxp绘制PCB图3、使用protues完成软件仿真4、焊接电路板完成实训作品3.2 设计流程3.2.1 设计的基本思路依据项目要求,AT89C51单片机P3.0和P3.1两位口线分别接一个轻触按键开关S1和S2,P1口接8只发光二极管LED1~LED8。
当按下S1键时,8只发光二极管按方式一从LED1~LED8间隔1S交替点亮一次,P1口输出值如图1所示;当按下S2键时,8只发光二极管按方式二从LED1~LED8间隔1S依次点亮一次,P1口输出值如图2所示;P1口相应位输出为0时,对应的LED点亮。
项目中应用了逻辑设计、循环结构、循环移位指令、延时程序等知识点,3.2.2 设计案例1、硬件设计2图4-1 方案1电路设计原理图2、软件设计1)、程序流程图(1)LED亮灯电路主程序流程图(图4)(2) 子程序K1(方式一亮灯)流程图(图5)(3) 子程序K2(方式二亮灯)流程图 (图6)3图5 LED亮灯主程序流程图图6 子程序K1(方式一亮灯)流程图4图7 子程序K2(方式二亮灯)流程图2)、程序清单ORG 0000H ;主程序START: JB P3.0, JLCALL DELAY10msJB P3.0, JLCALL K1SJMP STARTJ: JB P3.1, STARTLCALL DELAY10msJB P3.1, STARTLCALL K2SJMP START5ORG 0050H ;K1子程序 K1: MOV A, #0FEHL1: MOV P1, ALCALL DL1SJNB ACC.7, M1RL ASJMP L1M1: RETORG 0100H ;K2子程序 K2: MOV A, #0FEHL2: MOV P1, ALCALL DL1SJNB ACC.7, M2CLR CRLC ASJMP L2M2: RETORG 0150H ;10ms延时子程序DELAY10ms: MOV R0, #10DEL2: MOV R1, #125DEL1: NOP6NOPDJNZ R1, DEL1DJNZ R0, DEL2RETORG 0200H ;1S延时子程序DL1S: MOV R3, #100DEL3: LCALL DELAY10msDJNZ R3, DEL3RETEND第四章结束语在实训的过程中,同学们必须听从老师的指导,按照行业中单片机系统设计的流程进行电路的设计。
单片机实训指导书

实训一跑马灯实训一、实训目的1.学会使用I/O口的基本输入、输出功能。
2.了解LED显示接口技术及编程方法。
二、实训模块SCM01 单片机模块、SCM03 显示模块1。
三、实训步骤1.用2号实验导线将“单片机模块”上的P0.0~P0.7连接到“显示模块1”上的“八位逻辑电平显示模块”的L1~L8。
2.接上各模块的电源。
3.将仿真器插到“单片机模块”上的40P锁紧插座中(注意方向)。
4.打开“MedWin V3.0”软件,建立项目,输入程序。
5.将程序下载到仿真器中,全速运行程序,观察发光二极管的显示。
需在程序中将相应的I/O口置零。
实训二动态数码管显示实训一、实训目的掌握动态显示的原理和相关程序的编写。
二、实训模块SCM01 单片机模块、SCM04 显示模块2。
三、实训步骤1.用2号实验导线将“单片机模块”上的P0.0~P0.7分别连接到“显示模块2”上“数码管显示”的D0~D7;将“单片机模块”上的P2.6、P2.7、P3.6分别连接到“显示模块2”上“数码管显示”的CS1、CS2、WR。
2.接上各模块的电源。
3.将仿真器插到“单片机模块”上的40P锁紧插座中(注意方向)。
4.打开“MedWin V3.0”软件,建立项目,输入程序。
5.将程序下载到仿真器中,全速运行程序。
6.现象:八位数码管显示自己的生日。
四、数码管显示模块硬件电路数码管按各发光二极管电极的连接方式分为共阳数码管和共阴数码管两种。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到电源正极,当某一字段发光二极管的阴极为高电平时,相应字段就不亮。
当某一字段的阴极为低电平时,相应字段就点亮。
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
本装置采用的是动态式显示方式。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路(本电路采用74138译码器),位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实训项目一让单片机动起来1、实训目的及要求:1)掌握单片机开发板的使用方法(驱动识别,程序下载)2)掌握单片机程序开发软件KEIL的使用3)掌握单片机程序烧录软件STC-ISP下载软件的使用2、实训内容1)根据实训报告内容编写单片机程序2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录4)完成实训报告内容3、实训准备硬件:单片机开发板、电脑、杜邦线软件:keil uvision4 、STC-ISP4、实训过程1)流程图2)实训程序一:#include "reg52.h"sbit LED=P1^0;void main(){LED=0;while(1);}实训程序二:#include "reg52.h"#define LED P1;void main(){LED=0xaa;while(1);}3)实训步骤①打开KEIL软件编写LED控制程序。
②程序调试无误后,使用KEIL生产HEX文件。
③将生产的HEX文件烧录到单片机芯片中,并观察实验现象。
3)实验现象记录实训程序一:。
实训程序二:。
4)实训报告要求①将实训程序中的注释补充完整,了解每条语句作用。
实训项目二LED的闪烁1、实训目的及要求:1)掌握单片机控制LED点亮和熄灭的方法。
2)了解单片机延时程序的原理及设计。
3)了解单片机中常用的变量类型及其定义方法。
2、实训内容1)根据实训报告内容编写单片机程序2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录4)完成实训报告内容3、实训准备硬件:单片机开发板、电脑、杜邦线软件:keil uvision4 、STC-ISP4、实训过程1)流程图2)实训程序:#include "reg52.h"#define uchar unsigned char //定义uchar为定义字符型变量,范围#define uint unsigned int //定义uint为定义整型变量,范围sbit LED=P1^0;uint i;//定义整型变量ivoid main(){while(1){LED=0;for(i=0;i<20000;i++);LED=1;for(i=0;i<20000;i++);}}3)实训步骤①打开KEIL软件编写LED闪烁控制程序。
②程序调试无误后,使用KEIL生产HEX文件。
③将生产的HEX文件烧录到单片机芯片中,并观察实验现象。
3)实验现象记录。
4)实训报告要求①将实训程序中的注释补充完整,了解每条语句作用。
②完成如下思考题程序中定义的变量类型为整型,是否可以将变量类型改为字符型变量,若不能,请说出原因。
③拓展练习:参考本实训任务及上一课实训程序二,试编写程序实现LED间隔闪烁。
(完成拓展任务,可在原总分基础上额外增加10分)实训项目三跑马灯1、实训目的及要求:1)掌握单片机延时程序的设计2)掌握单片机程序变量的定义及使用3)了解子程序的定义及调用4)了解左移、右移函数的应用及移位原理5)了解局部变量和全局变量的区别2、实训内容1)根据实训报告内容编写单片机程序2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录4)完成实训报告内容3、实训准备硬件:单片机开发板、电脑、杜邦线软件:keil uvision4 、STC-ISP4、实训过程1)流程图2)实训程序:#include "reg52.h"#include “intrins.h”#define uchar unsigned char#define uint unsigned intuint i;void delay()//声明延时子程序{uchar j,k;for(j=0;j<200;j++){for(k=0;k<100;k++);}}void main(){i=0xfe;while(1){P1=i;delay();i=_crol_(i,1);}}3)实训步骤①打开KEIL软件编写跑马灯控制程序。
②程序调试无误后,使用KEIL生产HEX文件。
③将生产的HEX文件烧录到单片机芯片中,并观察实验现象。
3)实验现象记录。
将程序中的i=_crol_(i,1);修改为i=_cror_(i,1);并观察实验现象。
将程序中的i=_crol_(i,1);修改为i=_crol_(i,2);并观察实验现象。
将程序中的i=_crol_(i,1);修改为i=i<<1;并观察实验现象。
4)实训报告要求①将实训程序中的注释补充完整,了解每条语句作用。
②完成如下思考题程序中定义的的<<、>>与_crol_、_cror_指令有何区别。
程序中定义的的<<、>>与_crol_、_cror_指令是否可以通过基本逻辑运算实现相同功能,若可以,如何实现。
③拓展练习:参考本实训任务,试将如下程序实现补充完整实现跑马灯效果。
(完成拓展任务,可在原总分基础上额外增加10分)#include "reg52.h"#include “intrins.h”#define uchar unsigned char#define uint unsigned intuint i,m;void delay()//声明延时子程序{uchar j,k;for(j=0;j<200;j++){for(k=0;k<100;k++);}}void main(){m=while(1){for(i=0;i<8;i++){P1=delay();i=_crol_(0xfe, );}}实训项目四花样彩灯1、实训目的及要求:1)掌握子程序的定义及调用2)了解具有参数的子函数的调用3)了解数组及其应用2、实训内容1)根据实训报告内容编写单片机程序2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录4)完成实训报告内容3、实训准备硬件:单片机开发板、电脑、杜邦线软件:keil uvision4 、STC-ISP4、实训过程1)流程图2)实训程序:#include "reg52.h"#define uchar unsigned char#define uint unsigned intuint i,m;uchar tab[ ]={ 0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e}; //定义数组void delay(uchar ms)//声明延时子程序{uchar j,k;for(j=0;j<ms;j++){for(k=0;k<100;k++);}}void main(){while(1){for(i=0;i<7;i++){P1=tab[i];delay(200);}}}3)实训步骤①打开KEIL软件编写跑马灯控制程序。
②程序调试无误后,使用KEIL生产HEX文件。
③将生产的HEX文件烧录到单片机芯片中,并观察实验现象。
4)实训报告要求①将实训程序中的注释补充完整,了解每条语句作用。
②完成如下思考题程序中的延时子程序和我们前面学过的延时子程序有什么区别?程序中P1=tab[i]有何作用如果我们需要改变彩灯显示的样式,让彩灯从两边往中间点亮,需要如何修改数组?③拓展练习:我们是否可以在不改变数组内容的情况下实现上一题的控制要求,若可以,则如何修改主程序(请将修改的语句写在原语句后)void main(){while(1){for(i=0;i<7;i++){P1=tab[i];delay(200);}}}实训项目五交通灯1、实训目的及要求:1)掌握具有参数的子函数的应用2)熟练运用各种方法控制LED3)了解C语言中基本逻辑运算的应用2、实训内容1)根据实训报告内容编写单片机程序2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录4)完成实训报告内容3、实训准备硬件:单片机开发板、电脑、杜邦线软件:keil uvision4 、STC-ISP4、实训过程1)流程图2)实训程序:#include "reg52.h"#define uchar unsigned char#define uint unsigned intuint i;void delay(uchar ms){uchar j,k;for(j=0;j<ms;j++){for(k=0;k<100;k++);}}void main(){while(1){P1=0xde;delay(60);P1=0xdd;for(i=0;i<6;i++){delay(5);P1=P1^0x02;}P1=0xf3;delay(60);P1=0xf9;for(i=0;i<6;i++){delay(5);P1=P1^0x08;}}}3)实训步骤①打开KEIL软件编写跑马灯控制程序。
②程序调试无误后,使用KEIL生产HEX文件。
③将生产的HEX文件烧录到单片机芯片中,并观察实验现象。
4)实训报告要求①将实训程序中的注释补充完整,了解每条语句作用。
②完成如下思考题在C语言中,需要将数据的某些位置0,其余位保持不变应如何处理?在C语言中,需要将数据的某些位置1,其余位保持不变应如何处理?在C语言中,需要将数据的某些位取反,其余位保持不变应如何处理?实训项目六单个数码管显示数字0-91、实训目的及要求:1)掌握具数码管工作原理及编码方法2)掌握数组及其应用2、实训内容1)根据实训报告内容编写单片机程序2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录4)完成实训报告内容3、实训准备硬件:单片机开发板、电脑、杜邦线软件:keil uvision4 、STC-ISP4、实训过程1注:每个笔端用数字0和1表示亮灭,0为灭,1为亮2)流程图3)实训程序:#include "reg52.h"#define uchar unsigned char#define uint unsigned intsbit wei=P2^7;//定义位码sbit duan=P2^6;/定义段码uint i;uchar tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管编码表void delay(uchar ms){uchar j,k;for(j=0;j<ms;j++){for(k=0;k<100;k++);}}void main(){while(1){wei=1;P0=0xfe;wei=0;for(i=0;i<10;i++){duan=1;P0=tab[i];duan=0;delay(200);}}}3)实训步骤①打开KEIL软件编写跑马灯控制程序。