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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3984|回復: 7
打印 上一主題 下一主題
收起左側

單片機數碼管顯示想加上可以停留的功能

[復制鏈接]
跳轉到指定樓層
樓主
ID:947409 發表于 2021-6-30 16:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1黑幣
在 8 個數碼管上顯示 0---9 這十個數字,且從左到右動態顯示,然后我想加上可以停留的功能,比如顯示完1以后,1不會消失,然后顯示2
單片機源程序如下:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dis_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88};//共陽數碼

void delay(uint y)
{
uchar i;
while(y--) for(i=0;i<110;i++);
}void main()
{
uchar i,j=0x80;
while(1)
{
for(i=0;i<8;i++)
{
P2=0xff;
j=_crol_(j,1);
P0=dis_code[ i];
P2=j;
delay(500);
}
}}


該加上啥?

最佳答案

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

使用道具 舉報

沙發
ID:213173 發表于 2021-6-30 16:33 | 只看該作者
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uchar dis_code[17]={//共陽數碼管段碼"0~f "
  6.                 0xc0,0xf9,0xa4,0xb0,
  7.                 0x99,0x92,0x82,0xf8,
  8.                 0x80,0x90,0x88,0x83,
  9.                 0xc6,0xa1,0x86,0x8e,0x00};
  10. void delay(uint y)
  11. {
  12.         uchar i;
  13.         while(y--)
  14.         for(i=0;i<110;i++);
  15. }
  16. void main()
  17. {
  18.         uchar i,j;
  19.         uint  k;
  20.         while(1)
  21.         {
  22.                 P2&=0x00;
  23.                 P0=dis_code[i];
  24.                 P2|=(0x01<<i);
  25.                 delay(1);
  26.                 i=++i%8;
  27.                 k++;
  28.                 if(k>=1000)
  29.                 {
  30.                         k=0;
  31.                         dis_code[16]=dis_code[0];
  32.                         for(j=0;j<16;j++)
  33.                                 dis_code[j]=dis_code[j+1];
  34.                 }
  35.         }
  36. }
復制代碼
回復

使用道具 舉報

板凳
ID:914633 發表于 2021-6-30 22:30 | 只看該作者
8個數碼管顯示10個數 請問顯示到7數碼管全滿后想要達到怎樣的效果
回復

使用道具 舉報

地板
ID:914633 發表于 2021-6-30 22:48 | 只看該作者
for循環里應該是<10
回復

使用道具 舉報

5#
ID:355873 發表于 2021-6-30 23:03 | 只看該作者
你不能用移位指令,移位指令只將1移動,移到后又變成0
回復

使用道具 舉報

6#
ID:161164 發表于 2021-7-1 02:05 | 只看該作者
有delay(500);這個動作就只能顯示一個位或多位同數(即1,22,333...)
回復

使用道具 舉報

7#
ID:123289 發表于 2021-7-1 14:53 | 只看該作者
1、把8個LED顯示當著是一幅畫面。分一下組:你的動態顯示過程一共有幾個畫面組成。
2、寫好每個畫面的顯示程序。
3、每間隔一段時間切換一個畫面。
這樣考慮問題,你可以任意變化顯示的內容,題目的問題也就跟著解決了。
回復

使用道具 舉報

8#
ID:947409 發表于 2021-7-1 19:59 | 只看該作者
謝謝大家,我已經知道問題所在了,由于第一次問問題,沒有組織好語言,對此很抱歉
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

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