導航:首頁 > 編程語言 > 518位動態數碼管程序

518位動態數碼管程序

發布時間:2024-07-14 12:48:59

1. 51單片機數碼管計算器的C程序

兄弟,不好意思,我這個程序可以計算8位數,完成加減乘除,沒有小數點
、顯示負數的功能,只能幫到這了。

#include <reg51.h>
#include <absacc.h>
#include <math.h>
#pragma NOREGPARMS
#define g DBYTE[0x30]
#define s DBYTE[0x31]
#define b DBYTE[0x32]
#define q DBYTE[0x33]
#define w DBYTE[0x34]
#define sw DBYTE[0x35]
#define bw DBYTE[0x36]
#define qw DBYTE[0x37]
#define flag DBYTE[0x38]
#define ww DBYTE[0x39]
#define var DBYTE[0x40]
unsigned long data a0 _at_ 0x42;
unsigned long data a1 _at_ 0x46;
unsigned long data a2 _at_ 0x50;
void count ()
{
unsigned long temp;
if(var>=0&&var<=9)
{
if(ww==1)
{
qw=bw=sw=w=q=b=s=g=0;
g=var;
ww=0;
}
else
{
qw=bw;
bw=sw;
sw=w;
w=q;
q=b;
b=s;
s=g;
g=var;
}
}
if(var>=0x0a&&var<=0x0d)
{
a0=qw*10000000+bw*1000000+sw*100000+w*10000+q*1000+b*100+s*10+g;
if(var==0x0a)flag=1;//加法運算標志
if(var==0x0b)flag=2;//減法運算標志
if(var==0x0c)flag=3;//乘法運算標志
if(var==0x0d)flag=4;//除法運算標志
ww=1;
}
if(var==0x0e)
{
a1=qw*10000000+bw*1000000+sw*100000+w*10000+q*1000+b*100+s*10+g;
if(flag==1)a2=a1+a0;
if(flag==2)a2=a0-a1;
if(flag==3)a2=a1*a0;
if(flag==4)a2=a0/a1;
g=a2%10;
temp=a2/10;
s=temp%10;
temp=temp/10;
b=temp%10;
temp=temp/10;
q=temp%10;
temp=temp/10;
w=temp%10;
temp=temp/10;
sw=temp%10;
temp=temp/10;
bw=temp%10;
qw=temp/10;
}
if(var==0x0f)
{
qw=bw=sw=w=q=b=s=g=var=flag=0;
}
}

2. 浠涔堟槸鏁扮爜綆″姩鎬佹樉紺

銆銆璇ュ疄楠岀敤鍒板疄楠屾澘鐨勮祫婧愮數璺鍥懼備笅錛

銆銆鍏朵腑P0鍙f槸孌電爜錛屼綆鐢靛鉤鏈夋晥銆侾2鍙f槸浣嶇爜錛岄珮鐢靛鉤鏈夋晥銆侾2.0鍙f帶鍒剁1涓鏁扮爜綆★紝涓鐩村埌P2.7鍙f帶鍒剁8涓銆傝ユ澘鐨勬電爜琛ㄥ備笅錛

銆銆鍚勪釜鏁扮爜綆$殑孌電爜閮芥槸p0鍙g殑杈撳嚭,鍗沖悇涓鏁扮爜綆¤緭鍏ョ殑孌電爜閮芥槸涓鏍風殑, 涓轟簡浣垮叾鍒嗗埆鏄劇ず涓嶅悓鐨勬暟瀛, 鍙閲囩敤鍔ㄦ佹樉紺虹殑鏂瑰紡,鍗沖厛鍙璁╂渶浣庝綅鏄劇ず0(鍚鐐)錛岀粡榪囦竴孌靛歡鏃訛紝鍐嶅彧璁╂′綆浣嶆樉紺1錛屽傛ょ被鎺ㄣ傜敱瑙嗚夋殏鐣,鍙瑕佹垜浠鐨勫歡鏃舵椂闂磋凍澶熺煭錛屽氨鑳藉熶嬌寰楁暟鐮佺殑鏄劇ず鐪嬭搗鏉ラ潪甯哥殑紼沖畾娓呮氥傝繃紼嬪備笅鍥俱

銆銆閲囩敤涓婅堪鏂規硶鎬濊礬緙栧啓濡備笅錛

銆銆org 0000h

銆銆start: mov a,#08h ;0 ;孌電爜
銆銆mov p0,a
銆銆mov p2,#01h ;浣嶇爜
銆銆lcall delay_1ms

銆銆mov a,#0abh ;1
銆銆mov p0,a
銆銆mov p2,#02h
銆銆lcall delay_1ms

