久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機學習筆記(十)模數轉換
[打印本頁]
作者:
51hei人人
時間:
2016-3-12 16:45
標題:
單片機學習筆記(十)模數轉換
單片機模數轉換實驗,運行程序后,調節電位器,數據變化。
C語言源程序:
#include <reg52.h> //52單片機頭文件包含
#include <intrins.h> //_nop()_函數頭文件包含
#define uchar unsigned char //宏定義uchar 為 unsigned char
sbit SCL2=P1^3;//SCL2定義為P1口的第3位腳,連接ADC0831SCL腳
sbit SDA2=P1^4;//SDA2定義為P1口的第4位腳,連接ADC0831SDA腳
sbit CS2=P2^6;//CS2定義為P1口的第4位腳,連接ADC0831CS腳
sbit RST=P2^5;// DS1302片選,因這兩芯片采用同一數據腳(SDA,SCL),所以我們要定義它,將DS1302片選關掉,否則發生沖突
sbit wei1=P2^0;//數碼管第一位
sbit wei2=P2^1;//數碼管第二位
sbit wei3=P2^2;//數碼管第三位
sbit wei4=P2^3;//數碼管第四位
uchar code table[]={0xC0,0xF9,0xA4,0xB0,
0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,
0xC6,0xA1,0x86,0x8E};//共陽數碼管碼表
uchar l_tmpdate[]={0,0,0};//定義無符號字符數組并賦初值0
void Delay_xuS(unsinged int x);//延時函數聲明
void led_display(unsigned char *temp) //數碼管顯示函數聲明
uchar ad0831read(void);//讀取ADC0831數據函數聲明
void main(void)//入口函數
{
uchar i=254,tmp; //定義無符號字符變量i并賦值254和tmp
RST=0;//關閉DS1302片選
while(1){ //主循環
i++;//i自加
if(i==255){
tmp=ad0831read();//這里為循環255個周期讀取一次0831,因CPU運行比較快,沒必要每次循環都去讀取 i=0;i賦值為0
l_tempdate[0]=tmp/100;//取百位上的數
tmp=tmp % 100;//除100取余 取十位和個位上的數
l_tmpdate[1]=tmp/10;//取十位上的數;
l_tmpdate[2]=tmp%10;//取個位上的數
//因讀到的數據為8位的二進制數,即0~255,我們將其分開放入l_tmpdate數組中
}
led_display(l_tmpdate);//輸出顯示
}
}
void Delay_xuS(unsigned int x) //延時函數
{
unsigned int j,j; //定義無符號整型變量i,j
for(i=0;i<x;i++)//for循環循環x次
{
for(j=0;j<50;j++);//for循環循環50次
}
}
void led_display(unsinged char *temp) //數碼管顯示子程序
{
wei1=0;//打開數碼管第1位顯示
P0=table[temp[0]];//數組第一位數據送P0
Delay_xuS(5);//延時500uS
wei1=1;//關閉數碼管第1位顯示
wei2=0;//打開數碼管第2位顯示
P0=table[temp[1]];//數組第二位數據送P0
Delay_xuS(5);//延時500uS
wei2=1;//打開數碼管第2位顯示
wei3=0;//打開數碼管第3位顯示
P0=table[temp[2]];//數組第三位數據送P0
Delay_xuS(5));//延時500uS
wei3=1;//關閉數碼管第3位顯示
}
uchar ad0831read(void) //讀取ADC0831數據函數
{
uchar i=0,tmp=0;//定義無符號字符變量i和tmp
SDA=1;CS2=0;
_nop_();_nop_();//延時
CSL2=0;
_nop_();_nop_();//延時
CSL2=1;
_nop_();_nop_();//延時
SCL2=0;
_nop_();_nop_();//延時
SCL2=1;
_nop_();_nop_();//延時
SCL2=0;
_nop_();_nop_();//延時
for(i=0;i<8;i++){ //for循環循環8次
tmp<<=1;//tmp左移1位賦值給tmp
if(SDA2) //如果SDA2為真
tmp++;//tmp值加1
SCL2=1;
_nop_();_nop_();//延時
SCL2=0;
_nop_();_nop_();//延時
}
CS2=1;
return tmp;//返回結果
}
//實驗現象 調節電位器改變電壓數碼管值隨之變化。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
av在线天堂网
|
成人性视频在线
|
黄一区二区三区
|
国家一级黄色片
|
精品福利一区二区三区
|
黄网站免费观看
|
国产精品影视在线观看
|
91九色在线观看
|
久久精品欧美视频
|
久久久久久免费免费
|
久久久精品综合
|
夜久久
|
久久国产传媒
|
av网址在线
|
一区二区三区国产精品
|
日韩播放
|
麻豆av网
|
国产精品国产精品国产专区不卡
|
国产精品五区
|
美女久久视频
|
黄色大片毛片
|
亚洲国产成人精品久久
|
黄色免费观看
|
日本三级做a全过程在线观看
|
免费观看日韩av
|
国产一级在线视频
|
色综合久久久久
|
日韩毛片网
|
久久精品亚洲精品国产欧美
|
亚洲一二三区精品
|
久久久久久久久久久高潮一区二区
|
精品久久国产老人久久综合
|
成人激情视频在线播放
|
免费观看羞羞视频网站
|
亚洲精品久久久久久宅男
|
久久久国产精品一区
|
亚洲一区二区三区高清
|
国产在线观看一区二区
|
69精品久久久久久
|
欧美日韩手机在线观看
|
黄色成人国产
|