找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3953|回复: 2
收起左侧

单片机proteus仿真时钟

[复制链接]
ID:119595 发表于 2016-5-9 18:59 | 显示全部楼层 |阅读模式
用proteus仿真实现时钟
QQ截图20160509185704.png 0.png

时钟程序源码:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit du = P2^6;
  5. sbit we = P2^7;
  6. uchar code wei_i[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80 };
  7. uchar code table_d[] = {0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X00,0X40};
  8. uchar s,g,num,shi,fen,miao;
  9. void delays(uint xms)
  10. {
  11.         uint i,j;
  12.         for(i=xms;i>0;i--)
  13.                 for(j=110;j>0;j--);
  14. }
  15. void init()
  16. {
  17.         P0 = 0;
  18.         du = 0;
  19.         we = 0;
  20. }
  21. void display(uchar wei,uchar duan)
  22. {               
  23.         P0=~wei_i[wei];
  24.         we=1;
  25.         we=0;
  26.         P0=table_d[duan];
  27.         du=1;
  28.         du=0;
  29.         delays(3);
  30.         P0=0xdb;
  31.         we=1;
  32.         we=0;
  33.         P0=0x40;
  34.         du=1;
  35.         du=0;
  36.         delays(3);
  37. }
  38. void T0_time() interrupt 1
  39. {
  40.         TH0 = (65536-50000)/256;
  41.         TL0 = (65536-50000)%256;
  42.         num++;
  43.         if(num==20)
  44.         {
  45.                 num = 0;
  46.                 miao++;
  47.                 if(miao>=60)
  48.                 {
  49.                         fen++;
  50.                         miao=0;
  51.                 }
  52.                 if(fen>=60)
  53.                 {
  54.                         fen=0;
  55.                         shi++;
  56.                 }
  57.                 if(shi>=24)
  58.                         shi=0;
  59.         }
  60. }
  61. void main()
  62. {
  63.         init();
  64.         TMOD = 0x01;
  65.         TH0 = (65536-50000)/256;
  66.         TL0 = (65536-50000)%256;
  67.         EA = 1;
  68.         ET0 = 1;
  69.         TR0 = 1;
  70.         while(1)
  71.         {
  72.                 s = miao / 10;
  73.                 g = miao % 10;
  74.                 display(6,s);
  75.                 display(7,g);
  76.                 s = fen /10;
  77.                 g = fen %10;
  78.                 display(3,s);
  79.                 display(4,g);
  80.                 s = shi / 10;
  81.                 g = shi % 10;
  82.                 display(0,s);
  83.                 display(1,g);
  84.         }
  85. }
复制代码


时钟.rar

47.36 KB, 下载次数: 176, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:125370 发表于 2016-6-6 21:53 | 显示全部楼层
不错
回复

使用道具 举报

ID:126404 发表于 2016-6-12 18:50 | 显示全部楼层
挺好的实例
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表