导航:首页 > 操作系统 > 单片机的方法

单片机的方法

发布时间:2022-05-26 09:47:35

A. 单片机常用的三种定时方法

1 方法1

在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算出到下一次中断时,需多长时间,由此来重装载和启动定时器。例如定时周期为1ms,则通常定时器重装载值为-1000(0FC18H)。下面的程序在计算每个定时周期的精确重装载值时,考虑了由停止计数(CLR TR1)到重新启动计数(SETB TR1)之间的7个机器周期时间。程序中#LOW(-1000+7)和#HIGH(-1000+7)是汇编符号,分别表示-1000+7=0FC1FH这个立即数的低位字节(1FH)和高位字节(0FCH)。
……
CLR EA ;禁止所有中断
CLR TR1 ;停止定时器T1
MOV A,#LOW(-1000+7) ;期望数的低位字节
ADD A,TL1 ;进行修正
MOV TL1,A ;重装载低位字节
MOV A,#HIGH(-1000+7) ;对高位字节处理
ADDC A,TH1
MOV TH1,A
SETB TR1 ;重启动定时器
SETB EA ;重开中断
……

此方法适用于各种原因造成的定时误差的情况,为通用方法。

2 方法2

假如定时周期为10ms,通常定时器重装载值为0D8F0H,中断子程序如下[2]:
ORL TL1,#0F0H
MOV TH1,#0D8H
……

这里用ORL TL1,#0F0H代替MOV TL1,#0F0H 可提高定时精度。此方法只适用于重装载值低位字节的低4位为零,且中断响应的延迟时间小于16个机器周期的情况。类似的定时器重装载值有0FFF0H,0FFE0H等。

3 方法3

假如定时周期为1ms,通常定时器重装载值为0FC18H,中断子程序如下:
MOV A,#LOW(-1000+4) ;期望数的低位字节
ADD A,TL1
MOV TL1,A
MOV A,#HIGH(-1000+4) ;对高位字节处理
ADDC A,TH1
MOV TH1,A
DEC TL1 ;恢复提前了的2个机器周期
……

这种方法中不停止定时器计数过程,若在执行指令ADDC A,TH1 或MOV TH1,A时,恰好产生TL1溢出向TH1进位的情况,则TH1的值就不对了,会产生更大的误差。为此,程序段开头为重装载值加4,若有溢出进位,则可提前发生,其中2个机器周期是考虑到为TL1重装载占用的时间。

此方法适用于系统中无其它更高优先级中断源的情况。若类似方法1,在程序段开头和结尾分别加上禁止所有中断(CLR EA)和开中断(SETB EA)指令,则将适用于所有情况。

4 方法4

假如定时周期不确定,只知道定时器重装载值存放在寄存器R3、R2中,中断子程序如下:
MOV A,#05H ;3个机器周期装载TL1,2个周期提前
ADD A,TL1
ADD A,R2
MOV TL1,A
MOV A,R3 ;处理高位字节
ADDC A,TH1
MOV TH1,A
DEC TL1 ;恢复提前了的2个机器周期
……

此法适用于定时周期不确定的情况,其它同方法3。

5 方法5

当定时中断发生的位置可预知时,通常出现在主程序的AJMP $ (或SJMP $)等待指令处,中断延迟时间为3个或4个机器周期。取固定值4可简化补偿程序。以定时周期1ms为例,中断子程序如下:
ORG 001BH
MOV TL1,#LOW(-1000+4)
MOV TH1,#HIGH(-1000+4)
……

此方法适用于定时中断总发生在同一条指令位置,且无其它中断源的情况。
结 语

上述5种方法误差均不超过1个机器周期,其中方法1、3、4较为通用,适用于任何情况,但程序较长;方法2、5简单,但必须注意满足对应条件,才能使用。当然,也还有其它方法[3],但比较烦琐,并不理想,这里不一一介绍。

B. 单片机的运行方法是什么呀

