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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

流水燈和數顯同時工作的干擾問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:23261 發表于 2010-4-27 14:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit pw=P1^4;//發光管的使能端
sbit wei=P2^7;//數碼管的位選端
sbit duan=P2^6;//數碼管的段選端
uchar temp,aa,num; //
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};//數碼管數顯編碼表
void delay(uint z);//延時

void main()
{
 pw=0; //開啟發光管使能端
 num=0; //附于初始值為0
 aa=0; //附于始值為0
 TMOD=0X01; //設定計時/計數器模式控制暫存器值
 TH0=(65536-50000)/256; //中斷初值,高8位
 TL0=(65536-50000)%256; //中斷初值,低8位
 EA=1;  //開啟總中斷
 ET0=1;  //開啟定時中斷
 TR0=1;  //啟動定時
 temp=0xfe; //附值發光管第一個燈亮11111110
 P0=temp;
 duan=1;  //開啟段選
 P0=table[0]; //段選顯示數值初值為0
 duan=0;   //關閉段選,鎖存
 wei=1;  //讓位選處于直通狀態
 P0=0x100; //位選位數值,數碼管位數,二制為100000000,0的才能亮,這樣八個數碼管都亮
 wei=0;  //鎖存,保持上一步的狀態
 
 while(1) //死循環下級程序.
 { 
  delay(1000); //流水燈速度 
  temp=_crol_(temp,1); //向左移位
  P0=temp; 
  
 }

}
void delay(uint z) //流水燈延時函數
{
 uint x,y;
  for(x=z;x>0;x--)
   for(y=110;y>0;y--);

}
void timer0() interrupt 1 //中斷函數
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 aa++;
  if(aa==20) //數顯速度
   {
    aa=0;
    num++;
    if(num==16) //數顯值到最高位F時返回初值0;
     num=0;
    duan=1;
    P0=table[num];
    duan=0;
   }
}

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

使用道具 舉報

沙發
ID:23261 發表于 2010-4-27 14:47 | 只看該作者
這個流水燈會被數碼管干擾得很厲害,因為用的是三極管,而不是鎖存器74HC573,不懂如何在同工作下消除干擾.
回復

使用道具 舉報

板凳
ID:22246 發表于 2010-4-27 23:53 | 只看該作者

你把

pw=0; //開啟發光管使能端

 

這一行刪掉就不行了嗎? 

 

 你開啟了發光管,他當然會隨著數碼管的變化而變化,因為都是接的P0 口,你只要把發光管關閉就行了 刪掉那一行 或者是改為pw=1;

 

 

回復

使用道具 舉報

地板
ID:23261 發表于 2010-5-1 10:11 | 只看該作者
首先很感謝你的回復,這個程序本身就是要讓流水燈和數顯同時工作,如果pw關了就相當于關掉了發光管的電源.呵呵~
回復

使用道具 舉報

5#
ID:1 發表于 2010-5-1 15:15 | 只看該作者

你所說的干擾是一種什么現象呢?我給你分析一下

回復

使用道具 舉報

6#
ID:23625 發表于 2010-5-14 12:53 | 只看該作者
由于你的發光管跟數碼管都共用的,當你段選、位選結束以后,你的P0=0x100; 下面才開始while循環去實現發光管位移。要不你在位選結束后面加個延時試試看,如果不行,試試把temp=oxfe; P0=temp; 放到位選結束的后面,因為這樣的話 temp 重新賦值給P0來點亮發光管,然后進入循環,進行流水燈。這樣應該就行了.... 因為我手頭上沒有單片機板,沒有具體試過。希望能對你有幫助
回復

使用道具 舉報

7#
ID:23852 發表于 2010-5-15 22:27 | 只看該作者
你用兩個定時器試試
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产你懂的在线观看 | 亚洲国产18 | 伊人激情综合网 | 波多野结衣av中文字幕 | 国产小视频在线看 | 国产激情偷乱视频一区二区三区 | 亚洲日本欧美 | 日韩一区二区三区在线观看 | 91久久精品国产91久久性色tv | 日韩视频一区二区 | 国产视频在线一区二区 | 一区中文 | 精品日韩一区 | 日韩免费福利视频 | 国外激情av| 亚洲高清在线观看 | 久久久区 | 91大神在线资源观看无广告 | 蜜桃传媒av| 麻豆视频在线免费观看 | 黑人久久久 | 日韩精品久久一区二区三区 | 91精品久久久久久久久中文字幕 | 久久精品电影 | 96国产精品久久久久aⅴ四区 | 狠狠躁夜夜躁人人爽天天高潮 | 午夜专区 | 黄色成人在线网站 | 成人免费网站在线 | 大象一区 | 日本精品网站 | 久久精品亚洲欧美日韩精品中文字幕 | av在线电影网 | 91精品国产91久久久久青草 | 在线免费观看日本视频 | 亚洲 中文 欧美 日韩 在线观看 | 久久国产婷婷国产香蕉 | 久久www免费人成看片高清 | 91pron在线| 欧美视频一区二区三区 | 国产一级在线 |