单片机考试压轴题代码深度解读---献给正被单片机QJ的你

为何我的心口,隐隐作痛?因为,我要考单片机

开篇语

在我复习的不可自拔的时候。突然想起,简书的单片机版块~~好吧,根本就没有这个版块,但是我想写点关于单片机相关的东西,让大家见识到这个生活中隐藏在我们各种各样机器内的核心器件。也是很多点子物品的灵魂所在。当然,不是科普单片机。其实,好吧,这就是我复习的时候写一点笔记。。。下周三就考试了。我还是很慌的,所以把自己的一些思绪理清,正好简书是个不错的记笔记的好家伙~~~嘿嘿嘿~~所以,就有了这个了。待会投稿都不知道投到哪儿去~。不过,如果你正在被单片机苦苦折磨,最后一道大题想不清楚怎么搞,那么,我这篇笔记一定可以帮到你的。。

题目

这是我复习的第一套试卷的最后一题,难度杠杠滴
这是第一题的题目配套的图片,也是8051单片机的一个扩展电路

接下来让我逐条解读,做好笔记~~

题目答案

       ORG 0000H
       AJMP MAIN
       ORG 000BH
       LJMP TIMER0
       ORG 0030H

一堆伪代码,还有无条件跳转指令。为的,是在对的时间,遇到对的中断,把它带到对的地方,其中MAIN是主函数,属于预备阶段;TIMER0是中断到来之后执行的中断服务程序~


MAIN:  MOV SP,#60H     %初始化堆栈地址
       CLR RS1         
       CLR RS0
       MOV R0,#100   %由R0计数,一百次读入两个数值并且求平均
       MOV R1,#0     %记录最小值是一百次中的第几次
       MOV R4,#0FFH           %存入最小值的初值     
       MOV R5,#0           %最小值低字节的地址记录
       MOV TL0,#30H      %%
       MOV TH0,#0F8      %%
       MOV TMOD,#21H      %% 这个是定时器,由计数原理算出来的初值赋值,对了是定时方式一 16位定时器
       SETB ET0   %%
       SETB TR0     %%
       SETB EA        %% 开中断控制位
       SJMP $         %预备工作完毕,等待中断到来
TIMER0:PUSH ACC     %%
       PUSH PSW        %%
       PUSH DPH        %%
       PUSH DPL       %%保护现场
       CLR RS0     
       CLR RS1
       MOV DPTR,#2000H      %%
       MOVX A,@DPTR       %% 读入第一次读数的其中一个数,地址是2000H 对应74LS245
       MOV R2,A     %把读入的数据存入R2寄存器
       MOV DPTR,#4000H    %%
       MOVX A,@DPTR        %%读入第二个数据
       ADD A,R2    %读入的两数相加
       RRC A      %%右移A ,等同于A/2  即为求均值
       MOV DPH,#10H    %% 
       MOV DPL,R1         %%将DPTR指针指向1000H 即6264中的一个地址
       MOVX @DPTR,A   %将第一次求得的均值存入6264指定地址
       MOV R3,A       %保留此次求得的均值,以便与下一次读入的数据的均值进行比较
       CLR C         %清除Cy 为后面的计算做准备
       SUBB A,R4     %把第一次求得的均值与初始化的最小值(0FFH,这他么其实是最大的,后面随便来个数都会顶替掉的)进行比较(比较方式是使用借位减法,使用起对Cy的不同赋值来判定那一个数大)
       JC T0A         %如果一开始的数大(即Cy=1),那么直接跳转到T0A
       MOV R4,03H    %如果求得的均值大,那么Cy=0,进行这一步,就是用R3(03H其实就是R3的地址)种存储的本次求得的均值替代掉原来R4中存储的最小值
       MOV R5,01H      %然后把R1(01H)中的地址赋给R5
T0A:   DEC R0     %上面不管是直接跳过来还是经过几步再过来,反正都会过来,R0=R0-1 代表接受数据一次
       INC R1    % R1=R1+1 代表均值存储地址变为下一个地址
       MOV A,R0       %取得求均值进行的次数
       JNZ T0EX        %判断A是否等于0,等于0则直接往下走,不等于0就跳转到T0EX
       MOV DPTR,#2000H    %运行到这儿就代表着A(也就是R0计数器为0了)等于0,运行了一百次,那么,接下来就要输出了,这一句的意思是把输出地址定位为1#74LS373
       MOV A,R5     %由上面的中断服务程序的最后,可以知道,R5是记录最小值的低字节地址,也就是R0的,只有在新求的均值小于上一步求出来的均值的时候,才把下一步的均值放到R5种存储,这样R5种存储的永远是最小值的地址,此时取出R5中的地址数据
       MOVX @DPTR,A   %输出最小值低字节地址数据      
       MOV DPTR,#6000H   %%
       MOV A,#10H       %% 
       MOVX @DPTR,A      %%将最小值高字节地址输出到2#74LS373
       MOV R0,#100         %%
       MOV R1,#0     %%
       MOV R4,#0FFH      %%再次对计数器,最小值,最小值低字节地址,最小值进行初始化,准备下一步的运行
T0EX:  POP DPL   %%
       POP DPH     %%
       POP PSW     %%
       POP ACC     %%
       RETI        %%恢复现场,进入中断前的主程序,也就是SJMP那一段的PC所指地址
       
绝望的怒吼

整整61行代码。而且我们的单片机试卷还有两个这种压轴题,还有不少的小题和大题,当然比起这个不值一提。。绝望~~但还是要学习~!!!

天绝地灭版的笑声

不多废话了。刚刚是学得累了。玩会电脑补充下战斗力,现在,继续与单片机斗争,看是谁QJ谁!!

战场一角!!!!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • Microcontrollers 1.单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模...
    yansicing阅读 975评论 0 4
  • 在这思绪万千的时光里,我的爱幸福地在笔尖上行走,点点墨香融进了秋意浓郁的细雨里。听雨轻轻的拍打着枝叶,看天上云动风...
    大人不好了阅读 299评论 0 1
  • 前几天一直哭诉自己不能好好管理时间,于是重读《把时间当作朋友》这本书,又一次读又有不同的新的感受,并且觉得作者写的...
    周兴哲阅读 201评论 0 3