这是仿真原理图,用一位共阴数码管,P1口输出段码,不用动态扫描。程序如下:include <reg51.h>sbit ins1=P3^7;unsigned char code segment[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x27,0x7F,0x6F};//段码表void main(){unsigned char x=0;while (1){P1=segment[x];if(ins1==0...
while(1){ while(!KEY){ delay(10);if(KEY){ flag++;{ if(flag==1)TR0=0;if(flag==2){ TR0=1;aa=0;num=0;num1=0;flag=0;TR0=1;} } } } if(aa==20){ aa=0;num++;if(num==10){ num=0;num1++;} if(num1==6)num1=0;P0=table[num1];P2=table[num];} } ...
按键计数器,利用单片机控制单个LED数码管实现0-9的计数,按键K1按下时计数值加1,按键K2按下时计数值减1,编一程序实现该功能。
uchar distab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchar num=0;sec,key;void delay(unsigned int a){ unsigned int i,j;for(i=0;i<a;i++)for(j=0;j<120;j++);} void display(){ LED1=sec/10;LED2=sec%10;P2=0x01;P0=distab[LED1];delay(3);...
一看到你说是计数器,又看到你要求有停止功能,意思是把Timer改为计数器,然后可以通过一个键停止计数对吧?如果这样的话挺简单的,51单片机的计数器io口记得好像是P3^0和P3^1,但不管怎么,首先设置TMOD,将C/T位置1,这就改为计数器了,然后可以编写函数来对一个变量进行加减;同样利用51单片机的...
课程1 Linux中的文件IO—4.Linux应用编程和网络编程第一部分 免费试听课程2 文件属性—4.Linux应用编程和网络编程第二部分课程3 获取系统信息—4.Linux应用编程和网络编程第三部分课程4 linux进程全解—4.Linux应用编程和网络编程第四部分课程5 Linux中的信号—4.Linux应用编程和网络编程第五部分课程6 高级IO—4....