銆銆mov a,#12h ;2
銆銆mov p0,a
銆銆mov p2,#04h
銆銆lcall delay_1ms

銆銆mov a,#22h ;3
銆銆mov p0,a
銆銆mov p2,#08h
銆銆lcall delay_1ms

銆銆mov a,#0a1h ;4
銆銆mov p0,a
銆銆mov p2,#10h
銆銆lcall delay_1ms

銆銆mov a,#24h ;5
銆銆mov p0,a
銆銆mov p2,#20h
銆銆lcall delay_1ms

銆銆mov a,#04h ;6
銆銆mov p0,a
銆銆mov p2,#40h
銆銆lcall delay_1ms

銆銆; mov a,#0aah ;7
銆銆; mov p0,a
銆銆mov p0,#0aah ;鎰熻夌敤榪欏彞鍜屼笂闈涓ゅ彞瀹炵幇涓鏍鳳紝鍙鑳借繖縐嶄範鎯浠ュ悗浼氭湁鐢ㄥ惂
銆銆mov p2,#80h
銆銆lcall delay_1ms

銆銆ljmp start

銆銆delay_1ms: mov r6,#2
銆銆temp: mov r5,#0ffh
銆銆djnz r5,$
銆銆djnz r6,temp
銆銆ret
銆銆end

銆銆涓嬭澆鍒版澘涓婂緱鍒版祴緇撴灉涓轟粠浣庡埌楂樺叓浣嶅垎鍒鏄劇ず0鍒7錛堝惈鐐癸級銆

銆銆鈽 涓婅堪鏂規硶閫愭$粰P0鎴栬匬2璧嬪礆紝涓鏂歸潰紼嬪簭鐨勫嶆潅紼嬪害澧炲姞錛屽彟澶栦竴鏂歸潰浼氫嬌寰楃▼搴忕殑鐏墊椿鎬ч檷浣庛傚傛灉瑕佹敼鍙樻樉紺虹殑鏁板瓧錛岀▼搴忔敼鍔ㄨ搗鏉ュ緢楹葷儲銆 鎵浠ヨ佺敤51鍗曠墖鏈轟腑甯哥敤鐨勪竴縐嶆柟娉曪細鏌ヨ〃娉曘備緥濡侾0鍙h緭鍑烘電爜鏃訛紝鎴戜滑鍙浠ユ妸瑕佹樉紺虹殑孌電爜鏀懼湪涓涓琛ㄦ牸涓錛岀劧鍚庢瘡嬈′粠榪欎釜琛ㄦ牸閲岄潰鍙栨暟錛岄佸埌P0鍙e嵆鍙銆侾2鍙h緭鍑轟綅鐮佹椂錛屽彲浠ユ妸瑕佺敤鐨勪綅鐮佹斁鍦ㄥ彟涓涓琛ㄦ牸閲岋紝姣忔′粠姝よ〃涓鍙栨暟錛岄佸叆P2鍙c傝繖鏍鳳紝濡傛灉瑕佹敼鍙樻樉紺虹殑鏁板瓧錛屽彧闇瑕佹敼鍙樿〃鏍奸噷闈㈢殑鏁般

銆銆org 0000h

銆銆start: mov r7,#0ffh ;r7,r6鏌ヨ〃鏃墮佸叆鍙樺潃瀵勫瓨鍣╝ (鍥犺嚜鍔1鍚庝負0,鎵浠ラ勭疆ffh)
銆銆mov r6,#0ffh
銆銆loop: lcall play1 ;璋冪敤鏄劇ず孌電爜瀛愮▼搴
銆銆lcall play2 ;璋冪敤鏄劇ず浣嶇爜瀛愮▼搴
銆銆lcall delay_1ms
銆銆cjne a,#80h,loop ;鍒ゆ柇鏄鍚﹀埌浜嗘渶宸﹁竟鐨勬暟,鍗崇8涓浣嶇爜
銆銆ajmp start

銆銆play1: ;鏌ヨ〃奼傛電爜瀛愮▼搴
銆銆; mov a,r7
銆銆; inc a
銆銆; mov r7,a

銆銆inc r7 ;榪2鍙ュ拰涓婇潰涓夋潯璇鍙ュ疄鐜板姛鑳界浉鍚
銆銆mov a,r7 ;a鍦ㄨ繖閲屽仛鍙樺潃瀵勫瓨鍣

銆銆mov dptr,#table1 ;琛ㄩ栧潃閫乨ptr錛宒ptr鍋氬熀鍧瀵勫瓨鍣
銆銆movc a,@a+dptr ;鍩哄潃瀵勫瓨鍣ㄥ姞鍙樺潃瀵勫瓨鍣ㄥ誨潃
銆銆mov p0,a
銆銆ret

