亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
TLC1543+TLC5615+51單片機實現可調亮度LED(仿真+程序)
[打印本頁]
作者:
063589538
時間:
2018-12-13 02:11
標題:
TLC1543+TLC5615+51單片機實現可調亮度LED(仿真+程序)
內有5615 和1543模塊仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(34.45 KB, 下載次數: 20)
下載附件
2018-12-13 03:16 上傳
0.png
(13.41 KB, 下載次數: 27)
下載附件
2018-12-13 03:17 上傳
單片機源程序如下:
#include "inif.h"
#include <at89x52.h>
#include <absacc.h>
#include "LCD1602.H"
unsigned char data ad_result[16]={0};
unsigned char data dianliu_result[5]={0};
unsigned char bbb[] = {"CheckAD(TLC1543)" } ;//用于第二行的輸出
float jizhun_AD=2.5; //AD的基準電壓
unsigned int read1543(unsigned char chn1) ;
void da5615(unsigned int *p) ; //5615
/*******************************************DAC***************************************************/
float zh (float k)//浮點型!接收受小數的轉換。
{
float DA;
DA=k*1024/5; //2.5v參考電壓!
return DA;
}
void DA_Conver(unsigned int DAValue)
{
unsigned char i;
DAValue <<= 6; //原先是16位long數據:00000000+10位數據,<<6位后為(0000+10位數據+00)
CS_DA = 0;
SPI_CLK = 0; // 在以下12個時鐘周期內,每當在上升沿的
// 數據被鎖存,形成DA輸出。
for(i = 0; i < 12; i++)
{
SPI_DATA = (bit)(DAValue & 0x8000); // 取出最高位---bit轉換---強制單位bit轉換,非零為1,0為0
SPI_CLK = 1;
DAValue <<= 1;
SPI_CLK = 0;
}
CS_DA = 1;
SPI_CLK = 0;
}
int keyscan(){
PORT_C = 0x00;
PORT_A = 0x0F;
delay(100);
if( PORT_C&0x0F <= 0x03 ){
delay(500);
if( PORT_C&0x0F <= 0x03 ){
return 1; //S1-S8按鍵按下就減
}
}
if( PORT_C&0x0F >= 0x04){
delay(500);
if( PORT_C&0x0F >= 0x04){
return -1; //S9-S16按鍵按下就加
}
}
return 0;
}
/************************************************************
函數描述:主函數
輸入:
輸出:
參數:
**************************************************************/
void main()
{
int move = 0;
unsigned int ad1 ;
long DAValue = 0 ;
unsigned int AD_ad=0,dianliu=0;
float AD_Data=0.0,scale = 10*5/1024;
PORT=0x03; //定義A B 為輸出口 C口輸入
lcd1602init();
lcd_clear();
while(1)
{
//AD_ad = read1543(1); //通道號
ad1 = read1543(1) / 2 ;
//AD_Data = ((float)AD_ad)*jizhun_AD/1024+0.0005; //0.0005 為修正量
// AD_Data = ((float)AD_ad)*jizhun_AD/1023 ;
AD_Data = ((float)ad1)*5/1024;
AD_ad = AD_Data*1000; // 0.000000 分解數據的時候先把小數變成整數 然后按照整數的方法分解數據4
//求電流 單位mA
dianliu = AD_Data/100*10000; //集電極電流等于電壓除以100歐
dianliu_result[4] = (dianliu%10)+'0';
dianliu_result[1] = '.'; // 小數點
dianliu_result[3] = ((dianliu/10)%10)+'0';
dianliu_result[2] = ((dianliu/100)%10)+'0';
dianliu_result[0] = (dianliu/1000)+'0';
ad_result[4] = (AD_ad%10)+'0';
ad_result[3] = ((AD_ad/10)%10)+'0';
ad_result[2] = ((AD_ad/100)%10)+'0';
ad_result[1] = '.'; // 小數點
ad_result[0] = (AD_ad/1000)+'0';
lcd_string(ad_result,1); //在第一行輸出AD轉換的結果
wri(0x80 + 6 ) ; //寫地址
wrd('V') ; //寫數據
lcd_string(dianliu_result,2); //在第二行輸出電流
wri(0xc0 + 6 ) ;
wrd('m') ;
wri(0xc0 + 7 ) ;
wrd('A') ;
move = keyscan;
ad1 += scale * move;
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
TLC1543 V4.rar
(156.21 KB, 下載次數: 83)
2018-12-13 02:09 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
初學者來
時間:
2019-6-23 07:53
這是Proteus幾啊?
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1