完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include #include #define uchar unsigned char #define uint unsigned int ***it P10=P1^0; extern uint Cnt1_Rd(int wradr,int cntadr); extern uint Cnt2_Rd(int wradr,int cntadr); extern void Delay(uint m); extern void Cnt_Wr(int wradr,int cntadr,intctlbyte,int cntval_l,int cntval_h); extern void Cnt_Init(); uint position[8]={1}; void main() { uinti,j,cnt_l,allcnt; Cnt_Init(); P10=0; while(1) { XBYTE[0x1ff6] = 0x40; //先锁存再依次读取低8位高8位 cnt_l =XBYTE[0x1ff2]; allcnt =XBYTE[0x1ff2]; allcnt =(allcnt<<8)| cnt_l; allcnt=0xffff - (allcnt - 1); XBYTE[0x1ff6]= 0x00; //先锁存再依次读取低8位高8位 i =XBYTE[0x1ff0]; j =XBYTE[0x1ff0]; j =(j<<8)| i; j =0xffff -(j - 1); position[0] =j- allcnt; //计数器0和计数器1的值相减 if(position[0]!=0) //判断是否读到了值 P10=~P10; Delay(1000); } } void Cnt_Init() //计数器设初值 { Cnt_Wr(0x1ff6,0x1ff0,0x30,0xff,0xff); //X18253片选 计数器选择方式选择 计数低8位 计数高8位 Cnt_Wr(0x1ff6,0x1ff2,0x70,0xff,0xff); //X2 方式0 } void Delay(uint m) //延时子程序 { uint i,j; for(i = 0;i< m;i++) for(j = 0; j< 110;j++); } void Cnt_Wr(int wradr,int cntadr,int ctlbyte,intcntval_l,int cntval_h) { XBYTE[wradr]= ctlbyte; XBYTE[cntadr]= cntval_l; XBYTE[cntadr] = cntval_h; }
|
|
相关推荐
|
|
6043 浏览 3 评论
7311 浏览 1 评论
7550 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
9341 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1273 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 23:18 , Processed in 0.570889 second(s), Total 73, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号