銆銆play2: ;鏌ヨ〃奼備綅鐮佸瓙紼嬪簭(鍘熺悊鍚宲lay1)
銆銆mov a,r6
銆銆inc a
銆銆mov r6,a
銆銆mov dptr,#table2
銆銆movc a,@a+dptr
銆銆mov p2,a
銆銆ret

銆銆table1: db 08h,0abh,12h,22h,0a1h,24h,04h,0aah ;孌電爜琛
銆銆table2: db 01h,02h,04h,08h,10h,20h,40h,80h ;浣嶇爜琛

銆銆delay_1ms: mov r5,#02h ;寤舵椂1ms瀛愮▼搴
銆銆temp: mov r4,#0ffh
銆銆djnz r4,$
銆銆djnz r5,temp
銆銆ret
銆銆end

銆銆涓嬭澆鍒版澘涓婇獙璇佸緱鍒伴勬兂緇撴灉銆

銆銆--------------------------------------------------------------------------------
銆銆C51瀹炵幇濡備笅(鍙傝冧簡AS鐨勪緥紼):

銆銆#include <reg51.h>
銆銆#include <intrins.h> // 鍖呭惈浜嗗乏縐誨嚱鏁癬crol_()

銆銆void delayms(unsigned char ms); // 寤舵椂瀛愮▼搴

銆銆unsigned char data dis_digit; // 浣嶉夐氬, 浼犻佸埌P2鍙g敤浜庨夐氬綋鍓嶆暟鐮佺$殑鏁板,
銆銆// 濡傜瓑浜0x01鏃,閫夐歅2.0鍙f暟鐮佺

銆銆unsigned char code dis_code[11]={0x08,0xab,0x12,0x22,0xa1, // 0,1,2,3, 4
銆銆0x24,0x04,0xaa,0x00,0x20, 0xff}; // 5,6,7,8,9, off

銆銆unsigned char data dis_buf[8]; // dis_buf 鏄句簬緙撳啿鍖哄熀鍦板潃

銆銆unsigned char data dis_index; // 鏄劇ず緔㈠紩, 鐢ㄤ簬鏍囪瘑褰撳墠鏄劇ず鐨勬暟鐮佺″拰緙撳啿鍖虹殑鍋忕Щ閲

銆銆void main()
銆銆{
銆銆P0 = 0xff; // 鍏抽棴鎵鏈夋暟鐮佺
銆銆P2 = 0x00;

銆銆dis_buf[0] = dis_code[0];
銆銆dis_buf[1] = dis_code[1];
銆銆dis_buf[2] = dis_code[2];
銆銆dis_buf[3] = dis_code[3];
銆銆dis_buf[4] = dis_code[4];
銆銆dis_buf[5] = dis_code[5];
銆銆dis_buf[6] = dis_code[6];
銆銆dis_buf[7] = dis_code[7];

銆銆dis_digit = 0x01; // 棣栧厛閫夐歅2.0
銆銆dis_index = 0; // 褰撳墠鍋忕Щ閲忎負0

銆銆while(1)
銆銆{
銆銆P0 = dis_buf[dis_index]; // 孌電爜閫丳0鍙
銆銆P2 = dis_digit; // 閫夎兘浣(鍗充綅鐮)
銆銆delayms(1); // 寤舵椂
銆銆dis_digit = _crol_(dis_digit, 1); // 浣嶉夐氬乏縐, 涓嬫¢夐氫笅涓浣
銆銆dis_index++; // 涓嬩竴涓孌電爜

銆銆dis_index &= 0x07; // 瑙佹敞閲
銆銆}

銆銆}
銆銆void delayms(unsigned char ms) // 寤舵椂瀛愮▼搴(鏅舵尟12M)
銆銆{
銆銆unsigned char i;
銆銆while(ms--)
銆銆{
銆銆for(i = 0; i < 120; i++);
銆銆}
銆銆}

銆銆鈽 娉ㄩ噴: 姝ゅ彞浣滅敤鏄8涓鏁扮爜綆″叏閮ㄦ壂鎻忓畬涓閬嶄箣鍚庯紝鍐嶅洖鍒扮涓涓寮濮嬩笅涓嬈℃壂鎻忋傚啓鍥炰竴鑸褰㈠紡錛歞is_index = dis_index & 0x07 銆傝繖縐嶆柟娉曟尯鏂幫紝絎涓嬈¤佸埌錛屽嶮鍏榪涘埗鐨07灝辨槸浜岃繘鍒剁殑00000111錛岃繖鏍烽氳繃涓庢搷浣滃彲鑳芥帶鍒跺驚鐜浜嗐傛瘮濡俤is_index 緇忕涓嬈″驚鐜鍚庡間負00000001錛屽拰0x07涓庢搷浣滃悗鍊間笉鍙樹粛涓0x01錛岀浜屾″驚鐜鏃訛紝鍏跺間負0涓0x02錛屼笌0x07鍚庝粛涓0x02錛屼竴鐩村埌鍏跺煎炰負0x07鏃惰繕鏄涓嶅彉鐨勶紝浣嗗啀嬈″驚鐜鍚庡叾鍊間負0x80錛屽啀涓0x07鍚庡氨鍙樻垚0x00浜嗭紝榪欐牱鍙堜粠鍒濆嬪驚鐜浜嗐傛ゅ彞鍙鐢 if (dis_index == 8) dis_index = 0 浠f浛錛屾晥鏋滀竴鏍楓

