自学51单片机08:记住这几个步骤数码管变得简简单单

[复制链接]
数码管的静态显现,之前都学过,可是一写代码脑子里有些空缺。有些手足无措,没有一个大要的步调,第一步该做什么,第二步该怎样做,逻辑不清楚,还是没有实在的贯通。起头抄代码渐渐修炼....
为什么高手写的代码为什么让人感觉很棒
1.功用模块化封装,
2.条理结构清楚(底层显现和利用层)
3.层之间的数据传递(数据缓冲区--数组实现)
控制数码管的显现4个步调
1.送段码 :数组leddata[]中保存段码数据
2.送位选 :数组BitCode[]中保存位选信号
3.延时。操纵人眼的视觉暂留 1ms<延时<10ms
4.消影 :输出IO口置为低电平

自学51单片机08:记着这几个步调数码管变得简简单单-1.jpg

共阴极数码管

自学51单片机08:记着这几个步调数码管变得简简单单-2.jpg

显现功用实现

Display.h文件
#ifndef __DISPLAY_H__#define __DISPLAY_H__#include <reg51.h>#include "DelayXms.h"#define GPIO_SEG P2  //段码 IO   宏界说#define GPIO_BIT P1  //位选 IO#define N  4         //数码管的个数void Display();void DisplayPost();//显现一小段开灵活画#endifDisplay.c文件
#include "display.h"u8 code leddata[]={ //数码管的段码表0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F, //0-9【下标0-9】0x77,0x7C,0x39,0x5E,0x79,0x71,      //  A-F【下标10-15】0x76,0x38,0x37,0x3e,0x73,0x5c,0x40,//h,l,n,u,p,o,-【下标16-22】};//4位数码管可以显现数字和各类字母字母u8 code LEDPost[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//开灵活画数据u8 LEDBuf[]={1,1,3,10};//数据显现缓冲区,保存的是leddata[]中下标,显现123Au8 code BitCode[]={0xfe,0xfd,0xfb,0xf7};//位选控制信号 void Display(){        /*静态部分变量生命周期:法式竣事为止        可以连结变量内容的持久性,函数挪用竣事时        变量的值仍在*/                static u8 i =  0;        //1.送段码        GPIO_SEG =  leddata[LEDBuf];        //2.送位选        GPIO_BIT =  BitCode;        //3.1ms<延时<10ms        DelayXms(9);        //4.消影        GPIO_SEG = 0x00;//不用影显现会出题目                i++;        if(N == i)                i=0;}void DisplayPost() //开灵活画{        u8 j ;                for(j=0;j<sizeof(LEDPost);j++)        {                GPIO_SEG =  LEDPost[j];                GPIO_BIT = 0xf0;                DelayXms(400);                GPIO_SEG = 0x00;        }}main.c文件
#include "display.h"void main(){        DisplayPost();//上点小动画                while(1)        {                Display(); //显现【数据缓冲区中寄存leddata[]数组下标对应的】数据        }        }
自学51单片机08:记着这几个步调数码管变得简简单单-3.jpg



C51和C说话区分
单片机STC89C52
8K字节法式存储空间ROM,断电数据不丧失;
512字节数据存储空间RAM,断电数据丧失;
利用code关键字,可以把常量存储在容量较大的ROM中。

自学51单片机08:记着这几个步调数码管变得简简单单-4.jpg
温馨提示:
好向圈www.kuaixunai.com是各行业经验分享交流社区,你可以在这里发布交流经验,也可以发布需求与服务,经验圈子里面禁止带推广链接、联系方式、违法词等,违规将封禁账号,相关产品信息将永久不予以通过,同时有需要可以发布在自己的免费建站官网里面或者广告圈, 下载好向圈APP可以加入各行业交流群 本文不代表好向圈的观点和立场,如有侵权请下载好向圈APP联系在线客服进行核实处理。
审核说明:好向圈社区鼓励原创内容发布,如果有从别的地方拷贝复制将不予以通过,原创优质内容搜索引擎会100%收录,运营人员将严格按照上述情况进行审核,望告知!
回复

使用道具 举报

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

24小时热文