⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc0804制作的温度控制器.txt

📁 自己写的ADC0804制作的温度控制器的C语言程序
💻 TXT
字号:


                            ADC0804制作的温度控制器, 设一个加热器p2.0一个制冷器p1.4
                        ;设定下限温度30度(设4bh)存31h上限温度60度(设96h)存30h
                        ;调整腾龙版的ad电位器可观察到p2.0,p1.4继电器端口的动作范围
                        ;此程序仅仅供演示,如果实际应用请另外扩展继电器以及温度/电压转换部分

                        程序及硬件端口分配:

                        ;//定义ADC的连接端口
                        ad_cs equ P3.6
                        ad_wr equ P3.2
                        ad_rd equ P3.7
                        ad_input 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,#0ffh
                        clr ad_cs
                        nop
                        clr ad_rd
                        nop
                        nop
                        mov a,AD_INPUT
                        nop
                        setb ad_rd
                        nop
                        setb ad_cs
                        ret
                        ;............. AD转换程序.............
                        Adc_Demo:
                        lcall Adc_Start
                        lcall delay1ms
                        lcall adc_read
                        mov 34h,a 现在的温度存34h
                        mov 31h,#4bh 下限温度30度存31h
                        mov 30h,#96h 上限温度60度存30h
                        clr c
                        subb a,32h 现在的温度和以前的温度相减
                        jc tdown c=0取入值较大,表示上升否则下降
                        tup:mov a,34h 取出现有温度
                        clr c c=0
                        subb a,30h 与上限温度比较,c=1则需要加热否则c=0则需要制冷
                        jnc poff
                        jmp loop
                        poff:clr p1.4 开始制冷
                        setb p2.0
                        jmp loop

                        tdown:mov a,34h 取出现有温度
                        clr c
                        subb a,31h 与下限温度比较,c=1则需要加热否则c=0则需要制冷
                        jc pon
                        jmp loop

                        pon: clr p2.0 开始加热
                        setb p1.4
                        jmp loop

                        loop:mov 32h,34h 把现有温度存32h
                        clr a 清除a
                        mov r4,#0ffh 延长时间
                        djnz r4,$
                        jmp Adc_Demo 继续监测温度

                        delay1ms: 延时子程序
                        mov r7,#10
                        MM:mov r6,#50
                        djnz r6,$ 
                        djnz r7,MM
                        ret
                        end





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -