画电子编程
❶ 绘制一单片机最小系统电路图,编写程序控制P1.7口输出低电平,并点亮发光二极管。求大神解答哇😭
编程实现对 8 个 LED 的输出控制 将实验箱中的 8255 片选信号连接到 218H~21FH,将 8255 的 4 个寄存器地址(A、B、 C 端口及控制字寄存器端口)设置为 218H~21BH。将 8255 的端口 A 的 8 个引脚:PA0~PA7 与 8 个 LED 对应相连,然后打开实验箱电源,最后编程对 8 个 LED 进行显示控制。
程序清单:
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,21BH
MOV AL,80H
OUT DX,AL ;工作方式初始化
MOV DX,218H
MOV AL,0FEH ;设置输出数据,即显示模式
MOV CX,80 ;设置循环次数
LN: OUT DX,AL
ROL AL,1
CALL DELAY ;调用延迟程序
LOOP LN
MOV AH,4CH
INT 21H ;返回 dos
DELAY PROC ;延迟子程序
PUSH CX
MOV BX,2000
A0: MOV CX,3000
A1: LOOP A1
DEC BX
JNZ A0
POP CX
RET DELAY
ENDP
CODE ENDS
END START。吴鉴鹰单片机开发板。
从刚开始接触单片机,到现在已经有4年的时间了,在这期间学习和使用了51单片机、飞思卡尔单片机,LPC2138,PIC16F887等系列的单片机,每接触一款单片机,都会经历熟悉其基本开发,然后将其用于项目中的过程,对于如何学习一款单片机,自己做了如下的总结。
大家都知道,51单片机是最容易入门的,不仅因为其编程简单,更重要的是网上的资料非常丰富。所以一般学习单片机开发的都将51单片机作为入门开发的首选。我学习51单片机的时候是采用这样的一个步骤进行学习的:
第一步(熟悉的过程):买了一款51单片机开发板,然后就开始了我的学习之旅,刚开始的时候没有去看视频教程,而是对着一本实验教材进行学习,那本实验教材的名字记不清楚了,但是其内容就是围绕单片机的LED灯进行控制,将51单片机内部的各个功能部件全部都使用到了,这样就能使我在很短的时间内,通过控制LED灯的亮、灭熟悉了51单片机的内部的各种资源,这时对51单片机也就没有感到陌生了。所以,个人觉得,学习单片机,要从实验入手,先熟悉单片机再说,开发语言开始使用的是c语言。
第二步(进阶的过程):有了第一步的基础之后,接下来的便是进阶的过程,当时,我看的是郭天祥十天学会单片机的视频教程,因为这个教程从基础到复杂的编程慢慢深入,讲的比较的全面,而且也生动,所以那一阶段,也是我学习单片机进步最快的阶段,每次听课的时候,按照上面的实验,以及课堂上面调试程序时出现的一些问题,自己认真的在电脑上进行调试,并分析产生故障的原因,让我有了一定的开发基础。在看完了视频教程之后,后面又对基础的知识进行了下补习,主要是看单片机原理性的教材,因为有些细节性的东西还是要从教材上面获得。
❷ 求助计算机大神!!!帮忙把下面编程的每步作用写一下,顺便帮忙画一个电路图。
// 1、程序运行后,接在P1 口的8个发光二极管依次点亮0,1,2,3,4,5,6,7,每次只点亮一个;如此反复循环。
//2、按钮开关模拟故障。按下按钮开关表明产生故障,发光二极管开始闪烁,同时LED显示器显示stop;再次按下按
//钮开关,故障排除,发光二极管继续变化,LED显示器不再显示。
ORG 0000H
AJMP MAIN0
ORG 0003H //外部中断0地址
LJMP EXISVR //调中断子程序
ORG 0100H //主程序地址
MAIN0: MOV SP, #5FH // 中断初始化
MOV DPTR,#STOP //指针
SETB IT0 // IT0外部中断0启动
SETB EX0 // 表示允许外部中断0申请中断。
SETB EA // 启动总中断
SETB F0 // 设置标志F0=1
MOV R1,#0FFH //赋值
MOV R3,#0FEH //赋值
LOOP0: JNB F0,GZH // ;判断标志F0不为0跳转到GZH子程序
LOOP1: MOV A, R3 // ;LED灯轮流点亮,实现跑马灯
MOV P1,A //P1口低电平输出
LCALL DELAY //读取长延时子程序
RL A //右移一位
MOV R3,A //赋值
SJMP LOOP0 //跳转循环LOOP0
GZH: MOV A,R1 // GZH子程序
MOV P1,A //P1口低电平输出
CALL DELAY //读取长延时子程序
CPL A //信号 取反
MOV R1,A //赋值
ACALL MAIN1 //读取程序MAIN1
ACALL DISP //读取程序 DISP
SJMP LOOP0 //跳转循环
MAIN1: //程序MAIN1
MOV R0,#7fH // ;置显示缓冲区
MOV A,#0 //
MOV R2,#8
WRITE:MOV @R0,A
DEC R0
INC A
DJNZ R2,WRITE
RET
DISP:PUSH ACC
MOV R5,#0FEH
MOV R0,#78H
LD0: //数码管显示程序开始
MOV P2,R5
MOV A,@R0
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY1
INC R0
MOV A,R5
JNB ACC.7,LD1
RL A
MOV R5,A
AJMP LD0
LD1:POP ACC
RET //数码管显示程序返回
STOP:
DB 0FFH,0FFH,0FFH,0FFH,92H,0F8H,0C0H,8CH //数码管段码
EXISVR:CPL F0 //中断子程序 开始
RETI //中断子程序 返回
;子程序名:DELAY
;功能:延时 500ms
;入口参数:无
;出口参数:无
;占用资源:R4,R6,R7
DELAY:MOV R4,#5 //长延时子程序 开始
REPT1:MOV R6,#100
REPT2:MOV R7,#200
REPT3:NOP
NOP
NOP
DJNZ R7, REPT3
DJNZ R6, REPT2
DJNZ R4, REPT1
RET //长延时子程序 返回
DELAY1:MOV R7,#02H //延时子程序1 开始
DL1:MOV R6,#0FFH
DL2:DJNZ R6,DL2
DJNZ R7,DL1
RET // 延时子程序1返回
❸ 使用Proteus软件在计算机上画出单片机最小系统里简单应用的电路原理图,编程实现如下功能: 1,
这个我可以完成的
❹ 电子编程要从什么学起
编程的初学者入门的方法如下:
明确编程的本质。
必要的辅助工具与技能。
(1)学会使用git指令和github;
(2)挑选一款合适的IDE会使编程体验和效率大大提升,IDE即集成开发环境,是用于提供程序开发环境的应用程序;
(3)明确学习的方向,不同的划分标准下有不同的开发方向,如按编程语言划分有JAVA,Python,C/C++, Javascript,Ruby,PHP,etc.;
选择合适的学习方式与方法。
(1)学好所有相关的专业课程,无论它多么枯燥乏味;
(2)不要质疑老师让你阅读代码、抄写代码的意义。
关于编程的知识延展:
定义:
编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,是计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
编程语言:
(1)汇编语言
为了解决使用机器语言编写应用程序所带来的一系列问题,人们首先想到使用助记符号来代替不容易记忆的机器指令。这种助记符号来表示计算机指令的语言称为符号语言,也称汇编语言。在汇编语言中,每一条用符号来表示的汇编指令与计算机机器指令一一对应;记忆难度大大减少了,不仅易于检查和修改程序错误,而且指令、数据的存放位置可以由计算机自动分配。用汇编语言编写的程序称为源程序,计算机不能直接识别和处理源程序,必须通过某种方法将它翻译成为计算机能够理解并执行的机器语言,执行这个翻译工作的程序称为汇编程序。
(2)机器语言
在计算机系统中,一条机器指令规定了计算机系统的一个特定动作。一个系列的计算机在硬件设计制造时就用了若干指令规定了该系列计算机能够进行的基本操作,这些指令一起构成了该系列计算机的指令系统。在计算机应用的初期,程序员使用机器的指令系统来编写计算机应用程序,这种程序称为机器语言程序。使用机器语言编写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。缺点也很明显,如:编程工作量大,容易出错;依赖具体的计算机体系,因而程序的通用性、移植性都很差。
(3)汇编程序
汇编程序。使用汇编语言编写计算机程序,程序员仍然需要十分熟悉计算机系统的硬件结构,所以从程序设计本身上来看仍然是低效率的、繁琐的。但正是由于汇编语言与计算机硬件系统关系密切,在某些特定的场合,如对时空效率要求很高的系统核心程序以及实时控制程序等,迄今为止汇编语言仍然是十分有效的程序设计工具。
但它有不可替代的特性,比如一些单片机或者一些直接控制硬件的程序就一定要用汇编语言
(4)高级语言
高级语言是一类接近于人类的自然语言和数学语言的程序设计语言的统称。按照其程序设计的出发点和方式不同,高级语言分为了面向过程的语言和面向对象的语言,如Fortran语言、C语言、汉语程序设计语言等都是面向过程的语言;而以C++、Smalltalk等为代表的面向对象的语言与面向过程语言有着许多不同,这些语言支持“程序是相互联系的离散对象集合”,这样一种新的程序设计思维方式,具有封装性、继承性和多态性等特征。
高级语言按照一定的语法规则,由表达各种意义的运算对象和运算方法构成。使用高级语言编写程序的优点是:编程相对简单、直观、易理解、不容易出错;高级语言是独立于计算机的,因而用高级语言编写的计算机程序通用性好,具有较好的移植性。用高级语言编写的程序称为源程序,计算机系统不能直接理解和执行,必须通过一个语言处理系统将其转换为计算机系统能够认识、理解的目标程序才能被计算机系统执行。
❺ 做电路板是先画板子好,还是先编程好呢手上有个简单的实验板。
自己动手做电子实验的顺序最好是:
①设计原理图。参照现成的原理图,或者自行根据需求设计切实可行的电路结构。多数时候我们采用potel99e,或者AD系列的EDA软件设计,生成原理图文件,也就是.sch文件
②设计PCB文件。其中包含封装库文件建立,布线,敷铜,打过孔等等操作。这个无论是自己用还是对工作生产都有指导意义。
③采购相应元件,并按焊接规范焊接。
④检查焊接好的PCB板子,用万用表等测量工具,检测电路有无故障。确认无误后,进入下一步。
⑤根据原理图,写出程序,确定编译运行无误。
⑥将程序烧写进产品中。
⑦上电检测电路功能是否实现。如果有误,重复4-7步骤。
❻ mcs51单片机 的编程过程中如何 绘制流程图
编程过程使用流程图的话,可以使你的程序简单明了,富有层次性和逻辑性。如何绘制流程图:
1.首先你的了解你的程序要完成什么功能,各个程序函数,调用如何统筹的;
2.在函数调用和跳转的时候,确定跳转的条件是什么;
然后把自己做的用流程图表示出来即可,可以用word或者visio来画流程图。
❼ 如何用编程画图
用vc +gdi
vc +opengl
vc+opencv
vc+sdl
都可以,opengl 是用来做游戏设计,高端绘图的,比较难以理解。
与opengl 对应的是d3d 微软自家的东西,d3d只能在window上运行,
opengl 可以跨平台,android ,liunix,unix,windows 都可以,
opencv 计算机视觉库,主要进行图片处理,,非常强大,对应的gdi,Cimage,Cximage,Freeimage
gdi也是微软的,就是垃圾,在这些库里面,opencv简直太强大了。
sdl 是一个杂交的东西,说的是可以跨平台,效果并不好,用sdl可以进行二维图绘制,
我主要还是使用opengl opencv ,这两个东西各有千秋,可以互补,其他的太弱了
❽ 怎样画出编程图
用visio或一些软件画出流程图
❾ 电子编程什么意思,也算程序员吗
应该是指那种写c的程序猿或者用汇编,主要给mcu写驱动的,这类程序猿需要懂硬件电路知识,包括模拟电路,数字电路,还需要懂各种单片机原理,和c语言汇编语言。这当然是程序员。