本文主要是介绍STC8H8K64U教程(摸鱼版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
注:所有实验现象均有视频
嗯 开发板呢 是stc的开天斧三,没有做任何改动
stc8h8k64.h为使用stc isp自动生成的
还有一点很重要的,,,嗯,就不说了
1.流水灯
#include "stc8a8k64d4.h"void main()
{ unsigned int i=0;unsigned char cnt=0;P2M0=0x00; P2M1=0x00;while(1){P2=(~0x01<<cnt);//全亮cnt++;for(i=0;i<60000;i++);if(cnt>8)cnt=0;
// P2=~(0x01<<cnt);//单个
// cnt++;
// for(i=0;i<60000;i++);
// if(cnt>8)
// cnt=0;}}
1.1单个led的流水灯
1.1全亮的led
区区一种怎么行,多来几种,,,有空吧
2.定时器2&中断
现象嗯,led闪烁,1s一次哦
/*stc8h8k64u,T2定时器为固定的16位自动重装*/
#include "stc8h8k.h"sbit led=P2^0;void main()
{ P2M1=0x00; P2M0=0x00;AUXR |= 0x04;//T2 1T模式T2L = 0xCD;//波特率115200T2H = 0xD4;AUXR |= 0x10;// T2定时器开始计时 EA=1;IE2=0x04;//T2中断while(1);
}
void T2interrupt() interrupt 12
{ static unsigned int cnt=0;cnt++;if(cnt>1000){cnt=0;led=!led;}
}
3.串口1:接收到数据,自动加一,发送出去
别忘了使用串口调试助手查看现象哦,肉体凡胎是开不到的哦
//uart下载使用的是P30,P31,即使P_SW1|=0x40;//串口功能脚选择位3.6-rxd,3.7-txd,仍然下载使用的是P30,P31,,,但是数据只在3.6-rxd,3.7-txd
#include "stc8h8k.h"//此种方法来自数据手册但是实测无法使用//#define brt (65536-(fosc/115200+2)/4) //定时器重载值
//此种方法来自数据手册但是实测无法使用//#define fosc 24000000UL //系统时钟频率void main()
{P3M1=0x00; P3M0=0x00;//准双向P_SW1|=0x40;//串口功能脚选择位3.6-rxd,3.7-txdSCON|=0x50;//模式1可变波特率8位数据方式,允许串口接收数据AUXR|=0x40;//T1-1T模式 AUXR&=0xFE;//T1为波特率发生器 AUXR默认为0000 0001 与操作第一位为0,即定时器1为波特率发生器TMOD&=0X0F;//模式1,16位自动重装
//此种方法来自数据手册但是实测无法使用// TH1=brt;
//此种方法来自数据手册但是实测无法使用// TL1=brt>>8;TL1 = 0xCC; //此为设定波特率24m时,115200TH1 = 0xFF; TR1=1;//打开T1ET1=0;//关闭T1中断ES=1;//串口1中断使能EA=1;//总中断使能}void T1interrupt() interrupt 4
{ if(RI){RI=0;SBUF=SBUF+1;}if(TI){TI=0;}
}
这篇关于STC8H8K64U教程(摸鱼版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!