目录
用Proteus设计一单片机最小系统,功能自定义,分别用汇编语言和C51语言实现同一功能。
前言
这个学期安排了嵌入式学习的课程,使用汇编语言,用Proteus8+keil5形式进行知识学习的巩固。老师安排了几个作业,在上网查找资料的时候查不到很多关于汇编编写使用的资料(也可能是我不太会查),所以想着把作业写下来记录一下,希望能给一些和我一样刚入门的朋友们提供一些参考。
一、作业一要求
用Proteus设计一单片机最小系统,功能自定义,分别用汇编语言和C51语言实现同一功能。
二、完成过程及分析
1.分析
能使单片机正常工作的最小硬件单元电路,就叫单片机最小系统,由电源、晶振和复位电路构成。实现同一功能我选择实现点亮1个LED灯。因为主要是对汇编的内容所以就不用C51语言写啦。
1.电路搭建
这里的复位电路我选择手动复位电路,还可以使用上电自动复位。为了实现LED灯的点亮,所以在P1.7的I/O口接了一个LED灯。
2.程序分析
上电后引脚处于高电平状态,若要使电路导通需将P1.7口置为低电平。可直接对P1.7进行位操作。
CLR P1.7;将P1.7口置零
2.代码实现
汇编代码如下:
ORG 0000H ;程序起始地址
AJMP START ;绝对跳转到标号为START的指令行
ORG 0030H ;
START:CLR P1.7 ;将P1.7口置零
END ;结束汇编
为什么从0030H开始的原因是 0030H 之前的一段地址空间要作为各中断源所对应的中断服务程序入口地址用。习惯写ORG 0100H也没有问题,看个人习惯吧。
实现结果:
总结
这些就是作业一的大体内容与思路了,我也是刚刚开始接触单片机的学习的,要是发现帖子里有什么不对的内容欢迎指正,谢谢!也希望大家能够一起交流学习呀。