找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5351|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)四個(gè)數(shù)碼管顯示的問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
這個(gè)是按照老師講的畫出來(lái)的圖,不讓改動(dòng),要求四個(gè)燈分別顯示1234,延時(shí)1秒后同時(shí)顯示0,1秒后再分別顯示5678,再1秒后顯示0000。這樣循環(huán)

2.jpg (200.87 KB, 下載次數(shù): 75)

2.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:169181 發(fā)表于 2017-5-31 19:37 | 只看該作者
#include<reg51.h>
#include<intrins.h>
#include<absacc.h>
#define uint unsigned int
#define uchar unsigned char       
#define portA XBYTE[0x00]
uchar code tab_1[]={0x06,0x5b,0x4f,0x66};   //1~4&sup1;&sup2;&Ograve;&otilde;
uchar code tab_2[]={0x6d,0x7d,0x07,0x7f};   //5~8&sup1;&sup2;&Ograve;&otilde;
uchar code tab_3[]={0x3f,0x3f,0x3f,0x3f};   //0&sup1;&sup2;&Ograve;&otilde;
void delayms(uint i)
{
   uint j,k;
   for(j=i;j>0;j--)
    for(k=100;k>0;k--);    //&Ntilde;&Oacute;&Ecirc;±1ms
}
void main()
{
while(1)
{
           P2=0x00;
     P0=0x06;
                 P2=0x20;
                 P0=0x5b;
                 P2=0x40;
                 P0=0x4f;
                 P2=0x60;
                 P0=0x66;
           delayms(1000);
                 P2=0x00;
     P0=0x3f;
                 P2=0x20;
                 P0=0x3f;
                 P2=0x40;
                 P0=0x3f;
                 P2=0x60;
                 P0=0x3f;
                 delayms(1000);
                 P2=0x00;
     P0=0x6d;
                 P2=0x20;
                 P0=0x7d;
                 P2=0x40;
                 P0=0x07;
                 P2=0x60;
                 P0=0x7f;
                 delayms(1000);
                 P2=0x00;
     P0=0x3f;
                 P2=0x20;
                 P0=0x3f;
                 P2=0x40;
                 P0=0x3f;
                 P2=0x60;
                 P0=0x3f;
                 delayms(1000);
                 }
}
回復(fù)

使用道具 舉報(bào)

板凳
ID:169181 發(fā)表于 2017-5-31 19:40 | 只看該作者
我自己寫的程序,調(diào)試的問(wèn)題是四個(gè)管本來(lái)應(yīng)該顯示1234的部分全都顯示4,5678那部分也是。不知帶該怎么改了
回復(fù)

使用道具 舉報(bào)

地板
ID:111634 發(fā)表于 2017-5-31 21:59 | 只看該作者
本帖最后由 zl2168 于 2017-5-31 22:49 編輯

程序與電路不符,關(guān)鍵是弄清WR的作用!。≈罏槭裁蠢蠋煵蛔尭膭(dòng)電路嗎?老師就是為了讓學(xué)生去理解并行擴(kuò)展的概念。
推薦一個(gè)案例,內(nèi)有這種電路的原理和程序,去看看吧!
Proteus仿真一下,確認(rèn)有效。
實(shí)例21 并行擴(kuò)展8-16位TTL輸入輸出口.rar (99.82 KB, 下載次數(shù): 7)

以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1.書中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。仿真電路和Hex文件能在清華出版社網(wǎng)站免費(fèi)下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購(gòu)買。
回復(fù)

使用道具 舉報(bào)

5#
ID:148871 發(fā)表于 2017-5-31 22:10 | 只看該作者
一定要注意WR!
回復(fù)

使用道具 舉報(bào)

6#
ID:111634 發(fā)表于 2017-5-31 23:33 | 只看該作者

怎么注意WR?多看看?還是那句話:關(guān)鍵是弄清WR的作用!
回復(fù)

使用道具 舉報(bào)

7#
ID:206555 發(fā)表于 2017-6-1 05:06 | 只看該作者
用個(gè)定時(shí)器就行了
回復(fù)

使用道具 舉報(bào)

8#
ID:206559 發(fā)表于 2017-6-1 07:47 來(lái)自手機(jī) | 只看該作者
搞清位選和段選,掌握動(dòng)態(tài)顯示,再加個(gè)延時(shí)就可以了
回復(fù)

使用道具 舉報(bào)

9#
ID:111634 發(fā)表于 2017-6-1 16:20 | 只看該作者
15277112091 發(fā)表于 2017-6-1 07:47
搞清位選和段選,掌握動(dòng)態(tài)顯示,再加個(gè)延時(shí)就可以了

你的方法對(duì)這個(gè)電路不行!不相信不妨試試看!
回復(fù)

使用道具 舉報(bào)

10#
ID:111634 發(fā)表于 2017-6-1 21:19 | 只看該作者
seven96 發(fā)表于 2017-5-31 19:40
我自己寫的程序,調(diào)試的問(wèn)題是四個(gè)管本來(lái)應(yīng)該顯示1234的部分全都顯示4,5678那部分也是。不知帶該怎么改了

思路不對(duì)!程序與電路不符!
回復(fù)

使用道具 舉報(bào)

11#
ID:208017 發(fā)表于 2017-6-5 16:08 | 只看該作者

搞清位選和段選,掌握動(dòng)態(tài)顯示,再加個(gè)延時(shí)就可以了
回復(fù)

使用道具 舉報(bào)

12#
ID:208092 發(fā)表于 2017-6-5 17:02 | 只看該作者
#include<reg51.h> #include<intrins.h> #include<absacc.h> #define uint unsigned int #define uchar unsigned char         #define portA XBYTE[0x00] uchar code tab_1[]={0x06,0x5b,0x4f,0x66};   //1~4&sup1;&sup2;&Ograve;&otilde; uchar code tab_2[]={0x6d,0x7d,0x07,0x7f};   //5~8&sup1;&sup2;&Ograve;&otilde; uchar code tab_3[]={0x3f,0x3f,0x3f,0x3f};   //0&sup1;&sup2;&Ograve;&otilde; void delayms(uint i) {    uint j,k;    for(j=i;j>0;j--)     for(k=100;k>0;k--);    //&Ntilde;&Oacute;&Ecirc;±1ms } void main() {  while(1) {            P2=0x00;      P0=0x06;                  P2=0x20;                  P0=0x5b;                  P2=0x40;                  P0=0x4f;                  P2=0x60;                  P0=0x66;            delayms(1000);                  P2=0x00;      P0=0x3f;                  P2=0x20;                  P0=0x3f;                  P2=0x40;                  P0=0x3f;                  P2=0x60;                  P0=0x3f;                  delayms(1000);                  P2=0x00;      P0=0x6d;                  P2=0x20;                  P0=0x7d;                  P2=0x40;                  P0=0x07;                  P2=0x60;                  P0=0x7f;                  delayms(1000);                  P2=0x00;      P0=0x3f;                  P2=0x20;                  P0=0x3f;                  P2=0x40;                  P0=0x3f;                  P2=0x60;                  P0=0x3f;                  delayms(1000);                  } }
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表