本文是我在备战蓝桥杯单片机时写的学习笔记,跟的老师时B站小蜜蜂老师,代码部分参考了CSDN上的一些博主。
目录
前言
蓝桥杯单片机省赛编程题备战笔记
一、基础代码
1. 数码管段选
unsigned char code SMG_duama[18]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x80,0xc6,0xc0,0x86,0x8e,0xbf,0x7f};
//数码管段码不带小数点
unsigned char code SMG_DOT[10] ={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
//数码管段码带小数点
1. 选择HC573锁存器
void Select_HC573 (unsigned char n) //选择HC573锁存器
{
switch (n)
{
case 4:
P2 = (P2 & 0x1f) | 0x80;break;
case 5:
P2 = (P2 & 0x1f) | 0xa0;break;
case 6:
P2 = (P2 & 0x1f) | 0xc0;break;
case 7:
P2 = (P2 & 0x1f) | 0xe0;break;
case 0:
P2 = (P2 & 0x1f) | 0x00;break;
defalut:break;
}
}
2. 数码管动态显示
void DelaySMG (unsigned int t)
{
while (t--);
}
void DisplaySMG_Bit(unsigned char value,unsigned char pos)
{
SelectHC573(6);
P0 = 0x01 << pos;
SelectHC573(7);
P0 = value;
DelaySMG(100);
P0 = 0xff;
SelectHC573(0);
}
二、相关特殊功能寄存器
三、课程笔记
1.概述
主要外设:IO口,外部中断,定时器计数器,穿行接口
五个中断源的中断号一定要记住!!!
优先级自上而下递减
2.LED
单片机通过P0口控制LED灯、蜂鸣器和继电器和数码管,具体控制哪一个部件,需要看时那个锁存器被选通。
P2^5~P2^7 控制 HC138 选择 锁存器
74HC573锁存器的LE为高电平时,输入端和输出端导通,即输出 = 输入
以LED灯为例:HC138的Y4输出低电平 --> Y4C输出高电平 --> LE高电平,LED灯可使用
P0输入低电平时,LED灯亮
3. 蜂鸣器和继电器
低电平时,蜂鸣器响,继电器吸合
ULN2003:达林顿管 输入与输出相反 --> P0^6 P0^4输入高电平时,蜂鸣器和继电器工作