標題: 新人有一些數碼管問題不懂 [打印本頁]
作者: lushaoqian 時間: 2017-10-20 12:54
標題: 新人有一些數碼管問題不懂
#include<reg52.h> //52系列單片機頭文件
#define uchar unsigned char
#define uint unsigned int
uint x,y;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71}; //共陰極數碼管編碼
void display(uchar,uchar,uchar,uchar); //聲明子函數
void delay(int); //聲明子函數
void main()
{
while(1)
{
display(1,2,3,4); //主程序始終調用數碼管顯示子程序
}
}
void display(uchar a,uchar b,uchar c,uchar d)
{
P2=0xef;
P0=table[a]; //給第一個數碼管送"a"
delay(1); //延時1ms
P2=0xdf;
P0=table; //給第二個數碼管送"b"
delay(1); //延時1ms
P2=0xbf;
P0=table[c]; //給第三個數碼管送"c"
delay(1); //延時1ms
P2=0x7f;
P0=table[d]; //給第三個數碼管送"d"
delay(1); //延時1ms
}
void delay(uint z) //延時子函數
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
我不懂每個‘’P2=‘’的意思
還有那個定義的 abcd是不是對應的就是
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
這里面的前4個
-
數碼管.jpg
(65.56 KB, 下載次數: 45)
下載附件
2017-10-20 12:51 上傳
作者: 一笑泯恩仇啊 時間: 2017-10-20 19:17
p2的不同賦值對應打開不同的數碼管位選,abcd對應在主函數中是數組的2到5位,而且你的顯示函數里面有一個明顯的錯誤,是table[b]才對
作者: liushuiwuqing 時間: 2017-10-20 19:28
比如 P2=0xbf ,就是讓單片機P2口 P2.7-P2.0的8個引腳輸出的電平依次為1011 1111,即讓P2.6這個端口輸出低電平,此時第3位數碼管亮。abcd應該對應的是數組里的第二到第五個,因為數組從0開始的。
作者: STC89C51 時間: 2017-10-20 19:51
這是數碼管動態顯示,P0口輸出段選信號,就是讓數碼管顯示數字,P2口控制位選,就是讓那個數碼管顯示。樓主說的“abcd”是十六進制,分別對應10、11、12、13。
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
日日噜
|
成人亚洲视频
|
国产一区二区精华
|
精品久久久久久亚洲综合网站
|
色视频成人在线观看免
|
国产视频综合
|
永久免费在线观看
|
国产日韩中文字幕
|
国产一区二区在线免费观看
|
久久伊
|
天天射视频
|
天堂亚洲
|
91极品视频
|
久操伊人
|
久久国产精品免费一区二区三区
|
色欧美片视频在线观看
|
精品久久久久久亚洲精品
|
久久久久久亚洲
|
伊人久久综合
|
亚洲成人精品国产
|
91久久久精品国产一区二区蜜臀
|
一区二区三区四区不卡视频
|
91精品国产91久久久久游泳池
|
免费在线观看一区二区三区
|
看毛片网站
|
av免费看在线
|
黄色免费看
|
亚洲精品观看
|
欧美日韩网站
|
亚洲欧洲成人
|
91久久精品一区
|
欧美视频免费在线
|
国产精品成人69xxx免费视频
|
国产精品一区二区视频
|
中文字幕一区二区视频
|
国产亚洲欧美日韩精品一区二区三区
|
欧美在线视频一区二区
|
午夜小视频免费观看
|
日韩精品免费播放
|
亚洲视频免费在线看
|
午夜欧美a级理论片915影院
|