一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

proteus:電子秤

Harmony&嵌入式學(xué)習(xí) ? 來(lái)源:Harmony&嵌入式學(xué)習(xí) ? 作者:Harmony&嵌入式學(xué) ? 2023-06-14 11:53 ? 次閱讀
pYYBAGSJOZOAJPWTAAC-gP4w8-I143.png

一、設(shè)計(jì)說(shuō)明
電子秤是利用應(yīng)變電阻,將壓力信號(hào)轉(zhuǎn)變成模擬電壓信號(hào),再利用A/D轉(zhuǎn)換,將電信號(hào)轉(zhuǎn)換成壓力信號(hào)進(jìn)行壓力測(cè)量,測(cè)量最大值,10Kg,將測(cè)量到的數(shù)據(jù)通過(guò)MODBUS通信協(xié)議傳送到上位機(jī)。
二、設(shè)計(jì)要求
1.能測(cè)量10Kg重物的壓力,并用數(shù)碼管顯示輸入及譯碼結(jié)果。
在選擇器件時(shí),應(yīng)考慮成本。
2.采用MODBUS串口調(diào)試助手顯示壓力測(cè)量值。
3.可選元件:(1)自帶A/D功能的單片機(jī);(2)LCD1602等。
三、實(shí)驗(yàn)要求
1.根據(jù)技術(shù)指標(biāo)制定實(shí)驗(yàn)方案;驗(yàn)證所設(shè)計(jì)的電路。
2.進(jìn)行實(shí)驗(yàn)數(shù)據(jù)處理和分析。

#include 	
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
ulong volt;//測(cè)量的電壓值
#define LCD1602_DATAPINS P0
#define TIME 5
sbit LCD1602_E=P2^2;
sbit LCD1602_RW=P2^1;
sbit LCD1602_RS=P2^0;
sbit CLK=P3^7;//定義時(shí)鐘信號(hào)口
sbit DIN=P3^5;//定義2543數(shù)據(jù)寫(xiě)入口
sbit DOUT=P3^4;//定義2543數(shù)據(jù)讀取口
sbit CS=P3^6;//定義2543片選信號(hào)口
uchar datt;
uint ALL_num;
uint Result;
uint Dis_num;


void read2543(uchar addr)
{
	uint ad=0;
	uchar i;
	CLK=0;
	CS=0;//片選段,啟動(dòng)2543
	addr>=1;
	volt=ad;//取走轉(zhuǎn)換結(jié)果
	volt=volt*2444;//例子的滿(mǎn)量程為5V,轉(zhuǎn)換分辯率為12位(2的12次方=4096) 。即最大值是255,5/4096=1221mV,即例子中的1V代表實(shí)際1221mV        
}


/*******************************************************************************
* 函 數(shù) 名         : Lcd1602_Delay1ms
* 函數(shù)功能		   : 延時(shí)函數(shù),延時(shí)1ms
* 輸    入         : c
* 輸    出         : 無(wú)
* 說(shuō)    名         : 該函數(shù)是在12MHZ晶振下,12分頻單片機(jī)的延時(shí)。
*******************************************************************************/
void Lcd1602_Delay1ms(uint c)   //誤差 0us
{
    uchar a,b;
	for (; c>0; c--)
	{
		 for (b=199;b>0;b--)
		 {
		  	for(a=1;a>0;a--);
		 }      
	}
    	
}

/*******************************************************************************
* 函 數(shù) 名         : LcdWriteCom
* 函數(shù)功能		   : 向LCD寫(xiě)入一個(gè)字節(jié)的命令
* 輸    入         : com
* 輸    出         : 無(wú)
*******************************************************************************/
void LcdWriteCom(uchar com)	  //寫(xiě)入命令
{
	LCD1602_E = 0;     //使能
	LCD1602_RS = 0;	   //選擇發(fā)送命令
	LCD1602_RW = 0;	   //選擇寫(xiě)入
	
	LCD1602_DATAPINS = com;     //放入命令
	Lcd1602_Delay1ms(1);		//等待數(shù)據(jù)穩(wěn)定

	LCD1602_E = 1;	          //寫(xiě)入時(shí)序
	Lcd1602_Delay1ms(5);	  //保持時(shí)間
	LCD1602_E = 0;
}
/*******************************************************************************
* 函 數(shù) 名         : LcdWriteData
* 函數(shù)功能		   : 向LCD寫(xiě)入一個(gè)字節(jié)的數(shù)據(jù)
* 輸    入         : dat
* 輸    出         : 無(wú)
*******************************************************************************/		   	   
void LcdWriteData(uchar dat)			//寫(xiě)入數(shù)據(jù)
{
	LCD1602_E = 0;	//使能清零
	LCD1602_RS = 1;	//選擇輸入數(shù)據(jù)
	LCD1602_RW = 0;	//選擇寫(xiě)入

	LCD1602_DATAPINS = dat; //寫(xiě)入數(shù)據(jù)
	Lcd1602_Delay1ms(1);

	LCD1602_E = 1;   //寫(xiě)入時(shí)序
	Lcd1602_Delay1ms(5);   //保持時(shí)間
	LCD1602_E = 0;
}


