单片机高级实训项目教程(2)
单片机实训指导书

实训项目一让单片机动起来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闪烁控制程序。
单片机应用技能实训教案--项目2汇编

课后作业
自我测评1题、2题、3题、5题。
任务2广告灯电路的硬件、软件设计
一、案头
任务
广告灯电路的硬件、软件设计
授课时间
年月日
授课班级
教学形式
讲授、讨论
授课时数
2课时
教学用具
多媒体
教学资源
课件、单片机应用制作成品
参照图2-2介绍其工作原理,重点是如何作用。
多媒体展示图2-13或画在黑板上,重点介绍使用方法。
同上
同上
相关指令作为重点进行讲授,除教案中的使用举例之外,还要再通过更多的例子让学生练习以达到理解和灵活运用指令编写程序的目的。
课堂小结
1、MCS-51单片机并行接口结构原理及使用方法。P0口用于输出时,注意外接上拉电阻,P1~P3口可直接用于输出。P0~P3口用于输入时,要先向端口写1再输入。
根据上述接线原理,可设计出由P0口输出控制8个发光管模拟广告灯的电路原理图。
3、元件选择
本项目涉及到的元件选择主要有发光二极管和限流电阻两种元件。
发光管的选择主要考虑颜色、亮度和直径;限流电阻的选择依据是发光管的工作电压和工作电流。请同学们来选择。
二、应用程序设计
1、应用程序的基本结构
为了使应用程序清晰明了,方便编写和修改,一般可按下面结构编写程序。
(1)作为通用I/O端口输出数据。使用时注意外接上拉电阻。该功能在前面已介绍过。
(2)作为通用I/O端口输入数据。输入数据的路径是:外部引脚P0.x→下三态缓冲器→内部数据总线。在输入数据时,为避免T2对引脚数据的影响,应使T2截止,即先向锁存器写“1”。
《单片机原理与应用》实训指导书

佛山市顺德区郑敬诒职业技术学校《PIC单片机原理与应用》实训指导书制定:审核:审批:制定日期:二00七年九月实训项目一 熟悉实验环境及MPLAB 的使用实验目的:熟悉实验软硬件环境,能够对单片机编程并进行调试。
实验内容:了解实验平台软、硬件的构成,熟悉实验环境,掌握MPLAB 的使用方法;建立工程,编程,调试并运行程序。
基本要求:能够在计算机上使用MPLAB 建立一个工程,应用简单指令编写简单的程序进行编译,并在实验板上调试成功。
扩展要求:1、编写一段程序让PORTD 口输出二进制数‘10101010’。
2、编写跑马灯程序。
电路原理:单片机与LED:RD0RD1 RD2: RD7 程序流程:实现D 口小灯四亮四灭的程流程图单片机PORTD实验步骤:1、打开MPLAB。
双击桌面上名为“MPLAB IDE”的图标,打开MPLAB编译环境。
2、进入工程向导。
点击MPLAB上面菜单中的Project(工程),选择ProjectWizard(工程向导),通过工程向导来建立工程。
3、选择单片机。
进入欢迎界面(下图),点击下一步,在Device(设备)中选择PIC16F877A,如果该项为PIC16F877A则直接点下一步。
4、选择编译语言。
选择MPASM汇编语言编译器,如果该项为MicrochipMPASM Toolsuite,则直接点下一步。
5、创建工程文件。
请在D盘下建立一个存放工程的文件夹,文件名可以用英文、数字或英文数字混合,注意:不要用中文或标点符号,文件夹名和工程名长度不要超过8个字符。
下面以建立文件夹名为abcd , 工程名为LED 为例。
此处写入工程名字,可以和实验内容相关,如LED此处写入存放工程的路径,如D:\abcd,建议通过点击右边Browse(浏览)来选择建立好的文件夹6、添好工程名和路径后点击下一步,下图表示可以添加程序文件到工程中,如果是初次编程或没有编好的程序文件,可直接点击下一步。
单片机实践项目课程设计

