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

QQ登錄

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

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

基于Proteus和Keil C的程序開(kāi)發(fā) 計(jì)數(shù)顯示器和發(fā)光二極管的簡(jiǎn)單應(yīng)用

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:663967 發(fā)表于 2019-12-14 20:42 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
基于ProteusKeilC的程序開(kāi)發(fā)
驗(yàn)證計(jì)數(shù)顯示器的如下功能:可統(tǒng)計(jì)按鈕BUT的按壓次數(shù),并將按壓結(jié)果以十進(jìn)制數(shù)形式顯示出來(lái);當(dāng)顯示值達(dá)到99后可自動(dòng)從1開(kāi)始,無(wú)限循環(huán)。

驗(yàn)證發(fā)光二極管的如下功能:仿真運(yùn)行開(kāi)始時(shí),當(dāng)開(kāi)關(guān)p3_2閉合時(shí),按一下按鈕p3_4,流水燈全亮,再按一下按鈕,流水燈全滅,然后正式開(kāi)始流水,從第一個(gè)二極管開(kāi)始每當(dāng)按鈕BUT按壓一次,二極管就亮一次,且再次按壓按鈕時(shí),下一個(gè)二極管亮一次,以此類推,循環(huán)往復(fù)。
簡(jiǎn)單東西,入門學(xué)習(xí),不喜勿噴

單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. sbit P3_4=P3^4;
  4. sbit P3_2=P3^2;
  5. bit ldelay=0;
  6. uchar t=0;

  7. unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f};
  8. unsigned char count;
  9. void delay(unsigned int time){
  10.         unsigned int j=0;
  11.         for(;time>0;time--)
  12.                 for(j=0;j<125;j++);
  13.                 }

  14. void main(){
  15. uchar code ledp[10]={0x00,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  16. uchar ledi;
  17. TMOD=0x01;
  18. TH0=0x3c;
  19. TL0=0xb0;
  20. TR0=1;
  21. ET0=1;
  22. EA=1;
  23.   count=0;
  24.         P0=table[count/10];
  25.         P2=table[count%10];
  26.         while(1){
  27.                
  28.                 if(P3_4==0){
  29.                         delay(10);
  30.                         if(P3_4==0){
  31.                                 count++;
  32.                                 if(count==100)
  33.                                         count=0;
  34.                                 P0=table[count/10];
  35.                                 P2=table[count%10];
  36.                                 while(P3_4==0);}
  37.                         
  38.                         if(P3_2==0){
  39.                                                            
  40.                 if(ldelay) {
  41.                         ldelay=0;
  42.                         P1=ledp[ledi];
  43.                         delay(1000);
  44.                         ledi++;
  45.                         if(ledi==10) ledi=2;
  46.         }
  47.                         }
  48.         }
  49. }
  50. }

  51. timer0() interrupt 1{
  52.         t++;
  53. if(t==20) {t=0;ldelay=1;}
  54. TH0=0X3C;TL0=0xb0;
  55. }
復(fù)制代碼


2.png (71.59 KB, 下載次數(shù): 40)

2.png

1.png (69.77 KB, 下載次數(shù): 36)

1.png

51hei.png (6.86 KB, 下載次數(shù): 35)

51hei.png

計(jì)數(shù)顯示器與二極管.zip

132.1 KB, 下載次數(shù): 20, 下載積分: 黑幣 -5

簡(jiǎn)單東西,不喜勿噴

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:769378 發(fā)表于 2020-6-30 16:50 | 只看該作者
請(qǐng)問(wèn)有proteus仿真文件嗎?我的顯示不全
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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