/*******************************************************************************
* 函 數(shù) 名       : LcdInit()
* 函數(shù)功能		 : 初始化LCD屏
* 輸    入       : 無(wú)
* 輸    出       : 無(wú)
*******************************************************************************/		   
void LcdInit()						  //LCD初始化子程序
{
 	LcdWriteCom(0x38);  //開(kāi)顯示
	LcdWriteCom(0x0c);  //開(kāi)顯示不顯示光標(biāo)
	LcdWriteCom(0x06);  //寫(xiě)一個(gè)指針加1
	LcdWriteCom(0x01);  //清屏
	LcdWriteCom(0x80);  //設(shè)置數(shù)據(jù)指針起點(diǎn)
}




//按指定位置顯示一個(gè)字符
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
{
 Y &= 0x1;
 X &= 0xF; //限制X不能大于15,Y不能大于1
 if (Y) X |= 0x40; //當(dāng)要顯示第二行時(shí)地址碼+0x40;
 X |= 0x80; // 算出指令碼
 LcdWriteCom(X); //這里不檢測(cè)忙信號(hào),發(fā)送地址碼
 LcdWriteData(DData);
}
//按指定位置顯示一串字符
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)
{
 unsigned char ListLength;

  ListLength = 0;
 Y &= 0x1;
 X &= 0xF; //限制X不能大于15,Y不能大于1
 while (DData[ListLength]>=0x20) //若到達(dá)字串尾則退出
  {
   if (X <= 0xF) //X坐標(biāo)應(yīng)小于0xF
    {
     DisplayOneChar(X, Y, DData[ListLength]); //顯示單個(gè)字符
     ListLength++;
     X++;
    }
  }
}
void UsartInit()
{
	 TMOD=0x20;		   //設(shè)T1為方式2(8位自動(dòng)重裝載) T0為方式1(16位)
	 TH1=0xf3;         //定時(shí)器1定時(shí)12us
	 TL1=0xf3;
	 TR1=1;            //開(kāi)定時(shí)器1
	 SCON=0x50;        //SCON 是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志
	 PCON=0x80;        //串口波特率加倍
	 ES=1;             //串口中斷允許位
	 EA=1;			   //開(kāi)啟總中斷	
}

void Uart1Send(uchar c)
{
	SBUF=c;
	while(!TI);
	TI=0;	
}
void Uart1Sends(uchar *str)
{
	while(*str!='?')
	{
		SBUF=*str;
		while(!TI);
		TI=0;
		str++;
	}
}



void main(void)
{
	UsartInit();
	LcdInit();
	EX0=1;       //外部中斷0開(kāi)()  EX1 為外部中斷1 (P3^3)
	IT0=1;        //低電平觸發(fā)   IT1為中斷1
	DisplayListChar(1,0,"Measure System");
	DisplayOneChar(2,1,'.');
	DisplayOneChar(5,1,'K');
	DisplayOneChar(6,1,'g');
	while(1)
	{
	read2543();
	DisplayOneChar(0,1,(char)(volt/10000000)+'0');
	DisplayOneChar(1,1,(char)(volt/1000000%10)+'0');
	DisplayOneChar(3,1,(char)(volt/100000%10)+'0');
	DisplayOneChar(4,1,(char)(volt/10000%10)+'0');
	Lcd1602_Delay1ms(200);
	}				
}


