No.68745 作者:sxj1974 邮件:sxj1974@163.com ID:15021 登陆:4次 文章数:9篇 最后登陆IP:61.141.199.193 最后登陆:2004/12/13 23:01:17 注册:2003/9/16 13:16:45 财富:138 发帖时间:2004/12/11 11:43:03 发贴者IP:219.134.12.100 标题:sxj1974:偶做的 adc0804的电压表 有兴趣的朋友顶一下 摘要:No.68745偶做的 adc0804的电压表 有兴趣的朋友顶一下
此主题相关图片如下:
 用adc0804做的万用表! ;AD 0804控制程序:转动电位器,数码管后三位依次显示000-255,此程序可以做一个温度计, 一个电压表... ;*************************************************************************** ;* sxj1974@163.com (51c51 test web)   * ;* Create by :石学军   更多例程请登陆网站 * ;*************************************************************************** ;//定义ADC的连接端口 ad_cs equ P3.6 ;芯片选择 ad_wr equ P2.0 ;转换开始 ad_rd equ P3.7 ;RD=LOW,数字信号输出 ad_input_port equ p1 ;定义数据位 Counter EQU 59H ;计数器,显示程序通过它得知现正显示哪个数码管 FIRST EQU P2.4 ;第一位数码管的位控制 SECOND EQU P2.5 ;第二位数码管的位控制 THEER EQU P2.6 ; 第三位数码管的位控制 DISPBUF EQU 5AH ;显示缓冲区为5AH和5BH org 0000h ajmp main ORG 000BH ;定时器T0的入口 AJMP DISP ;显示程序 org 0030h main: MOV SP,#5FH ;设置堆栈 MOV P1,#0FFH MOV P0,#0FFH MOV P2,#0FFH ;初始化,所显示器,LED灭 MOV TMOD,#00000001B ;定时器T0工作于模式1(16位定时/计数模式) MOV TH0,#HIGH(65536-2000) MOV TL0,#LOW(65536-2000) SETB TR0 ;开定时器0 SETB EA ;开总中断 SETB ET0 ;开定时器0中断 MOV Counter,#0 ;计数器初始化 LOOP: lcall adc_demo ;调用AD子程序 ajmp LOOP ;//========================================== ;// 启动AD转换 ;//========================================== Adc_Start: clr ad_cs nop clr ad_wr nop setb ad_wr nop setb ad_cs nop ret ;//========================================== ;// 读AD转换 ;//========================================== Adc_Read: mov ad_input_port,#0ffh clr ad_cs nop clr ad_rd nop nop mov a,AD_INPUT_PORT nop s ......
>>返回讨论的主题
|