如果让单片机运行起来需要两个条件:硬件平台和程序代码。
硬件平台可以动手搭建一个最简51系统,也可以网上买块实验板,这就是硬件的准备。
程序代码至少要有C语言编写技能和学会一款编写程序的软件。
1、编写C语言程序
2、编译成单片机识别语言
3、如果编译通过,接下来就需要调试运行,单片机工作状况是否是自己预期的。
4、如果调试通过,下载程序到单片机
5、下载成功,正常运行

C. MCS-51型单片机常用的复位方法有几种应注意哪些事项

51单片机有五种常用的复位方法:


1.上电制动复位,注意:只要电源的的上升时间不超过1ms,就可以实现自动上电复位。


2.软件复位,注意:复位信号保持时间是编程人员预定的时间。


3.按键电平复位,注意:复位信号保持时间大于2个时钟周期。


4.外部脉冲复位,注意:复位信号保持时间大于2个时钟周期。


5.看门狗溢出复位,注意:复位信号保持时间也是编程人员预定的时间。

D. 单片机的学习方法(要具体的哦)

没分不回答。分少不说多,一句话,多动手,
先学会C。谭浩强的。讲师曾怡。
买个学习板:1一个一个的程序能把它熟练写出来,调试正常,2。一个礼拜后还重新写调试一次,如果真的记下了PASS.next~
3.动手做板子。
热转印制作电路板完全教程
热转印制作简单,制作精度高,相对与其他的制作方法成本低。
热转印准备:
1、 一台激光打印机或者一台复印机(复印机的话需要有复印原稿,原稿可以用喷墨打印机打印出来)。自己没有打印机可以到复印店去,有U盘的可以考个protel上去,删除库能小很多,这样打印精度有保证。
2、 一个电熨斗(调温的更好)或一台用过塑机改成的热转印机。
3、 一张热转印纸。
4、 油性记号笔一只。注意不要买到假货,打开笔盖可以闻到酒精的味道或写到蜡纸上擦不掉的是真的。
5、 三氯化铁。
6、 覆铜板一块(单面或双面),这里以单面为例。
7、 小电转一把,配0.5mm~3mm的钻头。
8、 钢锯据条一片,木工细砂纸一张,美工刀一把,透明胶。
下面是部分工具的照片。

下面是覆铜板,左边的单面,右边的双面:

制板步骤:
1、 用EDA软件(protel、power PCB)布线,我这里以Protel为例。在布线时要注意,用热转印的方法可以做出10mil的线,但断线的可能比较大,我们尽量用15mil以上的线宽规则。
2、 将PCB图打印到热转印纸上。注意:刚刚的布线,单层板要布到底层,这样在打印时就不用镜像。如果是双层布,那么顶层一点要镜像,不然我们转印出来就反了。*作步骤:“setup Printer——HP LaserJet Final(这个选项是单层打印) ——Layers(选择要打印的层)——BottomLayer(这里只要底层,我们选择它),如果是双层,我们在打印TopLayer时点Mirroring在Signal Layers栏选中TopLayers表示镜像顶层。选好后OK确定。在刚刚那个菜单,点击Options在Show hol前面打勾,这个是显示钻孔的。这个打开在我们钻孔时将方便很多。点OK;点Print打印出图。
设置打印机:

选择打印设备:

设置打印层:

设置镜像打印:

显示钻孔:

下面接一个打印裁减好的照片:

步骤三
3、 用钢锯据条裁减覆铜板到合适大小,注意在裁减时留点余量,不要小了,毕竟据条也是有厚度的用木工砂纸打磨使边界光滑平整。

裁减好的图:

步骤四
4、 把打印好的转印纸有字的一面平铺到覆铜板有铜的一面。用透明胶固定一个边。要是双面板就比较麻烦了,我们要在四个固定孔上用0.5mm的钻头大孔进行定位,用元件剪下来的元件脚固定四个脚,再用透明胶固定。

下面是固定的照片:

5、 这一步是我们教程的关键部分,用电熨斗加温(140度~170度左右,要是用温度计更好)将转印纸上塑料粉压在铜上形成高精度的抗腐层。先加热电熨斗,温度合适时用力压到电路板有纸的一面,不要移动,等有点温度时再移动,移动时电熨斗要顺着固定的那一面滑下去,用点力。熨时速度不要太快,让覆铜板均匀升温,当然也不能太慢,如果太慢铜皮可以和环氧树脂分离,覆铜板报废。电熨斗来回熨上几次。在室温下等电路板冷了再撕纸,注意:慢慢的撕。先撕开一点看看,如果不行我们可以再熨一次。重复上面的动作,直至完成。撕下后看看有没有断线的地方,如果有可以用记号笔补上。好的打印机出现断线的不多。

转印好的照片:

用三氯化铁溶液进行腐蚀,FeCl2和H2O的比例我一般看他的腐蚀速度,用开水来融化三绿化铁,在反应中用开水来维持温度,用化学上说的水浴,也就是在容器下放一个水盆来盛开水。,在反应中不断的要它加快它的腐蚀速度。

下面是腐蚀中的照片:在自己制作印制电路板时,要用三氯化铁溶液来腐蚀电路板。现在三氯化铁大部分是固体状态。
要配成腐蚀电路板的溶液,可按质量大小配比:用35%的三氯化铁加65%的水配制。三氯化铁的浓度要求并不是很严格的,浓度高的溶液腐蚀速度要快点,浓度低的溶液腐蚀速度慢点。腐蚀电路板时三氯化铁的溶液最好在30~50℃,最高不要超过65℃。腐蚀时可用竹夹子夹住电路板在三氯化铁溶液中晃动以加快腐蚀速度,一般情况下15~30分钟电路板即可腐蚀好。
配制好的三氯化铁溶液可多次使用,但发现溶液中沉淀较多时,就应重新配制三氯化铁溶液。
腐蚀温度可在55℃左右进行,腐蚀速度较快,腐蚀好的电路板用清水冲洗干净。

我们要时刻注意腐蚀的进度,特别是在线宽小的时候,腐蚀刚完成就要马上拿开并冲洗干净。

腐蚀效果:

背面的照片效果:

7、 钻孔
钻孔就不用说什么了,一般用0.8mm的钻头,如果要用小的0.5mm也可以,大家可以以实际的元件管脚大小来选择钻头的直径。打如固定孔这样大的孔时可以先用小钻孔打定位孔。
打孔后照片:

至此,我们的热转印已经完成,下面是一些后期的出来工作了。
1、用木工细纱纸打磨,把铜线上的塑料粉除去。我要过几天再焊这个东东,所以现在现在不能除去,要不氧化了。对不起大家了,现在看不到照片。当然我们也可以只把焊盘上的除去,其他保留作为阻焊层来保护电路板,但我觉得黑色的不好看,呵呵。
2、除去后就是焊接了。
3、焊接调试完成后,我们要加层膜来保护电路板,涂上油漆。指甲油是一个不错的选择哦,还可以以个人喜好来选择颜色,呵呵
成品欣赏

双面板正面

双面板背面

单面板

E. 单片机的学习方法

