专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

用STC12C5A60S2自制逻辑分析仪

作者:佚名   来源:本站原创   点击数:  更新时间:2013年08月07日   【字体:

逻辑分析仪对于开发者来说很重要,现在我们用STC12C5A60S2单片机制作一个

制作资料和上位机程序下载:http://www.51hei.com/bbs/dpj-20393-1.html,下面是单片机高速采样程序:

#include <STC12C5A60S2.h>

//======================================================================================
//======================================================================================
void UartInit(void)  //串口初始化函数 28800bps@24MHz
{
   IP = 0x02;
   IPH = 0x10;
   IP2 = 0x00;
   IPH2 = 0x00;      //设置中断优先级
 PCON &= 0x7f;  //波特率不倍速
 SCON = 0x50;  //8位数据,可变波特率
 REN = 1;      //启动接收
 BRT = 0xE6;     //设定独立波特率发生器重装值
 AUXR |= 0x04;  //独立波特率发生器时钟为Fosc,即1T
 AUXR |= 0x01;  //串口1选择独立波特率发生器为波特率发生器
 AUXR |= 0x10;  //启动独立波特率发生器
 ES = 1;       //开串行口1中断
   //EA = 1;      //开总中断
}
//======================================================================================
//======================================================================================
void Init_Timer0(void)    //定时器0初始化函数
{
 TMOD |= 0x02;      //定时器0工作在模式2
 AUXR |= 0x80;      //定时器0工作在1T模式
 TH0 = 0xff;
 TL0 = 0xff;      //定时初值
 TR0 = 1;         //启动定时器
}
//======================================================================================
//======================================================================================
void Init_Pca(void)    //PCA初始化函数
{
 CMOD = 0x04;      //计数脉冲源为T0溢出脉冲
 CCON = 0;
 CH=0;
 CL=0;
 CCAPM0 = 0x31;     //模块0,16位捕获模式,跳变触发中断
 CCAPM1 = 0x42;     //模块1,8位PWM 无中断
 CR = 1;       //启动PCA
}

 

关闭窗口

相关文章