for(k=248;k>0;k--); }
产生的汇编 C:0x0800 7F05 MOV R7,#0x05
C:0x0802 7E04 MOV R6,#0x04
C:0x0804 7DF8 MOV R5,#0xF8
C:0x0806 DDFE DJNZ R5,C:0806
C:0x0808 DEFA DJNZ R6,C:0804
C:0x080A DFF6 DJNZ R7,C:0802
C:0x080C 22 RET
四. 1s延时子程序 程序:
void delay1s(void)
{ unsigned char h,i,j,k;
for(h=5;h>0;h--)
for(i=4;i>0;i--)
for(j=116;j>0;j--)
for(k=214;k>0;k--); }
产生的汇编
C:0x0800 7F05 MOV R7,#0x05
C:0x0802 7E04 MOV R6,#0x04
C:0x0804 7D74 MOV R5,#0x74
C:0x0806 7CD6 MOV R4,#0xD6
C:0x0808 DCFE DJNZ R4,C:0808
C:0x080A DDFA DJNZ R5,C:0806
C:0x080C DEF6 DJNZ R6,C:0804
C:0x080E DFF2 DJNZ R7,C:0802
C:0x0810 22 RET 在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响.
电容测试(头文件)
分类:默认栏目/*
ZLG7289.h
数码管显示与键盘管理芯片ZLG7289 的标准80C51 驱动程序头文件
本程序仅供学习参考,不提供任何可靠性方面的担保;请勿用于商业目的。
*/
#ifndef _ZLG7289_H_
#define _ZLG7289_H_
#include <REG52.h>
//定义I/O 接口
sbit ZLG7289_pinCS = P1^3; //片选信号,低电平有效
sbit ZLG7289_pinCLK = P1^1; //时钟信号,上升沿有效
sbit ZLG7289_pinDIO = P1^0; //数据信号,双向
sbit ZLG7289_pinINT = P3^2; //键盘中断请求信号,低电平(负边沿)有效
sbit ZLG7289_pinCS0 = P1^2;
//执行ZLG7289 纯指令
extern void ZLG7289_cmd(char cmd);
//执行ZLG7289 带数据指令
extern void ZLG7289_cmd_dat(char cmd, char dat);
//以下是ZLG7289 的用户指令集
//复位(清除)指令
#define ZLG7289_Reset() ZLG7289_cmd(0xA4)
#define ZLG7289_Reset0() ZLG7289_cmd0(0xA4)
//测试指令
#define ZLG7289_Test() ZLG7289_cmd(0xBF)
#define ZLG7289_Test0() ZLG7289_cmd0(0xBF)
//左移指令
#define ZLG7289_SHL() ZLG7289_cmd(0xA0)
//右移指令
#define ZLG7289_SHR() ZLG7289_cmd(0xA1)
//循环左移指令
#define ZLG7289_ROL() ZLG7289_cmd(0xA2)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-39167-31.html
看得很开心啊