銆銆鈽 閫氳繃C51鐢ㄤ笂榪版柟娉曞疄鐜版椂錛屽叾孌電爜鏀懼湪浜嗘暟緇刣is_code[11]涓錛屽啀閫氳繃緙撳啿鍖烘暟緇刣is_buf[]灝嗙▼搴忎腑瑕佽皟鐢ㄧ殑鍊艱呭叆錛岃繖鏍峰氨鍙浠ョ敤涓嬫爣錛堝嚲縐婚噺錛夎塊棶浜嗐傝繖鏍風湅涓婂幓鏈変簺綣侀攣錛屼絾鍏舵濊礬姣旇緝娓呮氾紝緇撴瀯涓婁篃寰堟槑浜嗭紝鍏鋒湁閫氱敤鎬э紝渚誇簬鎵╁睍銆

銆銆鈽 鍙﹀栧彧瑕佹妸紼嬪簭涓鐨勫歡鏃跺姞闀匡紝濡俤elayms(1000)錛屼笅杞藉埌鏉誇笂灝卞彲浠ョ湅鍒板疄闄呬笂鏁扮爜綆℃槸鐢變綆浣嶅埌楂樹綅閫愪綅鏄劇ず鐨勩

銆銆--------------------------------------------------------------------------------
銆銆鑻ュ崟鍗曞氨瀹炵幇榪欎釜鍔熻兘鑰岃█錛屽彲浠ョ洿鎺ヨ皟鍏ユ電爜鏁扮粍dis_code[11]涓涓嬫爣浠0鍒7鐨勫礆紝鑰屼笉蹇呭啀璁劇疆緙撳啿鏁扮粍dis_buf[]錛屽疄鐜板備笅錛

銆銆#include <reg51.h>
銆銆#include <intrins.h> //_crol_()鐢

銆銆void delayms(unsigned char ms); //寤舵椂瀛愮▼搴

銆銆unsigned char data dis_digit; //浣嶉夐氬, 浼犻佸埌P2鍙g敤浜庨夐氬綋鍓嶆暟鐮佺$殑鏁板,
銆銆//濡傜瓑浜0x01鏃,閫夐歅2.0鍙f暟鐮佺

銆銆unsigned char code dis_code[11]={0x08,0xab,0x12,0x22,0xa1, // 0,1,2,3,4
銆銆0x24,0x04,0xaa,0x00,0x20, 0xff}; // 5,6,7,8,9,off

銆銆unsigned char data dis_index; //鏄劇ず緔㈠紩, 鐢ㄤ簬鏍囪瘑褰撳墠鏄劇ず鐨勬暟鐮佺″拰緙撳啿鍖虹殑鍋忕Щ閲

銆銆void main()
銆銆{
銆銆P0 = 0xff; // 鍏抽棴鎵鏈夋暟鐮佺
銆銆P2 = 0x00;

銆銆dis_index = 0; // 褰撳墠鍋忕Щ閲忎負0
銆銆dis_digit = 0x01; // 閫夐歅2.0

銆銆while(1)
銆銆{
銆銆P0 = dis_code[dis_index]; // 孌電爜閫丳0鍙
銆銆P2 = dis_digit; // 浣嶇爜閫丳2鍙
銆銆delayms(1);

銆銆dis_digit = _crol_(dis_digit, 1); // 浣嶉夐氬乏縐, 涓嬫¢夐氫笅涓浣

銆銆dis_index++;
銆銆dis_index &= 0x07;
銆銆}
銆銆}
銆銆void delayms(unsigned char ms) // 寤舵椂瀛愮▼搴(鏅舵尟12M)
銆銆{
銆銆unsigned char i;
銆銆while(ms--)
銆銆{
銆銆for(i = 0; i < 120; i++);
銆銆}
銆銆}

銆銆鈽 閫氭湰鏉ユ槸鎯抽氳繃浠ヤ笅鏂瑰紡瀹炵幇涓嬈″驚鐜鐨勶細

