❶ 一个老工程师给单片机初学者的几点建议
这个搜一下啊就能找到。
在错误的道路上日夜兼程,最终也无法成功。所有,方法和思路绝对是第一重要的。一些学技术的同学,往往看到这类章节会直接跳过去,因为大多数类似章节都是废话连篇。但是,今天在这里我可以很负责任的告诉你,本章节讲到的学习单片机的方法,都是我们学习单片机的无数经验和教训总结出来的瑰宝。因为我们披荆斩棘,开辟了道路,所以可以告诉你路在何方;也因为我们摸过烧红的铁块,烫了手,所以可以把教训告诉你。希望各位都能站在我们的肩膀上,成为巨人。
注意事项
在错误的道路上日夜兼程,最终也无法成功。因此,方法和思路绝对是第一重要的。
❷ MULTISIM怎么仿真51单片机
1、⑴组建仿真电路
"" componet”对话框的“family”栏中先选取“805x”,="" 然后在“componet”栏下选取“8051”,最后单击对话框右上角的“ok”按钮。鼠标箭头将带出一个“8052”模块,在电子仿真平台上单击鼠标,将先弹出MCU向导对话框之一,第一栏是工作区路径,第二栏是工作区取名,这里输入“my mcu design1”,最后单击下方的“Next”按钮;
⑵再次弹出MCU向导对话框之二,共有4栏选项,第一栏为项目类型,一般选择“Standard (标准) ”;第二栏选择编程语言种类,单击右侧下拉箭头,可以在“Assembly C汇编”和“C”语言之间选择,这里选取“C”语言;则第三栏自动显示“Hi-tech C51-Lite compiler”字样; 第四栏可以输入项目名称,本文取名为“project1”,最后单击下方的“Next”按钮;
⑶再次弹出MCU向导对话框之三,有2个单选项:“Create emptyproject (创建空项目) ”和“Addsource file (添加源文件) ”, 这里选取“Add sourcefile”;下面栏中可以输入后缀为“。 C”的源文件名,这里就用“LED001. c”最后单击下方“Finish”按钮完成。
⑷完成MCU向导对话框之后,这时能在电子仿真平台上显示出原来调出单片机模块U18051,右击鼠标退出元件操作。
⑸保存文件,在文件名栏输入“led11”文件名,默认文件后缀“.ms10”。
⑹在电子仿真软件Multisim10基本界面平台上,单击主菜单“View /Design Toolbox”,在基本界面左侧将打开“设计工具盒”窗口,单击“led11”前的“ + ”号可以看到刚才命名的工作区“my mcudesign1”,在工作区下面是项目名“project1 ”, 在项目名下面是源文件名“Led001. c”。
⑺编写MCU源C语言程序(过程略);
⑻调出其他仿真元件,搭建单片机仿真电路,进行仿真;
2、51单片机用protues这个软件仿真更好!里面已经有现成的51模块了。调用就可以用,电源、地、复位电路和时钟等等都不用画。只要把编好的程序下载到protues中的51单片机里面就可以运行。外围提供的器件可以自己搭建。非常好用。
3、可以参考《基于Multisim 10的51单片机仿真实战教程:使用汇编和C语言》。
❸ 我想搭建一个MSP430最小系统需要哪些准备
1:电源电路
2:复位电路
3:晶振电路(这个不是必须的,因为430芯片内部一般都有RC振荡电路来为系统提供时钟源,默认也是使用内部时钟源)
4:程序的烧入引脚:
单片机最小系统
最小系统有两种形式:
硬件最小系统:由电源、主板和CPU组成。在这个系统中,没有任何信号线的连接,只有电源到主板的电源连接。在判断过程中是通过声音来判断这一核心组成部分是否可正常工作;
软件最小系统:由电源、主板CPU、内存、显示卡/显示器、键盘和硬盘组成。这个最小系统主要用来判断系统是否可完成正常的启动与运行。对于软件最小环境,就“软件”有以下几点要说明:
1、硬盘中的软件环境,保留着原先的软件环境,只是在分析判断时,根据需要进行隔离如卸载、屏蔽等)。保留原有的软件环境,主要是用来分析判断应用软件方面的问题。
2、硬盘中的软件环境,只有一个基本的xx作系统环境(可能是卸载掉所有应用,或是重新安装一个干净的xx作系统),然后根据分析判断的需要,加载需要的应用。需要使用一个干净的xx作系统环境,是要判断系统问题、软件冲突或软、硬件间的冲突问题。
3、在软件最小系统下,可根据需要添加或更改适当的硬件。如:在判断启动故障时,由于硬盘不能启动,想检查一下能否从其它驱动器启动。这时,可在软件最小系统下加入一个软驱或干脆用软驱替换硬盘,来检查。又如:在判断音视频方面的故障时,应需要在软件最小系统中加入声卡;在判断网络问题时,就应在软件最小系统中加入网卡等。
最小系统法,主要是要先判断在最基本的软、硬件环境中,系统是否可正常工作。如果不能正常工作,即可判定最基本的软、硬件部件有故障,从而起到故障隔离的作用。最小系统法与逐步添加法结合,能较快速地定位发生在其它板软件的故障,提高维修效率。
❹ 如何让自己成为嵌入式单片机高手
成为嵌入式高手的技能清单和升级线路图
第一部分:linux平台搭建与环境熟悉
了解linux系统;区分各种版本的Linux系统,以便于拓展 Linux视野。
1、Linux 简介;
2、Linux 系统的主要特点;
3、Linux 的组成;
4、主要的 Linux 版本;
5、嵌入式 Linux简介与发展
第二部分虚拟机安装和LINUX系统安装
1、虚拟机安装;
2、Linux系统的安装;
3、Linux系统的常用软件的安装;
4、Linux快速入门
5、 熟悉运用 Linux环境下,常用命令的操作与系统设置,如常用的 Shell;掌握基本的 Shell 应用
第三部分:嵌入式LINUX环境搭建
1、 建立嵌入式 Linux开发环境
2、 熟悉嵌入式开发平台
3、 嵌入式 Linux开发工具
4、 Linux下的调试技巧
5、 MAKE工程管理器
6、 硬件环境的搭建;arm-linux-gcc与 gcc安装配置
第四部分:U-Boot
了解 U-Boot 的作用及工作流程;了解Bootloader 的代码结构、编译过程;移植U-Boot;掌握常用的U-Boot命令。
1、 Bootloader介绍
2、 u-boot工程介绍
3、 u-boot的编译使用
4、 u-boot源码分析
5、 u-boot资源分配
6、 配置编译u-boot
7、 u-boot移植过程
8、 u-boot常用命令操作
9、 添加u-boot新命令
10、设置u-boot环境变量
11、 u-boot驱动添加如网卡:DM9000
第五部分:LINUX内核移植
熟悉内核的原码结构和kbuild Makefile语法;掌握和内核、驱动模块编译相关的原理及方法。
1、Linux内核介绍
2、Linux内核特点
3、Linux内核源代码结构
4、Linux内核选项解析
5、Linux内核编译链接
6、内核模块编译、使用方法
第六部分:LINUX根文件系统
1、busybox 包移植、编译
2、Linux跟文件系统制作过程
3、根文件系统介绍
4. nfs文件服务器系统搭建
第七部分:LINUX驱动开发
驱动开发是嵌入式Linux开发难度最高的内容,也是目前嵌入式行业最紧缺的人才之一。本课程介绍嵌入式Linux驱动开发相关概念及开发流程,了解驱动开发的关键技术点,重点讲解嵌入式Linux下常用接口驱动的编写方法,包括:
1、字符型LED驱动开发(GPIO口驱动)
2、按键驱动开发(中断驱动,在驱动中中断程序的编写,消息队列的应用
3、ADC驱动开发
4、网卡驱动开发
5、串口驱动开发
6、液晶屏(TFT彩屏驱动开发
7、触摸屏驱动+tslib(中间插件移植与设置),
8、USB驱动开发+USB无线网卡移植
9、IIS驱动开发+maplay移植与应用(mp3播放)+mplayer移植与应用(视频播放Mp4/广告机等播放)
10、SD驱动开发
11、RTC驱动开发
12、电源管理方法
第八部分:LINUX应用学习
嵌入式Linux应用开发和系统开发是嵌入式Linux中最重要的一部分,也是企业人才需求最广的一部分。主要目标是精通嵌入式Linux下的程序设计,熟练掌握嵌入式Linux的开发环境、系统编程以及网络编程,熟悉C++、QT编程并且深刻体会整个嵌入式Linux项目开发流程,强化学员对Linux应用开发的能力。
1、Linux系统中的进程的概念,在应用程序中线程与父子进程的创建与应用
2、线程之间、进程之间的通信
3、进程间通信基本概念
4、管道(PIPE)
5、信号(SIGNAL)
6、内存映射(MAPPED MEMORY)
7、消息队列(MESSAGE QUEUE)
8、信号量(SEMAPHORE)
9、共享内存(SHARE MEMORY)@
10、tcPip协议在应用程序中的编程开发(SOCKET套接字编程开发)
10.1. ISO/OSI七层协议模型与IP网络四层模式
10.2.TCP/IP协议簇
10.3. 基于嵌入式Linux的TCP/IP网络结构
10.4. 基于嵌入式Linux的SOCKET编程
10..5.UDP与TCP的区别
10.6. UDP SERVER-CLIENT关系程
11、文件读写与存储
第九部分:QT移植与开发
了解嵌入式Linux下的几种常见GUI及其特点,重点能掌握QT的有关内容,具备QT程序设计能力。了解嵌入式数据库的配置与开发:
1 、嵌入式Linux GUI介绍
2、嵌入式QT开发包移植
3、QT介绍及其信号插槽机制
4、 QT图形界面编程技术
5、QT应用程序与Linux驱动的衔接
6、 QT在实际项目中具体应用
第十部分:无线通讯应用
1、无线wifi模块应用
2、3G模块应用
第十一分布:嵌入式系统应用程序,驱动程序调试
1、Linux基本工具调试使用。GDB,insight调试等
2、Linux应用程序的编程
3、嵌入式产品程序打包与发布
第十二部分:嵌入式项目综合调试,产品发布
了解真实项目的开发流程,掌握如何将所学知识应用到项目开发中。将模拟真实项目的管理过程,培养学员项目团队协同开发能力,项目文档编写能力和新知识的学习能力,为下一步就业做好知识上和心理上的充分准备。
嵌入式LININX开发第一学习阶段,主要打好基础,学好C编程,Linux系统编程。
1、C语言编程基础
2、嵌入式开发基础:Linux概述安装,shell命令,vim编辑器,GCC,GDB,Makefile,交叉开发环境构建
3、嵌入式Linux系统编程:shell编程,文件编程,串口编程,进程编程,线程编程,网络编程
4、嵌入式项目开发:数据采集控制系统,串口服务器
嵌入式LININX开发第二学习阶段,掌握ARM汇编程序设计,驱动程序设计。
1、ARM体系结构:ARM体系,ARM指令,Thumb指令,汇编程序设计,逻辑程序开发
2、Linux内核移植:bootloader,内核配置,文件系统
3、驱动程序开发:驱动架构模型,字符设备驱动,块设备驱动,网络驱动
4、嵌入式项目开发:智能家居系统,视频监控系统
嵌入式LININX开发第三学习阶段,掌握C++面向对象程序设计,Qt编程。
1、C++语言编程基础
2、QT编程开发:QT开发基础,QT布局与控件,QT绘图,QT事件,QT网络通信,QT数据库,QT移植
3、嵌入式项目开发:车载监控管理系统,工业能源管理系统
❺ 基于keil MDK给stm32编程的问题。。。嵌入式系统开发环境的搭建
您好,一、【安装STM32库】 将下载后的stm32f10x_stdperiph_lib.zip解压后得到三个文件夹分别是:"Libraries"、"Project"、"Utilities"将这3个目录复制到"Keil uVision4"的安装目录,和目录中的文件覆盖合并。二、【新建工程】 1、打开"Keil uVision4",在Project菜单中选择新建工程,选择工程要保存的位置,在弹出的“Select Device for target”的对话框中选择使用的STM32单片机的型号如“STM32F103C8”,点确定,然后在弹出的“Copy startup code”的对话框中点选"NO".
2、在Project“Target 1”上点选右键菜单“Option for target target1中设置相关参数”在[Output]选项卡中点选“Create HEX file”,点"Select folder for objects"设置临时生成的obj文件的存放目录,当然也可以不选择;
3、在[C/C++]选项卡的"Preprocessor Sysmbols"的Define框中做如下定义:USE_STDPERIPH_DRIVER,STM32F10X_MD
其中USE_STDPERIPH_DRIVER表明要使用ST提供的库,在"system_stm32f10x.c"文件中包含的"stm32f10x.h"文件中有如下定义:
#ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h"#endif在[C/C++]选项中添加的USE_STDPERIPH_DRIVER宏就是这个作用,用来包含"stm32f10x_conf.h"这个文件被称为"Library Configuration file"用来配置你需要使用到库的那些文件的,例如需要使用到GPIO就应在在这个文件中加上#include "stm32f10x_gpio.h"这个文件可以在STM32库的给出的例程中找得到(C:\Keil\ARM\Project\STM32F10x_StdPeriph_Examples)另外还需要在例程中复制"stm32f10x_it.c"和"stm32f10x_it.h"这2个文件,这2个文件时用来完成STM32中重中断服务程序的将一下三个文件复制到自己工程的user目录下供以后使用:"stm32f10x_conf.h"、"stm32f10x_it.c"、"stm32f10x_it.h"STM32F10X_MD 表明使用的是STM32F10X系列的CPU而该CPU的Flash代码密度是中等(Medium-density devices)这个和使用的CPU相关的查阅CPU的手册就可以得到。
然后在该选项卡的下方的"Include Paths"中设置include使用的路径等,如下图所示:其中.\user路径是用来保存自己定义的头文件的路径4、[Debug]选项卡选择使用"Cortex-M/R J-Link/J-Trace",然后点"Settings"按钮在新打开的对话框中选择[Flash Download]选项卡点"Add"按钮添加编程使用的Flash,在本例中选用的CPU是STM32F103C8,其Flah为Medium-density使用片上的Flash型号为"STM32F10X Med-density Flash On-chip-Flash 128K",最终点OK保存设置。5、[Utilities]选项卡中的"Use Target Device for Flash Programing"要选择和[Debug]选项卡中一样的调试器"Cortex-M/R J-Link/J-Trace";6、然后再次在左侧的"Target 1"上点选右键,在菜单中选择"Manger Components"然后在"Project components"选项卡的"Group"中新建3个组名称分别为"user"、"libs"、"cmsis"1、 分别用来保存用户自己的C文件、stm32f10x_stdperiph_lib的库、和cortex-m3的启动文件等。
users:
Keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\ system_stm32f10x.c (stm32f10x_it.c该文件定义各种中断的中断服务函数)
libs:
Keil\ARM\ Libraries\ STM32F10x_StdPeriph_Driver\src\*.*
cmsis:
Keil\ARM\ Libraries\ CMSIS\ CM3\ CoreSupport\core_cm3.c
Keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s
(该文件和CPU的Flash的代码密度相关,本例中的STM32F103C8是Medium-density故选用xxx_md.s)
❻ 怎样在ubuntu环境下搭建51单片机的开发环境
ubuntu下开发单片机的方式、方法和软件很多呀
如果是51单片机,用SDCC就很好了。
烧写芯片的软件与使用的具体芯片有关,也有很多,网上能找到。例如就连国内大学生用得最多的STC89C51/52也可以使用一个叫做gSTCISP的软件在ubuntu下烧写。
❼ 51单片机最小系统原理图
我是一名单片机工程师,下面的讲解你参考一下.
.
51单片机共有40只引脚.下面这个就是最小系统原理图,就是靠这四个部分,这个单片机就可以运行起来了.(看下面的数字标记,1234)
.
这个脚是存储器使用选择脚,当这个脚接”地”时,那么就是告诉单片机,选择使用外部存储器,当这个脚接”5V”时,说明单片机使用内部存储器.
如果选择外部的存储器,太浪费单片机仅有的资源,所以这一脚永远接电源5V(如上图所示),使用单片机的内部存储器.
5 如果内部存储器不够容量,最多选择更高级的容量,就可以解决容量不够的问题了,就是这么简单
.
一天入门51单片机:点我学习
.
我是岁月哥,愿你学习愉快!
❽ 自焊51单片机烧录程序
1)硬件部分,要焊好晶振及复位元件,与电源地线.(RS232与单片机的电源同一条线一起开断电)--下载时,
2)RS232硬件串口引脚不要与单片机串口引脚接反了.
3)先点击电脑上下载,再给单片机上电.也可看下载软件的提示检查.
4)可下新版的串口下载软件,