单片机原理 为什么P1.1输出要取反? 程序段如下

功能:用定时器1产生一个20ms周期的方波,P1.1输出。初值X=D8F0 H
程序:
MOV TMOD , #10H ;T1模式1,定时
SETB TR1 ;启动T1
LOOP: MOV TH1 , #0D8H ;装入计算初值
MOV TH1 , #0F0H
MOV TL1 , #0D8H
JNB TF1, $ ;等待T1溢出
CLR TF1 ;T1溢出,清除标志
CPL P1.1 ;P1,1取反输出
SJMP LOOP ;循环
-----------------------------------------------------------------------
-----------------------------------------------------------------------
倒数第二句“ CPL P1.1 “, P1.1输出为什么要取反?????

这个是程序写法问题,这样取反的话那么程序就相对就少很多 一次为高 下次为低
当然也可以 直接至高 但是程序下方还得加上T1的延时 也就是说重新装值 溢出再输出P1.1至低
这样程序显得繁琐 功能都一样

希望能够帮到你
望采纳!~~
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-11-22
取反就是输出一正、一负的电压;
周期20ms ,则10ms输出为正;下一10ms输出为负本回答被提问者采纳
相似回答