一:實驗目的
1:了解大板和小板的區(qū)別
2:實現(xiàn)獨立按鍵大板移植到小板胯究。
二:實驗器材
1:共陰單片機(大板)和共陽單片機(小板)
2:電腦拧抖、keil軟件洽瞬、燒錄軟件恋日。
三巫玻、實驗步驟
1献宫、共陰和共陽數(shù)碼管的區(qū)別
共陽極數(shù)碼管是指八段數(shù)碼管的八段發(fā)光二極管的陽極(正極)都連在一起忽孽,而陰極對應的各段可分別控制硝皂,如圖(B)所示:
共陰極數(shù)碼管是指八段數(shù)碼管的八段發(fā)光二極管的陰極(負極)都連在一起顷窒,而陽極對應的各段分別控制蛙吏,如圖(C)所示:
2鸦做、代碼修改
(1)控制端口的修改
大板控制端口是k3而小板我們設置控制端口是int2
大板實驗程序:
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;//引腳
sbit K3=P3^2;//獨立按鍵
修改后 小板
sbit LSA=P2^0;
sbit LSB=P2^1;
sbit LSC=P2^2;
sbit LSD=P2^3;//引腳
sbit Init=P3^2;//獨立按鍵
(2)數(shù)碼管字符編碼修改
? ?數(shù)碼管每個段均有0(不導通)和1(導通發(fā)光)兩種狀態(tài)励烦,但共陽極數(shù)碼管和共陰極數(shù)碼管顯然是不同的,它在程序中的應用是用一個八位二進制數(shù)表示,A為最低位泼诱,...坛掠,F(xiàn)為最高位(第八位)
共陰極數(shù)碼管字符編碼(大板):
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-9,A-F 字形碼
拿0來說在共陰數(shù)碼管中a、b治筒、c屉栓、d、e耸袜、f 亮友多,因為是高電平有效所以二進制代碼為00111111,用8421轉(zhuǎn)換為16進制0x3f句灌,同理其它也可以這樣得到夷陋。
共陽極數(shù)碼管字符編碼(小板):
u8 code smgduan[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//0-9,A-F 字形碼
拿0來說在共陽數(shù)碼管中也是a、b胰锌、c骗绕、d、e资昧、f 亮酬土,但卻是是低電平有效二進制代碼為11000000,用8421轉(zhuǎn)換為16進制0xc0格带,同理其它也可以這樣得到撤缴。
(3)消隱修改
什么是消隱:消除數(shù)碼管位選和段選產(chǎn)生的瞬態(tài)。
0x00改為0xff
原因推薦鏈接:http://forum.eepw.com.cn/thread/262583/1
(4)動態(tài)顯示修改
switch(i)
?{case(0):?
?LSA=0;LSB=0;LSC=0;break;
case(1):?
?LSA=1;LSB=0;LSC=0;break;
case(2):
?LSA=0;LSB=1;LSC=0;break;
case(3):?
?LSA=1;LSB=1;LSC=0;break; }
switch(i)
?{case(0):?
?LSA=1;LSB=1;LSC=1;LSD=0;break;
case(1):?
?LSA=1;LSB=1;LSC=0;LSD=1;break;
case(2):
?LSA=1;LSB=0;LSC=1;LSD=1;break;
case(3):?
?LSA=0;LSB=0;LSC=1;LSD=1;break; }
四叽唱、實驗結(jié)果
五屈呕、實驗問題
在生成hex文件中,lnit1打成了lint1棺亭,一開始還以為步驟錯了虎眨,后來才看到。