题目一:在P0口接一个共阴极的7段数码管,编程实现1位数码管0-9的循环显示。
C语言代码:
#include<reg51.h> char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay() { unsigned int i =500,j=0; for(;i>0;i--) for(j=0;j<125;j++); } int main() { char i = 0; while (1) { for (i = 0; i < 10; i++) { P0 = led_mod[i]; delay(); } } return 0; }
题目二:)在P0和P2口分别接两个7段数码管,编程实现0-99循环显示。
C语言代码:
#include<reg51.h> char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay() { unsigned int i =500,j=0; for(;i>0;i--) for(j=0;j<125;j++); } int main() { while(1) { char i = 0; P0=0x00; P1=0x00; for(i = 0;i<100;i++) { P0=led_mod[i/10]; P2=led_mod[i%10]; delay(); } } return 0; }
题目三:在P0口和P2口分别接两个7段数码管,并在P3.7引脚接一个开关,通过统计按键次数,并在数码管上显示,如果按键次数大于100,从0开始重新统计。
C语言代码:
#include<reg51.h> sbit p3_7=P3^7; char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char count; void delay() { unsigned int i =10,j=0; for(;i>0;i--) for(j=0;j<125;j++); } int main() { count=0; P0=led_mod[count/10]; P2=led_mod[count%10]; while(1) { if(p3_7==0) { delay(); if(p3_7==0) { count++; if(count==100){count = 0;} P0=led_mod[count/10]; P2=led_mod[count%10]; while(p3_7==0); } } } return 0; }
🍀小结🍀
种一棵树的最好时间是十年前,其次是现在! 把握好当下,合理利用时间努力奋斗,相信大家一定会实现自己的目标!加油!创作不易,辛苦各位小伙伴们动动小手,三连一波💕💕~~~,本文中也有不足之处,欢迎各位随时私信点评指正!