单片机学习的过程基本上可分四个阶段:
第一阶段
是先浏览教科书里的硬件部分,大至了解单片机的硬件结构。如ROM、RAM、地址、I/O口等,以及看一些厂家的MCU资料(Data Sheet),来加强MCU所提供各项资源的印象。
第二阶段
就是了解二进位数字、十六进位数和软件方面的内容。尽管有很多高级语言可用于单片机的编程,但我觉得初学还是以汇编语言为好,更有利于和硬件结合,掌握硬件结构。知道汇编语言、机器语言、 指令、 程序等概念后,就从MOV指令开始,学习汇编语言和编程,在此如51的MCU汇编语言系统有111条指令,简单又好理解它们怎 样和硬件联系,更有助于一般学习单片机的指令整合与运用.因此其方法可先了 解几条基本的MOV指令和它的机器语言,大致建立起单片机的硬件和软件概念, 来知道单片机的硬件是由指令控制指挥的。
第三阶段
按照编程环境的使用手册,熟悉使用编程环境。现在的编程环境一般都和电脑相连,只要具备基本电脑知识的人都可很快掌握操作步骤。
第四阶段
是依靠实验板,学习掌握单片机的汇编语言指令系统和简单编程。 同时和前面所学硬件知识结合组装,起到主学软件,巩固硬件的双重作用。
开始时可用别人编的简单程式在实验板上进行验证、分析,主要是熟悉该学习方法, 在应用方面主要针对单片机I/O各项介面的使用,如A/D,D/A,PWM输出的应用,LCD与VFD的控制,以及如何规范各项串列输出入口的通讯协定等,对其所控制的各项元器件须先分析驱动能力,如电流电压问题等。
汇编语言熟悉后, 建议尽快学习C语言的编程,毕竟C语言有功能丰富的库函数、运算速度快、编译效率高、 有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化 程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技 术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化 程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件 开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地 增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。
关键字:单片机学习 硬件结构 汇编语言
引用地址:
单片机学习的基本过程
推荐阅读最新更新时间:2024-03-16 13:21
STM32单片机学习笔记(9):定时器中断
项目简介 利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。本项目利用CubMX创建一个32工程,用以实现定时器中断控制LED灯的状态转换的功能,并在Proteus中进行仿真验证。 硬件模块 STM32F103R4 LED 软件工具 CubMX Proteus KEIL 电路连接图 工作流程 首先,创建一个CubMX工程。这里选择的是STM32F103R4型号的单片机。下图是时钟树的设置,这个根据自己习惯设置就好,这里的时钟频率,也就是定时器时钟频率是8MHz. 介绍定时器发生中断时间的计算方法:
[单片机]
51单片机学习:蜂鸣器实验
实验名称:蜂鸣器实验 接线说明: 实验现象:下载程序后蜂鸣器发出声音,一段时间后关闭 注意事项: ***************************************************************************************/ #include reg52.h typedef unsigned int u16; //对系统默认数据类型进行重定义 typedef unsigned char u8; sbit BEEP=P2^5; //将P2.5管脚定义为BEEP /************************************************************
[单片机]
51单片机学习:LCD12864液晶显示实验
实验名称:LCD12864液晶显示实验(带字库) 接线说明: 实验现象:下载程序后,LCD12864上显示汉字字符信息 注意事项: ***************************************************************************************/ #include public.h #include lcd12864.h /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出
[单片机]
STM8与汇编语言(14)--切换时钟源
STM8单片机的时钟源,即可以选内部的,也可以选外部的,在系统运行过程中,可以很方便地切换。 下面的实验程序首先将主时钟源切换到外部的晶体振荡器上,振荡频率为8MHZ,然后,然后快速闪烁LED指示灯。接着,将主时钟源又切换到内部的振荡器上,振荡频率为2MHZ,然后再慢速闪烁LED指示灯。通过观察LED指示灯的闪烁频率,可以看到,同样的循环代码,由于主时钟源的改变的改变,闪烁频率和时间长短都发生了变化。 同样还是利用ST的开发工具,生成一个汇编程序的框架,然后修改其中的main.asm,修改后的代码如下。 stm8/ #include mapping.inc #include STM8S207C_S.I
[单片机]
单片机学习——lcd1602显示实验之二
题目:在LCD1602显示屏上显示满足条件: 1、在第一行显示 000-999 CLOCK 2、在第二行末尾显示 BY XIAO WU 3、在第二行起首用三位显示000-999跑表 4、循环下去 解决方案:(C语言编程) #include reg52.h #define uchar unsigned char #define uint unsigned int uchar code table = 000-999 CLOCK ; uchar code table1 = BY XIAO WU ; uchar code tabledu ={0x30
[单片机]
STC单片机学习型遥控器程序
STC89C52学习型遥控器,可存八个红外遥控信息,只要再把按键用定时器中断2完成就可以用于商业生产. RXIN BIT P2.0 TXZAI BIT P2.2 TXOUT BIT P2.1 KEY_SIGN BIT 20H ;为0按键错误,为1按键正确 RXTX_SIGN BIT 21H ;为0是为发射状态,为1是为接收状态 ISP_DATA DATA 0E2H ;ISP功能寄存器定义 ISP_ADDRH DATA 0E3H ISP_ADDRL DATA 0E4H ISP_CMD DATA 0E5H ISP_TRIG DATA 0E6H ISP_CONTR DATA 0E7H ISP_CMD_NO EQU 0
[单片机]
如何学习单片机的问题探讨
电工论坛今天就如何学习单片机的问题,在此与您作一些探讨。欢迎拍砖! 1、要学好单片机最好是有一些数字电路知识。单片机的基础是数字电路,从本质上讲,单片机就是一个可编程的数字逻辑阵列。所谓数字逻辑阵列,可以理解为一个有序存放且可以迅速、准确取出的数字器件仓库;而可编程,则可理解为根据不同的需要将这些数字器件作不同的连接,形成一个完整的电路去完成一个指定的任务。比如汇编指令中的MOV P1,A(将累加器A中的数据传送到P1口)和指令MOV A,P1(将P1中的状态传送到累加器A)中,所用的数字器件完全一样(都是P1和A),但扮演的角色和实现的功能却不同。因此,有一点数字电路基础,有助于理解单片机中的一些俄概念和单片机工作原理,这
[单片机]
单片机学习的过程
单片机学习的过程应该是一个循序渐进、不断学习、不断积累的过程,可以分为三个阶段。 第一阶段:掌握开发单片机的必备基础知识。首先是熟练掌握单片机的基本原理,其实各家各门的单片机其基本结构和原理都差不多,特别是共有的知识需要好好理解和掌握。例如,内核结构、内存分配、中断处理、定时计数、串行通信、端口复用等一些最基本的概念和原理。除此之外,我们还需要具备模拟电子、数字电子、C语言程序开发知识以及原理图和PCB设计等一些技能。在进行系统开发的时候,进行原理设计、PCB布板、程序编写、系统联调这些工作都是在所难免的。 第二阶段:在掌握好一款单片机原理和应用的基础上,开始学习其他各家单片机的独有技术,学不了那么多也要多了解了解。同时尽可
[单片机]