资源描述:
《利用51单片机设计数字电压表.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、利用单片机为核心器件,利用ADC0808作为A/D转换设计一个数字电压表,测量电压范围0-5V,误差0.02V。电路图如下:程序如下:LED_0EQU30HLED_1EQU31HLED_2EQU32HLED_3EQU33HADCEQU35HCLOCKBITP1.4STBITP1.5EOCBITP1.6OEBITP1.7ORG00HSJMPSTARTORG0BHLJMPINT_T0ORG1BHSTART:MOVLED_0,#00HMOVLED_1,#00HMOVLED_2,#00HMOVLED_3,#00HMOVDPTR,#TABLEM
2、OVTMOD,#12HMOVTH0,#245MOVTL0,#0MOVTH1,#(65536-1000)/256MOVTL1,#(65536-1000)MOD256MOVIE,#8aHCLRCSETBTR0;为ADC0808提供时钟WAIT:CLRSTSETBSTCLRST;启动转换JNBEOC,$SETBOEMOVADC,P2;读取AD转换结果CLROEMOVA,ADCMOVB,#50DIVABMOVLED_3,AMOVA,BMOVB,#5DIVABMOVLED_2,AMOVA,BMOVLED_1,AMOVB,#10MULABMOVB
3、,#5DIVABMOVLED_0,ALCALLDISPSJMPWAITINT_T0:CPLCLOCK;提供ADC0808时钟RETIDISP:MOVA,LED_0;数码显示子程序MOVCA,@A+DPTRCLRP1.3MOVP0,ALCALLDELAYSETBP1.3MOVA,LED_1MOVCA,@A+DPTRCLRP1.2MOVP0,ALCALLDELAYSETBP1.2MOVA,LED_2MOVCA,@A+DPTRCLRP1.1MOVP0,ALCALLDELAYSETBP1.1MOVA,LED_3MOVCA,@A+DPTRORL
4、A,#80HCLRP1.0MOVP0,ALCALLDELAYSETBP1.0RETDELAY:MOVR6,#10D1:MOVR7,#250DJNZR7,$DJNZR6,D1RETTABLE:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHEND