单片机AT89S52 如何用定时器0控制数码管从0变到9 每秒变一次 (C语言)

作者&投稿:师东 (若有异议请与网页底部的电邮联系)
at89s52单片机c语言编程,定时中断就是不工作,下面附代码,实现在一个数码管显示0-9,间隔时间1s~

你tt定义错了,uchar 最大只有255,计算不到1000的,所以一直处在等待状态,定义的时候把uchar tt=0;改成uint tt=0;就可以了

中断函数。计数器方式。

用定时器,首先要设置定时的工作模式,误差最小的是方式2,8位自动重载模式。12M晶振,初值给55,定时时间就是200us,也就是你程序写的i=1,就是200us,那定时一秒的话就是i=5,再定义一个变量sec,if(i==5)sec++;显示sec就可以了

#include "AT89X52.h"
unsigned char i;
unsigned char count;
unsigned char temp;
unsigned char a[10]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};
void timer0init(void)
{
TH0=(65536 - 50000) / 256;
TL0=(65536 - 50000)%256;
TMOD=0x01;
TCON=0X10;
IE=0X82;
}
void timeover() interrupt 1
{
TH0=(65536 - 50000) / 256;
TL0=(65536 - 50000)%256
count ++;
if(count == 20)
{
count = 0;
temp++;
if(temp == 10)
{
temp = 0;
}
}
}
void main()
{
P1=0x7f;
timer0init();
while(1)
{
P0=a[temp];
}
}

我的程序不是每秒一变,求改程序。。
----
你用的晶振频率是多少?

你不给出频率,程序,就没有办法改。

具体的我没看哥们,++之后你该把i重新置0


at89s52单片机工作频率上限
at89s52单片机工作频率HZ是33。AT89S52是一种低功耗、高性能CMOS 8位微控制器,是具有8K系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统内编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU 和在系统可编程Flas...

AT89S52单片机的机器周期等于12个时钟振荡周期吗?
有共阴极和共阳极两种接法。13.AT89S52单片机的机器周期等于12个时钟振荡周期。14.51系列单片机有5个中断源,优先中断级。15.定时器工作方式2的特点是定时初值可以自动重装,目的是为了实现自动连续计数 或者产生周期性的定时脉冲。16. AT89S52单片机任何一个端口要想获得较大的驱动能力,要采用低电平输出...

AT89S52简介?谁知道?
AT89S52为 ATMEL 所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。(一)、AT89S52主要功能列举如下:1、拥有灵巧的8位CPU和在系统可编程Flash 2、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)3、内部程序存储器(ROM)为 8KB 4、内部数据存储器(RAM)为 256...

分析at89s52单片机的存储器结构
at89s52 有256 字节片内数据存储器。地址为00h~ffh。这256个单元共分为两部分。其一是地址从00h~7fh单元(共128个字节)为用户数据ram。从80h~ffh地址单元(也是128个字节)为特殊寄存器(sfr)单元。高128 字节与特殊功能寄存器重叠,也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开...

ATMEL AT89s52 单片机的性能怎么样?它可以应用在哪些领域?
功能特性描述AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得...

急求AT89S52芯片简介 要做论文的那种
AT89S52单片机为40引脚芯片如图5-1所示,具有PDIP,PLCC和TQFP3钟封装形式。各引脚的功能如下:●P0口——8位、开漏极、双向I\/O口。当用做通用I\/O口时,每个引脚可驱动8个TTL负载;当用做输入时,每个端口首先置1。P0口也可用做访问片外数据存储器和程序存储器时的低8位地址\/数据总线的复用口。

AT89S52单片机片内硬件组成结构,与一般单片机和微机组成结构比较,显著...
它们之间主要区别在于以下几点:1.引脚功能:管脚几乎相同,变化的有,在AT89S51中P1.5,P1.6,P1.7具有第二功能,即这3个引脚的第二功能组成了串行ISP编程的接口。2.编程功能:AT89C51仅支持并行编程,而AT89S51不但支持并行编程还支持ISP再线编程。在编程电压方面,AT89C51的编程电压除正常工作的5V外,另...