銆銆for (dis_index = 0; dis_index < 8; dis_index++)
銆銆{
銆銆P0 = dis_code[dis_index]; // 孌電爜閫丳0鍙
銆銆P2 = dis_index+1; // 浣嶇爜閫丳2鍙
銆銆delayms(1);
銆銆}

銆銆鍙寰楀埌鐨勬繪槸閿欒鐨勭粨鏋滐細絎0浣嶅埌絎2浣嶈繖涓変綅鏄劇ず鐨勬槸涓変釜8錛岀3浣嶆樉紺虹殑鏄7錛岄珮鍥涗綅娌℃湁鏄劇ず銆傚姞闀垮歡鏃墮愪綅瑙傚療涔熸病鏈夊彂鐜伴敊璇鐨勮勫緥錛屽筀eil鐨勮皟璇曚篃涓嶇啛鎮夛紝鍏堟妸闂棰樼暀鍒拌繖錛屽緟鎵懼嚭鍘熷洜鍚庡啀琛ヤ笂銆

銆銆[2006.5.2] 鎵懼嚭鍘熷洜鍟︼紝琛ヤ笂錛

銆銆浠婂ぉ鍙堢湅浜嗕竴涓嬶紝鎵懼埌涓婇潰鐨勯敊璇鍑哄湪鍝浜嗐傚綋鏃舵槸鎯崇敤dis_index鐨勫煎仛涓轟綅鐮佺殑,鍗崇涓浣嶆樉紺0鏃,孌電爜涓篸is_code[0], 鍗砫is_index鍊間負0, 姝ゆ椂浣嶇爜鍊間負1銆傜浜屼綅鏄劇ず1鏃,孌電爜涓篸is_code[1],鍗砫is_index鍊間負1,姝ゆ椂浣嶇爜鍊間負2銆傛墍浠ュ氨綆鍗曠敤浜嗕釜鍔1榪愮畻錛屽皢P0鍙g殑鍋忕Щ鍊間笌P2鍙g殑浣嶇爜鑱旂郴璧鋒潵銆備絾浠旂粏鎯充竴涓嬩綅鐮佺殑鍘熺悊錛屼笂榪版柟娉曟樉鐒舵槸閿欑殑錛屽彧瑕佸啀楠岃瘉涓姝ュ氨鏄庣櫧浜嗭紝鍗沖綋絎3浣嶆樉紺2鏃訛紝孌電爜涓篸is_code[2], dis_index鍊間負2錛屽姞1鍚庝負3錛屾寜涓婅堪鏂規硶鏃跺氨灝嗚繖涓3浣滀負浜嗕綅鐮侊紝鑰屾g『鐨勪綅鐮佸簲璇ユ槸4 (00000100B)銆傛墍浠ュ嚭閿欍傚疄闄呬笂榪欎釜瀵瑰簲鍏崇郴鏄鏈夌殑錛屼絾涓嶆槸綆綆鍗曞崟鐨勫姞1錛屼綅鐮佸簲璇ユ槸2鐨刣is_index嬈″籙銆傚嵆錛
銆銆0錛嶏紞1
銆銆1錛嶏紞2
銆銆2錛嶏紞4
銆銆3錛嶏紞8
銆銆4錛嶏紞16 鈥︹
銆銆騫傛¤繍綆楀嚱鏁癴laot pow(float x, float y)鍖呭惈鍦╩ath.h涓, 榪斿洖鍊間負xy (float鍨):

銆銆for (dis_index = 0; dis_index < 8; dis_index++)
銆銆{
銆銆P0 = dis_code[dis_index]; // 孌電爜閫丳0鍙
銆銆P2 = (char) pow(2, dis_index); // 浣嶇爜閫丳2鍙
銆銆delayms(255);
銆銆}

銆銆鍐嶆′笅杞藉埌鏉誇笂鍙戠幇浠嶆湁闂棰, 鍗沖歡鏃跺緢灝忕殑鏃跺欐樉紺烘販涔,浣嗗姞澶у歡鏃舵椂闂(濡傜▼搴忎腑鐨勫)鍙浠ヨ傛煡鍒版暟鐮佺℃槸鎸変綅姝g『鏄劇ず鐨勩傚彟澶栫敤榪欑嶆柟娉曚駭鐢熺殑浠g爜閲忎篃寰堝ぇ(浠庡啓鍏ラ熷害鐪,寰堟槑鏄)銆傝繖閲屼粎鎻愬嚭浜嗕竴涓鎬濊礬錛屽彧鍦ㄦゅ疄楠屼腑閫傜敤錛屾剰涔変笉澶э紝鍒版や負姝銆

銆銆[琛ュ厖緇撴潫]

銆銆--------------------------------------------------------------------------------

