
第二阶段:就是了解二进位数字、十六进位数和软件方面的内容。尽管有很多高级语言可用于单片机的编程,但我觉得初学还是以汇编语言为好,更有利于和硬件结合,掌握硬件结构。知道汇编语言、机器语言、指令、 程序等概念后,从MOV指令开始,学习汇编语言和编程,在此如51的MCU汇编语言系统有11条指令,简单又好理解它们怎样和硬件联系,更有助于一般学习单片机的指令整合与运用.因此其方法可先了 解几条基本的MOV指令和它的机器语言,大致建立起单片机的硬件和软件概念,来知道单片机的硬件是由指令控制指挥的。
第三阶段按照编程环境的使用手册,熟悉使用编程环境。现在的编程环境一般都和电脑相连,只要具备基本电脑知识的人都可很快掌握 *** 作步骤。
第四阶段是依靠实验板,学习掌握单片机的汇编语言指令系统和简单编程。同时和前面所学硬件知识结合组装,起到主学软件,巩固硬件的双重作用。
开始 时可用别人编的简单程式在实验板上进行验证、分析,主要是熟悉该学习方法,在应用方面主要针对单片机I/O各项介面的使用,如A/D,D/A,PWM输出的应用,LCD与VFD的控制,以及如何规范各项串列输出入口的通讯协定等,对其所控制的各项元器件须先分析驱动能力,如电流电压问题等。
汇编语言熟悉后,建议尽快学习C语言的编程,毕竟C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化 程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件 开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。
另外,我觉得一开始很多的概念可能你都不怎么理解的,光看书也难理解,还得多问人,还有找一样好的仿真软件,一定要会用。在学指令的时候一条一条的验证,那样才会理解。
就比如一个非常简单的 REG 0000H
AJMP 30H
MOV 20H #05H
END
看看仿真软件的寄存器,内部数据存储器里面的数据有什么改变。当你看到20H单元上的值变成了5,你就知道 MOV 20H #05H 的含义。但是光看书,可能就理解不出来。
ORG 0000HLJMP MAIN
ORG 0030H
MAIN:
MOV R0,#30H
MOV 20H,#0
LOOP:
MOV A,@R0
CJNE A,#13,LOOP1
SJMP LOOPE
LOOP1:
CJNE A,#'a',LOOP2
INC 20H
LOOP2:
INC R0
SJMP LOOP
LOOPE:
SJMP $
END
唉,现在啊都是一群来混积分的家伙,可行陆耐你知道你们那样是赚不到分的吗?像上面叫老水说的"比较简单的问题.可是程序写好了之后给你,你不会用怎么办?"说这什么话啊,既然你都说了是简单的问题,那你干吗不直接给人家程序啊,你以为你为了不起吗?你以为你那样能赚到分吗?看我的,这一百分我拿定了悉友,只要提档春问人是有情有义的人.start:MOV A,#FE (74)(FE)
loop:MOV P1,A (F5)(90)
MOV R1,#10 ;延时
DEL1:MOV R2,#00 (7A)(C8)
DEL2:MOV R3,#126 (7B)(7E)
DEL3:DJNZ R3,DEL3 (DB)(FE)
DJNZ R2,DEL2 (DA)(FA)
DJNZ R1,DEL1 (D9)(F6)
RL A (23)
LJMP LOOP (02)(40)(40)
END
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)