導航:首頁 > 操作系統 > 單片機kst51

單片機kst51

發布時間:2022-08-03 14:10:09

1. 這是單片機的原理圖,按照這個編程,題目是:kst—51單片機的程序,按鍵按下202779然後按回車

摘要 你好,單片機由運算器、控制器、存儲器、輸入輸出設備構成。單片機是如何工作的呢?我們來看一下單片機的工作原理:

2. kst_51與stc_51的區別

都是8051的單片機,只是牌子不一樣,STC是增強型8051單片機,目前的主流,名氣較大

3. 買了一塊金沙灘(KST)單片機開發板,老師不但不解決問題,還冷嘲熱諷,又不給退貨,怎麼可以讓他退貨

1)你的貨是向誰買的;
2)老師有建議你買什麼了嗎;
3)你怎麼就說老師的態度是冷嘲熱諷??

4. 想找一個金沙灘KST-51單片機模擬圖,protues可用,提前謝謝了。

宋雪松的開發板的資料嗎?這個我記得他的開發板PDF資料完全可以去他的網站下載!

5. 用51單片機C語言版設計秒錶倒計時

K1 EQU P1.0
K2 EQU P1.1
K3 EQU P1.2
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#01H
MOV TH0,#HIGH(65536-10000)
MOV TL0,#LOW(65536-10000)
SETB ET0
SETB TR0
SETB EA
MOV R0,#9
MOV R1,#9
MOV R2,#0
MOV R3,#99
CLR 00H
CLR 01H
LOOP:
JB K1,LP01
JNB K1,$
CLR 01H
INC R3
CJNE R3,#100,LOOP0
MOV R3,#0
SJMP LOOP0
LP01:
JB K2,LP02
JNB K2,$
CLR 01H
CJNE R3,#0,LP011
MOV R3,#99
SJMP LOOP0
LP011:
DEC R3
SJMP LOOP0
LP02:
JB K3,LOOP
JNB K3,$
SETB 01H
SJMP LOOP
LOOP0:
MOV A,R3
MOV B,#10
DIV AB
MOV R0,B
MOV R1,A
SJMP LOOP
T0ISR:
CLR TR0
MOV TH0,#HIGH(65536-10000)
MOV TL0,#LOW(65536-10000)
SETB TR0
MOV DPTR,#TABLE
T0C:
CPL 00H
JB 00H,T001
MOV P3,#0FDH
MOV A,R1
MOVC A,@A+DPTR
MOV P2,A
SJMP T002
T001:
MOV P3,#0FEH
MOV A,R0
MOVC A,@A+DPTR
MOV P2,A
T002:
JNB 01H,T0E
INC R2
MOV A,R2
CJNE A,#100,T0E
MOV R2,#0
MOV A,R0
JZ T003
DEC R0
SJMP T0E
T003:
MOV A,R1
JZ T004
DEC R1
MOV R0,#9
T0E:
RETI
T004:
CLR 01H
MOV R4,#16
T005:
CPL P0.0
LCALL DELAY
DJNZ R4,T005
RETI
DELAY:
MOV R6,#200
DLY:
MOV R7,#250
DJNZ R7,$
DJNZ R6,DLY
RET
TABLE: ; 共陰極數碼管顯示代碼表
DB 3FH,06H,5BH,4FH,66H ;01234
DB 6DH,7DH,07H,7FH,6FH ;56789
END

6. 單片機課程設計,急求!!!

#defineLCD1602_FLAG
#defineLCD1602_PORTP0
#include<reg51.h>
#include<stddef.h>
#defineucharunsignedchar

sbitlcd1602_rs=P2^0;
sbitlcd1602_e=P2^2;
sbitlcd1602_rw=P2^1;
sbitlcd1602_busy=P0^7;

ucharstr[]="ThisisKeyTest";
ucharkeyval,keystr[16];

voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}

/*
************************************
*函數名稱:lcd1602_CheckBusy()
*函數功能:狀態查詢
************************************
*/

voidlcd1602_CheckBusy()
{
do
{
lcd1602_busy=1;
lcd1602_rs=0;
lcd1602_rw=1;
lcd1602_e=0;
lcd1602_e=1;
}
while(lcd1602_busy);
}

/*
***************************************
*函數名稱:lcd1602_WriteCmd()
*函數功能:寫命令
*入口參數:命令字
*出口參數:無
***************************************
*/

voidlcd1602_WriteCmd(constucharcmd)
{
lcd1602_CheckBusy();
lcd1602_rs=0;
lcd1602_rw=0;
lcd1602_e=1;
LCD1602_PORT=cmd;
lcd1602_e=0;
}

/*
*******************************************
*函數名稱:lcd1602_WriteData()
*函數功能:寫數據
*入口參數:c--待寫數據
*出口參數:無
*********************************************
*/

