资源描述:
《锯齿波C程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、锯齿波C程序ORG0100H#includeMOVA,#00H#includeMOVDPTR,#7FFFH#defineucharunsignedcharSTART:#defineDAC0823XBYTE[0x7FFFH]MOVX@DPTR,Avoidmain()INCA{uchartemp;SJMPSTARTtemp=0;ENDwhile(1){for(temp=0;temp<0xff;temp++)DAC0832=temp;}}三角波ORG0100HSTATR:CLRA;累加
2、器清零MOVDPTR,#7FFFH;选通DAC0832DOWN:;线性下降段MOVX@DPTR,A;将累加器中的数据送入DAC0832中INCA;累加器加1JNZDOWN;(A)不等于0时,转DOWNMOVA,#0FFHUP:MOVX@DPTR,A;将累加器中的数据送入DAC0832中INCA;累加器加1JNZUP;(A)不等于0时,转UPSJMPDOWN;完成一轮循环后,再次进行循环ENDC程序#include#include#defineucharunsignedchar#d
3、efineDAC0823XBYTE[0x7FFFH]voidmain(){Uchartemp;While(1){For(temp=0;temp<0xff;temp++)DAC0832=temp;If(temp==0xff){For(;temp>=0;temp--)DAC0832=temp;}}}方波定时初值:Unsignedintt=0;TMOD=0x01;TH0=0x3C;TR0=1;ORG0000HLJMPMAINORG0100HMAIN:MOV:TMOD,#01HFLAG1:MOV:R0,#0AHFLAG1:M
4、OV:TH0,#0D8HMOVTL0,#0F0HSETBTR0JNBTF0,$CLRTF0DJNZR0,FLAG2CPLP1.0SJMPFLAG1ENDC程序#includesbitpulse_out=P1^0;main(){Unsignedintt=0;TMOD=0x01;TH0=0x3C;TR0=1;While(1){if(TF0){t++;TF0=0;TH0=0x3C;TL0=0xAF;pulse_out=!pulse_out;}if(t==2){t=0;pulse_out=!pulse_ou
5、t;}}}P0,P1,P2,P3口各自特点这4个并口都可以作I/O口使用,都是准双向口;P0:地址/数据复用线。如果它作为输出口使用时,外部要加上拉电阻;P2:传地址的高8位;P3:每一位都有第二功能(串口、外部中断、定时、/WR、/RD)寻址方式:#立即寻址,直接寻址,寄存器寻址,@寄存器简洁寻址,@A+DPTR或@A+PC变址寻址,位寻址,相对寻址。两种基本通信方式:1异步通信:优点:数据传送的可靠性较高,能及时发现错误。缺点:通信效率比较低!2同步通信:优点:通信效率高!机器去抖(硬件去抖和软件去抖):机器触点
6、在闭合断开瞬间由于弹性的作用影响,在闭合及断开瞬间均有抖动过程,从而电压信号也出现抖动。硬件上去抖有:在键盘输出端加RS触发器,或双稳定电路构成去抖电路;按键较多,则用软件去抖;(延时5-10ms)单片机:将中央处理器(cpu)、随机存储器(ram)、只读存储器(ROM)、输入输出端口(I/O)等主要计算机功能部件集成在一片集成芯片上的微型计算机;编写查找最大值程序。假设从内部RAM的30H单元开始存放10个无符号数,找出最大值送入内部RAM的MAX单元;AXEQU20HRG0000HJMPMAXPRG0030HMA
7、XP:MOVR0,#30HMOVA,@R0MOVR7,#9LOOP:INCR0MOV40H,@R0CJNEA,40H,NEJMPSUBNEQ:JNCSUBMOVA,@R0SUB:DJNZR7,LOOPMOVMAX,ASJMP$END