单片机实践项目课程设计一、课程目标知识目标:1. 学生能够理解单片机的基本结构、工作原理及其在各行各业的应用。
2. 学生掌握单片机编程的基础知识,如指令系统、寄存器、I/O 口控制等。
3. 学生能够描述并分析单片机外围电路的原理及其功能。
技能目标:1. 学生能够运用所学知识,独立完成单片机的编程和调试。
2. 学生能够设计简单的单片机控制系统,解决实际问题。
3. 学生通过实践项目,提高动手能力,培养创新意识和团队协作精神。
情感态度价值观目标:1. 学生培养对单片机及电子技术的兴趣,激发学习热情。
2. 学生在实践过程中,培养耐心、细致的工作态度,提高解决问题的能力。
3. 学生认识到单片机在现代科技发展中的重要作用,树立为国家和民族科技事业作贡献的信念。
课程性质:本课程为实践性较强的学科,强调理论知识与实际操作的相结合。
学生特点:学生处于高年级阶段,已具备一定的电子技术基础和编程能力,具有较强的探究欲望和自主学习能力。
教学要求:教师需注重引导学生将所学知识应用于实践,鼓励学生创新思维,提高解决问题的能力。
通过课程学习,使学生能够达到预定的学习成果。
二、教学内容1. 单片机基础知识:介绍单片机的基本结构、工作原理,重点讲解CPU、内存、I/O 口等组成部分的功能及相互关系。
教材章节:第一章 单片机概述2. 单片机编程语言:讲解单片机编程所需的基础知识,如指令系统、寄存器、汇编语言等。
教材章节:第二章 单片机编程语言3. 单片机外围电路设计:介绍单片机与外围电路的连接方法,讲解常用外围元器件的原理及功能。
教材章节:第三章 单片机外围电路设计4. 单片机实践项目:设计多个实践项目,涵盖灯光控制、温度测量、电机控制等方面,让学生动手实践,巩固所学知识。
教材章节:第四章 单片机实践项目5. 单片机系统设计与调试:讲解单片机系统设计的方法和步骤,培养学生独立设计单片机控制系统及调试的能力。
教材章节:第五章 单片机系统设计与调试教学内容安排和进度:共15课时,其中基础知识3课时,编程语言4课时,外围电路设计3课时,实践项目4课时,系统设计与调试1课时。
单片机应用技术项目化教程 第2版 项目二 单片机开发工具应用

二、知识链接
只有单片机ROM中存储了程序,系统 才可以运行,产品才能投放到市场。
ISP(在系统可编程)器件插接在应 用系统电路板中,便能实现程序的多次 擦除和下载。AT89S51和STC系列等单片 机均具有ISP功能
三、 STC单片机ISP典型应用电路
四、 STC单片机ISP软件的使用
四、 STC单片机ISP软件的使用
项目二 单片机开发工具应用
任务一 生成目标代码程序 任务二 下载程序 任务三 仿真运行单片机一、任务要求 本任务将使读者学会单片机程序的开
发工具Keil 软件的一般应用,包括如何 输入源程序、建立工程、对工程进行设 置,以及如何编辑C源程序代码,创建 HEX文件。
1、将所需元器件加入到对象选择器窗口
“Pick Devices”页面
2、放置元器件至图形编辑窗口
放置对象的步骤: (1)根据对象的类别在工具箱选择相应模式的图标(mode icon)。 (2)根据对象的具体类型选择子模式图标(sub-mode icon)。 (3)如果对象类型是元件、端点、管脚、图形、符号或标记,从选 择器里(selector)选择你想要的对象的名字。对于元件、端点、管脚 和符号,可能首先需要从库中调出。 (4)如果对象是有方向的,将会在预览窗口显示出来,你可以通过 预览对象方位按钮对对象进行调整。 (5)最后,指向编辑窗口并点击鼠标左键放置对象。
2.将程序(chengxu2_1_2.c)填加到 项目lianxi.μV2中。
3.编译项目lanxi.μV2生成lianxi.hex文 件。
任务二 下载程序
一、任务要求
将目标程序下载到单片机中,看一下 程序的运行效果。
通过本任务,读者将会焊接STC系列 单片机程序下载电路,学会STC单片机 ISP软件的使用及下载方法。
《单片机实训项目》课件

