pic单片机tmr1计数c语言,PIC单片机C语言编程实例五.doc
PIC单片机C语言编程实例五
PAGE
PAGE 163
第9章 PIC16F87X在CAN通信中的应用9.3 软件清单// ========CAN通信程序======= #include#include#include// MCP2510寄存器定义 // =========常数和变量定义========= #defineREAD0x03// 读MCP2510指令代码 #defineWRITE0x02// 写MCP2510指令代码 #defineRESET0xC0// 复位MCP2510指令代码 #defineRTS0x80// MCP2510请求发送指令代码 #defineSTA25100xA0// 读MCP2510状态指令代码 #defineBITMOD0x05// MCP2510位修改指令代码 inta[12];// SPI发送或接收数据寄存器intb[8];// 发送或接收的数据intc[8];// 发送或接收的数据inti;// 临时变量intcount;// 发送接收计数器intcount1=0;// for testintRecID_H=0;intRecID_L=0;intDLC=8;void SPIINT();void TMR1INT();void CCP1INT();void SPIEXCHANGE(int count);void WAIT_SPI();void RESET2510();int RD2510(int adress,int n);void WR2510(int adress,int n);void RTS2510(int RTSn);int GETS2510();void BM2510(int adress,int mask,int data);void SETNORMAL();void TXCOMPLETE(int adress);void TXMSG(int DLC);int RXMSG();void INIT2510();void INIT877();void INITSPI();void ACK();void wait();// ========主程序======= main(void){int l,detect=0;SSPIE=1;TMR1IE=1;CCP1IE=1;CCP2IE=1;PEIE=1;ei();// 开中断 INIT877();// 初始化PIC16F877芯片 INITSPI();// 初始化SPI接口 INIT2510();// 初始化MCP2510芯片 flag1=0;flag2=0;CCP1CON=0x05;CCP2CON=0x04;while(1){RXMSG();TXMSG(8);}}// ========中断服务程序======= // SPI中断服务子程序 void SPIINT(){SSPIF=0;a[i++]=SSPBUF;// 数据暂存a[]中 count-=1;if(count>0) SSPBUF=a[i];// 未发送完,继续 else RE2=1;// 否则,片选信号置高电平 return;}// TMR1中断服务子程序 void TMR1INT(){TMR1IF=0;T1CON=0;if(!flag1){TMR1H=0xfe;// 512 μs 脉冲宽度TMR1L=0x00;T1CON=0x01;PORTD=0xff;// 输出所有通道flag1=1;}else{flag1=0;PORTD=0;T1CON=0;}return;}// CCP1中断服务子程序 void CCP1INT(){CCP1IF=0;T1CON=0x01;return;}// CCP2中断服务子程序 void CCP2INT(){CCP2IF=0;T1CON=0x01;return;}// 中断入口,保护现场,判中断类型 void interrupt INTS(){di();if(TMR1IF) TMR1INT();// 定时器TMR1中断 e
pic单片机tmr1计数c语言,PIC单片机C语言编程实例五.doc相关推荐
- 如何打开电脑c语言窗口,C语言控制台窗口图形界面编程(五). -电脑资料
控制文本的移动是控制台窗口界面编程的一个很重要的功能,有了这个功能我们可以实现界面的滚动, BOOL ScrollConsoleScreenBuffer( //文本移动函数 HANDLE h ...
- C语言控制台窗口图形界面编程(五).
控制文本的移动是控制台窗口界面编程的一个很重要的功能,有了这个功能我们可以实现界面的滚动.下面我们介绍一个控制文本移动的函数,如下: BOOL ScrollConsoleScreenBuffer( ...
- 《我和PIC单片机:基于PIC18》——第2章 PIC的开发环境 2.1 PIC开发的硬件资源...
第2章 PIC的开发环境 前面我们学习了PIC的内部资源配置和I/O口的基本结构,这一章我们重点要实现对I/O口的控制.单片机是软硬件结合的统一体,因此本章先介绍如何用简单的材料搭建起供学习使用的最小 ...
- pic12f1823单片机入门_单片机入门案例:使用PIC单片机制作声控拍手开关
拍手开关对于初学者来说是一个很有趣的单片机方案.它以拍手的声音打开和关闭电器.在本文中,英锐恩单片机开发工程师们将使用PIC单片机制作一个简单的拍手开关,当它连续检测到两个拍手声音时,该开关便会运行. ...
- 单片机c语言数字计数程序,如何使用单片机制作一个手动计数器
1.实验任务 利用AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个 ...
- c语言使单片机输出低电平,单片机开发中的一些实用技巧
很多朋友正在学习单片机开发技术,但开发中免不了要碰到这样.那样的问题,有些问题可能无碍大局,但有一些问题却直接影响到产品的成本.体积.性能.这里介绍笔者的几个技巧,希望对大家的工作有帮助. 一.C语言 ...
- 51单片机4位数乘法C语言,51单片机实现4位数以内的加减法
中南民族大学,电子信息工程学院,开设了一门课程,叫<嵌入式电路设计>,由舒老师带头,旨在引导低年级的学生入门嵌入式,其内容比较多,包括模电.数电.C语言.单片机.EDA技术等.最近有位师弟 ...
- 51单片机c语言编程100,51单片机C语言编程100例.doc
51单片机C语言编程100例.doc 目 录实例3用单片机控制第一个灯亮3实例4用单片机控制一个灯闪烁认识单片机的工作频率3实例5将 P1口状态分别送入P0.P2.P3口认识I/O口的引脚功能4实例6 ...
- 00 59秒计时器仿真c语言源程序,单片机0059_秒计时器.doc
单片机0059_秒计时器 目 录 摘 要1 引言2 第一章 概述 3 第二章 电路设计4 2.1 单片机核心模块4 2.2 时钟模块5 2.3 复位电路模块5 2.4 显示模块6 第三章 软件程序及调 ...
- stc51单片机入门 c语言,STC51单片机入门 (C语言)
51单片机发展主要历程:AT89C51系列--STC89C52系列--STC90系列--STC11系列--STC12系列--STC15F系列--STC15W系列(最新主流),由于STC12系列功能已经 ...
最新文章
- 【故障修复】SharePoint Designer 无法登陆网站
- 猎魂觉醒显示无法连接战斗服务器,猎魂觉醒安装失败怎么办_猎魂觉醒安装失败解决方法_游戏吧...
- linux 测试vim编译器_软件测试工程师必须要掌握的linux命令
- 因VPU预留内存太小造成的视频播放太卡
- javaweb实现教师和教室管理系统 java jsp sqlserver
- 数字孪生网络(DTN)架构
- 基于SpringBoot在线电影订票系统
- ANSYS Maxwell 2D永磁体建模
- java星星闪烁代码_css3实现星星闪烁效果
- 关闭自动降频 linux,Deepin Linux CPU无法进行自动降频的一个解决方法
- 跨国项目要注意时区问题
- C++面向对象总结——数据抽象与数据封装
- 【C语言】BC62统计数据正负数个数(DAY 4)
- PostgreSQL数据库统计信息——examine_attribute单列预分析
- STM32细节逻辑,relay的自适应
- 求100以内的素数并输出(详细讲解)
- tcping常用方法
- 阿里云服务器升级node版本
- T1042/T2080 vxWorks7开发笔记(二)
- SAP MM数据源介绍