voidlcd1602_WriteData(constucharc)
{
lcd1602_CheckBusy();
lcd1602_rs=1;
lcd1602_rw=0;
lcd1602_e=1;
LCD1602_PORT=c;
lcd1602_e=0;
}

/*
***********************************************
*函數名稱:lcd1602_Init()
*函數功能:初始化LCD
*入口參數:無
*出口參數:無
***********************************************
*/

voidlcd1602_Init()
{
lcd1602_WriteCmd(0x38); //顯示模式為8位2行5*7點陣
lcd1602_WriteCmd(0x0c);//displayenable,flagenable,flashenable,
lcd1602_WriteCmd(0x06);//flagmovetoright,screendon'tmove
lcd1602_WriteCmd(0x01);//clearscreen
}

/*
************************************************
*函數名稱:lcd1602_Display()
*函數功能:字元顯示
*入口參數:ptr--字元或字元串指針
*出口參數:無
*說明:用戶可通過以下方式來調用:
*1)lcd1602_Display("Hello,world!");
*2)INT8U存儲類型txt[]="要顯示的字元串";
*或者INT8U存儲類型txt[]={'t','x','t',..,''};
*INT8U*ptr;
*ptr=&txt;
*lcd1602_Display(ptr);
*或lcd1602_Display(txt);
*或lcd1602_Display(&txt);
************************************************
*/

voidlcd1602_Display(constuchar*ptr,ucharline)
{
uchardatai=0;
uchar*dataq;

q=ptr;
switch(line)
{
case0:
lcd1602_WriteCmd(0x80);
while(q!=NULL&&(*q!='')&&i<16)
{
lcd1602_WriteData(*q);
q++;
i++;
}
break;
case1:
lcd1602_WriteCmd(0xc0);
while(q!=NULL&&(*q!='')&&i<16)
{
lcd1602_WriteData(*q);
q++;
i++;
}
break;
}
}

ucharkbscan(void)
{
unsignedcharsccode,recode;
P3=0x0f;//發0掃描,列線輸入
if((P3&0x0f)!=0x0f)//有鍵按下
{
delay(20);//延時去抖動
if((P3&0x0f)!=0x0f)
{
sccode=0xef;//逐行掃描初值
while((sccode&0x01)!=0)
{
P3=sccode;
if((P3&0x0f)!=0x0f)
{
recode=(P3&0x0f)|0xf0;
while((P3&0x0f)!=0x0f);//等待鍵抬起
return((~sccode)+(~recode));
}
else
sccode=(sccode<<1)|0x01;
}
}
}
return0;//無鍵按下,返回0
}
uchargetkey(void)
{
ucharkey;
key=kbscan();
if(key==0){keyval=0xff;return(0);}
switch(key)
{
case0x11:keyval=7;break;
case0x12:keyval=4;break;
case0x14:keyval=1;break;
case0x18:keyval=10;break;
case0x21:keyval=8;break;
case0x22:keyval=5;break;
case0x24:keyval=2;break;
case0x28:keyval=0;break;
case0x41:keyval=9;break;
case0x42:keyval=6;break;
case0x44:keyval=3;break;
case0x48:keyval=11;break;
case0x81:keyval=12;break;
case0x82:keyval=13;break;
case0x84:keyval=14;break;
case0x88:keyval=15;break;
default:keyval=0xff;break;
}
if(keyval!=0xff)return(1);
elsereturn(0);
}


main()
{
ucharnum;
lcd1602_Init();
lcd1602_Display(str,0);
while(1)
{
if(getkey())
{
if(keyval<10)keystr[num]=keyval+0x30;
elsekeystr[num]=keyval-10+'A';
lcd1602_Display(keystr,1);
num++;
num%=16;
}

}
}

7. kst51單片機開發板與普中51單片機區別大嗎

