行业资讯
学单片机如何编程?非常详细的Keil工程建立全过程讲解
从零学电子
03-07
在单片机的开发或使用过程中除了掌握必要的硬件外,同样离不开软件,只有通过软件(程序)的执行,硬件才能发挥出具体的作用。机器如何认识我们用各种符号编写的程序呢?早期我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,随着单片机开发技术的不断发展,从使用汇编语言逐渐过渡到使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最为流行的开发MCS-51系列单片机软件。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。Keil软件对计算机的硬件资源要求很低,可以说现在市面上的计算机都能满足其硬件需求。
Keil C51
Keil C51是51系列兼容单片机C语言软件开发系统,采用全Windows界面,提供了丰富的库函数和功能强大的集成开发调试工具。生成的目标代码效率非常之高,且生成的汇编代码紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。相信用过汇编语言后再使用C来开发,体会更加深刻,当然如果汇编语言和硬件结构熟练到一定程度,使用汇编语言会更具优势,晌闹但对于大部分初学者而言,Keil C51应该是首选。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
Keil uVison4是普通版本,只能适用于单片机,主要是基于8051系列单片机的开发环境;Keil MDK是扩展版本,包含了部分ARM。为基于Cortex-M、Cortex-R4、ARM7、ARM9处理器设备提供了一个完整的开发环境;初学者建议采用Keil uVison4及更低版本,注意:Keil uVison4分Keil MDK-ARM和Keil C51版本,初学者应安装Keil C51版的。
关于Keil软件的安装与常用其它软件安装的方法类似,安装按照说明一步一步操作即可,不再赘述。本文主要详细讲解用Keil uVison4新建一个工程的详细过程,相信通过这个教程的学启哪习,您一定会对使用Keil软件创建一个新的工程有深入的掌握悄谨码。
第一步:从桌面找到Keil图标,双击图标启动Keil软件,
启动Keil
会看到如图所示界面。
启动后的界面
第二步:点击菜单条中的"Project"并从下拉菜单中选择"New uVision Project…",
新建工程
自动弹出一个项目路径选择对话框,(若打开keil软件时,如果发现此软件默认打开了一个之前已经存在的工程,请先关闭此工程。点击上面"Project"选项,在弹出的下拉菜单中选择"Close Project"即可。)
选择路径新建文件夹
在弹出的对话框中,选择即将创建工程的保存路径和文件夹,若不存在可以用与Window系统一致的方法新建文件夹,如"TEST",并在该文件夹下的对话框文件名处输入自己为工程起的工程名,如下图输入的LCD1602。
输入工程名
第三步:输入文件名点击保存后,弹出如图所示控制器选择对话框,
选择单片机类型
在单片机类型列表中找到并选中"Atmel"下的AT89C52(大家根据自己控制器型号选择),右侧区域给出所选单片机的硬件资源,
单片机的硬件资源说明
点击"OK",弹出询问是否将标准51系列启动代码添加到新建工程中的弹窗,因为keil的库文件里面已经有一个默认的启动代码了,如果你的工程里没有启动代码,keil就会使用库里的默认启动代码,如果有,keil就会编译并使用你的启动代码,库里的启动代码会被忽略。(初学者建议点击"否即可")
选择是否添加启动代码到工程中
第四步:点击"File"菜单下的"New",新建会看到出来一个名字为"Text1"的文件,
新建C文件
再一次点击上面"File"下拉菜单中 "Save"或点击工具栏中的"保存",会弹出一个保存的对话框,输入文件名如"LCD1602MAIN.C"(切记,此处无论你起什么样的文件名,但后面必须输入.C!!!),单击"保存",将文件在第二步新建的文件夹目录下。
保存C文件
命名.C文件名
此时可以在新建文件中进行代码编写了,如包含头文件 #include Reg52.h,但要注意,此时文件LCD1602MAIN.C并未与工程建立起联系。
此时的C文件还未和工程建立联系
第五步:将新建的文件添加到工程中,点击左边"Porject"选项框里面的"Target 1"前面的"+"号, 在展开的下拉菜单下看到"Source Group 1"。右键单击"Source Group 1"选项, 在下拉菜单中选择"Add Files to Group 'Source Group 1'..."选项,弹出一个文件选择对话框,单击选中刚才新建的.c源文件,然后单击一次"Add"按钮,此时虽然对话框没有关闭,但是已经把.c源文件添加到工程里了,这时只要再点击一次"Close"按钮即可把此对话框关闭(初学者经常以为.c源文件没有被添加进去,还要按"Add"按钮)。这时发现左边的"Source Group 1"前面多了一个"+"号, 单击此"+"号展开, 发现下面出现了刚才我们新添加进去的.c源文件"LCD1602MAIN.c"。
将C文件添加到工程中
选择要添加的文件
已将C文件成功添加到工程中
第六步:为了降低编程的疲劳,根据需要进行字体字号设置,点击如图"Edit"菜单最下面的"Configeruration"选项,
设置舒适的字体字号
根据自己的需要进行字体设置即可,
如何设置字体字号
一个新的Keil工程建立完毕
至此,一个全新的Keil工程建立完毕,开启自己的编程之旅吧!
了解更多
keil4编程是什么意思
编程必背50个程序
烧录程序的使用步骤
keil4怎么设置成中文
如何使用keil5进行编程
st语言编程入门与精通
第一步:获取ST库源码
关于获取ST公司的STM32固件库源码,有几种方法。我们可以在百度上搜,网上有进行了分享,也可以到ST公司的官网进行查找并下载。不过,如果英文不好的话,要在官网上找到STM32固件库确实是件很吃力的事。在官网上可以根据英文提示按不同条件进行筛选,具体操作如下图所示:
END
第二步:新建工程旅凯贺文件夹——《STM32工程模板》
首先,新建工程文件夹《STM32工程模板》,然后再在该文件夹下新建6个文件夹,分别为:《Doc》、《Libraries》、《Listing》、《Output》、《Project》和《User》。其中,《Doc》用于存放各种说明文档;《Libraries》用于存放各种库文件;《Listing》用于存放编译时产生的中间文件;《Output》用于存放生成的下载所需的文件;《Project》用于存放工程文件;《User》用于存放用户文件,即我们自己编写的各种源孙姿文件。具体情况如下图所示:
END
第三步:向建立的工程文件夹中添加库文件
将库文件中的inc和src文件夹复制到模板工程文件夹下的FWLIB文件夹。具拆派体操作情况如下图:
将库文件中CoreSupport文件夹下的文件复制到工程模板文件夹下的CMSIS文件夹。具体操作情况如下图:
将库文件中DeviceSupport文件夹下的相关文件复制到工程模板文件夹下的CMSIS文件夹。具体操作情况如下图:
将库文件中startup文件夹下arm中的文件全部复制到工程模板文件夹下的startup文件夹。具体操作情况如下图:
将库文件中Project文件夹下的相关文件复制到工程模板文件夹下的User文件夹中。具体操作情况如下图:
END
第四步:使用MDK(Keil)新建工程模板
首先得选择CPU,这个在新建工程时,会有一个选择芯片的界面,我们只需按提示以及自己的实际情况来选择就好了。具体操作情况如下图:
更改工程名(将默认的工程名改为“Template”的方法:选中工程,按“F2”键)并为工程添加项目组(Add group to project)。具体操作情况如下图:
分别向各个项目组中添加我们刚刚从库中复制过来的文件文件(Add files to group)。具体操作情况如下图:
MDK 即RealView MDK 或MDK-ARM(Microcontroller Development kit),是 ARM 公司收购Keil公司以后,基于uVision界面推出的针对ARM7、ARM9、Cortex-M0、Cortex-M1、Cortex-M2、Cortex-M3、Cortex-R4等ARM处理器的嵌入式软件开发工具。MDK-ARM 集成了业内最领先的散世技术,包括 uVision4 集成开发环境与 RealView 编译器RVCT。支持 ARM7、ARM9 和最新的Cortex-M3/M1/M0 核处理器,自动配置启动代码,集成 Flash 烧写模卖蔽块,强大的 Simulation 设备模拟,性能分析等功能,与 ARM 之前的工具包 ADS 等相比,RealView 编译器的最新版本可将性能改善超过 20%。
Keil公司开发的ARM开发工具MDK,是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的中掘州应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM的设备,能帮助工程师按照计划完成项目。
如果启御经济可以悄陆岩的悉返话可以买个开发板看看视频什么的起步相对容易,或者是去ST官方的网站上找一些模板和例子,不过这是你英语还行的基础进行的。MDK使用不是很难,编程可能就不太容易。
任务:主要看两本书:《ARM体系结构与编程》,杜春雷,清华大学出版社;《Cortex-M3权威指南》,宋岩 译,北航出版社。
需首乎庆要指出的是,MCU是实践性课程,理论的学习只是为更好的理解顷纳、实践,是手段不是目的。这两本书所涉及到的知识很广,不需要也不可能弄通弄透。对于初次接触ARM的人来说,只需要快速的浏览它,甚至都不需要记住它,只要在脑子里留下个印象,知道它是什么,有什么,就行。另外,关于汇编语言的章节,直接跳过不要看,这个是需要你们在中级阶段完成的。达到这个目的,10天的时间读完这两本书,是绰绰有余的。
《STM32固件库使用手册》《ARM开发工具RealView MDK使用者握入门》《STM32F103参考手册》
这个顺序来学
关键词:MCU 连接器 ARMMCU开发工具MDK使用入门
电子商城网站(十大电子元器件采购商城)2、电子元器件电商平台有哪些?3、目前国内电子元器件电商平台有哪些?有谁知道?4、电子元件采购网有那几个大网站5、网上电子...
板对板连接器的特点有什么啊?2、什么产品上可以用到板对板连接器?3、板对板连接器有哪些间距?最小能做到多少?4、板对板连接器的概述板对板连接器的特点有什么啊?板...
激光传感器哪个牌子好2、索尼imx800什么档次3、索尼最好的传感器4、高端连接器压进模板的感应器叫什么激光传感器哪个牌子好我知道有个还不错的激光位移传感器品牌...
穿刺线夹是什么电气材料?其主要用途是什么?2、电缆分支器XLF和DLF分别是什么意思3、路灯施工用穿刺线夹可以不用防水接线盒吗4、绝缘穿刺线夹在电缆上穿刺时需要...
同轴连接器的接口形式2、新能源汽车连接器是什么3、什么是连接器,连接器的作用?4、什么是连接器?5、关于电脑设备的连接器有几种6、关于电脑设备的连接器有几种?同...
一般工控、医疗行业会用到哪些连接器呢?2、M12连接器3、汽车连接器有哪些标准一般工控、医疗行业会用到哪些连接器呢?1、工控机箱的导热:散热结构的合理性是关系到...
六类水晶头和五类水晶头的区别2、哪家公司的连接器性价比高?3、2022全球知名连接器厂商排名?4、网线品牌前十大排名5、防水航空插头连接器十大排名厂商及企业?六...
DVR2000B显示CAN通信故障怎么回事?2、导航仪。cAN一TxD代表什么意思?3、加工中心发那科程序中can键失效怎么解决?4、福康CAN+是几伏电压5、...
连接器有哪些规格和种类?2、连接器的常见类型3、关于电脑设备的连接器有几种?连接器有哪些规格和种类?1、USB连接器:USB(UniversalSerialBu...
J30J-66ZKWP7-J封装尺寸2、Harting连接器3、航空插头耐压多少公斤4、J30J-21TJP4是公头还是母头5、航空插头的型号J30J-66ZK...
一点销电子网
Yidianxiao Electronic Website Platform