历史上的今天
今天是:2025年07月30日(星期三)
2018年07月30日 | PIC单片机延时问题
2018-07-30 来源:eefocus
#include
//时间函数的测试 非定时器的使用 软件仿真 调试debug的使用
//在watch当中可以添加特殊功能寄存器和变量等
#define uint unsigned int
#define uchar unsigned char
void delayChar(uchar n);//uchar的取值在0~256之间 否则溢出
void delayInt(uint n);//使用时尽量在对时间要求不精确时使用
void main(void){
ANSELA=0;
TRISAbits.RA0=0;
PORTAbits.RA0=1;
delayChar(5);
PORTAbits.RA0=0;
delayInt(1000);
PORTAbits.RA0=0;
}
void delayChar(uchar n){//晶振取4Mhz情况下误差在0.1ms左右 n的取值在0~255;
uchar i,j;
for(i=n;i>0;i--)
for(j=123;j>0;j--);
}
void delayInt(uint n){//晶振取4Mhz情况下误差随数值增大而增大在1ms~7ms之间 值为1000时为1s;
uint i,j;
for(i=n;i>0;i--)
for(j=54;j>0;j--);
}
以上程序通过使用mplab中的stopwatch测试得到;语句必须严格按照如上所写,否则延时时间将会改变,想简化语句,必须重新计算时间;
史海拾趣
|
嵌入式Linux操作系统学习规划 ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) (3) ...… 查看全部问答> |
|
首先,porting linux的时候要规划内存影像,如小弟的系统有64m SDRAM, 地址从0x 0800 0000 -0x0bff ffff,32m flash,地址从0x0c00 0000-0x0dff ffff. 规划如下:bootloader, linux kernel, rootdisk放在flash里。 具体从 0x0c00 0000开始的第 ...… 查看全部问答> |
|
看看这块强大的板子,C2000,Msp430,stellais arm 通吃 传说中30美金一块,满80美金还免邮费。 Universal Dev Board Accepts MSP430, C2000, or Stellaris MCU Chips sample of a new development board arrived from SchmartBoard, a company that has created a cornucopia of bread ...… 查看全部问答> |
|
请问TI-6416如何用指令读取CPU的运行时钟数?谢谢各位大侠:) 请问TI-6416如何用指令读取CPU的运行时钟数呢? 我想让DSP读取下一个接口命令前等待一段时间,小弟急着用,那位大侠帮助下,谢谢… 查看全部问答> |
|
本文介绍无线网络解决不能布线的特殊情况, 该方案采用T I 公司的 MS P 4 3 0作为核心芯片, 通过 R S 2 3 2对设备的信息进行采样 , 并通过无线传递给服务器。该方案弥补了某些特殊场合不能布线的问题 。 … 查看全部问答> |
|
//****************************************************************************** // MSP430x24x Demo - USCI_A0, Ultra-Low Pwr UART 9600 RX/TX, 32kHz ACLK // // Description: This program demonstrates a full-duplex 96 ...… 查看全部问答> |
|
下载的时候提示说 PKWarn0003: Unexpected device ID: Please verify that a PIC24FJ64GA002 is correctly installed in the application. (Expected ID = 0x4470000, ID Read = 0x4440000)为什么啊 是我那设 ...… 查看全部问答> |




