导航:首页 > 操作系统 > 单片机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相关的资料

热点内容
程序员送女友的相册 浏览:247
压缩文件怎么设置打开加密 浏览:764
tracert命令结果详解 浏览:356
唯赛思通用什么APP 浏览:371
古玩哪个app好卖 浏览:146
u盘内容全部显示为压缩包 浏览:517
编译固件时使用00优化 浏览:356
速借白条app怎么样 浏览:756
用纸张做的解压东西教程 浏览:12
求圆的周长最快算法 浏览:190
安卓热点怎么减少流量 浏览:270
北京代交社保用什么app 浏览:855
第一眼解压视频 浏览:726
文件夹err是什么 浏览:97
qt4编程pdf 浏览:572
局域网服务器下如何连续看照片 浏览:254
经过加密的数字摘要 浏览:646
加密锁9000变打印机 浏览:694
程序员的职业发展前途 浏览:639
安卓是世界上多少个程序员开发 浏览:45