銆銆AS涓緇愬嚭鐨勪緥紼嬫槸鍒╃敤瀹氭椂涓鏂鍋氱殑寤舵椂錛屽弬鑰冧慨鏀瑰埌鎴戠殑鏉誇笂錛岀▼搴忓備笅錛

銆銆#include <reg51.h>
銆銆#include <intrins.h> // 鍖呭惈浜嗗乏縐誨嚱鏁癬crol_()

銆銆unsigned char data dis_digit; // 浣嶉夐氬, 浼犻佸埌P2鍙g敤浜庨夐氬綋鍓嶆暟鐮佺$殑鏁板,
銆銆// 濡傜瓑浜0x01鏃,閫夐歅2.0鍙f暟鐮佺

銆銆unsigned char code dis_code[11]={0x08,0xab,0x12,0x22,0xa1, // 0,1,2,3,4
銆銆0x24,0x04,0xaa,0x00,0x20, 0xff}; // 5,6,7,8,9,off

銆銆unsigned char data dis_buf[8]; // dis_buf 鏄句簬緙撳啿鍖哄熀鍦板潃

銆銆unsigned char data dis_index; // 鏄劇ず緔㈠紩, 鐢ㄤ簬鏍囪瘑褰撳墠鏄劇ず鐨勬暟鐮佺″拰緙撳啿鍖虹殑鍋忕Щ閲

銆銆void main()
銆銆{
銆銆P0 = 0xff; //鍏抽棴鎵鏈夋暟鐮佺
銆銆P2 = 0x00;

銆銆TMOD = 0x01; // 00000001B 瀹氭椂璁℃暟鍣0宸ヤ綔鍦ㄦ柟寮1錛16浣嶅畾鏃跺櫒/璁℃暟鍣
銆銆TH0 = 0xFC;
銆銆TL0 = 0x17; // 棰勭疆鍒濆 FC17H=64535D, 216-64535=1001us=1ms

銆銆IE = 0x82; // 10000010B T0婧㈠嚭涓鏂鍏佽

銆銆dis_buf[0] = dis_code[0x0];
銆銆dis_buf[1] = dis_code[0x1];
銆銆dis_buf[2] = dis_code[0x2];
銆銆dis_buf[3] = dis_code[0x3];
銆銆dis_buf[4] = dis_code[0x4];
銆銆dis_buf[5] = dis_code[0x5];
銆銆dis_buf[6] = dis_code[0x6];
銆銆dis_buf[7] = dis_code[0x7];

銆銆dis_digit = 0x01; // 閫夐氱0浣嶆暟鐮佺
銆銆dis_index = 0; // 鍋忕Щ鍒濆間負0

銆銆TR0 = 1; // 鍚鍔═0
銆銆while(1); // 寰鐜絳夊緟涓鏂

銆銆}

銆銆void timer0() interrupt 1 // 瀹氭椂鍣0涓鏂鏈嶅姟紼嬪簭, 鐢ㄤ簬鏁扮爜綆$殑鍔ㄦ佹壂鎻

銆銆{
銆銆TH0 = 0xFC; // 鍙戠敓涓鏂瀹氭椂/璁℃暟鍣ㄩ噸瑁呭垵鍊
銆銆TL0 = 0x17; // 鎰熻夋ゅ(鍙婁笂)搴旇ユ槸0x18,鑰屼笉鏄17錛屽垎鏋愬備笅

銆銆P2 = 0x00; // 鍏堝叧闂鎵鏈夋暟鐮佺
銆銆P0 = dis_buf[dis_index]; // 孌電爜閫丳0鍙
銆銆P2 = dis_digit; // 浣嶇爜閫丳2鍙

銆銆dis_digit = _crol_(dis_digit,1); // 浣嶉夐氬煎乏縐, 涓嬫′腑鏂鏃墮夐氫笅涓浣嶆暟鐮佺
銆銆dis_index++;

銆銆dis_index &= 0x07; // 8涓鏁扮爜綆″叏閮ㄦ壂鎻忓畬涓閬嶄箣鍚庯紝鍐嶅洖鍒扮涓涓寮濮嬩笅涓嬈℃壂鎻
銆銆}

