51之C语言--初学51

sfr P0是啥意思?

P0 口的地址是 0x80


其中 sfr 关键字是 C51 特有的关键字,它用来定义变量和地址的对应关系。 如 sfrP0 = 0x80,意思就是:P0 口的地址是 0x80。 (0x80 是 C51 的写法,等价于汇编的 80H)

芯片共有44个引脚, 39个引脚

数码管:阴极控制显示的位置点亮,   阳极控制显示的内容

强 弱上拉的意思?

弱上拉电阻(弱的意思是电流很微弱,可进一步理解为上拉电阻的阻值很大)

1.  51单片机引脚结构  想输入数据

锁存器只能输出1   , 并且伴随电流微弱(驱动能力弱)

74HC245 是一个  双向  8路总线收发器,常用作驱动器

38译码器:C1  C2   C3 ,分别需要高 低低

P36     控制数码管      0才能使用  ,1不能

P34     控制Led   

注释参数介绍

@brief  :简介,简单介绍函数作用
@param  :介绍函数参数
@return:函数返回类型说明

补 :  LED 和 数码管  总使能 打开 信号

SMG_EN = 0; 亮  接的阴极

    LED_EN = 1;  亮

蜂鸣器 :感性的元器件都要接一个二极管 ,做一个 泄流的作用,防止烧毁元器件

循环控制次数,可以在声明变量,变量放到循环中,循环中 变量--

void Int_Buzzer_Buzz()
{
    unsigned char counter = 100;

    while (counter) {
        BUZZ = ~BUZZ;
        Com_Util_Delay1ms(1);
        --counter;
    }
}

中断 

中断系统使单片机能够实时响应外部事件,提高了系统的灵活性和响应能力。

中断系统术语:
1.中断源

中断源是指能够引发中断的事件。

STC89C52RC共有8个中断源,8个中断源可分为3类,3个类别分别是外部中断、定时器中断、串口中断,下面简要介绍每种类型。

外部中断   INT   四个

外部中断是指由单片机外部的紧急事件触发的中断,通过向单片机的特定引脚发送特定的信号触发。STC89C52RC共提供了4个外部中断引脚,分别是INT0,INT1,INT2,INT3,如下图所示。

INT = interrupt  (打断,中断)

 复用引脚!INTx

51单片机的外部中断支持两种触发方式,分别是低电平触发下降沿触发

(只要是低电平就一直触发,就算立马拉高也会触发好多次)

因此采用下降沿触发。

定时器中断   Timer    三个

定时器中断是指由单片机内部的定时器触发的中断。

定时器是大多数单片机都具备的一个功能模块,用于实现定时任务。其用法是,设置一个定时值,然后开始计时,待计时结束后,触发相应的定时器中断,开发者可以在中断服务程序中编写定时任务的逻辑。

STC89C52RC共有三个定时器,分别是Timer0、Timer1、Timer2,每个定时器都有一个相对应的中断。

串口中断  (收 发数据) 一个  

串口中断是由单片机串口触发的中断。

串口是单片机用于收发数据的重要接口之一,当单片机通过串口接收到数据或者发送完数据后都会触发相应的中断。

STC89C52RC的串口引脚为TxD和RxD,其中TxD用于发送数据,RxD用于接收数据,如下图所示。   T(transmit)  R(receive)

2.中断标志位

当某个中断发生时,相应的中断标位就会置为1 (是给CPU来看的)

3.中断服务程序

中断服务程序指处理中断的逻辑,当某个中断标志位置1时,CPU会自动执行相应的中断服务程序。

4.中断优先级

中断优先级是指在多个中断同时发生时,单片机响应中断的先后顺序,并且高优先级的中断可以打断低优先级的中断。

外部中断使用说明

1.启用中断

每个中断源是否被启用,是由单片机内部的两个寄存器控制的,这两个寄存器分别是IE(Interrupt Enable,中断允许)寄存器和XICON(Auxiliary Interrupt Control,辅助中断控制)寄存器。

2.可位寻址的意思是

设置寄存器,控制中断的开启和关闭,可按位 去设置 当前寄存器的 每一位值

不可位寻址期  需要八位 一起赋值

SFR (特殊功能寄存器)

​​​​​​​

IT (interupt type)触发类型(低电平或者下降沿)

IT0 = 1走下降沿    IT0 =0 走低电平

EA (Enable all)启动总开关

EX    (Enable  external  外部的)  启动外部的开关

ET (Enable Timer)启动 定时器 开关

3.中断相关的寄存器

51单片机的外部中断支持两种触发方式,分别是低电平触发下降沿触发。(中断标志位置1)

void INT0_Func() interrupt 0
{
    // 中断中打开LED0
    LED0 = ~LED0;
}

CPU要执行的外部中断程序

记住这种算法。

与非门有0出1

延时和定时器的对比:主函数

能用定时器就用定时器,能节省CPU的时间 宝贵资源!

延时会导致CPU空等着!

按键 需要考虑抖动  以及 消抖,  传感器不需要

补充:DIP(双列直插式封装)、SOP(小外形封装)

补充:发送一个字节,   二进制表示的方法,三元;

数码管上  二进制  的显示***:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值