at89c51单片机的七段显示数码管和流水灯的编程
这可以用来从Internet学习一些信息,并详细查看图。。
typeedefunsignedCharcar; sbitwela = p2 ^7 ; //位点配音sbitdula = p2 ^6 ; j = 0,flag = 0,flag1 = 0; Uchaarnum = 6 ,num1 = 0; //图标确定数字管扇区ucharcodetable_du [] = {0x3 f,//“ 0” 0x06 ,//“ 1 ” 0x5 B,// //“ 2 ” 0x4 F,// // 3 “ 0x6 6 ,//” 0x6 6 ,// , / / /“ 5 ” 0x7 D,//“ 6 ” 0x07 ,//“ 7 ” 0x7 f,// //“ 8 ” 0x6 f,//“ 9 ” 0x7 7 ,//“ a” 0x7 c,//“ b” 0x3 9 ,// //“ C” 0x5 e,//“ D” 0x7 9 ,// //“ E” 0x7 1 ,// ,//“ h” 0x3 8 ,//“ l” 0x3 7 ,//“ n” 0x3 e,//“ u” 0x7 3 ,//” p“ 0x5 c,//” o“ 0x4 0,//” - “ 0x00,// off 0x00 //自定义}; //位编码ucharcodetable_we [] = {0xfe,0xfd,0xfb,0xfb,0xf7 ,0xef,0xdf}的数字选择。
vodinit(); vodisplay(); vodmain(){init(); {Counter1 = 0; 展示 (); num- ;; num1 ++; if(num == 0){num = 6 ;} if(num1 == 6 ){num1 = 0;}} right {cou in = 0; //计数器清除,//临时关闭0tr0 = 0; // et0 = 0; 计时器0计时器2 0ms TL0 = 0x00; T0 = 1 ; //重新打开时间0 // ET0 = 1 ; j = 0; {//计时器0和计时器1 TMOD准备功能= 0x1 1 ; //在工作模式1 TH0 = 0xB8 中选择时间1 和0; //计时器0时间为2 0毫米TL0 = 0x00; 它已被定时使用2 0毫升TL1 = 0x6 7 ; T0 = 1 ; //开放时间0tr1 = 1 ; //开放时间1 EA = 1 ; //打开总的总收集计时器1 中断} // subroutine vodidisplay(dula = 1 ; p0 = table_du [num]; dul a = 0; p0 = 0xff; wela = 1 ; p0 = table_we [num1 ]; wela = 0; dula = 1 ; p0 = table_du [num]; dula = 0; p0 = 0xff; wela = 1 ; p0 = table_we [num1 ]; wela = 0; dula = 1 ; p0 = table_du [num]; dula = 0; p0 = 0xff; wela = 1 ; p0 = table_we [num1 ]; wela = 0; dula = 1 ; p0 = table_du [num]; wela = 0; dula = 1 ; p0 = table_du [num]; dula = 0; p0 = 0xff; wela = 1 ; p0 = table_we [num1 ]; wela = 0; dula = 1 ; p0 = table_du [num]; dula = 0; p0 = 0xff; wela = 1 ; p0 = table_we [num1 ]; wela = 0; dula = 1 ; p0 = table_du [num]; dula = 0; p0 = 0xff; wela = 1 ; p0 = table_we [num1 ]; wela = 0;} //中断计时器0VODININT_TIME0()interrupt1 {th0 = 0xb8 ; TL0 = 0x00; ER ++编号; if(flag == 0){if(counter%1 0 == 0)//定时2 00毫秒{p1 =〜(1
89c51单片机是可以直接驱动一个共阳还是共阴的七段数码管啊?
5 1 无法直接为数字管道提供能源(电流太小)。有两种情况:1 当I/O连接到通用阴极数字管时,直接将1 K屏障连接到数字管的控制角,并直接为七个段数字管提供了能量。
2 当I/O连接到普通阳极数字管道时,请从位选择一般电源,如图所示:端口P2 .6 和P2 .7 ,对应于控制十个电源的电源和单个位数字管以及当驱动器单元较低时,门在对应时,只要数字显示代码从P0端口发送,驱动器单元就会按时打开,数字管可以显示正常数字。
51单片机控制3位7段共阴数码管
// MicroController 5 1 控制3 位3 位P0 P0端口控制P0 ABCDEFGDP的负数字管,//p2 .0-p2 .2 1 2 3 -1 位控件,-----注意:不使用P2 .3 //必须分别显示1 s之间的间隔1 2 3 、2 3 1 、3 2 1 、2 1 3 循环Infini //已模拟以下程序并满足要求。#include
求救,单片机at89c51用四位七段数码管怎么样动态显示一个数字,P2接输入,P3控制我的不能得到结果1234
希望您对您有帮助! #p3 = p3 ^ 0; sbribb = p3 ^ i; sbrc = p3 ^ 2 ; sbribode = p3 0xc0,0,0xa4 ,0b0,0,09 9 2 ,0x8 2 ,0xF8 ,0x8 0,0,0,0,0,0,0ff}; vourdey1 ms(unsignedxff){unsignedCharj; while(x-)to(j = 0; j <1 2 3 ;);} vourmain(empty){unsignedIntn = 1 2 3 4 ; 而(i){p2 = dcode [n / m]:d = 0; 0 x]; c = 1 ,moras1 ms(x); C = 0; p2 = dcode [n / 1 0%x]:b = 1 ; p2 = dcode [n%x]; = 1 ; mors1 ms(x); A = 0;}} P2 使用具有共同阳性的数字管。MicroController C5 1 使用四位数的七个段数字管显示动态的数量。