网站建设的计划书,网络共享和数据传输事件,app开发哪家强,品牌建设工作机制STC89C51学习笔记#xff08;四#xff09;
综述#xff1a;本文讲述了在STC89C51中数码管、模块化编程、LCD1602的使用。
一、数码管
1.数码管显示原理
位选#xff1a;对74HC138芯片的输入端的配置#xff08;P22、P23、P24#xff09;#xff0c;来选择实现位选四
综述本文讲述了在STC89C51中数码管、模块化编程、LCD1602的使用。
一、数码管
1.数码管显示原理
位选对74HC138芯片的输入端的配置P22、P23、P24来选择实现位选哪个数码管显示数字。 段选对74LS245芯片的输入端进行配置P00、P01、P02、P03、P04、P05、P06、P07来实现段选显示什么数字。 数码管连接方式共阳极时配置0则点亮共阴极配置1则点亮。
2.显示方式
1直接配置
P2_41;
P2_30;
P2_21;
P00x7d;
即可实现第三个数码管显示数字6
2撰写子函数
unsigned char NixieTable[]{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x3e,0x79,0x71,0x00};void Nixie(unsigned char Location,Number)
{switch(Location){case 1:P2_41;P2_31;P2_21;break;case 2:P2_41;P2_31;P2_20;break;case 3:P2_41;P2_30;P2_21;break;case 4:P2_41;P2_30;P2_20;break;case 5:P2_40;P2_31;P2_21;break;case 6:P2_40;P2_31;P2_20;break;case 7:P2_40;P2_30;P2_21;break;case 8:P2_40;P2_30;P2_20;break;}P0NixieTable[Number]Delay(1);//稳定显示P00x00;//清零}void main()
{Nixie(7,2);while(1){ }
}
二、模块化编程
传统方式的编程直接放在main函数里面不利于代码的组织、管理、移动和查找错误。模块化编程将各个模块的代码放在不同的c文件里面在h文件里面提供外部可调用函数的声明需要代码时只需要#include “xxx.h”
①建立.c文件和.h文件 ②攥写.c文件记得添加头文件 ③攥写.h文件
前两行是为了防止重复定义第三行的函数末尾记得加分号否则会报错。 三、LCD1602
注意LCD1602与数码管和LED引脚冲突当使用LCD1602时一般不使用数码管和LED。 ①LCD1602的相关函数和作用 ②函数的使用和演示结果
先将LCD1602的.c和.h文件复制到当前的项目文件夹下然后在项目中添加LCD1602的.c和.h文件 在main函数中调用LCD1602.h并使用相关函数 LCD1602演示结果 参考视频51单片机学习视频
侵权联系删除