实物1操作:stc8a单片机和普通51/52单片机的异同以及下载步骤(点亮一盏LED为例)

1、stc8a系列单片机,比普通的51/52单片机运行速度快;
stc8a单片机是1T单片机,普通的51/52单片机,比如stc89c82RC等单片机是12T单片机。
1T和12T单片机是什么意思呢?
是说,运行一条语句需要1个机器周期,或者12个机器周期。
什么是机器周期,类似比单片机的心脏跳动频率。是根据晶振决定的,晶振就是单片机的心脏,可以内部生成,也可以外部晶振。stc8a单片机可以内部产生,就省了外部晶振的成本了,当然稳定性没有外部晶振的高。普通的52单片机只能使用外部晶振,图中的Y2就是外部晶振。stc8a8k单片机使用内部晶振,那么需要设置成11.0592Mhz,默认是24Mhz,一定要进行修改。不然和我写的程序不一致,就不能用我写的函数了。
在这里插入图片描述
在这里插入图片描述

如果单片机的晶振是11.0592Mhz,那么周期是频率的倒数,那么周期约等于1微秒。
可以看到stc8a单片机运行某个语句需要1us,而普通52单片机需要12us。
当然,单片机跑得越快越好。功能越强大。

2、因此,*要注意。在网上找一些例程的时候,要注意延时时间,循环次数的修改,看是什么单片机,网上的例程多是普通的52单片机,如果用stc8a单片机,那么就进行修改就好了。
给两个,
普通的52单片机延时1ms的函数
void delay1ms(unsigned int tms)
{
unsigned int ix=0,iy=0;
for(ix=tms;ix>0;i–)
{
for(iy=0;iy<110;i++);
}
}
stc8a单片机延时1ms的函数(参考stc-isp下载软件)
在这里插入图片描述
//15
90=1350
void delay1ms(unsigned int tms)
{
unsigned int ix=0,iy=0;
for(ix=tms;ix>0;i–)
{
for(iy=0;iy<1350;i++);
}
}

3、要结合PCB图,原理图进行接线,程序编写,一定要对应起来相关的引脚。

4、stc8a单片机,需要在主函数内,加上端口初始化的语句,设置为双向口,直接照抄就好。
也可学习我的视频。
在这里插入图片描述

P0M1=0x00;P0M0=0x00;
P1M1=0x00;P1M0=0x00;
P2M1=0x00;P2M0=0x00;
P3M1=0x00;P3M0=0x00;
P4M1=0x00;P4M0=0x00;
P5M1=0x00;P5M0=0x00;
P6M1=0x00;P6M0=0x00;
P7M1=0x00;P7M0=0x00;

5、、、、、、、、、、、、、、
举例子下载一个程序,实现LED闪烁的效果。
(1)接线
下载器连接;必须接对,不然可能会烧毁单片机。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

LED灯短接帽的连接;
看到P00----D2的LED灯
P01—D3的LED灯。需要接跳线帽哦。不然线路不通。没跳线帽,就用杜邦线短接也可以。

在这里插入图片描述
3、编写程序。具体流程。
看视频,或者看郭天祥的书本,或者看金沙滩的书本pdf.
1、新建工程。
在这里插入图片描述
2,保存路径。和工程名称,自己设置。
在这里插入图片描述
3、选择芯片。at89c52,at89s51,at89s52都行。
在这里插入图片描述
4/在这里插入图片描述
5/x新建文件在这里插入图片描述
6、保存文件,文件名称可以设置自己设置,这里设置为led.c,注意后缀名是.c,是c语言文件。必须手动添加。
在这里插入图片描述
在这里插入图片描述
7、添加刚才的文件,到工程里面。看到工程列表中,有了c文件。添加成功。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8、生成头文件,是stc8a8k.h文件,可以在stc-isp中生成。保存成stc8a8k.h。也可在外部拷贝文件进去。
在这里插入图片描述
在这里插入图片描述
9、编程。

#include<stc8a8k.h>
//11.0592Mhz,stc8a单片机
//定义LED引脚,起一个贴切点的名字,共阳,低电平亮,高电平暗,看原理图
sbit LED0=P0^0;
sbit LED1=P0^1;
//延时函数定义,有这个工具,后面才能使用
void delay1ms(unsigned int tms)
{
	unsigned int ix=0,iy=0;
	for(ix=tms;ix>0;ix--)
	{
		for(iy=0;iy<1350;iy++);
	}
}
//*****************************************
void main()
{
   
	//端口模式初始化,准双向口,照抄
	P0M1=0x00;P0M0=0x00;
	P1M1=0x00;P1M0=0x00;
	P2M1=0x00;P2M0=0x00;
	P3M1=0x00;P3M0=0x00;
	P4M1=0x00;P4M0=0x00;
	P5M1=0x00;P5M0=0x00;
	P6M1=0x00;P6M0=0x00;
	P7M1=0x00;P7M0=0x00;
	//
	while(1)
	{
		LED0=0;
		LED1=0;
		delay1ms(1000);//同时亮1秒
		
		LED0=1;
		LED1=1;
		delay1ms(1000);//同时暗1秒
		
		LED0=0;
		LED1=1;
		delay1ms(1000);//一个暗,一个亮1秒
		
		LED0=1;
		LED1=0;
		delay1ms(1000);//一个暗,一个亮1秒
		
		
		
	}
	
}

10、勾选生hex文件。
在这里插入图片描述
11、编译,看程序有没有错误。
语法错误,逻辑错误。
有的话修改。
在这里插入图片描述
12,确认无误,就下载到单片机。
打开stc-isp软件。
连接下载器USB口。选择com口。
选择11.0592MHz频率。
在这里插入图片描述

检测MCU选项,会自动选择芯片型号。
在这里插入图片描述
选择刚才生成的hex文件,在工程保存的文件夹里面。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置好之后,就点击下载。
在这里插入图片描述
后面修改程序,然后再次编译,就可以直接点击下载,不用那么复杂进行前面的设置。不过要确保是11.0592MHZ晶振。

运行结果是。LED亮灭。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值