共阴极7段数码管显示C程序
单片机7段数码管动态显示程序代码及其说明如下:
#include <reg51.h>
#include <intrins.h>
#include<math.h>
unsigned char data dis_digit; //dis_digit---位选通值, 传送到P2口用于选通当
//前数码管的数值, 如等于0xfe时,选通P2.0口数码管
unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3
扩展资料:
驱动方式:
直流驱动。
是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。优点是编程简单,显示亮度高,缺点是占用I/O端口多。
动态显示驱动:
是将所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。
当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
参考资料来源:百度百科-七段数码管
绛旓細鍗曠墖鏈7娈垫暟鐮佺鍔ㄦ鏄剧ず绋嬪簭浠g爜鍙婂叾璇存槑濡備笅锛歩nclude <reg51.h> include <intrins.h> include<math.h> unsigned char data dis_digit; //dis_digit---浣嶉夐氬, 浼犻佸埌P2鍙g敤浜庨夐氬綋 //鍓嶆暟鐮佺鐨勬暟鍊, 濡傜瓑浜0xfe鏃,閫夐歅2.0鍙f暟鐮佺 unsigned char code dis_code[11]={0xc0,0xf9,...
绛旓細case 0x7f:P0=table[7];break;default:break;} } }
绛旓細瑕佽51鍗曠墖鏈鍏遍槾鏁扮爜绠℃樉绀鏁板瓧锛屽彧闇瑕佸皢鍗曠墖鏈虹殑P2绔彛杈撳嚭鏁板瓧瀵瑰簲鐨勬鐮佸嵆鍙備互鏄剧ず鏁板瓧鈥0鈥濅负渚嬶紝c璇█绋嬪簭濡備笅锛歩nclude<reg52.h> define uchar unsigned char define uint unsigned int //鏁扮爜绠$殑娈电爜缂栫爜 Uchar table[10] ={0x3f,0x06,...
绛旓細while(1){ if (++C>= 300){ LedNumVal++ ; //姣忛殧300涓壂鎻忓懆鏈熷姞涓娆 C =0; //姣忛殧300涓壂鎻忔竻闆 } // 灏嗗瓧妯¢佸埌P0鍙鏄剧ず P0 = LED7Code[LedNumVal%10]&0x7f; //LED7 0x7f涓哄皬鏁扮偣 鍏遍槾鍜屽叡闃虫澶勪篃鏄笉涓鏍;delay(150); //璋冪敤寤舵椂绋嬪簭 } } / 寤舵椂绋嬪簭 / vo...
绛旓細C璇█鍐橪ED鏁扮爜绠℃樉绀绋嬪簭涓庢眹缂栨槸涓鑷寸殑锛屽皢鏄剧ず鐨勫熀鏈唴瀹瑰畾涔夊湪涓涓暟缁勪腑灏卞彲浠ヤ簡锛屾瘮濡傦細include<reg51.h> define uchar unsigned char uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};sbit rstkey=P2^2;sbit speaker=P2^0;void delay()//寤舵椂绾400姣 { uchar i...
绛旓細sbit P2_0=P2^0;sbit P2_1=P2^1;uchar a=16,time;bit flag0,flag1;uchar code tab[ ]={ 0x3F,/*0*/ 0x06,/*1*/ 0x5B,/*2*/ 0x4F,/*3*/ 0x66,/*4*/ 0x6D,/*5*/ 0x7D,/*6*/ 0x07,/*7*/ 0x7F,/*8*/ 0x6F,/*9*/ };void delay_ms(uint ms){ uchar i;...
绛旓細//鏄剧ず123456鐨绋嬪簭锛岃繖鍙槸鏁翠釜绋嬪簭鐗囨 include "led_ioctl.h"int Led_123(){ int led_fd,count;char ret[7]; //鏁扮粍ret[i] 瀛樻斁閫丩ED鏄剧ず鐨勬暟鎹 //銆愭墦寮LED璁惧銆憀ed_fd = open("/dev/led",O_RDWR);if (led_fd <= 0){ printf("open led device error\n");return 0;}//...
绛旓細涓嬮潰鐨绋嬪簭鏄傚悎:P0鎺ョ殑鏄鏁扮爜绠鐨刟-g.楂樻椂瀛楁浜 P1鎺ョ殑鏄笁鏋佺鍩烘瀬,浣庢椂閫変腑鏄剧ず浣..include<reg51.h> define uchar unsigned char;uchar code CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //鏁板瓧娈电爜锛涘彉閲忓悕CODE uchar code BIT_TAB[]={0xFE,0xFD,0xFB,...
绛旓細51鍗曠墖鏈虹殑C绋嬪簭锛4*4閿洏鎺у埗杩欎釜鍏綅涓冩鏁扮爜绠銆傚彲浠ュ弬鑰冧竴涓 include<reg51.h> define uchar unsigned char uchar temp;int key1,key,disbuf;// 姝よ〃涓 LED 鐨勫瓧妯 0 1 2 3 4 5 6 7 8 9 a b c d e f unsigned char code LED7Code[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6...
绛旓細鍏遍槾 unsigned char leddata[]={ 0x3F, //"0"0x06, //"1"0x5B, //"2"0x4F, //"3"0x66, //"4"0x6D, //"5"0x7D, //"6"0x07, //"7"0x7F, //"8"0x6F, //"9"0x77, //"A"0x7C, //"B"0x39, //"C"0x5E, //"D"0x79, //"E"0x71...