傻大方


首页 > 人文 >

『指令』从一个详细的实例来知道单片机编程,你照着做就行了



按关键词阅读:

『指令』从一个详细的实例来知道单片机编程,你照着做就行了
文章图片

文章图片

我们要想使单片机工作 , 就需要编写程序 , 再将程序写入单片机 , 单片机在程序的控制下工作以完成指定的任务 。没有程序的控制 , 单片机就无法工作 。那么如何编写单片机程序呢?
1.从一个实例初步了解编程
『指令』从一个详细的实例来知道单片机编程,你照着做就行了
文章图片

文章图片

上面这张图所示是一个边长为100m的正方形跑道 , 有一个人(称作甲)处于A点 , 如果要让甲到达B点 , 可以执行如下的程序:
?起点 前进 50m
左转
前进 100m
左转
前进 50m
【『指令』从一个详细的实例来知道单片机编程,你照着做就行了】结束
甲逐条执行程序中的命令:先前进 50m , 左转 , 然后前进100m , 左转 , 再前进50m , 结束 , 就可以到达B点 。如果将上述程序改成:
起点 前进 50m
左转
前进 100m
左转
前进 50m
返回到 起点
结束
甲执行上述程序中的命令时会怎样呢?当他执行到第5行命令时 , 会到达B点 , 接着执行第6行命令 , 该命令使他又返回到起点(标号) , 甲于是又会执行第1行指令……由于执行到第6行的指令时又会返回执行第1行的命令 , 永远执行不到结束命令 , 所以 , 如果甲执行上述程序 , 就会不断在A、B点之间反复运动 , 不会停止 。如果只要求甲在A、B点之间往返3次 , 上述程序应如何编写呢?读者可以思考一下 , 在后面的章节将会讲到这个问题 。
2.分析一个单片机汇编语言程序
『指令』从一个详细的实例来知道单片机编程,你照着做就行了
文章图片

文章图片

从前面的介绍初步了解了编程思想后 , 再来分析用到的汇编语言程序 , 程序如下:
MAIN:MOVP3 , #0FFH
LOOP:MOVP1 , P3
LJMPLOOP
END
为了更好地理解上面的程序 , 下面对照图所示的单片机应用电路来进行讲解 。
『指令』从一个详细的实例来知道单片机编程,你照着做就行了
文章图片

文章图片

第1 行指令“MAIN:MOV P3 , #0FFH”的含义是将数据11111111(0FFH)送到P3 端口的8个寄存器 , 让P3端口的P3.0~P3.7这8个引脚全部为高电平 。
“MAIN:”为标号 , 表示该行为主程序开始 , 这里也可省略 , 并不影响程序的运行;“MOV”为数据传送指令;“P3”表示单片机P3端口内部的8个寄存器;“#0FFH”中的“#”号表示它后面的“0FFH”是一个数据 , 而不是地址编号 , “0FFH”是一个十六进制数 , 转换成二进制数就是11111111 。
该行指令运行后 , 图中的单片机P3.0~P3.7这8个引脚内部的寄存器全部为高电平 , 相应的这8个引脚也为高电平 。
第2行指令“LOOP:MOV P1 , P3”的含义是将P3端口8个寄存器中的数据送到P1端口的8个寄存器中 。
“LOOP:”为标号 , 用来标识指令“MOV P1 , P3” , 由于该标号后面的指令会被调用 , 所以不能省略 。
由于第1行指令已经让P3端口8个寄存器内的数据全部为“1” , 执行“MOV P1 , P3 ”指令后 , P1端口8个寄存器内的数据也全部为“1” , 单片机的P1.0~P1.7这8个引脚全部为高电平 , 故发光二极管VD1~VD4全部不亮 。
第 3 行指令“LJMP LOOP”的含义是返回执行标号LOOP所在行的指令 。也就是说 , 当执行到该行指令后 , 又会返回去执行第2行指令“MOV P1 , P3” , 即不断将 P3 端口 8 个寄存器中的数据送到P1端口的8个寄存器中 。分页标题
第4行指令“END”的含义是程序结束 。由于执行到第 3 行指令时会自动返回执行第 2行指令 , 所以无法执行到第4行指令 , 即程序无法结束 。
将上面的汇编语言程序汇编成机器语言程序并写入单片机后 , 在程序的控制下 , 单片机内部电路不断将P3端口8个寄存器中的数据送给P1端口的8个寄存器 。
图示的单片机应用电路的工作过程分析如下 。
在没有按下任何按键时 , P3端口8个寄存器的数据都为“1” , 所以P1端口8个寄存器的数据也为“1” , P1.0~P1.7这8个引脚都为高电平 , 发光二极管VD1~VD4全部不亮 。
若按下S1按键 , P3.2引脚变为低电平 , P3.2端口内部寄存器的数据变为“0” , P3.7~P3.0端口的数据分别为11111011 , 在第2条指令的控制下 , 这些数据被送到P1端口 , P1.7~P1.0端口的数据分别为11111011 , 其中P1.2端口的数据为“0” , P1.2引脚为低电平 , 于是它外接的发光二极管VD1有电流通过而发光 。
如果松开S1按键 , P3.2引脚变为高电平 , P3.2端口的“1”送到P1.2端口 , P1.2引脚为高电平 , 其外接的发光二极管VD1截止而不亮 。


    来源:(天涯孤星)

    【】网址:/a/2020/0518/1589764658.html

    标题:『指令』从一个详细的实例来知道单片机编程,你照着做就行了


    上一篇:[带货]动则几十万元!这场“直播带货”上的嘉定“土特产”凭啥卖辣么贵?

    下一篇:虎扑斯帕莱蒂:我等不及回到教练岗位;佛罗伦萨很棒


    人文

    [边界]荷比卢三国疫情继续趋缓 卢德边界重新开放

    阅读(19)

    比利时国度公共卫生研究所16日宣布公报说,以前24小时比利时新增确诊病例345例,累计确诊54989例;新增逝世亡病例46例,累计逝世亡病例冲破9000,达9005例。新增住院人数65人,今朝正在住院的患者有1750人,个中364名患者处于重症监护中。新增确诊病例数、新...

    人文

    『』丹东反恐支队把基层真正的需求当做头等大事

    阅读(39)

    问需于平易近,当好“收集员”。保持做到登门到户、见人见事察实情,重点懂得治安治理、基层基本、等方面存在的问题和脆弱环节。结合发案情况向群众现场讲解,开展“向人平易近群众申报工作”晃荡,宣传防备常识。据统计,已累计开展晃荡17场次,访问群众300...

    人文

    摄影师磐石摄影的普及,是否正在摧毁我们的审美

    阅读(21)

    本文插图 【文中除注明出处外的所有图片均由作者持有版权 , 请勿擅自使用】 【百度百科】:审美是人类理解世界的一种特殊形式 , 指人与世界(社会和自然)形成一种无功利的、形象的和情感的关系状态 。 摄影随着时代的发展 , 开始变成了大多数人的文化行...