单片机基础知识
我学会了做单片机
“叮铃铃”下课铃响了,我开心地来到了电脑房。刚走进电脑房,就看见老师手里拿着一块电路板,上面还有一些奇形怪状的电子元件。我好奇地问:“老师,这是什么呀?”“是Arduino的电路板。”我的脑海里冒出了一个个问题:“它用什么编程语言来控的呢?与Devc++语言类似吗?”……
上课时,老师告诉我们,这个电路板是用来唱歌的,以及如何编辑音乐让它唱歌;同时我们也将在二个月后参加比赛。回到家,我迫不及待地玩了起来,听着机器人唱着我编辑进去的歌,我沉醉在美妙的音乐中。可突然,机器人不唱歌了。这可把我急坏了,我立刻检查了所有的程序和接口,没有找到任何问题。赶紧翻阅起笔记,我看到电池的正常电量是10V-12V,我想到会不会是电池没电了?我立刻拿出电压表,插在端口上,“嘀嘀嘀”的警报声响了起来,果然是没电了,我知道电池电量低于9。5V报废,一身冷汗冒了出来,赶紧给电池充电。心里默默地告诉自己:千万不能得意忘形呀,要牢牢记住老师讲的注意点,电池一旦报废了就不能参加比赛了。
唱歌机器人,顾名思义就是放音乐的,它可以从低音dao到高音ci,分别用1-21代替,按次序写在一个一维数组a里。节奏也用数字代表,八分音符是一,四分音符是二……也是按次序写在一个一维数组b里,数组b中的数代表数组a中的音时长。美妙的音乐每天给我带来了愉悦的心情,练习编辑一段美妙的音乐成为每天回家后的一件乐此不疲的事情。在练习了很多遍后我已经把操作过程熟记于心。可是在第一次社团比赛时,我却被一个同学赶超了,他竟然比我快了将近一分钟,我暗下决心要超过他。因此我每天一做完作业就立刻打开电脑,反复计时练习。时间一天天地过去了,在一次次的社团比赛中,我渐渐地赶上了他,对比赛的自信心越来越强,而练习却不如刚开始那样勤奋了,此时的我忘了我的目标是要在比赛中取胜而不是仅仅是超过校内的伙伴。
终于到了比赛的时间,我信心满满地走进了考场。打开电脑,调出提前准备好的程序模板,检查设备……我目不转睛的盯着荧幕,时不时看几眼题目。整个教室里弥漫着紧张的气氛,每个参赛选手都紧张地做着题目。“好了!”我身后的一位女孩大叫一声,这一声大喊无疑让在场的每个参赛选手更加紧张起来,我的手心慢慢的渗出了汗水,身边越来越多的同学完成了答题,终于我也完成了,只听我也大喊一声:“好了!”一名裁判员老师走了过来,检查我的唱歌程序是否正确。可老师听完后对我说:“节奏不对!”这句话就像锤子一样敲在我的心上,我尽力调整状态后检查起了程序“四分音符,二分音符,八分音符……”我边检查边喃喃自语。终于我发现了错误后进行了改正,比赛任务完成了。
我垂头丧气地走出了教室,老师站在那里微笑着等待着所有的参赛选手并问大家:“参赛的感觉如何?”我沮丧地告诉老师:“我在平时的练习中只关注了速度,而忽视了节奏地练习,所以这次的比赛完成的时间大大落后于平时社团比赛完成的时间。”说完我的眼泪控制不住地落了下来。老师摸了摸我的头,语重心长地说:“一分耕耘一分收获!吸取教训,在以后的学习中要认真仔细加努力,相信你,在下次的比赛中会有成长的!”
最终在比赛中我获得的三等奖,尽管这是对我曾经的努力的认可,同时这个三等奖也时刻提醒我要努力耕耘,这样才能达到心里的目标。
学习单片机心得体会
时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。
俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。
虽然这次的课程设计算起来在实验室的时间只有三天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。
硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。
当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。
在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。
再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。
单片机知识点总结
1. 单片机由CPU、存储器及各种I/O接口三部分组成。
2. 单片机即单片微型计算机,又可称为微控制器和嵌入式控制器。
3. MCS-51系列单片机为8位单片机,共40个引脚,MCS-51基本类型有8031、8051和8751.
(1) I/O引脚
(2) 8031、8051和8751的区别: 8031片内无程序存储器、8051片内有4KB程序存储器ROM、8751片内有4KB程序存储器EPROM。
4. MCS-51单片机共有16位地址总线,P2口作为高8位地址输出口,P0口可分时复用
为低8位地址输出口和数据口。MCS-51单片机片外可扩展存储最大容量为216=64KB,地址范围为0000H—FFFFH。(1.以P0口作为低8位地址/数据总线;2.以P2口作为高8位地址线)
5. MCS-51片内有128字节数据存储器(RAM),21个特殊功能寄存器(SFR)。 (1)MCS-51片内有128字节数据存储器(RAM),字节地址为00H—7FH; 00H—1FH: 工作寄存器区;
00H—1FH: 可位寻址区; 00H—1FH: 用户RAM区。
(2)21个特殊功能寄存器(SFR)(21页—23页);
(3)当MCS-51上电复位后,片内各寄存器的状态,见34页表2-6。 PC=0000H, DPTR=0000H, Acc=00H, PSW=00H, B=00H, SP=07H, TMOD=00H, TCON=00H, TH0=00H, TL0=00H, TH1=00H, TL1=00H, SCON=00H, P0~P3=FFH
6. 程序计数器PC:存放着下一条要执行指令在程序存储器中的地址,即当前PC值或现行值。程序计数器PC是16位寄存器,没有地址,不是SFR.
7. PC与DPTR的区别:PC和DPTR都用于提供地址,其中PC为访问程序存储器提供地址,而DPTR为访问数据存储器提供地址。
8. MCS-51内部有2个16位定时/计数器T0、T1,1个16位数据指针寄存器DPTR,其中MOVE DPTR, #data16 是唯一的16位数据传送指令,用来设置地址指针DPTR。(46页)
定时/计数器T0和T1各由2个独立的8位寄存器组成,共有4个独立寄存器:TH1、TL1、TH0、TL0,可以分别对对这4个寄存器进行字节寻址,但不能吧T0或T1当作1个16位寄存器来寻址。即:MOV T0,#data16 ; MOV T1,#data16 都是错的, MOV TH0,#data; MOV TL0,#data是正确的。
9.程序状态字寄存器PSW(16页) (1)PSW的格式: PSW D7 D6 D5 D4 D3 D2 D1 D0 D0H
(2)PSW寄存器中各位的含义; Cy:进位标志位,也可以写为C。 Ac:辅助进位标志位。
RS1、RS0:4组工作寄存区选择控制位。
P为奇偶标志位:该标志位用来表示累加器A中为1的位数的奇偶数 P=1, A中1的个数为奇数; P=0, A中1的个数为偶数。
另:使用加法指令时,累加器A中的运算结果对各个标志位的影响: (1)如果位7有进位,则置1进位标志位Cy,否则清0 Cy; (2)如果位3有进位,置1辅助进位标志位Ac,否则清0 Ac;
(3)如果位6有进位,而位7没有进位,或者位7有进位,而位6没有,则溢出标志位OV置1,否则清0 OV。即只要位7和位6中有一个进位,而另一个没进位,OV就置1. 10. MCS-51指令系统的七种寻址方式,熟练掌握各寻址方式。(40页)。
10.访问MCS-51单片机中:(1)访问片内RAM应使用MOV指令; (2)访问片外RAM应使用MOVX指令; (3)访问程序存储器应使用MOVC指令。
11. MCS-51有5个中断源,2级中断优先级。5个中断源名称及其中断入口地址分别是什么?哪些中断源的中断请求标志位在响应中断时由硬件自动清除?那些中断源的中断请标志位必须使用软件清除?记住各个中断请求标志位,优先级标志位,触发方式标志位。(102页—108页)
前面4种都是硬件自动清0,串行中断必须使用软件清除,因为串行接收和发送共享串行中断,在中断处理中必须使用T1和R1判断串行接收还是发送中断。
单片机基础知识点总结
第1章
1、微型计算机通常由哪些部分组成?各有哪些功能
答:微型计算机通常由控制器、运算器、存储器、输入/输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序和数据;输入/输出接口电路完成 CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。
2、单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点
答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。
3、单片机的几个重要指标的定义。
答:单片机的重要指标包括位数(单片机能够一次处理的数据的宽度)、存储器(包括程序存储器、数据存储器)、I/O口(与外界进行信息交换)、速度(每秒执行多少条指令)、工作电压(通常是5V)、功耗和温度。
4、单片微型计算机主要应用在哪些方面
答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。
5、单片机的特点
存储器ROM和RAM严格分工;采用面向控制的指令系统;输入/输出端口引脚具有复用功能;品种规格的系列化;硬件功能具有广泛的通用性
6、水塔水位的控制原理
(1)当水位上升达到上限时,B、C棒与A棒导电,从而与+5V电源连通。b、c两端均呈高电平状态,这时应使电机和水泵停止工作,不再给水塔供水。(2)当水位降到下限以下时,B、C棒不与A棒导电,从而断开与+5 V电源的连通。b、c两端均呈低电平状态。这时应启动电机,带动水泵工作给水塔供水。(3)当水位处于上下限之间时,B棒与A棒导电,而C棒不与A棒导电。b端呈高电平状态,c端呈低电平状态。这时无论是电机已在运转还是停止,都应维持电机和水泵的现有工作状态,直到水位上升到水位上限或下降到水位下限。
第2章
1、MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么
答:MCS-51单片机在一块芯片中集成了CPU、RAM、ROM、定时/计数器、多功能I/O口和中断控制等基本功能部件。 1)单片机的核心部分是CPU,CPU是单片机的大脑和心脏。 2)程序存储器用于存放编好的程序或表格常数。数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。 3)定时/计数器实质上是加法计数器,当它对具有固定时间间隔的内部机器周期进行计数时,它是定时器;当它对外部事件进行计数时,它是计数器。
2 、MCS-51单片机的EA 、ALE和PSEN 端的功能是什么? 答:ALE——ALE为地址锁存允许信号,在访问外部存储器时,ALE用来锁存P0送出的低8位地址信号。 PSEN——外部程序存储器的读选通信号。当访问外部 ROM 时,PSEN 产生负脉冲作为外部ROM的选通信号;在访问外部RAM或片内ROM时,不会产生有效的PSEN信号。PSEN可驱动8个LSTTL门输入端。 EA ——访问外部程序存储器控制信号。对8051和8751,它们的片内有4KB的程序存储器。当EA 为高电平时,CPU 访问程序存储器有两种情况:一是访问的地址空间在 0~4K 范围内,CPU 访问片内程序存储器;二是访问的地址超出 4K 时,CPU 将自动执行外部程序存储器的程序。对于8031,EA 必须接地,只能访问外部ROM。
3 、MCS-51单片机的核心器件是CPU。它由运算器、控制器和布尔(位)处理器组成。
4、运算器是用于对数据进行算术运算和逻辑操作的执行部件。它包括:算术逻辑单元(ALU)累加器(ACC)程序状态字(PSW)暂存器B寄存器等部件
5、程序状态字寄存器PSW是一个8位寄存器,用来存放运算结果的一些特征。 Cy(PSW.7):进位标志位。AC(PSW.6):半进位标志位。F0(PSW.5):用户自定义标志位。RS1(PSW.4)和RS0(PSW.3):工作寄存器组选择位OV(PSW.2):溢出标志位P(PSW.0):奇偶校验标志位。
6、控制器是 CPU 的大脑中枢,它的功能是逐条对指令进行译码,并通过定时和控制电路在规定的时刻发出各种操作所需的内部和外部控制信号,协调各部分的工作,完成指令规定的操作。