豆搜网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 动态扫描和定时器
侵权投诉

动态扫描和定时器

用动态扫描方法和定时器1在数码管的前三位显示出秒表,精确到1%秒,即最后一位显示1%秒,一直循环下去设时钟频率为12M

#include<reg52.h>

#include <intrins.h> //包含有左右循环移位子函数的库

#define uint unsigned int

#define uchar unsigned char

sbit dula=P2^6;

sbit wela=P2^7;

uchar ge,shi,bai;

uint tt;

uchar code table[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

void display(uchar,uchar,uchar);

void delay(uint);

void main()

{

TMOD=0x10;//设置定时器1为工作方式1

TH1=(65536-10000)/256;

TL1=(65536-10000)%256;

EA=1;//开总中断

ET1=1;//开定时器1中断

TR1=1;//启动定时器1

while(1)

{

display(bai,shi,ge);

}

}

void exter0() interrupt 3 // 定时器1中断

{

TH1=(65536-10000)/256;

TL1=(65536-10000)%256;

tt++;

if(tt==1000)

tt=0;

bai=tt/100;

shi=tt%100/10;

ge=tt%10;

}

void display(uchar one,uchar two,uchar three) \\数码管显示子函数

{

dula=1;

P0=table[one]; //送段数据

dula=0;

P0=0xff; //送位数据前关闭所有显示,防止打开位选锁存后段选数据通过位选锁存器

wela=1;

P0=0xfe;

第1页

TOP相关主题

热门文档

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.docsou.com All Rights Reserved.  闽ICP备15022310号-9  闽公网安备 35021102001881号  email
返回顶部