久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

關于單片機數碼管動態掃描程序處理

查看數: 2147 | 評論數: 7 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2023-8-26 16:58

正文摘要:

用STC12W204S單片機 直接驅動一個4位數碼管。我們平時都是把段選放在一個口,例如P0,P1,P2,每個口剛好8個IO口,但是這個單片機沒有一個完整的8位口,如圖這樣,段選分散在了P1,P3,P5口。 如果段選全在一個P0 ...

回復

ID:383654 發表于 2023-8-28 15:38
cnfloatleaf 發表于 2023-8-27 01:36
sbit   TMP0 = temp^0;
sbit   TMP1 = temp^1;
sbit   TMP2 = temp^2;

感謝大佬,就是這個意思!
ID:161164 發表于 2023-8-28 10:34
  1. void IO_out(uchar dat)
  2. {
  3.         P34=dat&0x80;
  4.         P30=dat&0x40;
  5.         P12=dat&0x20;
  6.         P10=dat&0x10;
  7.         P32=dat&0x08;
  8.         P33=dat&0x04;
  9.         P13=dat&0x02;
  10.         P11=dat&0x01;
  11. }
復制代碼


ID:123289 發表于 2023-8-28 10:12
1、這里不關P0的事。
2、你可以正常使用數組,完成你想要做的事。
3、驅動LED時,加一個【翻譯】(自己寫程序):
【翻譯】這樣工作:
3.1、取出的一個LED的顯示數據是N,(假設你想顯示3,這里的N也=3)
3.2、將N轉LED碼:M。(這里你可以做一個N轉M的表格,其中N=3時,M=hgfedcba=01001111,h=dp),M一個字節共8位,M7-M0,每位對應一個LED的顯示段。請自己先編一個碼生產N-M表格。你想顯示多少種N,就對應做出多少個M,不要怕麻煩。如顯示3,abcdg=1,ef=0,dp=0。N=03H/M=40H。
3.3、取出M,因為M0=a,a接在P3.3上,就將M0送至P3.3(P3.3=M0)。類似處理M1-M7。
3.4、如果M需要顯示在第2位G2,G2接在P3.7上,就讓P3.7=0(共陰LED),其它3位G1/G3/G4=P3.2/P1.0/P1.2=1。
如果是共陽LED,則3.3、3.4、的結果需要求反。

總結:這個作業是為了讓你真正地理解LED掃描顯示的原理。就是不讓你【順心】,必須自己寫驅動,并翻譯LED碼。
事實上,在實戰產品中,大部分情況,為了省錢,也是以硬件優先,LED的引腳不一定與CPU【有序】。當然設計大師們為了方便軟件,也會盡可能做成【有序】。不過,魚和熊掌啊。
ID:459275 發表于 2023-8-27 09:11
http://www.zg4o1577.cn/bbs/dpj-56990-1.html
看看這里或許能幫到你。
ID:1085441 發表于 2023-8-27 01:38
在這里敲程序真累啊,TABLE健不能用,一不小心沒寫完就發出了,應該現在編輯器上敲好復制過來
ID:1085441 發表于 2023-8-27 01:36
sbit   TMP0 = temp^0;
sbit   TMP1 = temp^1;
sbit   TMP2 = temp^2;
sbit   TMP3 = temp^3;
sbit   TMP4 = temp^4;
sbit   TMP5 = temp^5;
sbit   TMP6 = temp^6;
sbit   TMP7 = temp^7;

// 顯示程序
P32 = 1;   // 位選全部為1,不顯示,假設數碼管是共陰
P37 = 1;
P10 = 1;
P12 = 1;
temp = table[0];    // 賦值第一個數碼管,數碼管 a b c ~ dp 對應bit0~bit7
P33 = TMP0;
P11 = TMP1;
P14 = TMP2;
P54 = TMP3;
P55 = TMP4;
P36 = TMP5;
P13 = TMP6;
P15 = TMP7;
P32= 0;        // 顯示第一位數碼管
delay();           // 延時
P32= 1;
temp= table[1];   // 賦值第二個數碼管,
// BIT位賦值同上
P37= 0;  // 顯示第二位數碼管
ID:1085441 發表于 2023-8-27 01:22
可以吧每個bit分開送,然后驅動位選
unsigned char bdata tmp;       // 先定義一個可位尋址RAM
sbit

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久成人免费 | 精品国产乱码久久久久久蜜柚 | 一级黄色毛片免费 | 国产精品一区一区三区 | 国产午夜在线 | 一级女毛片 | 亚洲一区二区高清 | 亚洲三区在线观看 | 成人网在线看 | 精品成人在线视频 | 国产精品区一区二区三区 | 国产午夜精品一区二区三区 | 精品国产1区2区3区 在线国产视频 | 欧美一区二区 | 亚洲丝袜天堂 | 日韩精品视频在线免费观看 | 在线观看中文视频 | 毛片久久久 | 色片在线观看 | 国产高清在线观看 | 天天爱av| 亚洲国产精品成人无久久精品 | 国产精品久久久久久久久久久久 | 不卡av电影在线播放 | 欧美日韩精品一区二区三区四区 | 日韩在线一区二区 | 亚洲成人av在线播放 | 亚洲最新在线视频 | 欧美日韩国产传媒 | 久久精品综合 | 精品久久久久久久人人人人传媒 | 日韩久久精品视频 | www.888www看片| 在线看一区二区 | 国产精品99久久免费观看 | 欧美激情精品久久久久久变态 | 成人深夜福利网站 | h视频免费在线观看 | 国产丝袜一区二区三区免费视频 | 午夜日韩视频 | 欧美在线a |