适合51单片机的代码,和仿真图,诚信合作,骗子别来,对于我来说,设计这个难度太大,同大家问问
具体仿真见我的博客。
// 12MHz晶振
#include "reg52.h"
#include "intrins.h"
#define time (65536-50000) // 单次定时50ms
unsigned char cn;
unsigned char temp;
void main(void)
{
cn=10; //10*50ms=0.5s
temp=0x7f;
TMOD = 0x10; //set timer1 as mode1 (16-bit)
TL1 = time; //initial timer1 low byte
TH1 = time >> 8; //initial timer1 high byte
TR1 = 1; //timer1 start running
ET1 = 1; //enable timer1 interrupt
IT0 = 1; //set INT0 int type (1:Falling 0:Low level)
EA = 1; //open global interrupt switch
while(1);
}
。。。。
具体仿真见我的博客。
建议自学,初学主要是没概念,所以觉得难,等你入门了,就觉得这才是基础。
希望对你有所帮助,望采纳!
// 此程序为部分程序,具体请前往我的主页。
// 欢迎关注微信公众号【main工作室】,了解更多嵌入式内容。
#include <reg52.h>
#include <intrins.h>
// 定时器 0 中断初始化函数
void Timer0Init(void) //50毫秒@11.0592MHz
{
TMOD = 0X01; //设置定时器0为工作方式1
TH0 = (65536-50000)/256; //设置定时初始值
TL0 = (65536-50000)%256; //设置定时初始值
EA = 1; //开总中断
ET0 = 1; //开定时器0中断
TR0 = 1; //启动定时器0
}
// 主函数
void main(void)
{
Timer0Init();// 定时器 0 初始化
while(1);
}
// 前往我的主页,获取全部工程文件。