上页 下页 回目录 应用 CH0 CH1 ┇ CH7 +5V 接地 8031 373 G P0口 ALE INT0 P27 WR RD LCK D0~7 EOC START ALE OE ADC0809 A0 A1 A2 A B C A0~A7 IN0 IN1 IN7 VR(+) VR (-) GND 图7-22 8031与ADC0809转换器接口电路 0 0 0 0 MOVX @DPTR,A ;令(DPTR)= 7FF8H P27= 0 MOVX A,@DPTR CBA= 000 CH0 写 读 单片机的时钟频率为6MHz 4、ADC0809与单片机的其它接口电路(1) 左图,通道地址A、B、C 直接接至P0口,不经地址锁存器,此时A、B、C中的值取决于单片机的ALE有效时的P0口的低3位(即送出数据(A)的低3位)。 MOV DPTR,#7FFXH ;ADC器件任一通道地址送DPTR MOV A,#08H ;选择IN0通道,应使D2D1D0=000 MOVX @DPTR,A ;启动ADC JNB P32,$ ;课本用两条NOP 代替 JB P3.2,$ MOVX A,@DPTR MOV 40H,A 课本例7-4同此. ADC0809与单片机的其它接口电路(2) 左图中,通道选择端ADDA、ADDB、ADDC三端分别与P2.0、P2.1、P2.2相连,IN0~IN7的地址分别为78FFH、79FFH…7FFFH,与P0口内容无关。 对通道0启动A/D转换的操作为: MOV DPTR,#78FFH MOVX @DPTR , A 作业(补充) 下图为A/D转换的硬件连接图,两位数码管为共阴极。实现:当开关S1断开时,ADC不进行转换,LED灯不亮,两位数码管都没有任何的显示(段码为00H);当开关S1闭合时,ADC进行转换,LED灯亮,两位数码管实时显示出当前模/数转换的结果(十六进制的数字量)。设D1MS为延时1毫秒的子程序,可直接调用;单片机选用的晶振频率为12MHZ;0~F的共阴极段码分别是:3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H。要求: (1).D触发器(U3)的作用是什么? (2).要使LED灯亮,P3.1应输出”0”还是”1”?S1闭合时P3.0是”0”还是”1”? (3).U1的ALE引脚在单片机执行非MOVX操作符的指令时,该信号的频率是多少? (4).画出程序流程图。 (5).请编写完整的控制程序。 电路图 D/A题型类似此题! 第八章 C51程序设计 C51对标准C的扩展 数据类型 变量存储类型 特殊功能寄存器 绝对地址的访问 函数的使用 C语言基础 C51的应用 分析程序(1) #include reg51.h sbit P00=P0^0; sbit P10=P1^0; void delay(unsigned char n) {unsigned char i,j; for(i=0;in;i++) for(j=0;j125;j++); } void main() {P1=0X00; while(1) {if(P00==0) {delay(10); if(P00==0) while(!P00); P10=!P10; } } } 分析程序(2) void count_interrupt0() interrupt 0 //外部中断0子程序 { if(count=19) { count=0; } else count++; } void count_interrupt1() interrupt 1 //T0中断子程序 { if(count=19) { count=0; } else count=count+2; } * * * 练习 用中断的方式从P3.0输出一个频率为500HZ的方波. 三、串行口 串行口结构 串口控制寄存器SCON 串行口4种工作方式的特点及应用 奇偶校验的实现 (一)串行口结构 A 移位寄存器 1. 数据缓冲器SBUF 发送SBUF和接收SBUF共用一个地址99H。 (1)发送SBUF存放待发送的8位数据,写入SBUF将同 时启动发送。 发送指令:MOV SBUF,A (2)接收SBUF存放已接收成功的8位数据,供CPU读取。 读取串行口接收数据指令:MOV A,SBUF 2.
原创力文档

文档评论(0)