STC8H学习笔记01 Bit操作

最近开始学习使用STC单片机来做项目,支持国产芯片,STC单片机的标准库大多已寄存器操作为主,入门成本比较高,需要加强这部分基础知识

1. 定义特殊寄存器

sfr IE   = 0xA8;
sfr IP   = 0xB8;
sfr SCON = 0x98; // 串口1控制寄存器
sfr SBUF = 0x99; // 串口1发送缓冲

使用sfr关键字定义特殊寄存器SCON 串口1控制寄存器

scon有8个BIt,是一个可寻址的特殊寄存器, 这里可以使用sbit来定义 0x98地址处的8位别名

0x98 ^ (bit_address)

/*  SCON  */
sbit SM0  = 0x9F;
sbit SM1  = 0x9E;
sbit SM2  = 0x9D;
sbit REN  = 0x9C;
sbit TB8  = 0x9B;
sbit RB8  = 0x9A;
sbit TI   = 0x99;  // 发送忙标识
sbit RI   = 0x98;  // 接收忙标识

2. 操作串口发送数据

void UartIsr() interrupt 4
{
    if (TI)
    {
        TI = 0;
        busy = 0;
    }
    if (RI)
    {
        RI = 0;
    }
}

void UartInit()
{
    SCON = 0x50;
    TMOD = 0x00;
    TL1 = BRT;
    TH1 = BRT >> 8;
    TR1 = 1;
    AUXR = 0x40;
    busy = 0;
}

void UartSend(char dat)
{
### STC8H单片机学习教程与入门资料 #### 开发板与源代码资源 STC8H系列单片机的启光开发板提供了一套完整的C51源代码,这些代码分为初级例程和进阶例程两部分。初级例程主要面向初学者,帮助理解和掌握STC8H系列单片机的基础功能及其编程方法[^1]。对于希望进一步提升技能的学习者来说,进阶例程则覆盖了更为复杂的场景应用。 #### 单片机特性概述 STC8H是一款无需外部晶振和复位电路支持的高性能单片机,在相同的运行频率条件下,其处理速度相较于传统8051架构提升了大约12倍。它具备宽电压范围、高速度、高可靠性以及低功耗的特点,同时还拥有较强的抗静电能力和电磁兼容性能[^2]。 #### 开发环境配置指南 为了顺利开展基于STC8H单片机项目的开发工作,需完成Keil集成开发环境的设置过程。具体而言,可以通过官方渠道获取适用于该型号芯片的支持库并将其导入至现有项目当中。此外还需注意的是,针对特定版本ISP工具软件同样不可或缺,这一步骤能够有效保障后续调试工作的正常进行。 #### 基础模块介绍 - **SPI 总线**: SPI协议定义了一个由四条线路组成的通信接口标准——即SCLK(时钟), CS (片选), MOSI(主机发送/从机接收), MISO (主机接收 / 从机发送)。其中任何一方都可以作为主动发起方来控制整个交互流程中的节奏变化情况[^3]。 - **UART 串口**: UART是一种异步通讯方式,用于实现两个设备之间的数据交换操作。它的帧结构通常包含一位固定的起始标志符,若干可变长度的有效载荷字节序列再加上可能存在的奇偶校验机制最后再附加结束指示器共同构成完整的消息单元[^4]。 - **GPIO 及 I²C 接口**: 在实际硬件连接过程中如果涉及到多台子节点间的协同作业,则往往需要用到双向半双工模式下的I²C总线技术方案。由于这种类型的链路设计允许共享同一组物理导体从而减少了布线数量需求量的同时也增加了系统的灵活性但是需要注意适当调整外围元件参数比如拉电流强度等因素的影响程度以便达到最佳效果表现水平[^5]。 ```python # 示例:简单的LED闪烁程序 #include <reg52.h> sbit LED = P1^0; void delay(unsigned int i){ while(i--); } void main(){ while(1){ LED = ~LED; delay(60000); // 调整延时时间以改变闪频 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值