銆銆鈽 瀹氭椂鍣/璁℃暟鍣ㄧ殑杈撳叆鑴夊啿鍛ㄦ湡涓庢満鍣ㄥ懆鏈熶竴鏍, 涓烘椂閽熸尟鑽¢戠巼鐨1/12銆傛櫠鎸鐢12M鏃訛紝杈撳叆鑴夊啿鍛ㄦ湡闂撮殧涓1us銆傛満鍣ㄥ懆鏈熶負 1us銆傝綯0鐨勫垵鍊間負X錛岃$畻鍒濆肩殑鏂規硶錛氭湰渚嬩腑瀹氭椂鍣ㄧ敤鏂瑰紡1錛屾槸16浣嶇殑瀹氭椂鍣錛屽嵆鏈澶у間負216錛65536錛岃秴榪囨ゅ煎皢鍙戠敓婧㈠嚭錛屽紩璧蜂腑鏂錛岃繘鍏ヤ腑鏂澶勭悊紼嬪簭銆傝繖閲岃佽╁叾寤舵椂1ms錛屽嵆1000us, 鍒欐湁寮216錛峏錛1000錛屽彲寰梄錛64536錛屾崲綆椾負16榪涘埗涓篎C18錛屽嵆鍒濆糡H0=0xFC錛孴L0=0x18銆傚嵆瀹氭椂鍣ㄧ敱64536寮濮嬭℃暟錛岀粡1000嬈¤℃暟鍚庡間負65536錛屽皢鍙戠敓瀹氭椂涓鏂錛屽啀榪涘叆涓鏂澶勭悊瀛愮▼搴忓悗錛岄噸鏂拌呭拰鍒濆礆紝濡傛ゅ驚鐜涓嬪幓銆
銆銆鑰屽湪涓婁緥涓鍏惰呭叆鐨勫垵鍊煎苟闈濬C18錛64536錛夛紝鑰屾槸FC17錛64535錛夈傛垜鎯沖ぇ姒傝や負鍏惰℃暟鑼冨洿鍦0鍀65565鐨勫師鍥犲惂錛屾垜涔熸兂榪囪繖涓闂棰橈紝鏄鐢216-璁℃暟鍒濆=涓鏂闂撮殧 鍛,榪樻槸鐢(216-1)-璁℃暟鍒濆=涓鏂闂撮殧鍛? 闅忔墜鏌ヤ簡鍑犳湰涔, 璇存硶涓嶄竴,涓嶈繃鐢ㄥ墠鑰呯殑杈冨, 鎴戣嚜宸變篃璁や負鍓嶈呮瘮杈冨悎鐞, 鍥犱負鍦ㄨ$畻鏈轟腑16浣嶇殑浜岃繘鍒朵笉鑳借〃紺65536, 鍦ㄥ悇浣嶅潎涓1鏃惰〃紺虹殑鍊間負65535, 鍗65535H=1111111111111111B, 涔熷彲浠ヨ65536鏄婧㈠嚭寰楀埌鐨勩傝屼綍鏃跺搷搴斾腑鏂灝辨垚浜嗗叧閿錛屾嬁涓婁緥鏉ヨ達紝濡傝懼垵鍊間負64535錛團C17錛夛紝鍒欒℃暟鍒65535鏃訛紝宸茬粡璁℃暟涓1000涓錛屽嵆1ms錛屼絾姝ゆ椂騫舵湭鍙戠敓婧㈠嚭錛屽洜姝や篃娌℃湁瑙﹀彂涓鏂銆傝屾槸鍦ㄤ笅涓涓璁℃暟鍚庢墠鍙戠敓銆傜『鍒囧煎簲涓1001us銆傝嫢鍒濆間負64536錛團C18錛夛紝鍒欐伆濂戒負鎵闇鍊礆紝鎵浠ヤ笂渚嬩腑鐨勫垵鍊煎簲璇ョ敤FC18鑰屼笉鏄疐C17銆傝繖浠呬粎鏄鎴戣嚜宸辯殑涓鐐圭湅娉曪紝鑷充簬鏄涓嶆槸榪欐牱錛岃繕鏈夊緟榪涗竴姝ヨ冭瘉銆

銆銆--------------------------------------------------------------------------------
銆銆鏈緇堜笅杞藉埌瀹為獙鏉誇笂緇撴灉錛

銆銆######################################琛ュ厖########################################

銆銆鐢≒roteus浠跨湡緇撴灉濡備笅(鏌愪竴鐘舵佺殑鎴鍥):

銆銆鈽 璇ョ數璺孌電爜鏄鎸変笌鏉誇笂鎺ユ硶瀵瑰簲鐨,鍗蟲寜鍓嶉潰鐨勬電爜琛ㄦ″簭榪炴帴銆傚彟澶栬繖涓鍏浣嶇殑浠跨湡鏁扮爜綆℃渶宸︾鏄絎涓浣嶏紝鏈鍙崇鏄絎鍏浣嶏紝涓庢澘涓婄殑欏哄簭鐩稿弽錛屾墍浠ユ帴涓轟簡緇熶竴錛岃ュ浘浠ユ澘涓哄噯榪炴帴銆備笂鍥句笉鍔犱笂鎷夌數闃諱篃鍙浠跨湡鍑虹粨鏋滐紝鍙鏄疨0鍙i珮鐢靛鉤鏄劇ず涓虹伆錛屽嵆楂橀樆銆

