找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15029|回复: 0
收起左侧

简单的单片机初学流程(一个实验板的教程分享)

[复制链接]
ID:853928 发表于 2020-12-3 18:16 | 显示全部楼层 |阅读模式
任务:把实验板上的任意一盏灯点亮。
目的:了解单片机基本工作原理,对指令控制硬件有初步认识。
今天我们开始51单片机学习的第一课,我们先从最简单的学起,为了能更直观地了解到指令对硬件的控制,我们会采用汇编语言进行讲解,以便使初学者更容易理解,建议大家在看过课程后,都实际自己在实验板进行操作。 这里,我们先假定大家已经清楚KEIL的建立工程项目和进行程序编译的方法,如果有不明白的,可以下载KEIL使用教程,这里就不重复讲述如何使用KEIL。 另外,我们也先假定大家已经清楚如何将编译生成的HEX文件烧录到STC芯片里。这里讲课不按传统教科书方式进行,而是按实际需要,用到才学。所以一些基础的知识,以后会逐步在课程里讲述。首先,我们看看实验板的电路图。
51hei.png
由图中可以看出,单片机的P0口8个IO每个均接有一只LED发光二级管及串有一只电阻到电源正极,而我们的目的就是要把LED点亮,显而易见,只需要把我们的P0口相对应的IO口写成低电平,LED就可以通电工作。 在51单片机里,上电后,芯片复位后其所有引脚均是高电平,因此,正常状态下,通电后,LED是不发光的,因此,我们需要用一个指令,使这个引脚变为低电平,(知识点:数字电路里,只存在二种状态,0和1,一般用高电平表示1,低电平表示0。) 我们在KEIL里建一个项目,写入如下的语句:
51hei.png

好了,编译,生成HEX文件,下载到我们的实验,怎么样,灯亮了吧。 这里起作用的就是 CLR P0.0这一条语句,它的作用就是把P0.0端口写成低电平,相对应的语句是SETB P0.0,它的作用刚好相反,是把P0.0写成高电平,同理,我们可以很容易知道,如果要控制其它端口,只要更换P0.0为其它端口名即可。 ORG语句在汇编里作用只是用来告诉编译器,定位到某个地址放置跟着的代码。因为上电复位了,单片机总是从地址0000H开始执行的,所以,在开始地址,我们放上一跳转指令AJMP ,它是无条件跳转到指定的地址,为什么要跳转到100H?这个留在讲中断时再讲。 关于AJMP $,是指跳转到本行,也即是单片机执行到这里,会不停地在本行循环,不会再往下执行,一般放程序后面,使单片机执行到这里就停在这里。 好了,到这里,大家都应该明白怎么把一盏灯点亮了吧。看似神秘的单片机就是这么简单,它的引脚,要么是高电平,要么低电平(P0口有点特殊,这个留待以后再讲)。我们要做的,只不过是编个程序,控制引脚在适当的时候按我们的意愿去输出高电平或者低电平,仅此而已。大家尝试一下,把其它的灯也点亮。

第二课 闪动的灯
任务:使把实验板上的任意一盏灯闪动起来。
目的:学习延时程序,对MCU执行时间有个初步概念。
今天,我们来学习第二课——闪动的灯。上一课,我们已经把实验板上的灯点亮了,同时学习了CLR、SETB语句,同时,我们知道了,只要把端口电平写为低或高,即可使该端口上的LED亮或者灭。今天,我们就要让这个灯闪起来。我们在KEIL里建一个项目,写入如下的语句:

简单的单片机流程

简单的单片机流程


完整的Word格式文档51黑下载地址:
实验板教程2014.doc (2.48 MB, 下载次数: 8)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表