单片机设计技巧:如何实现8051模块化编程

单片机设计技巧:如何实现8051模块化编程,第1张

最佳答案第一阶段:是先浏览教科书里的硬件部分,大至了解单片机的硬件结构。如ROM、RAM、地址、I/O口等,以及看一些厂家的MCU资料(Data Sheet),来加强MCU所提供各项资源的印象。呵呵,还是得先看书。看不懂的就问老师,问知道的人。可以理解,我以前在学校也是对单片机一点儿也不理解,其实简单点的说单片机就是一块集成芯片,但是不同的地方就是可以通过编程来改变其引脚的电平高低。大二学了数电没有?学过数点你就会理解高低电平的含义。另外,大一的时候学过计算机基础了吧。你可以用计算机的原理来理解单片机。比如说 ROM 其实就像计算机的硬盘一样,是用来装东西的,装你运行的程序。

第二阶段:就是了解二进位数字、十六进位数和软件方面的内容。尽管有很多高级语言可用于单片机的编程,但我觉得初学还是以汇编语言为好,更有利于和硬件结合,掌握硬件结构。知道汇编语言、机器语言、指令、 程序等概念后,从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 0000H

LJMP 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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12341695.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存