aiaiask.com©

开花即结果 提问即答案

用并行口控制数码管循环,显示0~9的代码
原始问题:

用并行口控制数码管循环,显示0~9的代码

解析:这个问题需要生成一个代码,用于控制数码管显示0到9的数字,并使用并行口进行通信。

代码如下:

#include <reg52.h> // 包含头文件,定义了51单片机的寄存器
#include <intrins.h> // 包含头文件,定义了一些内联汇编函数

typedef unsigned char uchar; // 定义uchar类型为unsigned char
typedef unsigned int uint; // 定义uint类型为unsigned int

sbit LSA = P2^2; // 定义LSA位,连接到P2.2
sbit LSB = P2^3; // 定义LSB位,连接到P2.3
sbit LSC = P2^4; // 定义LSC位,连接到P2.4

uchar code smgduan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; // 定义数码管显示0-9的编码

void delay(uint z) // 延时函数
{
    uint x,y;
    for(x=z;x>0;x--)
        for(y=110;y>0;y--);
}

void main() // 主函数
{
    uchar i;
    while(1) // 无限循环
    {
        for(i=0;i<10;i++) // 循环显示0-9
        {
            P0 = smgduan[i]; // 将编码送入P0口,控制数码管显示
            LSA = 0; LSB = 0; LSC = 0; // 选择第一个数码管
            delay(5); // 延时一段时间,控制数码管刷新速度
            LSA = 1; LSB = 0; LSC = 0; // 选择第二个数码管
            delay(5); // 延时一段时间,控制数码管刷新速度
        }
    }
}
用并行口控制数码管循环,显示0~9的代码
https://www.aiaiask.com/ask/55101.html
AI / 模型iFLYTEK
时间 / DATENovember 17, 2023, 8:17 PM
语言zh-CN
IP / 区域重庆市重庆市