两个单片机硬件自检的问题问题

单片机两个端口短路会发生什么?新手有关问题 - 单片机当前位置:& &&&单片机两个端口短路会发生什么?新手有关问题单片机两个端口短路会发生什么?新手有关问题www.MyException.Cn&&网友分享于:&&浏览:0次单片机两个端口短路会发生什么?新手问题本帖最后由 zhouboat 于
17:40:44 编辑
新学单片机,新手问题呵。
单个独立按键的就是端口接一个按键,按键接地,按下按键,则把端口置为低电平。可以通过判断端口是否为低电平来判断按键是否被按下,这个很好理解。
那么对于矩阵键盘,如下图:
按下S-0左上角的按键,接通了P1.0和P1.4端口,这个能起到什么作用呢?会把P1.0和P1.4都置为低电平吗?
------解决方案--------------------这个是需要软件上处理的,其中一个口输出低,在去读另外一个口的状态,如果为1没有键按下,如果为0则有键按下
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有春花秋月何时了?活动不能少。无奈上海路又遥,21ic探报……
MWC(世界移动通信大会)22号正式开幕了,手机不再唱主角,……
无论是 《机械公敌》 里的终极大BOSS还是POI的the machi……
ApplePay自从今年3月正式入华,不少人在尝鲜之后都大呼……
演讲人:黄孝旋时间: 10:00:00
演讲人:陶瑜浦时间: 10:00:00
演讲人:张亚晖时间: 10:00:00
预算:¥5,000-¥10000预算:¥5,000-¥10000
单片机定时器常见两大应用问题解析
[导读]在单片机的学习过程中,单片机定时器的合理设置和应用是非常关键的一步,也是刚开始接触单片机知识的新人工程师们比较容易出错误的一个环节之一。在今天的文章中,我们为大家总结了单片机定时器应用过程中的两大常见问题进行实时解析,希望能够对各位新人工程师的学习提供一定帮助。
在单片机的学习过程中,单片机定时器的合理设置和应用是非常关键的一步,也是刚开始接触单片机知识的新人工程师们比较容易出错误的一个环节之一。在今天的文章中,我们为大家总结了单片机定时器应用过程中的两大常见问题进行实时解析,希望能够对各位新人工程师的学习提供一定帮助。
问题一:51单片机的T0、T1定时器四种工作方式各有什么特点?
在单片机定时器的应用过程中,定时器在进行设置时会有四种不同的工作方式,合理选择相应的工作方式可以帮助工程师快速完成及时设置。下面我们就来逐一讲解一下这四种不同的计时方式。方式0是单片机计时器的第一种计时方式,这一方式13位计数模式。方式1则采用16位计数模式,方式2采用8位自动重装入计数模式,这两种技术模式也是目前在单片机应用过程中最常使用的及时方式。最后一种单片机定时器的计时方式是方式3,这一模式下只有T0有的双8位计数模式。
问题二:在设置单片机定时器的过程中出现了错误,应该怎么进行误差纠正?
在使用单片机定时器进行计时设置的过程中,出现设置错误的情况是在所难免的,这就需要我们采取一些方法对已经造成的错误进行纠正了。由于单片机的机器周期通常为1&s~2&s,因此定时误差一般应在0&s~20&s之内,对于一般应用,此误差可以忽略,但是对于精确度要求比较高的应用场合,此误差必须进行校正。定时误差是定时溢出后转入执行定时处理语句段之间所耗费的时间,此时间主要由定时溢出转入定时处理语句段所必须执行的指令或硬件过程产生。
定时误差校准的一个比较简单的方法式,在定时溢出响应后,立刻停止定时器的计数工作,同时快速读出当时计数值,然后将完成这一任务的程序段执行时间考虑进去,作为修正因子校正定时初值,以下程序段以中断处理方式为例来进行说明。需要注意的是,由于执行从指令clrTR0(停止计数)到指令setbTR0(重新开启计数)之间的指令需8个机器周期,应将此消耗考虑进去,因此该程序将定时误差缩小在1个机器周期内。这一纠正程序的设计如下图所示:
以上就是本文针对单片机定时器使用过程中常见的两种问题,所进行的分享和解析,希望能够对各位新人工程师的单片机学习提供一定的帮助。
英特尔于日宣布了4004处理器及其芯片集,它是芯片巨人第一个完整的单片机和第一个商业微处理器。4004处理器有2300个晶体管,手指甲大小,计算性能与第一代电子计算机相当,但第一代计算机需要占据整间房......关键字:
说说我对于物联网的看法。首先,可以肯定的是,物联网肯定是将来发展的一个大方向,这个毋庸置疑,但是物联网的真正崛起可能还需要一段时间。要让物能联网,必须要有一个微型的控制器,这个控制器就是所谓的单片机,这个单片机的功能不需要很强,但是最好能低......关键字:
作为过来人思前想后,我感到完全有责任将发自心底的感受传递给年轻一代,“一个企业家心灵深处渴望优秀人才的卓越追求和深层次的叹息、痛苦和感受”。您们千万不要等到毕业求职时才觉得自己能力太差,世界上从来就没有后悔药。......关键字:
新唐9月在大陆及台湾举办的四场「 2015 新唐科技 NuMicro&
单片机新产品暨应用研讨会」引起热烈回响,好评不断,为了响应众多客户的期待,新唐决定再加码12场,分别于 2015 年 11 月 16 日......关键字:
我们需要面对一个事实:现在任何被联网到一起的事物都有可能被黑,比如互联网和物联网。但即使越来越多的汽车被联网到一起,也并不意味着它们就会被黑。交通工具在黑客的攻击名单上排名依然很靠后,车联网的安全性也......关键字:
我 要 评 论
热门关键词两年后再用51单片机遇到的几个小问题及解决办法
已有 1969 次阅读
|系统分类:|关键词:单片机|
2013年我用STC51单片机做了一台甩胶机,当时参加挑战杯获得了国家三等奖,是学院首次进入挑战杯国赛并获奖。 & & 时至今天2015年9月,由于实验工艺的需要,需要对原有电机转速进行改变,希望最终转速降低一些,这样每次甩胶后薄膜会厚一些。于是我又重新再柜子里翻出了铁牛单片机开发板,找出STC51单片机,再在硬盘里找到相关的文献资料,安装KEIL软件和单片机程序烧录软件。没想到两年之后很多东西都忘却了,不得不重新开始学习。最后终于把所有东西搞定了,但是期间遇到了几个问题,今天予以记录一下。 & & &问题1:Keil uVision软件的破解 & & &答案:安装好Keil软件之后,其实就可以用了,用一些小程序编译起来没有问题,但是一旦程序比较长了,编译之后就会出现:Program Size: data=8.0 xdata=0 code=16543LINK/LOCATE RUN COMPLETE. &0 WARNING(S), &0 ERROR(S)*** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED & &MODULE: &.HEXMAIN.obj (-----) & &LIMIT: & 0800H BYTESTarget not created & 这样的提示,上网一搜,说是因为软件没有破解。所以我在网上找如何破解的方法,这个其实不难,到处都能下载到,其实就是用这个注册机KEIL_Lic.exe。需要注意的是,记得选择 以管理员身份运行。 & & 问题2:最后我的KEIL软件破解之后还是出现上述提示,无法created Target. & & 答案:后来我终于把这个问题解决了,原因是尽然是我还在电脑上插着U盘和硬盘,而且我的软件或者一些工程是从硬盘里面考过来的,最后我除了开发板,U盘和硬盘都拔了,然后点击Rebuild all target files 就成功了。 & & &下面是我看得论坛里别人的类似经历:
转载本文请联系原作者获取授权,同时请注明本文来自廖付友科学网博客。链接地址:
当前推荐数:2
推荐到博客首页
评论 ( 个评论)
扫一扫,分享此博文
作者的其他最新博文
热门博文导读
Powered by
Copyright &查看: 5249|回复: 1
关于单片机的内存管理的一些问题
1、在我们经常使用的51单片机中,使用的Memory Address 的选项中有pData,xData,Data这三种选择&&我们知道xData 是外部的RAM的储存位置
2、但是关于stm32fxx系列的单片机就没有这么变态的做法了
3、具体介绍51单片机的内存方面的内容
关于51单片机内存问题,一直是个疑惑大家的问题,因为51单片机是个很另类的单片机。
下面我给楼主讲解一下:
51单片机之所以另类,是因为,他寻址内存的空间,不是靠总线,是用指令的方式。
51单片机有以下几个内存模块组成:
1】ROM或者Flash,叫程序存储区,你写的程序是存在这里面的,上电后从这里面执行。
& &程序存储区也分为片内和片外,一般来说,现在的51很多已经做到了64K,所以很少有外扩
& &片外Flash或者片外的Rom了,Flash或者Rom不管是片内还是片外的,只能用来定义常量,是用code来修饰,也就是说,用code来修饰的东西,在程序运行过程中,不能修改;
2】RAM有------内部RAM的低128位(00-7F),对应C语言就是data,比如我定义一个变量,
& && && && &&&data unsigned char Var = 0;
& && && && && && && && &那么,这个 Var变量就是放在内部的低128位Ram中
& && && && && &-------内部RAM的高128位(80-FF),对应C语言就是idata,比如我定义一个变量,
& && && && &&&idata unsigned char Var = 0;
& && && && && && && && &那么,这个 Var变量就是放在内部的高128位Ram中
& && &&&-------特殊功能寄存器(SFR)(80-FF),对应C语言就是Sfr比如我定义一个变量,
& && && && &&&Sfr unsigned char Var = 0x90;
& && && && && && && && &那么,这个 Var变量就是放在内部的特殊功能寄存器中,这是你对Var操作,相当于操作一个特殊的寄存器,但是小心,不能随便定义Sfr变量,很危险
& && && && &&&------外部RAM 64K(0000-FFFF)
& && && && &外部的RAM可以扩展到65536个,但是前256个算是一页,这一页比较特殊,是用
& && && && &pdata来修饰的,当然,也可以用xdata来修饰。
& && && && &除了第一页的256个以外的其他65280个空间,只能用xdata来修饰;
& && && && &回过头来讨论pdata和xdata,这两个都能修饰外部Ram的第一页,但是,Pdata只能修饰第一页,即最前面的256个外部Ram,那么,这最前面的256个到底用Pdata还是Xdata好的呢?
答案是Pdata,因为Xdata修饰的变量,用的是DPTR寻址,Pdata用的是R0和R1.DPTR因为是16位的,所以可以覆盖整个的64K外部Ram,R0和R1是8位,所以只能寻址最前面的256个,也就是外部Ram的第一页,但是,用R0寻址,比DPTR快一倍,代码也小的很多
楼主又疑惑了,好多地址是重复的,比如,我向80H地址写一个数值,单片机怎么知道读的是内部的高128位RAM?还是SFR?还是外部64K的RAM呢?
答案是用指令,如果是直接寻址,那么访问的就是SFR,如果是R0或者R1间接寻址,就是内部高128位RAM,如果是DPTR或者是R0,R1间接寻址,且配合的是MovX指令,那么就是访问外部64KRAM中的第80H个地址。
概括一下来说,51的内存由以下组成:
1----程序存储器(包括片内Flash或Rom,也包括片外Flash或Rom,C语言用Code定义)
2----内部低128位Ram,C语言用data定义
3---内部高128位Ram,C语言用idata定义
4---内部SFR,C语言用Sfr定义
5---外部65536个Ram(通常,很多单片机厂家不会给你扩展那么多的,一般来说扩展256个字节或者1024个字节就差不多了,最近宏晶的出了个扩展4096字节的。这65536字节的Ram,前256个可以用Pdata修饰,也可以用Xdata修饰,超过256个之后的,只能用Xdata修饰)
以上所说的只是针对51内核的单片机,其他内核的,像ARM之类的,不是这种结构的。
最后,回答楼主的问题:
片外存储区是什么?
这个问题太模糊,答案可以是外扩的Flash,也可以说是外扩的RAM,
如果问题是这么问的:
程序或者常量存储在片外存储区,这个片外存储区指的是什么?
答案是外扩F
如果问题是---变量存储在片外存储区,这个片外存储区指的是什么?
答案是外扩RAM;
一般来说,如果不指明的话,外内存储区,行业内人士指的是外部的Ram。
片内存储器是什么?是不是就是内部的E2PROM?
片内存储区一般来说,指的是内部的Ram,包括高128位(idata)和低128位(data)
片内存储器,这个说法我没听说过,可能是EEPROM
不知所云。这里和标题的内存管理没有关系。
Powered by两个单片机红外遥控同时按键接收端会冲突怎么处理?求大神指导
随机的信息发送间隔时间、多重发送自动竞争机制
加地址识别码
改变发射频率。
采用随机的信息发送持续时间、随机的信息发送间隔时间、多重发送自动竞争机制。
人的综合分
感谢您为社区的和谐贡献力量请选择举报类型
经过核实后将会做出处理感谢您为社区和谐做出贡献
确定要取消此次报名,退出该活动?

我要回帖

更多关于 单片机考研复试问题 的文章

 

随机推荐