找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机的某个P口不足8位怎么办

查看数: 101 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-9-1 22:09

正文摘要:

在单片机开发过程中,单片机的引脚不足,我们首先想到的是需要更换单片机,譬如用51单片机的P3口驱动一位数码管作静态显示,但缺少P35,其它完整的8位端口也没有,这时候也并不是没有办法解决,我们可以用其它P口的 ...

回复

ID:1064915 发表于 2025-9-2 09:19
  1.     /* ch4-12.c - 七段数码管驱动程序  */
  2.     //==声明区============================================
  3.     #include<reg52.h>           //包含单片机寄存器定义的头文件
  4.     #define SEG P3              //宏定义,用标识符SEG代替P0
  5.     #define uint unsigned int          //宏定义,用uint代替unsigned int
  6.     #define uchar unsigned char        //宏定义,uchar代替unsigned char
  7.     //0~9的共阳数码管段码表
  8.     code uchar  TAB2[10]={0xc0, 0xf9, 0xa4, 0xb0, 0x99,0x92, 0x82, 0xf8, 0x80, 0x90};
  9.     sbit PD5=P1^7;
  10.     void delay(uint ms);           // 声明延迟函数
  11.     //==主程序区========================================
  12.     void main(void)                                //主程序开始
  13.     {
  14.             uchar i;                    //声明无符号整数变量i
  15.             while(1)                                 //无穷循环,程序一直跑
  16.                 for(i=0;i<10;i++)        //显示0-9,共10次
  17.                 {
  18.                       SEG=TAB2[ i];        //共阳数码管显示数字0~9
  19.                       PD5=  TAB2[ i]&(0x01<<5);
  20.                        delay(500);            //延迟500*1m=0.5秒
  21.                       SEG=0xff;
  22.                       PD5 = 1;
  23.               }                               //for循环结束
  24.     }                                        //主程序结束
  25.     //==子程序区==========================================
  26.     /* 延迟函数,延迟约x*1ms */
  27.     void delay(uint x)                   //延迟函数开始
  28.     {            uint i,j;                           //声明无符号整数变量i,j
  29.              for(i=0;i<x;i++)           //计数x次,延迟x*1ms
  30.                for(j=0;j<120;j++);  //计数120次,延迟1ms
  31.     }                                                   //延迟函数结束
复制代码


小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表