仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
捕獲.PNG (123 KB, 下載次數: 69)
下載附件
2021-12-3 13:31 上傳
51hei.gif (134.33 KB, 下載次數: 52)
下載附件
2021-12-6 04:12 上傳
利用單片機實現生產線的自動計數
#include"lcd1602.h"
#define uchar unsigned char
#define uint unsigned int
uchar out[6];
sbit STAR_KEY =P3^2;//定義鍵與單片機的連接引腳
sbit L0=P1^0; //定義SFR中引腳的位
sbit L1=P1^1;
sbit L2=P1^2;
sbit L3=P1^3;
sbit L4=P1^4;
sbit L5=P1^5;
sbit L6=P1^6;
sbit L7=P1^7;
sbit MOTOR=P3^0;
uchar n[2]={1,0};
void delayms(uint x) //延時子程序
{
uchar y;
while(x--)
{
for(y=0;y<123;y++){;}
}
}
uchar Keynum() //按鍵子程序1
{
uchar key=0;
STAR_KEY=1; //置初值
if(STAR_KEY==0){delayms(10);if(STAR_KEY==0)n[0]=0;n[1]=1;} //按下STAR鍵則n[0]=0;n[1]=1
return n[1]; //返回n值
}
void xianshi(uint dispbuf) //顯示子程序
{
out[0]=dispbuf/10000+0x30;
out[1]=((dispbuf%10000)/1000)+0x30;
out[2]=((dispbuf%1000)/100)+0x30;
out[3]=((dispbuf%100)/10)+0x30;
out[4]=dispbuf%10+0x30;
out[5]='\0';
LCD_Initial(); //LCD初始化
LCD_Prints(1, 0,"The Speed Is"); //LCD輸出
LCD_Prints(10, 1,"n/min");
LCD_Prints(4, 1,out);
}
uint qiuzhi() //求用撥碼盤所置數的值的子程序
{
uchar a;
uchar b;
uchar c;
uchar d;
uchar e;
uchar f;
uchar g;
uchar h;
uint p=0;
if (L0==1) {a=1;} else {a=0;} //將電平信號變為數字的值
if (L1==1) {b=1;} else {b=0;}
if (L2==1) {c=1;} else {c=0;}
if (L3==1) {d=1;} else {d=0;}
if (L4==1) {e=1;} else {e=0;}
if (L5==1) {f=1;} else {f=0;}
if (L6==1) {g=1;} else {g=0;}
if (L7==1) {h=1;} else {h=0;}
p=a+b*2+c*2*2+d*2*2*2+e*2*2*2*2+f*2*2*2*2*2+g*2*2*2*2*2*2+h*2*2*2*2*2*2*2;
return p; // 返回所求的P值
}
void main(void) //主程序
{
uint q;
IT0=1; //負跳變觸發
EA=1; //開總允許中斷
EX0=1; //開INTO中斷
TMOD=0X05; //置T0為計數器 方式1
TL0=0; //置計數器初值
TH0=0;
while(1) //無限循環
{
q=qiuzhi(); //調用求值子程序求出所置的數
if (MOTOR==1) {xianshi(q);} else {xianshi(TL0);Keynum();TR0=n[1];} //當電動機關閉時顯示用薄碼盤所置的數并停止計數,電機啟動時則開始計數,并顯示計數值
if (TL0==q) {TR0=0;MOTOR=1;} else {Keynum();MOTOR=n[0];} //當計數值與所置數相同時關閉電機,停止計數,當計數值不等時則將電機啟動與關閉交由按鍵控制,所以不存在計數值超過置數值的情況
}
}
void Int0(void) interrupt 0 //中斷服務程序,工作寄存器用0組
{
TL0=0;TR0=1; //重置計數值,重新開始計數
}
51hei.png (13.74 KB, 下載次數: 62)
下載附件
2021-12-6 04:12 上傳
仿真代碼51hei下載地址:
傳送帶產品計數器的設計(LCD顯示).7z
(30.88 KB, 下載次數: 57)
2021-12-3 17:12 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|