从刚开始接触单片机,到现在已经有3年的时间了,在这期间学习和使用了51单片机、飞思卡尔单片机,LPC2138,PIC16F887等系列的单片机,每接触一款单片机,都会经历熟悉其基本开发,然后将其用于项目中的过程,对于如何学习一款单片机,自己做了如下的总结。
大家都知道,51单片机是最容易入门的,不仅因为其编程简单,更重要的是网上的资料非常丰富。所以一般学习单片机开发的都将51单片机作为入门开发的首选。我学习51单片机的时候是采用这样的一个步骤进行学习的:
第一步(熟悉的过程):在网上找学习资料,在网上看了很多。印像最深的要数王云老师的云龙51单片机视频教程,因为这个教程从基础到复杂的编程慢慢深入,边讲边写代码,讲的比较的全面,而且也生动,所以那一阶段,也是我学习单片机进步最快的阶段,这时对51单片机也就没有感到陌生了。通过视频让我知道了该怎样学习单片机,学习单片机,要从实验入手,先熟悉单片机再说,开发语言开始使用的是C语言比汇编更好理解。
第二步(进阶的过程):有了第一步的基础之后,接下来的便是进阶的过程,买了一款51单片机开发板,然后就开始了我的学习之旅,每次听课的时候,按照上面的实验,以及课堂上面调试程序时出现的一些问题,自己认真的在电脑上进行调试,并分析产生故障的原因,让我有了一定的开发基础。在看完了视频教程之后,后面又对基础的知识进行了下补习,主要是看单片机原理性的教材,因为有些细节性的东西还是要从教材上面获得。围绕单片机的LED灯进行控制,通过控制LED灯的亮、灭,熟悉了51单片机的内部的各种资源,这样就能使我在很短的时间内,将51单片机内部的各个功能部件全部都使用到了。
第三步(项目实战的阶段):学习单片机的时候,虽然也编写了一些程序,但是那些都是一些很小的模块程序,并没有起到综合应用的目的,所以在这之后,我和另外一个学习硬件的同学一起组成了一个小的团队,进行项目实践开发,那时候,实验室的条件比价好,有很多的器件可以自己使用。所以,我们就设计了我们的第一个作品,基于单片机的液体点滴监控系统。做这个系统时,就将以前单片机所学的知识,做了一个综合的应用,包括有LCD1602控制,串口的控制等。
经过以上三个步骤的学习之后,对于51单片机的开发基本上就算入门了。而对于其他类型的单片机,如飞思卡尔单片机,LPC2148 ARM7单片机,PIC16F887等,虽然每个系列的功能不一样,但是最基本的编程思想还是一样的,不同的可能就是编译器,程序下载的软件等差别,所以有了51单片机的开发基础之后,学习其他单片机所采用的方法就是一个差异化的学习,学习各种单片机不同的地方,这样,就能很快的熟悉一款新的型号的单片机。

F. 单片机设计方法有哪些

1-以编译语言而言:
1,使用汇编语言
2,使用C语言

2-画板:
1,Protel
2,PADS
3, Allegro
等。。。。。。

3-软件仿真

1,Protus
2,Tinapro
3,multisim

不知道你说的方法是什么?

G. 新手该如何学习单片机有什么方法或者窍门

事实上,单片机并不是难学的,掌握了正确的学习方法,可以说很简单就可以学会。新手如何学习单片机呢?下面提供三个学习方法,供新手参考。

一:自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,我建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,这就差不多了。如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。

二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。

有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。

做电子类的人真的会上瘾。然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用。

三:参加单片机的培训。这里推荐华清远见的嵌入式+单片机培训,华清远见的单片机讲师都是来自着名IT企业的拥有十几年甚至几十年经验的实战性专家,胸有成竹目无全牛得心应手为所欲为无所不为,说得就是这群人。他们不仅腹有锦绣,且能出口成章滔滔不绝。不厌其烦地为学生答疑解惑,高屋建瓴地为学生指点迷津,是他们拿手的事情。学会嵌入式和单片机,走到哪里没不怕没饭吃!

新手如何学习单片机?其实很简单就可以学会,上面的三种方法任选一即可,我想大部分人都会选择参加培训,简单快捷,就业率高,也有人消耗一两年来自学,不管哪种,还是根据自身的情况来决定最好!

H. 针对51单片机的学习,大家有什么好的方法

