欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機數碼管顯示結果不對,大神能不能幫我看看是怎么回事?

查看數: 2940 | 評論數: 6 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2021-9-5 19:05

正文摘要:

這個代碼是改的其他人的,但是仿真的時候不知道是哪里出問題了 單片機源程序如下: #include <reg52.h> #define led P2 sbit LED1 = P3^0; sbit LED2 = P3^1; sbit LED3 = P3^2; sbit LED4 = P3^3; sbit ...

回復

ID:161164 發表于 2021-9-5 22:23
本帖最后由 lkc8210 于 2021-9-5 23:07 編輯

根據unsigned char code LedChar[] = { 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E};//數碼管顯示字符轉換表
LedChar[0]=0xC0=B11000000
這是用于共陽數碼管的轉換表
所以段位是高電平開啟,低電平關閉
在第66行的switch內
各個case的內容都是先關閉后開啟自己的段位
于是在第一個循環之后
所有段位都長時期開啟
建議在第66行的switch之前加上P3 = 0;先關閉所有段位

第37行LedBuff[0] = LedChar[sec%10];
代表將個位數放進數組0中
但第68行表示數組0會于LED1段顯示
令數碼管的顯示方向上下反轉了
需改成LedBuff[5] = LedChar[sec%10];
把個位數放到最下
ID:332444 發表于 2021-9-7 14:02
boboj 發表于 2021-9-7 11:32
我是初學的,能不能具體講解一下,我之前一直這么干的

訪問我的博客搜索51有很多數碼管的例子看我怎么寫有用數組?https://blog.csdn.net/xianfajushi
ID:950830 發表于 2021-9-7 11:32
xianfajushi 發表于 2021-9-6 11:08
而且數據有存儲數組的必要?直接把數據處理送去顯示即可,用數組沒多大意義.

我是初學的,能不能具體講解一下,我之前一直這么干的
ID:332444 發表于 2021-9-6 11:08
而且數據有存儲數組的必要?直接把數據處理送去顯示即可,用數組沒多大意義.
ID:332444 發表于 2021-9-6 11:05
unsigned char LedBuff[6] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};//如果數組內的所有值都一樣這樣使用數組純屬浪費
ID:950830 發表于 2021-9-5 23:08
lkc8210 發表于 2021-9-5 22:23
根據unsigned char code LedChar[] = { 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,0x80, 0x90, 0x88 ...

非常感謝,這個亂碼關鍵是P2最后沒有置零。還指出了我位的錯誤

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表