51模擬器是為單片機愛好者學習單片機和學習使用KEIL C51軟體而開發的。 51模擬器使用一片 SST89C58 單片機來實現模擬功能 ,模擬機通過串口與 PC 連接。用戶可以開發小於等於28K的程序。 51模擬器直接插入用戶的應用板MCU的位置。 51模擬器的主要性能: 直接支持 KEIL C51 的 IDE 開發模擬環境。 可單步、斷點、全速運行調試程序;可參考變數、RAM變數。 支持匯編、C語言混合調試。 片內 28K 程序空間可以隨時進行在線程序更新。 完全模擬 P0、P2 口。 模擬頻率 6-33 MHz 晶振可選,系統配置 11.0592 MHz 。 可以模擬標準的 89C51 , 89C52 , 89C58 等全部51內核的單片機。 51模擬器佔用T2定時器、UART口。使用模擬插針可更換結構,模擬插針可以取下,方便斷針後更換,即使斷針,也能自行處理,不必返修,小功能,大用處,尤其是對一些比較粗心的人而言。可切換晶振電路,一般使用用戶板上的晶振,也可用本機自帶,多一種選擇,特別是可以判斷用戶機上晶振電路工作是否正常,對初學者尤其適用。帶有簡單的復位按鈕(按鈕通過一隻100ohm電阻接VCC),當用戶電路板為簡易的RC復位時,這個按鈕就能起作用了。如果是用了復位電路,那麼電路本身就能保證復位的可靠性,不需用該按鈕。超小的體形設計,線路板和40腳集成電路一樣大小,全部用貼片元件完成,不記成本的,使用max232貼片的232轉換專業晶元,使可靠性更高,配置:包括模擬機主機一台,光碟一張,串口線一條,說明一本。
51單片機開發板:
也稱51單片機實驗板、51單片機學習板。是用於學習51型號的單片機的實驗及學習器件,他是將51單片機常用的外圍。比如流水燈,數碼管,矩陣鍵盤,EEPROM,時鍾,蜂鳴器,繼電器及集成在一小塊電路板上。便於攜帶及學習,直接插在PC機上面。隨時隨地的進行學習,另外一些中小型項目也可以直接在此板上面進行二次開發,開發完成後即可以在此基礎上面重新畫圖做板,極大的縮短了公司的開發周期,節省硬體成本。例如電子人單片機開發板,針對學者需要特別配套VB上位機軟體開發,游戲開發等教程學習資料。開發此類單片機開發板的公司一般提供完善的售後服務與技術支持,高校常用的單片機開發板為教學需要,常見配套資源有硬體、實驗程序源碼、電路原理圖、電路PCB圖等學習資料。 常見配套資源如下: 1、硬體實驗板及期配件如:杜邦線、單片機晶元、流水燈、點陣顯示、ds1302數字鍾、ds18b20溫度檢測、彩色TFT液晶屏,SD卡,超聲波測距、收音機、mp3解碼、智能小車等等。 2、實驗程序源碼,包含匯編源程序、C語言源程序。 3、電路原理圖、PCB圖。 4、實驗手冊、使用手冊。 5、附加PCB設計製作、VB軟體開發等計算機學習資料。

8. KST-51單片機 智能空調控制系統設計 功能: 1、 設置自動、製冷、加熱和換氣四種模

你好!是開發板吧,發一下原理圖看看,顯示用液晶還是數碼管?

9. KST-51單片機超聲波測距程序。數碼管顯示最大9000多!並且數字2會錯誤顯示。求大神解答

/*******************************************************
* 程序名稱:main.c
* 程序功能:主程序文件
* 程序作者:吳鑒鷹
* 創建時間:2014-3-10
* 修改時間:
* 程序版本:V0.1
******************************************************/
/*
* 包含的頭文件
*/
#include "reg51.h"
#include "inc/hc595.h"
#include "inc/delay.h"
#include "intrins.h"

/* 存儲待發送的數據 */
code unsigned char ucDataOneTab[16] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
code unsigned char ucDataTwoTab[16] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, 0x02, 0x04, 0x08, 0x10, 0x20,0x40,0x80};
//code unsigned char ucDataOneTab[16] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
//code unsigned char ucDataTwoTab[16] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80, 0x40, 0x20, 0x10, 0x08, 0x04,0x02,0x01};
/******************************************************
* 函數名稱:main
* 函數功能:主函數
* 入口參數:void
* 出口參數:
*******************************************************/
int main()
{
unsigned int i;

while (1)
{
for (i = 0; i < 16; i++ ) //改成16個依次亮i<8改成i<16
{
SendData(ucDataOneTab[i], ucDataTwoTab[i]);
Delay1ms(1000);
}
}
return 0;
}

10. 買了一快金沙灘kst單片機開發板,他們老師不理人還嘲諷,教程也特別難,又什麼其他的學習渠道嗎謝謝啦

我的建議是從網上跟著視頻教程從零開始做。還不用花錢。有很多廣為人知的不錯的視頻教程,比如郭天祥的。

閱讀全文

與單片機kst51相關的資料

熱點內容
做程序員這一行儲備人才怎麼看 瀏覽:456
參加密逃文 瀏覽:327
蘋果編程語言ios 瀏覽:763
求解病態系統常用的演算法 瀏覽:993
駕校用的app叫什麼 瀏覽:219
數控編程線的纏繞方法 瀏覽:972
安卓線性布局怎麼設計計算器布局 瀏覽:24
拓本pdf 瀏覽:79
2017法碩指南pdf 瀏覽:294
linuxphp命令參數 瀏覽:425
可靠性預測和推薦演算法 瀏覽:855
程序員送女友的相冊 瀏覽:254
壓縮文件怎麼設置打開加密 瀏覽:768
tracert命令結果詳解 瀏覽:360
唯賽思通用什麼APP 瀏覽:376
古玩哪個app好賣 瀏覽:149
u盤內容全部顯示為壓縮包 瀏覽:519
編譯固件時使用00優化 瀏覽:361
速借白條app怎麼樣 瀏覽:760
用紙張做的解壓東西教程 瀏覽:18