AT89S52单片机的缺点
所谓缺点,有时候翻过来想或许也是优点吧。AT89S52是个传统51核的单片机,所以……★八位机,寻址空间有限,指令效率有限(尤其是搬数据时),除法运算速度慢(没办法,过去除法器的实现就是很复杂)★片内的Flash和SRAM都挺少(受寻址空间所限,多了也是白搭)★时钟12T效率很低(所以目前市面上的51...

怎样判断AT89S52被烧坏
一般来说,可以先用万用表的二极管档测一下电源两端,有没有击穿,如果有直接判定损坏,没有的话,可以进一步做上电测试。上电后,可以用写片机(也可以用ISP适配器)写入数据,如果无法正常完成,基本上就可以判断它损坏了。但如果只是某一个IO口单独烧坏,只能写一个程序单独测了。有些具体的故障是...

单片机AT89S52单片机 40p锁紧座的的有什么作用,求详细解答
而单片机程序的调试与下载工作仍然由学习板完成,而调试又不是一次就弄好的,于是,一次次的调试,一次次的插入与拔下芯片,就必须用到方便插、拔的IC座,这就IC锁紧座;还有一种情形就是,如果进行小量的制作,比如说几台或十几台样机,这样把编好的程序一片片写入单片机,也要用到这个东西。

武穴市19736837258: 单片机AT89S52 如何用定时器0控制数码管从0变到9 每秒变一次 (C语言) -
戊狐清凉: 用定时器,首先要设置定时的工作模式,误差最小的是方式2,8位自动重载模式.12M晶振,初值给55,定时时间就是200us,也就是你程序写的i=1,就是200us,那定时一秒的话就是i=5,再定义一个变量sec,if(i==5)sec++;显示sec就可以了

武穴市19736837258: AT89S52怎么实现用定时器2定时一秒钟来实现功能? -
戊狐清凉: AT89S52跟AT89S51一样,12MHz晶振条件下,定时器的一次最长定时时间大概是65ms,因此无法一次完成1s的定时,必须加上循环控制. 你现在用T2定时器定时1s,程序写法与使用T0,T1类似.定时周期可以设置成50ms(初值,3CB0),然后进行20个循环. 只是T2定时器有自动重装载功能,你在定时器中断服务程序里不需要把初值重新送TH2和TL2,但定时器的中断标志必须手动清零,启动也需要手动控制.相比T0,T1,可以节约1个机器周期的样子,如果不做补偿T2定时的精度会比T0、T1稍微高一点.

武穴市19736837258: 如何使用AT89S52的T2定时器 -
戊狐清凉: 1.要精确定时,必须使用定时器的自动装载方式.我使用T2定时器,让它工作在16BIT自动装载方式. void Timer2_Server(void) interrupt 5{ TF2=0; dEDA==;if(dEDA

武穴市19736837258: AT89S52有几个定时器,C中如何调用,头文件怎么写 -
戊狐清凉: 1、AT89S52共有3个定时/计数器,分别是定时/计数器0、1、2,比AT89S51多了一个定时/计数器2.2、头文件应采用REG52.H,即: #include <reg52.h> 该头文件与REG51.H的主要区别就是增加了有关定时/计数器2的特殊功能寄存器定义....

武穴市19736837258: 请问各位高手:单片机中用到AT89S52实验板的,怎么用定时器中断进行键盘扫描,主程序进行键盘处理? -
戊狐清凉: 中断你定时器判断键盘时候有按键,设立一个标志,然后你主程序里面的键盘处理通过判断这个标志是有成立来决定时候进入键盘处理部分.比如:void time0() interrupt 2 {//重载time0的时间设定//添加你的键盘扫描程序,有按键就让标志置1 } void main() {//自己的代码 if(标志==1) { //键盘处理; } }

武穴市19736837258: 如何使用AT89S52中的定时/计数器2~急 -
戊狐清凉: 没有汇编的 给你个C语言的 你自己翻译一下. /*-----------------------------------------------名称:定时器2内容:通过定时让LED灯闪烁 ------------------------------------------------*/ #include<reg52.h> sbit LED=P1^0;/*------------------------------------------------定时...

武穴市19736837258: AT89S52定时器门控制信号GATE设置为1时,定时器如何启动 -
戊狐清凉: TR(x)设置为1,靠相应外部中断输入引脚的低电平信号启动

武穴市19736837258: AT89S52定时器使用问题 -
戊狐清凉: AT89S52定时器 你打开 了 定时器0 及 定时器1 中断,如果 不将TR1=1 则 定时器1 没有启动 不会 产生中断,如果 将TR1=1 则 定时器1 启动 会 产生中断,而 程序中没有 设置 定时器1 的 中断程序,则 产生中断后 程序 跑飞了.

武穴市19736837258: AT89S52单片机定时器2如何对T2CON操作实现计数,采用P1.0输入,0x06和0x0e试过都不行 -
戊狐清凉: 定时器2计数,P1.0输入,以及定时器2输出脉冲,用软件 PROTEUS 仿真,都没有成功.但是,用 AT89S52 单片机硬件,都实现成功了.

武穴市19736837258: at89s52定时器的使用,编译通过了,附数据手册,麻烦高手赐教!!
戊狐清凉: if(TF2 == 1); //这里的分号,是多余的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网