找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

簡易單片機車輛里程表源程序+Proteus仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:505058 發(fā)表于 2020-4-12 17:32 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式


單片機源程序如下:
  1. #include <REG52.H>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uint count_km;        //記錄里程數(shù)
  5. uchar count0,count1,count2,count3;//用于分離里程數(shù)的各位數(shù)字  
  6. sbit P20=P2^0;
  7. sbit P21=P2^1;
  8. sbit P22=P2^2;
  9. sbit P23=P2^3;

  10. const uchar table0[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//顯示碼顯示數(shù)字0~9

  11. void delay()
  12. {
  13.          uint i;
  14.          for(i=0;i<256;i++);
  15. }

  16. void timer0isr(void) interrupt 1 using 1
  17. {
  18.     count_km=count_km + 1500;
  19.         if(count_km>9999)
  20.         count_km=9999;
  21. }

  22. void main(void)
  23. {
  24.         TMOD = 0x06;  //設(shè)定T/C0工作在計數(shù)器,工作方式2               
  25.         TH0 = 0xFB;
  26.         TL0 = 0xFB;         //裝載計數(shù)初值
  27.         EA = 1;                 //開總中斷
  28.         ET0 = 1;         //開T/C0中斷
  29.         TR0 = 1;         //啟動T/C0

  30.         while(1)
  31.         {
  32.                   count0=count_km%10;
  33.                   count1=count_km/10%10;
  34.                   count2=count_km/100%10;
  35.                   count3=count_km/1000%10;
  36.                   P1=table0[count0];
  37.                   P23=1;delay();P23=0;
  38.                   P1=table0[count1];
  39.                   P22=1;delay();P22=0;
  40.                   P1=table0[count2];
  41.                   P21=1;delay();P21=0;
  42.                   P1=table0[count3];
  43.                   P20=1;delay();P20=0;               
  44.         }
  45. }
復(fù)制代碼

所有資料51hei提供下載:
簡易車輛里程表.rar (60.91 KB, 下載次數(shù): 91)

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

使用道具 舉報

沙發(fā)
ID:833323 發(fā)表于 2020-10-22 19:47 | 只看該作者
6位數(shù)碼管的怎么改?
回復(fù)

使用道具 舉報

板凳
ID:526281 發(fā)表于 2020-10-28 20:32 來自手機 | 只看該作者
Unique。 發(fā)表于 2020-10-22 19:47
6位數(shù)碼管的怎么改?

單片機的P2口再加兩個數(shù)碼管。程序開頭添加對應(yīng)的位聲明,主程序中的while循環(huán)中添加兩位數(shù)碼管的數(shù)值計算表達式,并且添加兩條顯示程序就好了。
回復(fù)

使用道具 舉報

地板
ID:839011 發(fā)表于 2020-11-4 21:13 | 只看該作者
請問用脈沖控制的,咋改
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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