51单片机学完了?
不会是在开发板上编完了几个示例程序吧?
那只是个开始。
首先,1,你能不能把你的开发板所有的资源都用上,编一个复杂的液晶时钟,带温度显示,汉字液晶菜单驱动,24C02存储闹钟,矩阵键盘输入控制,温度报警。并且有良好的人机界面,设置菜单。
还有,2,我问你,你能不能完全自主的设计一个复杂的电路,比如说多粮库多点温度湿度监控报警系统,每个仓库一个单片机,控制多个传感器,采集温湿度信号通过485数据线通过一定的协议,或者通过无线传输芯片和天线,传送到主机,由主机的汉字液晶屏来控制,由多组数码管组成的显示墙显示各点的温度,并且有良好的用户界面,方便的设置设置各种参数,监控各个粮库。而且必须从选用零件,到设计,到编程,绘制电路板,调试,焊接样机,组装测试,都是你一个人完成。或者大部分你一个人完成,其他的由你来指挥完成。
以上两点,我保证,由51单片机配合各种芯片就都能完成,
能做到第一点,说明你编程还可以,能看懂电路图,懂得各种模块的协同工作(这是编程的关键)
能做到第二点,说明你学会了51。再学其他的单片机,信手拈来。
连第一条都做不到,那就别考虑在学别的。
单片机是个软硬结合的东西,硬件为主,软件为辅。
主要还是要会电路。

I. 如何快速入门单片机

学习单片机技术必须注重“理论+实践”的方法。如果只学理论知识而不动手操作,则收效甚微;如果只进行实践操作而不学习理论知识,效果也不明显。

因此,学好单片机技术必须做到理论、实践同时学,理论知识和实践技能就像人的两条腿,缺一不可。

我试过很多种教学法,综合考虑还是觉得平凡老师创立的任务教学法的效果最好。它是一种基于理论联系实践的教学法。

本人在任务教学法的基础上开创了一种“边学边做”的单片机学习法,教学效果很好。

“边学边做”的教学方法概述

“边学边做”教学模式是以建构主义学习理论为指导下,依据人的认知规律设计完整的项目作为教学内容,采用多媒体、网络、仿真技术、实验实训设备等教学手段,在完成具体任务中组织教学的一种适合技能教育的教学模式
单片机基础知识,包括单片机内部结构、引脚功能、中断系统,定时计数系统,串行通讯系统等。单片机C语言基础知识,包括C语言的数据类型与运算符、C语言语句、数组、指针、函数、编译预处理等。

请注意,这些知识应该边学边做,在做产品的过程中,需要哪些知识,就学习哪些知识。

焊接技能

我们主张用万能板制作单片机产品。因为这种实践方法,不仅能锻炼焊接技术,同时还能提高识别单片机硬件电路图的能力。更重要的是掌握了单片机开发的基本步骤,提高了软硬件的编程与设计能力。为日后开发设计电子产品打下坚实的基础,因此训练好拖焊技术非常重要。

J. 单片机调试的方法和步骤是什么

首先,了解硬件接口以及功能,以便于配置IO端口;

第二,根据硬件设计以及功能需要,编写单片机程序;

第三,编译程序,把程序烧写到单片机中,或者链接debug调试器,在线对单片机进行仿真;

第四,在线仿真可以支持单步调试和断点调试,测试单片机的软件功能;

第五,如果出现问题,首先分析是软件逻辑的问题,还是硬件方面的问题,以便于对症下药;

最后,将软件写入单片机的flash中,将单片机加密,防止其他人窃取单片机内部代码。

阅读全文

与单片机的方法相关的资料

热点内容
两个数字的加减乘除运算编程 浏览:225
给手机加密码忘记了怎么办 浏览:598
单片机运算符 浏览:297
移动端微信商城源码 浏览:442
编程猫下一个背景在哪里 浏览:358
javaclasstype 浏览:238
乐高编程和乐高课的延伸 浏览:355
苹果手机怎么切换app美国账号 浏览:865
编译程序输入一个字符串 浏览:407
圆命令画法 浏览:308
如果给电脑e盘文件加密 浏览:802
javaswing项目 浏览:778
androidsdksetup 浏览:1005
pdf怎么设置中文 浏览:128
安卓手机用什么软件看伦敦金 浏览:966
魅族文件夹无名称 浏览:792
苏黎世无人机算法 浏览:876
核桃编程和小码王的融资 浏览:686
微积分教材pdf 浏览:728
写python给微信好友发消息 浏览:340