void Key_INT( )  interrupt 0  // 這里0對(duì)應(yīng)下表
{
	uchar buff[8],datt1;
	Uart1Sends("NOW WIGHT:"); 
	buff[0] = (char)(volt/10000000)+'0';
	buff[1] = (char)(volt/1000000%10)+'0';
	buff[2] = '.';
	buff[3] = (char)(volt/100000%10)+'0';
	buff[4] = (char)(volt/10000%10)+'0';
	buff[5] = 'K';
	buff[6] = 'g';
	for(datt1=0;datt1
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Proteus
    +關(guān)注

    關(guān)注

    79

    文章

    1692

    瀏覽量

    107903
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1580

    瀏覽量

    78338
  • 電子秤
    +關(guān)注

    關(guān)注

    23

    文章

    217

    瀏覽量

    44888
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電子秤proteus仿真+程序資料

    本帖最后由 eehome 于 2013-1-5 09:51 編輯 電子秤proteus仿真+程序資料
    發(fā)表于 08-20 11:16

    電子秤proteus仿真+程序資料

    0150、電子秤proteus仿真+程序資料
    發(fā)表于 09-09 18:22

    求個(gè)電子秤proteus仿真

    求個(gè)電子秤proteus仿真
    發(fā)表于 05-05 15:48

    簡(jiǎn)易電子秤

    本帖最后由 東隅遇桑榆 于 2021-7-9 18:49 編輯 基于CC2540單片機(jī)的簡(jiǎn)易電子秤:隨著微電子技術(shù)的應(yīng)用,電子秤的出現(xiàn)迅速得到了人們的青睞。相比傳統(tǒng)的機(jī)械式稱(chēng)量工具,電子
    發(fā)表于 07-09 18:46

    電子秤

    電子秤 電子秤
    發(fā)表于 09-23 15:12 ?2636次閱讀
    <b class='flag-5'>電子秤</b>

    電子秤proteus仿真+程序資料

    應(yīng)變式電子秤系統(tǒng)設(shè)計(jì),proteus仿真和仿真的程序資料
    發(fā)表于 11-10 10:03 ?56次下載

    1602電子秤proteus仿真+源程序

    1602電子秤proteus仿真+源程序
    發(fā)表于 12-21 17:53 ?38次下載

    電子秤proteus仿真程序資料

    電子秤proteus仿真程序資料,很好的設(shè)計(jì)資料,快來(lái)下載學(xué)習(xí)吧。
    發(fā)表于 05-10 10:35 ?73次下載

    基于proteus仿真的電子秤

    這是基于proteus仿真電子秤哦!作者本人最近做了個(gè)電子秤的有關(guān)項(xiàng)目,所以呢,和大家分享一下。仿真文件就在壓縮包里面哦,自己去下載,也不要吝嗇那一點(diǎn)積分吶。
    發(fā)表于 01-24 16:00 ?106次下載

    單片機(jī)設(shè)計(jì)的電子秤proteus仿真和程序資料

    本文檔的主要內(nèi)容詳細(xì)介紹的是單片機(jī)設(shè)計(jì)的電子秤proteus仿真和程序資料。
    發(fā)表于 10-22 08:00 ?105次下載
    單片機(jī)設(shè)計(jì)的<b class='flag-5'>電子秤</b><b class='flag-5'>proteus</b>仿真和程序資料

    電子秤Proteus仿真程序資料合集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是電子秤Proteus仿真程序資料合集免費(fèi)下載。
    發(fā)表于 02-14 08:00 ?84次下載
    <b class='flag-5'>電子秤</b><b class='flag-5'>Proteus</b>仿真程序資料合集免費(fèi)下載

    數(shù)字電子秤proteus仿真和程序資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)字電子秤proteus仿真和程序資料免費(fèi)下載。
    發(fā)表于 07-01 08:00 ?59次下載
    數(shù)字<b class='flag-5'>電子秤</b>的<b class='flag-5'>proteus</b>仿真和程序資料免費(fèi)下載

    如何選購(gòu)電子秤

    吊鉤人們?cè)谌コ匈?gòu)買(mǎi)蔬菜水果的時(shí)候都會(huì)看到工作人員使用電子秤來(lái)給商品稱(chēng)重,所以在一般人的印象中,電子秤就是臺(tái)秤,而不同類(lèi)型的電子秤之間的最大差別就是設(shè)備的大小不同。其實(shí)現(xiàn)在
    發(fā)表于 03-27 11:18 ?2841次閱讀

    電子秤proteus仿真+程序資料分享

    電子秤proteus仿真+程序資料分享下載。
    發(fā)表于 05-07 09:19 ?22次下載

    Proteus中arduino的電子秤仿真設(shè)計(jì)資料

    Proteus中arduino的電子秤仿真設(shè)計(jì)資料
    發(fā)表于 11-30 10:46 ?28次下載