仿真赛备赛 定时器

下学期有比赛,从小白开始备赛(流汗黄豆)。

这个比赛的思路是先用proteus进行单片机的硬件仿真,然后用keil烧录程序实现功能,好处是可以完全脱离硬件,避免硬件损坏而导致程序实现出现各种问题。但是捏,全软件也就意味着你得非常清楚51的硬件并且将他仿真出来。下面是我的定时器模块的小训练,(刚学,凑活着看吧……)

需要的功能:利用定时器发生1s翻转一次的脉冲。

第一步:先在proteus上实现硬件仿真,具体如下所示:

这里是参照b站一个up主(一玮工作室)的 ,刚开始外围器件比较简单,主要就是晶振,外部复位,EA非的启动,P0的上拉电阻。

第二步:软件实现

引入头文件+设置定时器初始化第三步

#include "reg51.h"

sbit wave = P2^0;
unsigned int i;

void Service_timer0()
{
		TMOD = 0X01;//工作模式1,16位定时器/计数器
		TH0 = (65536-50000)/256;//高八位
		TL0 = (65536-50000)%256;//低八位
		ET0 = 1;    //中断允许
		TR0 = 1;  //允许计数,启动控制
		EA = 1;  //总开关
}

void Timer0() interrupt 1 
{
	  TH0 = (65536-50000)/2
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值