/*
下面给出一个能精确控制延时的函数,此函数的汇编代码是最简洁、最能精确控制指令时间的:
void delay(char x,char y){
char z;
do{
z=y;
do{;}while(--z);
}while(--x);
}
其指令时间为:7+(3*(Y-1)+7)*(X-1)
如果再加上函数调用的call指令、页面设定、传递参数花掉的7个指令。
则是:14+(3*(Y-1)+7)*(X-1)
在us级,误差在7-8个us
*/
#include <pic.h>
void delay(char x,char y){
char z;
do{
z=y;
do{;}while(--z);
}while(--x);
}
main()
{
TRISD2=0;
RD2=0;
while(1)
{
delay(2,2) ;
RD2=!RD2;
} //系统开始输出PWM波形。如果系统是
//多任务的,则可以在此执行其它任务,而
//不会影响PWM波形的产生
}
PIC16F946的延时测试程序
需积分: 10 192 浏览量
2008-03-19
11:02:48
上传
评论
收藏 610B RAR 举报
hello_wzy
- 粉丝: 0
- 资源: 32
最新资源
- 第12章spring-mvc自定义类型转换器
- 基于PHP图书管理系统实验报告.docx
- Python爬取淘宝热卖商品并可视化分析
- 5152单片机proteus仿真和源码将按键次数写入AT24C02再读出并用1602LCD显示
- SE-SSD复现过程(Det3D的安装教程)
- 基于Python的在线学习与推荐系统设计与实现(论文+源码)-kaic
- 串口通过 YMODEM 协议进行文件传输
- 蓝桥杯2024年第十五届省赛真题-前缀总分
- com.qihoo.appstore_300101305-1.apk
- tensorflow-gpu-2.7.1-cp37-cp37m-manylinux2010-x86-64.whl
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