3. 80c51單片機 1 到20 數碼管顯示程序

A005光碟目錄

1、一組C-51的程序設計 2、C51設計遙控器
3、Franklin C-51手冊 4、一個C51討論組的壓縮包1
5、FrankLin For Windows使用經驗談 6、AT89C 系列單片機解密原理
7、一個C51討論組的壓縮包 8、微型列印機的C語言源程序
9、6B595或74HC595的C語言源程序 10、24C02串列EEPROM的C語言源程序
11、日歷時鍾DS12887或146818的C語言源程序 12、串列4路DAC TLC5620的C語言源程序
13、串列8位ADC TLC0831或TLC0832的C語言源程序 14、電力載波晶元PM2300與89C2051的介面電路
15、80C31與PC機AT匯流排介面卡 16、感測器信號採集電路
17、雙音頻紅外接收和5087鍵盤電路 18、雙音頻8870接收電路
19、雙音頻紅外遙控器發射電路 20、用74373,74573鎖存器擴展I/O埠的方法
21、用74164串入並出移位寄存器擴展89C2051輸出埠 22、用74165並入串出移位寄存器擴展89C2051輸入埠
23、6位LED數碼管顯示模塊 24、8位LED顯示板
25、MPLAB集成開發環境軟體 26、MPASM用戶指南(包括MPLINK和MPLIB)
27、1000米語音立體聲調頻發射
28、315M遙控發射/接收電路的製作
29、微波報警器 30、定時控制器
31、裝在火柴盒裡的竊聽器
32、遠距離FM調頻發射電路
33、10公里雙向可視對講系統 34、LED顯示電腦電子鍾
35、可直接用於無線發射的UHF頻段調制盒 36、調頻廣播發射機
37、一個多用途信號發生器
38、實用電動窗簾電路
39、無線電遙控發射、接收頭的製作 40、串列E2PROM--24C××讀寫器
41、PIC單片機編程器的自製 42、初學單片機幾個不易掌握的概念
43、用單片機實現通用存貯器IC卡的讀寫 44、EM78系列單片機原理與應用技術
45、印刷電路板的基本設計方法和原則要求 46、Intel hex 文件格式解密
47、自製2051單片機編程器 48、AT89C系列單片機燒寫器的自製
49、利用80C31單片機串列口實現多個LED
顯示的一種簡單方法
50、基於PIC單片機的智能IC卡燃氣表電控系統設計
51、由單片機和多片DS1820組成的
多點溫度測控系統 52、MCS-51系列單片機在SDH系統中的應用
53、異種單片機共享片外存儲器及其與微機通信的方法 54、基於Intel80C196的通用伺服控制系統
55、12位A/D轉換器ADS7804與51單片機的介面及程序設計
56、12位500KHz六通道同時采樣的A/D轉換器ADS7864及應用
57、單片機大容量FLASHRAM的擴展
58、單片機外圍電路中的低功耗技術
59、基於MC68HC05CL16的可配置型電話計費器的設計和實現
60、W78E516及其在系統編程的實現
61、AVR單片機在柴油機轉速測量中的應用
62、串列EEPROM X24128及其與AT89C51的介面及編程
63、用多路復用器擴展MCU串口
64、一種高性能攜帶型PIC單片機濕度檢測儀的研製
65、單片機微處理器AT89C51在時隙變換和
控制中的應用
66、自製MSP430FET140模擬器的原理圖和PCB板圖

閱讀全文

與518位動態數碼管程序相關的資料

熱點內容
網路上說的陳勁生是什麼 瀏覽:913
網站首頁都用了哪些知識點 瀏覽:41
如何刪除手機軟體的重復文件 瀏覽:908
微信頁面沒有添加圖標 瀏覽:47
暗黑綠色裝備升級 瀏覽:261
到哪裡學編程啊 瀏覽:752
電腦粉碎文件和卸載 瀏覽:365
怎麼查看共享電腦所有文件 瀏覽:617
創意編程社區賬號在哪裡 瀏覽:377
好用的壓縮文件 瀏覽:538
360下載的補丁包在哪個文件夾 瀏覽:988
微信54安卓版本官網 瀏覽:698
為什麼cnc編程找工作難 瀏覽:777
sql資料庫埠不通 瀏覽:361
javaword轉swf 瀏覽:174
cms數據更新是什麼 瀏覽:39
電腦保密櫃在文件里怎麼找不到了 瀏覽:225
nodejs前端後端 瀏覽:129
程序俠後台多少 瀏覽:32
mysqle執行sql文件在哪裡 瀏覽:466

友情鏈接