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

QQ登錄

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

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

求賜教,求賜教,顯示程序不會(huì)啊

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:158420 發(fā)表于 2016-12-28 17:56 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include "reg52.h"

unsigned char code dsp_code_ca[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned int tflag;
unsigned char dspflag;
unsigned char second;
unsigned char dflag;

void display(unsigned char d);

void main()
{
  TMOD |= 0x02;
  TH0 = 0x06;
  TL0 = 0x06;
  EA = 1;
  ET0 = 1;
  TR0 = 1;
  while(1)
  {
    display(second);  
  }
}

//T0中斷服務(wù)函數(shù)
void isr_t0(void) interrupt 1
{
  tflag++;
  dflag++;
  if(dflag == 16)
  {
          dflag = 0;
        dspflag++;
        if(dspflag == 2)
          dspflag = 0;
  }
  if(tflag == 4000)
  {
    tflag = 0;
    second++;
    if(second == 60)
      second = 0;
  }  
}

//顯示程序
void display(unsigned char d)
{
  if((dspflag == 0) && (d/10 != 0))
  {
        P0 = 0xFF;
    P2 |= 0xE0;
    P2 &= 0x1F;

        P0 = dsp_code_ca[d/10];
    P2 |= 0xE0;
    P2 &= 0x1F;
    P0 = 0x40;
    P2 |= 0xC0;
    P2 &= 0x3F;
  }
  if(dspflag == 1)
  {
    P0 = 0xFF;
        P2 |= 0xE0;
    P2 &= 0x1F;

        P0 = dsp_code_ca[d%10];
    P2 |= 0xE0;
    P2 &= 0x1F;
    P0 = 0x80;
    P2 |= 0xC0;
    P2 &= 0x3F;
  }  
}


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

使用道具 舉報(bào)

沙發(fā)
ID:113208 發(fā)表于 2016-12-28 21:33 | 只看該作者
有電路圖嗎?沒(méi)有電路圖不好說(shuō)。&=|=就是按位與和或,然后賦值。
回復(fù)

使用道具 舉報(bào)

板凳
ID:158420 發(fā)表于 2016-12-29 14:49 | 只看該作者
張偉靈 發(fā)表于 2016-12-28 21:33
有電路圖嗎?沒(méi)有電路圖不好說(shuō)。&=|=就是按位與和或,然后賦值。

回復(fù)

使用道具 舉報(bào)

地板
ID:158420 發(fā)表于 2016-12-29 14:51 | 只看該作者
張偉靈 發(fā)表于 2016-12-28 21:33
有電路圖嗎?沒(méi)有電路圖不好說(shuō)。&=|=就是按位與和或,然后賦值。

Y7是位選,Y6是段選。這個(gè)現(xiàn)實(shí)程序定義的d,還有顯示的邏輯我看不懂。能幫我解一下惑嗎?
謝謝您
回復(fù)

使用道具 舉報(bào)

5#
ID:111634 發(fā)表于 2016-12-29 22:08 | 只看該作者
本帖最后由 zl2168 于 2016-12-29 22:12 編輯

顯示是單片機(jī)最基本最常用的功能。
介紹你幾種顯示電路和程序,自己去學(xué)習(xí)研究吧!


5 顯示


5.1  LED數(shù)碼管靜態(tài)顯示


實(shí)例51  單個(gè)LED數(shù)碼管循環(huán)顯示0~9


實(shí)例52  74LS377并行輸出3LED靜態(tài)顯示


實(shí)例53  CC4511 BCD碼驅(qū)動(dòng)3LED數(shù)碼管靜態(tài)顯示


實(shí)例54  74LS164串行擴(kuò)展3LED數(shù)碼管靜態(tài)顯示


實(shí)例55  CC4094串行擴(kuò)展3LED數(shù)碼管靜態(tài)顯示


實(shí)例56  74HC595串行擴(kuò)展3LED數(shù)碼管靜態(tài)顯示


5.2  LED數(shù)碼管動(dòng)態(tài)顯示


實(shí)例57  PNP晶體管選通3位共陽(yáng)LED數(shù)碼管動(dòng)態(tài)顯示


實(shí)例58  74LS139選通4LED數(shù)碼管動(dòng)態(tài)顯示


實(shí)例59  74LS138選通8LED數(shù)碼管動(dòng)態(tài)顯示


實(shí)例60  74LS595串行選通8LED數(shù)碼管動(dòng)態(tài)顯示


實(shí)例61  控制8LED數(shù)碼管滾動(dòng)顯示


實(shí)例62  8255A擴(kuò)展8LED數(shù)碼管動(dòng)態(tài)顯示


實(shí)例63  8155擴(kuò)展8LED數(shù)碼管動(dòng)態(tài)顯示


實(shí)例64  MAX7221控制8LED數(shù)碼管動(dòng)態(tài)顯示


5.3  LED點(diǎn)陣顯示


實(shí)例65  LED5×7點(diǎn)陣顯示字符


實(shí)例66  LED 16×16點(diǎn)陣顯示漢字


5.4  LCD顯示屏顯示


實(shí)例67  LCD1602顯示屏顯示字符


實(shí)例68  LCD12864顯示屏顯示漢字



以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實(shí)驗(yàn)操作,電路與程序真實(shí)可靠可信可行。






回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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