51单片机学习(二)

一、静态数码管显示

1、数码管原理图

74HC145起到一个缓冲作用,LED灯由138译码器控制,赋值138译码器控制输出,138译码器使得输入三线可控制八线,数码管是共阴极高电平驱动,74HC145对高电平起到一个缓冲作用,数据还是原来输入的数据。选中是P2口,给段码数据是P0口

2.C51知识补充

(1)C语言数组

(2)C语言子函数

3.静态数码管显示

(1)先进行位选,再进行段选

给P2口赋值进行位选,再给P0口赋值进行段选显示数字,根据原理图进行赋值选的位置和数字即可

(2)将位选段选封装成子函数方便选择数据和位置,函数的参数直接是数码管亮灯位置和数字

(3)位置用选择语句实现,显示数字用数组实现,在使用函数时即可直接使用

二、动态数码管显示

动态数码管显示可以直接用函数写,但是直接写会出现数字错位情况,通过在函数中加Delay函数消影

三、模块化编程和LCD1602调试工具

1、模块化编程

     把各个模块的代码放在不同的.c文件中,在头文件中对.c文件中的函数进行函数声明,模块化后使用方便,且主函数中的代码简洁。

模块化编程的注意事项:函数在调用前必须先声明。

2.C语言预编译

预编译中的ifndef和endif配对可以防止重复调用

3.LCD1602模块化编程

LCD1602是模块化编程的应用,模块化编程中要注意的是文件要放在当前编译的工程目录下,函数声明在头文件中,调用函数时可以go to到.c文件中查看函数作用。

把模块化后的文件加到工程目录中,调用函数即可使用。

三、矩阵键盘

1.矩阵键盘原理图

矩阵键盘的使用和独立键盘类似,但是和数码管扫描一样,要进行输入扫描,按行扫描会导致蜂鸣器有声音,所以采用按列扫描。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值