总结与反思
项目总结
总结了各个项目的实现过程、遇到的问题及解决方法,以及项目所涉及的知识点和技能 。
个人反思
分享了参与单片机实训项目的体会和收获,反思了自己在项目中的表现和不足之处,为 今后的学习和实践提供了借鉴和改进方向。
05 单片机实训项目经验总结
遇到的问题和解决方法
问题1
程序调试困难
解决方法
系统测试
对整个单片机系统进行测试,包括功能测试、性 能测试和稳定性测试等,确保系统满足项目要求 。
04 单片机实训项目成果展示
成果介绍
单片机控制LED闪
烁
该项目实现了通过单片机控制 LED灯的闪烁,展示了单片机的 输入输出功能和控制能力。
温度监测系统
利用单片机实现对环境温度的实 时监测,并通过LCD显示屏显示 温度值,具有温度报警功能。
编程、测试与调试等。
收获2:提高解决问题能力
在遇到问题时,学会了独立思考和团 队协作,提高了解决问题的能力。
收获3:增强实践能力
通过实际操作,增强了动手能力和实 践经验,对理论知识有了更深入的理 解。
对未来学习的建议
在此添加您的文本17字
建议1:加强基础知识学习
在此添加您的文本16字
建议在学习单片机之前,先掌握数字电路、微机原理等基 础知识,为单片机学习打下基础。
程序架构设计
根据项目需求,设计程序架构,包括主程序、中断服 务程序、函数库等。
代码编写与调试
按照程序架构,编写程序代码,并通过调试确保程序 逻辑正确。
调试与测试
1 2 3
仿真器与调试工具选择
根据单片机型号,选择合适的仿真器和调试工具 ,如JTAG仿真器、串口调试工具等。
单片机综合实训教案

单片机综合实训教案一、实训目的与要求1. 目的(1)了解单片机的基本原理和结构。
(2)掌握单片机的编程方法和应用技巧。
(3)培养动手能力和团队协作精神。
2. 要求(1)熟悉单片机的基本硬件组成。
(2)掌握单片机编程语言(如C语言、汇编语言等)。
(3)能够独立完成简单单片机程序的设计与调试。
二、实训内容与课时安排1. 实训内容(1)单片机硬件认识与搭建。
(2)单片机编程基础。
(3)单片机常见外设接口编程。
(4)单片机应用系统设计。
(5)综合实训项目。
2. 课时安排(1)单片机硬件认识与搭建:2课时。
(2)单片机编程基础:4课时。
(3)单片机常见外设接口编程:6课时。
(4)单片机应用系统设计:4课时。
(5)综合实训项目:8课时。
三、实训步骤与方法1. 实训步骤(1)单片机硬件认识与搭建:了解单片机的硬件组成,搭建实验平台。
(2)单片机编程基础:学习单片机编程语言,掌握基本编程技巧。
(3)单片机常见外设接口编程:学习并掌握常见外设接口(如LED、按键、串口等)的编程方法。
(4)单片机应用系统设计:结合实际项目,设计并实现一个完整的单片机应用系统。
(5)综合实训项目:完成一个综合性的实训项目,提高实际应用能力。
2. 实训方法(1)讲解与演示:教师讲解单片机相关知识,并进行现场演示。
(2)实践操作:学生动手进行实验,巩固所学知识。
(3)讨论与提问:学生之间互相讨论,解答疑问。
(4)项目实践:以小组为单位,完成综合性实训项目。
四、实训评价与考核1. 评价方式(1)平时表现:30%。
(2)实验报告:40%。
(3)综合实训项目:30%。
2. 考核标准(1)平时表现:参与课堂讨论、提问、实验操作等。
(2)实验报告:内容完整、分析深入、表达清晰。
(3)综合实训项目:项目完成度高、创新性强、实用性好。
五、教学资源与工具1. 教学资源(1)教材:单片机原理与应用。
(2)课件:单片机相关知识。
(3)实验器材:单片机开发板、编程器、实验器件等。
单片机应用实训教程 (2)

(a)
(b)
图1.1.1 进入窗口
第1章 MCS-51单片机基础应用实训 图1.1.2 集成开发环境界面
第1章 MCS-51单片机基础应用实训 图1.1.3 设置菜单项
第1章 MCS-51单片机基础应用实训
(a)
(b)
图1.1.4 编译、汇编、连接配置窗口
第1章 MCS-51单片机基础应用实训
第1章 MCS-51单片机基础应用实训
实训1.1 单片机开发系统及使用 实训1.2 数字钟应用电路 实训1.3 LCD显示器电路 实训1.4 中断与定时/计数器的应用 实训1.5 A/D转换接口 实训1.6 串行通信接口 实训1.7 语音电路的应用 实训1.8 实时时钟/日历芯片的应用
第1章 MCS-51单片机基础应用实训 (4) 新建NEW(或打开Open)文件。
图1.1.5 文件处理菜单项
第1章 MCS-51单片机基础应用实训 图1.1.6 新建文件界面
第1章 MCS-51单片机基础应用实训 (5) 对源程序进行汇编(或编译)。
图1.1.7 项目管理菜单
第1章 MCS-51单片机基础应用实训
(6) 排除错误。 (7) 产生代码并装入仿真器。 (8) 调试程序。 (9) 输出代码文件。
第1章 MCS-51单片机基础应用实训 图1.1.8 程序调试菜单
第1章 MCS-51单片机基础应用实训
2) 常用调试方法 (1) 单步运行调试(F8)。 (2) 跟踪运行调试(F7)。 (3) 全速运行至光标处调试(F4)。 (4) 全速连续运行调试(F9)。 (5) 设置断点调试(F2)。 (6) 自动单步运行调试。 (7) 设置程序计数器PC的内容(Ctrl+N)。
④ 根据提示进行纠错。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17.99秒马表设计1.实验任务(1.开始时,显示“00”,第1次按下SP1后就开始计时。
(2.第2次按SP1后,计时停止。
(3.第3次按SP1后,计时归零。
2.电路原理图图4.17.13.系统板上硬件连线(1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0 对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。
(2.把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P2.0/A8对应着a,P2.1/A9对应着b,……,P2.7/A15对应着h。
(3.把“单片机系统“区域中的P3.5/T1用导线连接到”独立式键盘“区域中的SP1端口上;4.程序框图主程序框图T0中断服务程序框图图4.17.25.汇编源程序TCNTA EQU 30HTCNTB EQU 31HSEC EQU 32HKEYCNT EQU 33HSP1 BIT P3.5ORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV KEYCNT,#00H MOV SEC,#00HMOV A,SECMOV B,#10DIV ABMOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,AMOV A,BMOV DPTR,#TABLE MOVC A,@A+DPTR MOV P2,AMOV TMOD,#02H SETB ET0SETB EAWT: JB SP1,WTLCALL DELY10MSJB SP1,WTINC KEYCNTMOV A,KEYCNT CJNE A,#01H,KN1 SETB TR0MOV TH0,#06HMOV TL0,#06HMOV TCNTA,#00H MOV TCNTB,#00H LJMP DKNKN1: CJNE A,#02H,KN2 CLR TR0LJMP DKNKN2: CJNE A,#03H,DKN MOV SEC,#00HMOV A,SECMOV B,#10DIV ABMOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,AMOV A,BMOV DPTR,#TABLE MOVC A,@A+DPTR MOV P2,AMOV KEYCNT,#00H DKN: JNB SP1,$LJMP WTDELY10MS:MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETINT_T0:INC TCNTAMOV A,TCNTACJNE A,#100,NEXTMOV TCNTA,#00HINC TCNTBMOV A,TCNTBCJNE A,#4,NEXTMOV TCNTB,#00HINC SECMOV A,SECCJNE A,#100,DONEMOV SEC,#00HDONE: MOV A,SECMOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,AMOV A,BMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P2,ANEXT: RETITABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END6.C语言源程序#include <AT89X51.H>unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};unsigned char second;unsigned char keycnt;unsigned int tcnt;void main(void){unsigned char i,j;TMOD=0x02;ET0=1;EA=1;second=0;P0=dispcode[second/10];P2=dispcode[second%10]; while(1){if(P3_5 0){for(i=20;i>0;i--)for(j=248;j>0;j--);if(P3_5 0){keycnt++;switch(keycnt){case 1:TH0=0x06;TL0=0x06;TR0=1;break;case 2:TR0=0;break;case 3:keycnt=0;second=0;P0=dispcode[second/10];P2=dispcode[second%10]; break;}while(P3_5 0);}}}}void t0(void) interrupt 1 using 0 {tcnt++;if(tcnt 400){tcnt=0;second++;if(second 100){second=0;}P0=dispcode[second/10];P2=dispcode[second%10];}}18.“嘀、嘀、……”报警声1.实验任务用AT89S51单片机产生“嘀、嘀、…”报警声从P1.0端口输出,产生频率为1KHz,根据上面图可知:1KHZ方波从P1.0输出0.2秒,接着0.2秒从P1.0输出电平信号,如此循环下去,就形成我们所需的报警声了。
2.电路原理图图4.18.13.系统板硬件连线(1.把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上,(2.在“音频放大模块”区域中的SPK OUT端口上接上一个8欧或者是16欧的喇叭;4.程序设计方法(1.生活中我们常常到各种各样的报警声,例如“嘀、嘀、…”就是常见的一种声音报警声,但对于这种报警声,嘀0.2秒钟,然后断0.2秒钟,如此循环下去,假设嘀声的频率为1KHz,则报警声时序图如下图所示:上述波形信号如何用单片机来产生呢?(2.由于要产生上面的信号,我们把上面的信号分成两部分,一部分为1KHZ 方波,占用时间为0.2秒;另一部分为电平,也是占用0.2秒;因此,我们利用单片机的定时/计数器T0作为定时,可以定时0.2秒;同时,也要用单片机产生1KHZ的方波,对于1KHZ的方波信号周期为1ms,高电平占用0.5ms,低电平占用0.5ms,因此也采用定时器T0来完成0.5ms的定时;最后,可以选定定时/计数器T0的定时时间为0.5ms,而要定时0.2秒则是0.5ms的400倍,也就是说以0.5ms定时400次就达到0.2秒的定时时间了。
5.程序框图主程序框图中断服务程序框图图4.18.26.汇编源程序T02SA EQU 30HT02SB EQU 31HFLAG BIT 00HORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV T02SA,#00HMOV T02SB,#00HCLR FLAGMOV TMOD,#01HMOV TH0,#(65536-500) / 256 MOV TL0,#(65536-500) MOD 256 SETB TR0SETB ET0SETB EASJMP $INT_T0:MOV TH0,#(65536-500) / 256 MOV TL0,#(65536-500) MOD 256 INC T02SAMOV A,T02SACJNE A,#100,NEXTINC T02SBMOV A,T02SBCJNE A,#04H,NEXTMOV T02SA,#00HMOV T02SB,#00HCPL FLAGNEXT: JB FLAG,DONECPL P1.0DONE: RETIEND7.C语言源程序#include <AT89X51.H> unsigned int t02s;unsigned char t05ms;bit flag;void main(void){TMOD=0x01;TH0=(65536-500)/256;TL0=(65536-500)%256;TR0=1;ET0=1;EA=1;while(1);}void t0(void) interrupt 1 using 0 {TH0=(65536-500)/256;TL0=(65536-500)%256;t02s++;if(t02s 400){t02s=0;flag=~flag;}if(flag 0){P1_0=~P1_0; }}。