单片机定时器实验报告C语言,51单片机定时器实验报告.doc

单片机定时器实验报告C语言,51单片机定时器实验报告.doc51单片机定时器实验报告51单片机定时器实验报告51单片机定时器实验实验内容:实验内容:编写程序使定时器0或者定时器1工作在方式1,定时50ms触发蜂鸣器。C语言程序#include#defineuintunsignedint#defineucahrunsignedcharsbitFM=P0^0;voidmain(){TMOD=0x01;TH0=(65535-50000)/256;…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

51单片机定时器实验报告51单片机定时器实验报告

51单片机定时器实验

实验内容:

实验内容:

编写程序使定时器0或者定时器1工作在方式1,定时50ms触发蜂鸣器。

C语言程序

#include

#define uint unsigned int

#define ucahr unsigned char

sbit FM=P0^0;

void main()

{

TMOD=0x01;

TH0=(65535-50000)/256;

TH0=(65535-50000)%256;

EA=1; //开总中断

ET0=1; //开定时器0中断

TR0=1;

while(1);

}

void T0_time()interrupt 1

{

TH0=(65535-50000)/256;

TH0=(65535-50000)%256;

FM=~FM;

}

汇编程序

ORG 0000H

JAMP MAIN

ORG 000BH

LJMP INT0_INT

ORG 0100H

MIAN:SETB EA

SETB ET0

AJMP $

INT0_INT:MOV R2,#0FAH

MOV R3,#0C8H

DJNZ R3,$

DJNZ R2,INT0_INT

RETI

编写程序使定时器0或者定时器1工作在方式1,定时500ms使两位数码管从00、01、02……98、99每间隔500ms加1显示。

#include

#define uint unsigned int

#define ucahr unsigned char

uint num,num1;

sbit FM=P0^7;

int shi,ge,a;

void delay(uint);

void shumaguan();

unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}; //共阳极数码管0-F编码表

void main()

{

TMOD=0x01;

TH0=(65535-50000)/256;

TH0=(65535-50000)%256;

EA=1; //开总中断

ET0=1; //开定时器0中断

TR0=1;

while(1)

{

shumaguan();

}

}

void T0_time()interrupt 1

{

TH0=(65535-50000)/256;

TH0=(65535-50000)%256;

num1++;

if(num1==10)

{

num1=0;

num++;

shi=num/10;

ge=num%10;

if(num==100)

{

num=0;

}

}

}

void shumaguan()

{

P3=0x01;

P2=table[shi];

delay(5);

P3=0x02;

P2=table[ge];

delay(5);

}

void zuoyi()

{

a=~P3;

a=a<<1;

P3=~a;

if(P3==0xfb)

{

P3=0xfe;

}

}

void delay(uint x)

{

int i,j;

for(i=0;i

for(j=0;j<110;j++);

}

(3)编写程序使定时器0或者定时器1工作在方式2,自动重装载模式,定时500ms使两位数码管从00、01、02……98、99每间隔500ms加1显示。

#include

#define uint unsigned int

#define ucahr unsigned char

uint num,num1;

int shi,ge,a;

void delay(uint);

void shumaguan();

void zuoyi();

unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}; //共阳极数码管0-F编码表

void main()

{

TMOD=0x02;

TH0=255-200;

TH0=255-200;

EA=1; //开总中断

ET0=1; //开定时器0中断

TR0=1;

P3=0x01;

while(1)

{

shumaguan();

}

}

void T0_time()interrupt 1

{

num1++;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158869.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python_0b、0o、0x进制转换/原码、反码、补码[通俗易懂]

    Python_0b、0o、0x进制转换/原码、反码、补码[通俗易懂]4月28日学习总结:一、进制转换1.二进制0b、八进制0o和十六进制0x转换为十进制的方法:设目标数字为n,相关进制为x,将数字n从右向左分解,分别乘以x的零次方、一次方等并相加。2.十进制转换为二进制0b、八进制0o和十六进制0x的方法:设目标数字为n,相关进制为x,将n除以x至结果小于x,从下向上依次拼接各阶段余数。3.各进制互转的方法:2->8:重点是记住0o与0b的对应…

    2022年6月24日
    50
  • 【C语言天天练(二四)】内存分配

    【C语言天天练(二四)】内存分配

    2022年1月21日
    83
  • java 单例模式 例子_简述单例模式并且举例说明

    java 单例模式 例子_简述单例模式并且举例说明Java单例模式的实例代码

    2022年8月11日
    6
  • 不招女人喜欢的男人15个细节

    不招女人喜欢的男人15个细节我喜欢成熟型的,我喜欢阳光型的,我喜欢温柔体贴的,身边的朋友诉说着自己的择偶要求,对于将来的另一半,总是充满着幻想,充满着期待,可是很多细节问题,女的很注意,哪怕,另一半属于这个类型,因为细节问题,也不会选择他作为,托付终身的选择。一:啰嗦一天到晚,听着他唠叨,把一件事情,从早晨念到晚上,虽然知道他是为自己好,可是不能忍受,自己的老公那么鸡婆,和一个女的一样…

    2022年7月25日
    13
  • 箭头函数与普通函数的区别详解[通俗易懂]

    箭头函数与普通函数的区别详解[通俗易懂]箭头函数和普通函数的区别一.外形不同:箭头函数使用箭头定义,普通函数中没有代码实例如下://普通函数functionfunc(){//code}//箭头函数letfunc=()=>{//code}二.箭头函数都是匿名函数普通函数可以有匿名函数,也可以有具体名函数,但是箭头函数都是匿名函数。代码实例如下://具名函数functionfunc(){//code}//匿名函数letfunc=function(){//cod

    2022年6月26日
    27
  • java并发之SynchronousQueue实现原理[通俗易懂]

    java并发之SynchronousQueue实现原理[通俗易懂]前言SynchronousQueue是一个比较特别的队列,由于在线程池方面有所应用,为了更好的理解线程池的实现原理,笔者花了些时间学习了一下该队列源码(JDK1.8),此队列源码中充斥着大量的CAS语句,理解起来是有些难度的,为了方便日后回顾,本篇文章会以简洁的图形化方式展示该队列底层的实现原理。SynchronousQueue简单使用经典的生产者-消费者模式,操作流程是这样的:有多个生产者,可以并

    2022年6月22日
    80

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号