版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机应用技术18物联网核心课程项目化实施课程任务1.2
第一个C51程序:信号灯的闪烁1.2.1软件开发集成环境KeilC51(教材P2~11)1.2.2C51程序基本结构(教材P51)1.2.3单片机的内部结构与存储器(教材P13+P29~P34)1.2.4
KeilC51Debug调试进阶和变量的存储方式(教材P40~P46+P81)
项目1初识单片机案例引入任务1.2:第一个C51程序:信号灯的闪烁
LED12345678910111213141516171819204039383736353433323130292827262524232221VCCGNDP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0XTAL2XTAL1RSTEAALEPSENRXD/TXD/INT0/INT1/T0/T1/WR/RD/一、任务硬件接口设计二、任务软件编程点亮信号灯C语言程序先来点亮一盏灯吧!1.2.1软件开发集成环境KeilC51uVision是KEIL公司开发的集成开发环境(IDE)实现C51、ARM等MCU的嵌入式软件开发,完成编辑、编译、调试、仿真等流程Keil公司被ARM收购了KeilC51开发环境4种不同的产品STM32开发软件1、建立工程文件选择工程路径名好习惯tips:每个工程一个文件夹,清晰管理工程文件工程名1、建立工程文件——选择器件Keil4Keil5新工程1、建立工程文件2、建立并添加源文件C语言源程序名,必须有.c扩展名1)2)3)2、建立并添加源文件1)2)3)3、配置工程属性默认为工程名4、输入源程序5、工程编译6、编译成功,生成hex文件KeilC51软件开发任务小结步骤1:建立工程文件步骤2:建立并添加源文件1)新建源文件2)添加源文件3)输入源程序步骤3:工程配置:output选择输出hex文件新建工程新建源文件输入源程序添加源文件工程配置工程编译HEX文件步骤4:工程编译链接生成hex文件,有error则修改代码重新编译,直到生成
hex文件即可下载软硬件联调1软件开发集成环境KeilC512C51程序设计--》求同存异(编译预处理与函数结构,
reg51.h与SFR,sbit位端口定义,数据类型尽小选用)阶段小结与作业案例实现任务1.2:第一个C51程序:点亮信号灯
请尝试完成以下任务,各步骤名称请自己命名,尽量符合变量命名规则并包含学号信息:1、建立一个项目文件夹;2、在该文件夹中,建立hardware文件夹,保存新的Proteus工程文件,设计电路实现使用并行I/O端口P0~P3的任意一个位端口引脚,连接一个红色的LED;3、在KeilC51中建立工程,.c源文件,编码实现点亮红色LED的功能,配置工程属性(output),编译链接生成.hex文件(如果未生成.hex文件,则需检查.c文件在项目工程中、修改error、warning、配置output等各项常见问题);4、在Proteus硬件平台,下载.hex文件,软硬件联调。5、下次课讨论区,提交两个截图:1)keil工程+.c文件+编译成功的提示窗口整体截图;
2)Proteus运行点灯效果截图✎使用并行I/O口P0~P3的任意一个端口点亮一盏红灯一、硬件接口设计二、软件设计三、下载程序点亮信号灯C语言程序KeilC51编程点亮信号灯小结C51程序结构?1.2.2C51程序基本结构单片机C51语言是由C语言继承而来的。同:C51语言具有C语言结构清晰的优点,便于学习,同时具有汇编语言的硬件操作能力。异:编译器开发软件差异;C51语言运行于单片机平台,而C语言则运行于普通的桌面平台,运行环境CPU和数据存储器结构不同;数据类型存储结构差异。1.2.2C51程序基本结构求同存异点亮信号灯C语言程序编译预处理主函数1.2.2C51程序基本结构1、reg51.h?2、sbit?单片机有哪些资源模块实现控制功能?内部结构1.2.3单片机的内部结构与存储器爸妈一家之主
控制中心家里的行动节拍记忆力很好的大哥没记性反应快的二哥安排日程的二姐外交沟通的大姐孪生四兄弟处理应急事件的三姐51单片机的内部结构——和谐的大家庭存放程序存放数据51单片机的存储器结构了解:不同型号的51内核单片机,片内存储器资源容量有差异,以最基础的8051为例定性学习1
2
3
4
5
6
7
8
9
10111213141516171819
2040
39
38
37
36
35
34
33
32
3130292827262524242221片内RAM256B片内ROM4KB了解:4个物理存储器:片内ROM+RAM;片外ROM+RAM记忆力很好的大哥ROM:Read
Only
Memory,只读存储器用途:存放程序——程序存储器特点:可随机读数据(半导体结构的ROM),不能随机写数据
掉电不丢失。1、片内ROM程序存储器123456789101112131415161718192040393837363534333231302928272625242422218051片内ROM4KB思考:1、地址编码与字节存储单元(二进制编码)?11H单元存储38H?2、字节Byte与位bit?数制——数值的表现形式:十六进制、二进制、十进制?8051为例:4K字节容量片内ROM1KB=1024字节,4KB=4096字节,从低地址0000H开始存储到?409617 11H16 10H15 FH14 EH13 DH12 CH11 BH10 AH9 9H8 8H7 7H6 6H5 5H4 4H3 3H2 2H1 1H0 0HFFFHFFEHFFDH……
……409540944093控制引脚/EA---VCC使用片内ROM1、片内ROM程序存储器没记性反应快的二哥RAM:
Random
Access Memory
,随机存取存储器特点:可以随机读写数据,掉电内容丢失通用RAM数据存储器容量:128×8bit用途:存放中间结果或临时数据变量2、片内RAM数据存储器00HFFH7FH80H(高128B)(低128B)数据存储器SFR片内RAM总容量?1
2
3
4
5
6
7
8
9
10111213141516171819
2040
39
38
37
36
35
34
33
32
313029282726252424222180318751805189C51片内RAM256B片内ROM4KBSFR?控制总台?用户变量存储区00HFFH7FH80H(高128B)(低128B)数据存储器SFR2、片内RAM数据存储器控制总台3、SFR特殊功能寄存器00HFFH7FH80H(高128B)(低128B)数据存储器SFRSFR字节地址BF0HACCE0HPSWD0HIPB8HP3B0HIEA8HP2A0HSBUF99HSCON98HP190HTH18DHTH08CHTL18BHTL08AHTMOD89HTCON88HPCON87HDPH83HDPL82HSP81HP080H在这128个字节单元中,SFR定义了与单片机内部结构资源相关的寄存器,而且只占用了21个单元,这21个单元的地址是不连续的没有出现在这里的单元是为单片机硬件升级的时候预留下来的,我们是不能使用的。在单片机的嵌入式开发中,对单片机硬件资源的控制开发,实际上就是对这些SFR寄存器的编程操作,这种开发模式称为“寄存器开发模式”单片机特殊功能寄存器SpecialFunctionRegister(SFR)寄存器开发模式点亮信号灯C语言程序1、reg51.h?2、sbit?SFR定义(reg51.h)单片机的硬件控制配置SFR寄存器*单片机的寄存器开发模式*单片机的寄存器开发模式端口的位操作单片机P1.0低电平发光二级管D1sbitD1=P1^0;D1=0;//位操作编程,端口输出0sbit——定义特殊功能寄存器中的可位寻址的位,即声明特殊功能位
部分可位寻址的SFR对应的地址都能被8整除?位和字节的关系就类似组员和小组的关系配置SFR寄存器实现硬件控制1、reg51.h?2、sbit?爸妈一家之主
控制中心家里的行动节拍记忆力很好的大哥没记性反应快的二哥安排日程的二姐外交沟通的大姐孪生四兄弟处理应急事件的三姐阶段小结与测试AT89C51AT89C521软件开发集成环境KeilC512C51程序设计--》求同存异(编译预处理与函数结构,
reg51.h与SFR,sbit位端口定义,数据类型尽小选用)3单片机的内部结构与存储器结构
--》ROM
--》RAM--》SFR(高128B)4单片机的寄存器开发模式:sfrP1=0x90;sbitD1=P1^0;D1=0;阶段小结与作业案例实现任务1.2:第一个C51程序:信号灯的闪烁
1、请修改代码,实现P1.0控制D1快速闪灯的效果1)主函数main流程图
2)延时子函数delayD1亮
->延时
->D1灭
->延时✎小组实践思考:函数三要素?循环四要素?对比教材16页的delay子函数理解for与while循环结构四要素的共同点Debug调试1软件开发集成环境KeilC512C51程序设计--》求同存异(编译预处理与函数结构,
reg51.h与SFR,sbit位端口定义,数据类型尽小选用)3单片机的内部结构与存储器结构
--》ROM
--》RAM--》SFR(高128B)4单片机的寄存器开发模式:sfrP1=0x90;sbitD1=P1^0;D1=0;5C51程序结构复习:函数三要素(函数名;参数;返回值)
循环四要素(初始化;控制条件;循环体;循环修改)6KeilC51Debug断点、单步调试、端口调试、观察变量阶段小结与作业作业:1、完成下次课课前任务2、附件作业:提交工程文件夹task1_2+学号压缩包✎小组实践一下面来小组协作动手实践一下吧新建工程文件夹task1_2+学号,并在此文件夹内完成如下的硬件工程和软件工程。1、硬件设计:请另存任务1.1“让单片机动起来”闪灯控制的Proteus工程文件,命名为led4.pdsprj,完成P1.0,P1.1,P1.2,P1.3端口分别连接D1、D2、D3、D4共4个灯;2、软件设计1)自行完成新建工程task1_2+学号,新建源程序led4.c,并添加到工程中;2)实现控制4盏灯闪烁的功能,即实现控制P1.0,P1.1,P1.2,P1.3端口分别连接的D1、D2、D3、D4灯4个灯同时亮灭闪烁,编译链接工程,生成该工程的led4.hex文件(需配置工程output参数),下载程序并测试运行。3)拓展:D1D4一组,D2D3一组,交替亮灭闪烁呢?注释已有代码,编写本任务功能注意:延时子函数delay使用while或for均可。位操作✎小组实践二下面来小组协作动手实践一下吧1、硬件设计:请另存可用的Proteus工程文件,命名为led8.pdsprj,完成P1并行端口的8位依次连接D1~D8共8个灯;2、软件设计1)在已建工程task1_2+学号中,新建源程序led8.c,移除led4.c,添加led8.c到工程。2)编写代码实现P1.0~P1.7端口顺次连接的D1~D8共8个灯的整体控制,即D1~D8同时亮然后同时灭的闪烁功能。编译链接工程,生成该工程的led8.hex文件(需配置工程output参数),下载程序并测试运行。3)拓展:如果D1,D3,D5,D7一组,D2,D4,D6,D8一组,循环交替点亮闪烁呢?注释已有代码,编写本任务功能字节操作,如8位全亮:P1=0x00;8个信号灯控制系统C语言程序//程序名:led8.c//功能:8个LED闪烁控制#include<REG51.H>
//包含头文件REG51.H//函数名:delay//函数功能:实现软件延时//形式参数:无符号整型变量i//返回值:无voiddelay(unsignedinti){while(i--);
//i次空操作}voidmain()
//主函数{while(1)
//无限循环
{
P1=0x00;
//采用字节操作,点亮8个LED delay(20000);
//延时
P1=0xff;
//采用字节操作,熄灭8个LED delay(20000);//延时
}}预编译延时函数定义主函数开始P10x00延时延时P10xff字节操作(8位并行)1.2.4KeilC51Debug调试进阶和变量的存储方式1、Target——配置软件仿真晶振2、Debug——选择软件仿真Simulator3、编译链接后,可选择Debug运行4、单步调试,观察Register寄存器;Port端口等
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026缉毒警察的面试题及答案
- 2026教学干事面试题目及答案
- 2026秋新教科版科学六年级上册教学课件:第四单元 第3课 做个水钟 有多个微课视频
- 2026秋新教科版科学五年级上册教学课件:第二单元 第2课 独轮车省力的秘密 有多个微课视频
- 人教版六年级数学:分数乘除法单元教学策略分享
- 人工智能在智能营销中的应用-第8篇
- 人工智能在保险合规管理中的应用-第49篇
- 人工智能模型可解释性与安全
- 人工智能风险预警系统-第5篇
- 2026年高密市公开招聘卫生类岗位工作人员(55人)考试备考题库及答案详解
- 2026北京市大兴区瀛海镇人民政府面向社会公开招聘劳务派遣2人笔试参考试题及答案详解
- 2026年人教版初一政治(道德与法治)下学期期末考试试卷及答案(共三套)
- 优化门诊护理流程提升患者满意度
- 江苏省宿迁市泗洪县2025-2026学年下学期七年级期末英语试题(含答案)
- 2026年四川省机关事业单位考调、选调工作人员考试(综合知识、综合应用能力测试)测试题及答案
- 2026年北京市怀柔区六年级语文下册期末考试试卷及答案
- 2026南方凯能(广东)电力集团校园招聘考试备考试题及答案解析
- 【2026年】【真题汇编】(中考语文)阅读系列:记叙文阅读【附答案】
- 《公共管理学》重点总结-陈振明版
- 护理健康宣教中的沟通技巧与患者参与
- 2026年华为光技术笔考前冲刺练习含答案详解(考试直接用)
评论
0/150
提交评论