返回主页 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 论坛



;;********************************************************************************
;AD 0804控制程序:转动电位器,数码管依次显示1-9,0,ABCDE,把8位数据255 *
;等分为16份,程序的后面用CJNE 比较指令,如果到了多少就显示某一个数字 *
;********************************************************************************
;* 日期: 2007-3-25 *
;* 版本: 3.0 *
;* 作者: 深圳学林电子有限公司 专业8051单片机教程站 *
;* 邮箱: sxj1974@163.com *
;* 网站: http://www.51c51.com http://www.8951.com 更多例程请登陆网站 *
;********************************************************************************
;* 硬件:此程序在本公司xlisp系列单片机实验仪运行通过 *
;********************************************************************************
;* 【版权】 Copyright(C)深圳学林电子有限公司 www.51c51.com All Rights Reserved *
;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! *
;********************************************************************************

hex格式文件下载(点右键,目标另存为hex即可直接烧写)


;//定义ADC的连接端口
ad_cs equ P3.6 ;芯片选择
ad_wr equ P2.0 ;转换开始
ad_rd equ P3.7 ;RD=LOW,数字信号输出
ad_input_port equ p1 ;定义数据位
org 0000h
ajmp main
org 0030h
main:
lcall adc_demo
ajmp main

;//==========================================
;// 启动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
setb ad_rd
nop
setb ad_cs
ret
;//==========================================
;// AD转换读取延时程序,显示读到的数值
;//==========================================
Adc_Demo:
lcall Adc_Start
lcall delay1ms
lcall adc_read
BIJIAO:
CLR P2.1 ;打开P2.1端口数码管的第一位显示
CJNE A,#10h,TT1
MOV P0,#7EH ;数码管显示1
TT1: CJNE A,#20h,T2
MOV P0,#0A2H ;数码管显示2
T2: CJNE A,#30h,T3
MOV P0,#62H ;数码管显示3
T3: CJNE A,#40h,T4
MOV P0,#74H ;数码管显示4
T4: CJNE A,#50h,T5
MOV P0,#61H ;数码管显示5
T5: CJNE A,#60h,T6
MOV P0,#21H ;数码管显示6
T6:CJNE A,#70h,T7
MOV P0,#7AH ;数码管显示7
T7: CJNE A,#80h,T8
MOV P0,#20H ;数码管显示8
T8:CJNE A,#90h,t9
MOV P0,#60H ;数码管显示9
T9:CJNE A,#0A0h,t10
MOV P0,#28H ;数码管显示0
T10: CJNE A,#0B0h,t11
MOV P0,#30H ;数码管显示A
T11: CJNE A,#0C0h,t12
MOV P0,#25H ;数码管显示b
T12: CJNE A,#0D0h,t13
MOV P0,#0a9H ;数码管显示C
T13: CJNE A,#0E0h,t14
MOV P0,#26H ;数码管显示d
T14: CJNE A,#0F0h,t15
MOV P0,#0a1H ;数码管显示E
T15:
ret
delay1ms: ;延时子程序
movr7,#10
MM:movr6,#50
djnzr6,$;2us
djnzr7,MM
ret
end