DP10:MOV DPTR,#SEGTAB MOV A, @R0
MOVC A, @A+DPTR MOV @R1, A INC R0 INC R1
DJNZ R2, DP10 MOV R0, #TEMP MOV R1, #8 DP12:MOV R2, #8 MOV A, @R0 DP13:RLC A
MOV DIN, C CLR CLK SETB CLK
DJNZ R2, DP13 INC R0
DJNZ R1, DP12 OK: SJMP OK
SEGTAB: DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,7BH,71H,00H,40H END
五、电路原理图 DIN12VCCA31498ABVCCMRa11b12c13d14e15f16g17dp18DPYaabcfgbdceedfdpgdp910a21b22c23d24e25f26g27dp28DPYaabcfgbdceedfdpgdp910a31b32c33d34e35f36g37dp38DPYaabcfgbdceedfdpgdp910a41b42c43d44e45f46g47dp48DPYaabcfgbdceedfdpgdp910R1I51R2I51R3I51R4I5174LS164Q0Q1Q2Q3Q4Q5Q6Q7345610111213a1b1c1d1e1f1g1dp1dp112VCCA3149874LS164ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a2b2c2d2e2f2g2dp2dp212VCCA3149874LS164ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a3b3c3d3e3f3g3dp3dp312VCCA31498874LS164ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a4b4c4d4e4f4g4dp4 CLK
GNDGNDGNDCLKCLKCLKCLK777a51b52c53d54e55f56g57dp58DPYaabcfgbdceedfdpgdp910a61b62c63d64e65f66g67dp68DPYaabfbcgdceedfdpgdp910a71b72c73d74e75f76g77dp78DPYaabfbcgdceedfdpgdp910a81b82c83d84e85f86g87dp88DPYaabfbcgdceedfdpgdp910R5I51R6I51R7I51R8I5174LS164dp412VCCA31498ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a5b5c5d5e5f5g5dp5dp512VCCA3149874LS164ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a6b6c6d6e6f6g6dp6dp612VCCA3149874LS164ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a7b7c7d7e7f7g7dp7dp712VCCA314987GND74LS164ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a8b8c8d8e8f8g8dp8GNDGNDGNDCLKCLKCLKCLK7777GND实验三 串行A/D转换实验
一、实验目的
1. 掌握单片机I/O模拟I2C总线的编程方法 2. 掌握16位串行A/D转换芯片ADS1100使用方法
二、实验说明
ADS1100是美国TI(Texas Instruments Incorporated)公司生产的全差分输入、16位分辨率、SOT23-6封装、有自校准功能的精密A/D转换器,该芯片的内置自校准系统对于用户是透明的。ADS1100使用I2C串行接口以电源电压作用参考电压,片内可编程增益放大器(PGA)可提供最大的为8的增益,因此,即使在高分辨情况下也能采样到小信号,在单次转换模式下,ADS1100在一次转换结束后可自动关闭自身电源,因而可减少系统在空闲周期的电流消耗,由于ADS1100的易用性,故可以大大降低精密测量设备工作的工作量,ADS1100主要应用在空间和功耗方面要求比较严格的高分辨率采样测量电路中,其典型应用包括便携设备、工业过程控制和智能发射机等。ADS1100以其独特的精度特性可广泛应用便携设备、工业过程控制器、智能发射器、消费类产品、工厂自动化设备和温度测量等系统之中。
三、实验内容及步骤
本实验用到单片机最小系统(F1区)、串行静态数码显示(I3区)、电位器(A2区)和串行A/D转换(H6区)。
1. 串行静态数码显示的DIN、CLK分别接单片机最小系统的P1.0、P1.1口;单片机最小系统的P2.0、P2.1分别接串行A/D转换的DATA、CLK, 串行A/D转换的CS-549接地,AIN接电位器(A2区)0~5V可调输出端。打开单片机最小系统的电源开关,串行A/D转换的JT1H电源短路帽打在VCC处。
2.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3.打开Keil uVision2仿真软件,打开串行AD文件夹下本实验的项目文件“ADS1100.Uv2”。 4.编译无误后,全速运行程序,数码管显示电压转化的数字量,调节模拟信号输入端的电位器旋钮。顺时针旋转值增大,AD转换值的范围是0~3FFH。
5.也可以把源程序编译成可执行文件,用ISP烧录器烧录到89S52/89S51芯片中。(ISP烧录器的使用查看附录二) 四、电路图和源程序
VCCVIN+R110kSCL123IC1Vin+GNDSCLADS1100Vin-VCCSDA654VIN-VCCSDAR210kVCCAINVCC1VIN+234JP1VCC87SCL6SDA5VIN-R10HR11HR12H100100100CLKDATACS_549
五、源程序
#include #include
void WaitACK(void); Void writebyte(unsigned char wdata); Unsigned char Readbyte(void); ads1100(0x8C)
void Init_ads1100(unsigned char mdata) {
Start();
writebyte(0x90); writebyte(mdata); Stop(); }
Unsigned int Rd_ads1100(void) {
unsigned char H_AD; unsigned char L_AD; unsigned int T_AD; Start();
writebyte(0x91); H_AD=Readbyte(); WriteACK(0); L_AD=Readbyte(); WriteACK(1); Stop();
T_AD=(0x00ff&H_AD)<<8|L_AD;
return T_AD; }
void Delay(void) {
_nop_();
_nop_(); }
void Start(void) {
EA=0; SDA=1; SCL=1; Delay(); SDA=0; Delay(); SCL=0; }
void Stop(void) {
SDA=0; SCL=0; Delay(); SCL=1; Delay(); SDA=1; Delay(); EA=1; } void WriteACK(unsigned char ack) {
SDA=ack; Delay(); SCL=1; Delay(); SCL=0; }
void WaitACK(void) {
unsigned char errtime=20; SDA=1; Delay(); SCL=1; Delay(); while(SDA) {
errtime--;
if(!errtime) Stop(); }
SCL=0; Delay(); } void writebyte(unsigned char wdata) {
unsigned char i; for(i=0;i<8;i++) {
if(wdata&0x80) SDA=1;
else SDA=0; wdata<<=1; SCL=1; Delay(); SCL=0; }
WaitACK();} unsigned char Readbyte(void) {
unsigned char i,bytedata; SDA=1;
for(i=0;i<8;i++) {
SCL=1;
bytedata<<=1; bytedata|=SDA; SCL=0; Delay(); }
return(bytedata); } END
实验四 DS18B20温度传感器实验
一、实验目的
1. 了解温度传感器电路的工作原理 2. 了解温度控制的基本原理 3. 掌握一线总线接口的使用 二、实验说明
这是一个综合硬件实验,分两大功能:温度的测量和温度的控制。
Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。 三、实验内容及步骤
本实验需要用到单片机最小应用系统(F1区)、串行静态显示(I3区)和温度传感器模块(C3区)。
1.DS18B20的CONTROL接最小应用系统P1.4,OUT接最小应用系统P2.0,最小系统的P1.0,P1.1接串行静态显示的DIN,CLK端。
2.用串行数据通信线连接计算机与仿真器,然后将仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加TH44_ DS18B20.ASM源程序,进行编译,直到编译无误。
4.编译无误后,全速运行程序。程序正常运行后,按下自锁开关‘控制’SIC。LED数显为 “XX”为十进制温度测量值, “XX”为十进制温度设定值,按下自锁开关“控制”SIC则加热源开始加热,温度也随着变化,当加热到设定的控制温度时如40度时,停止加热。
5.也可以把源程序编译成可执行文件,用ISP烧录器烧录到89S52/89S51芯片中。(ISP烧录器的使用查看附录二) 四、电路图 R8C1KVCC+12V+12VJDQ+12V282350.1uF+12V R9C10KIN40076JDQ100C3C R10C R11C22K100KCONTROLR7C10KT1C2D1C1711419013312U3CAKTLP521CET2C2S1CCONTROL8790133R13C2.2KR12C100
R14C75/2W五、源程序
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机实验报告(2)在线全文阅读。
相关推荐: