一、静态数码管显示
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.矩阵键盘原理图
矩阵键盘的使用和独立键盘类似,但是和数码管扫描一样,要进行输入扫描,按行扫描会导致蜂鸣器有声音,所以采用按列扫描。