
急求电子秤的单片机程序,只要能显示重量就好
【已更新】你需要根据设定的AD转换器的增益配置A(a通道:128,64;还是:32),电路外加的Vref就是满刻度的对应电压,以及传感器的转换系数K(Kg\\\/V)。
读取到Weight=Reount();\\\/\\\/查询方式获得值。
这个数值X应该等于Vin*A\\\/Vref*0x1000000。
(Vin是传感器电压,A是增益,Vref是参考电压,满量程是0x1000000)求解出Vin。
再乘以系数K,就可以得到实际重量了。
之前,没有仔细看AD。
现在主要是24位的格式,对符号位怎么表达的,还需要调试中确认。
谁可以帮忙,用单片机语言,编写简单的电子秤程序,咱实在木有办法了请大家帮帮忙把,偶这里有电路图的
你这个应该是毕业设计的作业吧 我知道个人代做的
单片机汇编语言总结{越完整越好}
一般我们现在用的比的是MCS-51的单,它的资料比较多,用的人也很多,市场也。
就我个人的体会怎么样才能更快的学会单片机这门课。
单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。
由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。
至于看书,只需大概了解单片机各管脚都是干什么的
能实现什么样的功能
第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。
所以我总是说,学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。
推荐一本书,就这一本就足够,书名是《新编MCS-51单片机应用设计》,是哈尔滨工业大学出版社出的的,作者是张毅刚。
大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,这就差不多了。
如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。
只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。
方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。
对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。
而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。
有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。
做电子类的人真的会上瘾。
然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。
就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用,你自己好好想想,上了这么多年大学,天天上课,你在课堂上学到了什么
是不是为了期末考试而忙碌呢
考完得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是
你学到什么了
但是我告诉你单片机一旦学会,永远不会忘了。
另外我再说说用汇编和C语言编程的问题。
很多同学大一二就开设了C语言的课,我也上过,我知道那时天天就是几乘几,几加几啊,求个阶乘啊。
学完了有什么用
让你用C语言编单片机的程序你是不是就傻了
书上的东西我们必须要会运用。
单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。
汇编写程序代码效率高,但相对难度较大,而且很罗嗦,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的ROM也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料又多又好找,将来可移植性非常好,只需要变一个IO口写个温度传感器的程序在哪里都能用,所以我劝大家用C语言。
总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志,那学个单片机来说就是件非常容易的事。
步骤:1.找本书大概了解一下单片机结构,大概了解就行。
不用都看懂,又不让你出书的。
2.找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书。
(我当初就买了中国开发板网一个单片机开发板,网址如下:)3.自己网上找些小电路类的资料练习设计外围电路。
焊好后自己调试,熟悉过程。
4.自己完全设计具有个人风格的电路,产品。
「知无不言.言无不尽.百人誉之不加密.百人毁之不加疏.」-- 诸葛廷栋
单片机制作电子秤
HX711用这个型号的传感器吧,几块钱而已,买模块也是十几块做毕业设计就做毕业设计,给女朋友做秤不是找死
学期末了老师让写一篇单片机学习心得,哪位大神可以帮帮我
单片机是一门应用性和综合性很强的学科,它综合了电子技术中的和数字电路方面的知识,特别是数字电路,因为数字电路在里面的应用很多。
学习单片机最好先从入手,虽然是,编程效率低,但它比C语言占用内存小,执行速度快等优点,在刚接触单片机时更容易学习。
由于单片机涉及的知识很多,所以我们只能循序渐进的学习,逐步的积累,没有什么捷径可循。
刚开始学习的时候,对单片机没有什么认识,不知道什么是单片机,更不知道它有什么作用。
通过学习才大体知道了单片机的一些知识。
由中央处理器CPU、RAM、只读存储器ROM、、定时器\\\/计数器以及串行通信接口等集成在一块芯片上,构成了一个单片微型计算机,简称为单片机。
它的应用范围很广,在工业自动化中应用有数据采集、测控技术。
在智能仪器仪表中应用有、数字信号源、、感应电流表,自动取款机等。
在消费类电子产品中应用有洗衣机、电冰箱、空调机、电视机、微波炉、手机、IC卡、设备等。
在通讯方面应用有调制解调器、、手机、等。
在武器装备方面应用有飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。
学习单片机要投入大量的时间,如果只想速成,几乎是不可能的。
由于单片机涉及的知识面很广,不可能在朝夕间就学会,只能一点点的积累。
不积跬步,无以至千里。
只有当你一步步去学习、去积累之后,你的单片机水平才会提高。
学习过程中还要注重理解,要逐渐养成自己的编程思路,在编程过程中还要注意细节问题,如果因为粗心大意将程序写错,将会无形间给自己带来更大的工作量,随着学习的深入,我们编写的程序将越来越长,如果出现很多错误,在改错时将会很麻烦,出错越多你改的时间将会越长,就会无形间给自己带来更多麻烦 。
单片机(micro control unit)是一种集CPU、RAM、ROM、I\\\/O、中断、定时\\\/计数等功能为一体的完整的计算机,只需外加主频振荡器和电源,灌入应用程序就可以实现一定的功能。
单片机的的应用特点是“面向测控”。
因此,它必须有强力的信息处理、检测、控制的功能。
学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编指令系统或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。
一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中 ,连连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各 器件之间的工作必须相互协调?所以就需要的连线就很多了,如果仍如同模拟电路一样 ,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引 入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线 上,即相当于各个器件并联起来,但仅这样还不行,如果有两?器件同时送出数据,一 个为0,一个为1,那么,接收方接收到的究竟是什么呢
这种情况是是不允许的,所以 要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有 多个器件同时接收)。
器件的数据线也就被称为数据总线,器件所有的控制线被称 控制 总线。
在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配 地址,才能 用,分配地址当?也是以电信号的形?给出的,由于存储单元比较多,所以 ,用于地址分的线也较多,这些线被称为地址总线。
二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的─数字,或者说都是?串‘0’和‘1’组成的序列。
换言之,地址、指令也都是数据 。
指令由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的 一一对应关,不可以由 单片机的开发者更改。
三、P0口、P2口和P3的第二功能用法 初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间 要有个切换的过程,或者说要有一条指令,事实各端口的第二功能完全是自动,不需要指令来转换。
如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I\\\/O口 时,它们挥作第二功能,不能作为通用I\\\/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3. 或P3.7送出,不需要事先用指令说明。
事实上‘不能作为通用I\\\/O口使用’也并不是‘不能而是(使用者)‘不会’将其作为通用I\\\/O口使用。
你完全可以在指令中按排一条S ETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么做,因为这通常这会导致系统当溃(即死机)。
四、程序的执行过程 单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000,所以程序总是从‘0000’单元开始执行,也就是说:在系统的ROM中一定要存在‘0000’个单元,并且在‘0000’单元中存放的一定是一条指令。
五、堆栈 堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特的数据传输指令,即‘PUSH’和甈OP,有一个特殊的专为其服务的单元,即堆栈指针SP 每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值基础上)动减1。
由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP值,就可以把堆栈设置在规定的内存单元中,如在程序开始时?用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。
一般程序的开头总有这么条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元 开始往后8H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的浑乱六:中断当单片机应用于测控系统时,实时性就显得特别重要了。
而中断技术就是处理这种实时性要求高的场合。
单片机的特点是一段程序反复执行,程序中每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。
要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。
中断功能是需要合理控制的,在使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。
中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情。
这就是中断功能的强大之处。
七:汇编语言与C语言 汇编指令有自己的一套繁琐的指令系统,不容易熟练掌握,编写程序不得不注意硬件细节。
相对于C语言,汇编语言也有不可忽略的优势,就是在某些特殊场合需要高效的,占用存储空间小的地方。
但随着技术的发展硬件的限制越来越小,C语言比较好理解,通用性和可移植性都很不错。
也不用记专门的指令集合来,所以我还是比较倾向于用C编写程序的 接触单片机已经有一段时间了,我感觉自己动手学习编写程序,调试然后在开发板上做学习的很快,看到自己看到的结果通过自己亲手做出来的感觉很有成功感。
有时候单片机的学习很单调,有些知识学起来很抽象,不容易理解,只能慢慢适应,一边学习理论知识,一边编写程序,将程序刷入单片机进行调试,通过这种方式才能更快速的学习单片机。
同时也会从学习中体会成功的喜悦。



