資源簡(jiǎn)介
0809芯片,模擬電壓轉(zhuǎn)換為數(shù)字電壓,并在12864液晶屏上顯示,proteus圖仿真

代碼片段和文件信息
?/********************************************************************************************
?* ADC0809的工作過(guò)程是:
?*?????? 首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。
?* 此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。
?* 下降沿啟動(dòng)?A/D轉(zhuǎn)換,之后EOC輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,
?* EOC變?yōu)楦唠娖剑甘続/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。
?* 當(dāng)OE輸入高電平?時(shí),輸出三態(tài)門(mén)打開(kāi),轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上
*********************************************************************************************/
/*********************************************************************************************
//頭文件定義
//
/*********************************************************************************************/
#include?????//?包含頭文件
#include???//用于指針
/*******************************************************************************************
//AD0809定義
//
/*********************************************************************************************/
sbit?A=P3^4;
sbit?B1=P3^5;
sbit?C=P3^6;???//ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路
sbit?ALE=P3^3;
??????//ALE:地址鎖存允許信號(hào),輸入,高電平有效
sbit?EOC=P3^2;
??????//EOC:?A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí)此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)
sbit?OE=P3^1;??
?????//OE:數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開(kāi)輸出三態(tài)門(mén),輸出數(shù)字量
sbit?START=P2^7;
?//START:?A/D轉(zhuǎn)換啟動(dòng)信號(hào),輸入,高電平有效
/*********************************************************************************************
//接口定義
//
/*********************************************************************************************/
#define?LCM12864_DB7_DB0??????P1?????????????//?定義LCM12864的數(shù)據(jù)總線
sbit?LCM12864_CS1?=?P2?^?3;?//?定義LCM12864的CS1控制線低電平選中
sbit?LCM12864_CS2?=?P2?^?4;?//?定義LCM12864的CS2控制線
sbit?LCM12864_RW?=?P2?^?2;?//?定義LCM12864的RW控制線
???????????????????????????//?讀寫(xiě)控制信號(hào)1為讀,0為寫(xiě)
sbit?LCM12864_RS?=?P2?^?0;?//?定義LCM12864的RS控制線
???????????????????????????//?又DI控制信號(hào),高電平為顯示數(shù)據(jù),低電平為指令
sbit?LCM12864_E?=?P2?^?1;?//?定義LCM12864的E控制線
??????????????????????????//?0為可以寫(xiě)入數(shù)據(jù)或指令;1為可以讀DDRAM數(shù)據(jù)
sbit?LCM12864_RESET?=?P2?^?6;?//?定義LCM12864的RESET控制線,低電平復(fù)位
/*********************************************************************************************
//數(shù)據(jù)定義
//定義LCM12864的命令字
/*********************************************************************************************/
#define?LCM12864_DISP_ON????????????0x3f??????????//?打開(kāi)LCM12864顯示
#define?LCM12864_DISP_OFF???????????0x3e??????????//?關(guān)閉LCM12864顯示
#define?LCM12864_START_ROW??????????0xc0??????????//1100?0000
??//?顯示起始行0,可以用LCM12864_START_ROW+x設(shè)置起始行。(x<64)
#define?LCM12864_PAGE_START_ADDR????0xb8??//1011?1000
??//?頁(yè)起始地址,可以用LCM12864_PAGE_START_ADDR+x設(shè)置當(dāng)前頁(yè)。(x<8)
#define?LCM12864_COL_START_ADDR?????0x40
??//?列起始地址,可以用LCM12864_COL_START_ADDR+x設(shè)置當(dāng)前列。(x<64)
//定義LCM12864的狀態(tài)屏蔽碼
//在BUSY和REST狀態(tài)時(shí),除讀狀態(tài)指令外,其他指令均不對(duì)LCM12864產(chǎn)生作用。
//在對(duì)LCM12864操作之前要查詢BUSY狀態(tài),以確定是否可以對(duì)LCM12864進(jìn)行操作。
#define?LCM12864_STATUS_BUSY????????0x80??????????//?LCM12864忙狀態(tài)屏蔽碼
#define?LCM12864_STATUS_DISP_OFF????0x20??????????//?LCM12864顯示關(guān)閉狀態(tài)屏蔽碼
#define?LCM12864_STATUS_REST????????0x10??????????//?LCM12864復(fù)位狀態(tài)
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????18698??2011-12-19?16:23??ADC0809+12864液晶顯示+電壓值+proteus圖\AD0809
?????文件???????8966??2011-12-19?16:23??ADC0809+12864液晶顯示+電壓值+proteus圖\AD0809.hex
?????文件????????755??2011-12-19?16:24??ADC0809+12864液晶顯示+電壓值+proteus圖\AD0809.plg
?????文件??????13242??2011-12-19?16:22??ADC0809+12864液晶顯示+電壓值+proteus圖\AD0809.uvproj
?????文件??????27907??2011-12-19?16:22??ADC0809+12864液晶顯示+電壓值+proteus圖\AD0809.c
?????文件?????????29??2011-12-19?16:23??ADC0809+12864液晶顯示+電壓值+proteus圖\AD0809.lnp
?????文件??????39987??2011-12-19?16:23??ADC0809+12864液晶顯示+電壓值+proteus圖\AD0809.LST
?????文件??????19307??2011-12-19?16:23??ADC0809+12864液晶顯示+電壓值+proteus圖\AD0809.M51
?????文件??????22021??2011-12-19?16:23??ADC0809+12864液晶顯示+電壓值+proteus圖\AD0809.OBJ
?????文件??????55232??2011-12-19?16:24??ADC0809+12864液晶顯示+電壓值+proteus圖\AD0809.uvopt
?????文件??????55232??2011-12-19?16:22??ADC0809+12864液晶顯示+電壓值+proteus圖\AD0809_uvopt.bak
?????文件??????????0??2011-12-19?16:18??ADC0809+12864液晶顯示+電壓值+proteus圖\AD0809_uvproj.bak
?????文件?????120999??2011-12-19?16:24??ADC0809+12864液晶顯示+電壓值+proteus圖\ad_lcd.DSN
?????文件???????1028??2011-12-19?16:24??ADC0809+12864液晶顯示+電壓值+proteus圖\ad_lcd.PWI
?????文件?????120999??2011-12-19?16:23??ADC0809+12864液晶顯示+電壓值+proteus圖\Last?Loaded?ad_lcd.DBK
?????目錄??????????0??2011-12-19?16:44??ADC0809+12864液晶顯示+電壓值+proteus圖
-----------?---------??----------?-----??----
???????????????504402????????????????????16
評(píng)論
共有 條評(píng)論