点亮LED和数码管

一、单片机预备知识
(1)、单片机
定义:在一片集成的电路芯片上集成微处理器,储存器、I/O接口电路,从而构成单芯片微型计算机,简称单片机
(2)、单片机内部资源三大指标
1、FLASH (ROM、相当于硬盘)
2、RAM (数据存储器、速度快于RAM)
3、SFR (特殊功能寄存器)

STC 89C52资源
8K FLASH    512字节RAM    32个I/O接口    3个定时器    1个UART(串口)    8个中断源

二、keil软件
1、新建项目:
Project---->New uversion project---->保存---->(自动跳出选择项)芯片选择AT89C52/C51/C55---->跳出选项:copy start up……选择‘是’,该作用是初始化C51内部寄存器地址
2、新建文件:
点击左上角空白页的图标(新建文件)---->保存,后缀名加.c(要注意一个.c一个文件夹,文件夹中同时包含该.c文件中的函数声明)---->右击Sorce Flie Group1---->Add files to Group1

单片机最小系统由四大部分组成:单片机、电源电路、晶振电路、复位电路

三、点亮一个LED发光二极管
1、加10K电阻
2、一般电流3~5mA


3、在单片机的连接电路中:


4、写程序
1、一般包含#include <reg52.h>,该头文件包含寄存器地址
2、写main函数
1>一般要有while(1)
2>P1 = 0x0;    //P1为第一个I/O口,对整组I/O接口赋值
3>编译:左端三个
4>编译结果:date = 9.0因为堆栈初始化时占用内存
5>点击小魔术棒按钮,将Xtal(晶振)改为12,Output选项卡将create Hex File勾选
6>烧写程序:STC-ISP

5、delay函数:
1>微妙级函数:
void delay_us(unsigned char t)
{
    while(--t);    //注意是--t
}
2>毫秒级函数
void delay_ms(unsigned char t)
{
    while(--t)     //注意是t--
    {
        dealy_us(245);
        dealy_us(245);
    }
}
3>秒级函数
void delay_s(unsigned char t)
{
    unsigned char i;
    
    for(i = 0; i < t; i++)
    {
        delay_ms(200);
        delay_ms(200);
        delay_ms(200);
        delay_ms(200);
        delay_ms(200);
    }
}

四、让LED闪烁
void main()
{
    P1 = 0xff;        //让灯quanmie
    delay_s(1);
    P1 = 0x0;
    delay_s(1);        //让灯全亮
}

五、一个.c一个文件夹注意点
1、写头文件规范:
#ifndef __LED_HH__
#define __LED_HH__

extern void delay_us(unsigned char t);
……
#endif
2、添加相对目录
点击魔术棒---->选择C51标签---->点击Include path

3、点击help然后查询可以查阅相关函数

六、七段共阳数码管


共阴:负极接到一起
共阳:LED阳极接到一起

七、8位共阴数码管:
1、锁存器置1通,置0截断;
2、共阴极的位选应为0x0;段选应为0xff;共阳反之
3、定义单独I/O口
sbit duan_s P2^0;
sbit wei_s P2^1;
4、锁存器锁住状态:
SEGPORT = 0x0;
wei_s = 1;    //打开位锁存
wei_s = 0;    //关闭位锁存

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值