导航:首页 > 操作系统 > stc单片机驱动程序

stc单片机驱动程序

发布时间:2022-12-18 20:25:47

❶ 求STC12C5A60S2单片机驱动12864的程序(注意看问题补充)

12864不需要精确延时,可以改下延时函数,原51程序放到STC12上就能用,我试过貌似延时函数不改也能用

❷ stc51单片机彩屏驱动程序怎么写希望具体点,谢谢

武汉 谷鑫科技基于STC单片机彩屏驱动程序实例部分展示,篇幅有限
AUXR = 0x8e;//////////////////////////////////注意增加该语句。
#include <reg51.h>
#include <absacc.h>
#define X_ADDR XBYTE[0x0000]
#define Y_ADDR XBYTE[0x0100]
#define CMD XBYTE[0x0200]
#define DAT XBYTE[0x0300]
unsigned char code zk[32] = {//请
0x00, 0x47, 0x20, 0x23, 0x00, 0xEF, 0x20, 0x23, //left
0x22, 0x23, 0x22, 0x23, 0x2A, 0x32, 0x22, 0x02,
0x48, 0xFC, 0x40, 0xF8, 0x40, 0xFE, 0x08, 0xFC, //right
0x08, 0xF8, 0x08, 0xF8, 0x08, 0x08, 0x28, 0x10};
unsigned char code picture[];
main()
{
unsigned int x,y,x2,y2;
unsigned int i;
unsigned char key,x1,y1,j,k,z,m,n,bright;
AUXR = 0x02;//////////////////////////////////注意增加该语句。
bright = 8;

key = 1;//////////////////////////////////////选择液晶屏型号
//0:TFT2432;
//1:TFT3224;
//2:TFT480234
//3:TFT480272
//4:TFT6448
//5:TFT8048
//6:TFT8060
//7:TFT8060

if(P13==1)
{
if(key==0){x2=240;y2=320;x1=6; y1=16; goto loop1;}//x1/32,y1/20
if(key==1){x2=320;y2=240;x1=8; y1=12; goto loop1;}
if(key==2){x2=480;y2=240;x1=12;y1=12; goto loop1;}
if(key==3){x2=480;y2=272;x1=12;y1=14; goto loop1;}
if(key==4){x2=640;y2=480;x1=16;y1=24; goto loop1;}
if(key==5){x2=800;y2=480;x1=20;y1=24; goto loop1;}
if(key==6){x2=800;y2=600;x1=20;y1=30; goto loop1;}
if(key==7){x2=800;y2=600;x1=20;y1=30; goto loop1;}//亮度测试
}

loop1:
bright--;if(bright==255)bright=7;
CMD = 0x06;
DAT = bright;

///////////////////////以下是清屏功能///////////////////////////////////////
//用红色清屏
CMD = 0x04;DAT = 0xe0;//背景色
CMD = 0x08;//启动填充操作
for(y=0;y<260*12;y++);//延时16.6毫秒
CMD = 0x00;//退出填充操作
///////////////////////以上是清屏功能///////////////////////////////////////

while(key==1)
{
for(bright=7;bright!=255;bright--)
{
CMD = 0x06;
DAT = bright;
for(y=0;y<15;y++){x=1;while(x!=0)x++;}
}
CMD = 0x20;//关断显示,poweroff
for(y=0;y<15;y++){x=1;while(x!=0)x++;}
key = P1&0x07;
}

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//用红色清屏
CMD = 0x04;DAT = 0x1c;//背景色
CMD = 0x08;//启动填充操作
for(y=0;y<260*12;y++);//延时16.6毫秒
CMD = 0x00;//退出填充操作

❸ stc单片机驱动怎么设置参数,例如波特率

stc单片机串口下载程序时
单片机的波特率可以任意设置,它会自适应。原则上在能够正确握手的情况下设置高的波特率,这样下载速度快。在使用光耦等隔离器件产生信号延时时,可以用低的速率,保证正确握手。

❹ 本人正在用开发板给STC单片机烧写程序,没有USB下载器的驱动软件----“电脑无法无法识别的USB设备”

下个软件就好了 有个usb驱动软件 你网络下
再不行在联系我 我给你个 我以前的那个开发板上用的是stc89c52rc stc的那个usb 基本都可以用的

❺ 我想用STC12C5A60S单片机控制STI6608驱动步进电机动作,请问C程序怎么写

这个STI6608驱动器输入信号是Pluse+DIR方式控制,可以带2个步进电机。Reset可以置位步进电机到位置1。刚启动是置位1次就可以了。以下编一简单的演示程序:

#include<reg51.h>
#defineucharunsignedchar
#defineuintunsignedchar
sbitpluse1=P1^0;
sbitpluse2=P1^1;
sbitdir1=P1^2;
sbitdir2=P1^3;
sbitreset1=P1^4;
sbitreset2=P1^5;
voiddelay(uinta)
{
uinti;
while(a--)for(i=0;i<1100;i++);
}
main()
{
uinti;
reset1=0;
reset2=0;
delay(1000);
reset1=1;
reset2=1;
while(1)
{
for(i=0;i<4800;i++)
{
pluse1=~pluse1;
dir1=1;
delay(5);
}
for(i=0;i<4800;i++)
{
pluse2=~pluse2;
dir2=1;
delay(5);
}
for(i=0;i<4800;i++)
{
pluse1=~pluse1;
dir1=0;
delay(5);
for(i=0;i<4800;i++)
{
pluse2=~pluse2;
dir2=0;
delay(5);
}
}
}

❻ 那位老大能提供一个stc单片机驱动oled屏(128*64)的keil c程序,要很简单的就行

#define LCM_RW P2_0 //定义引脚
#define LCM_RS P2_1
#define LCM_E P2_2
#define LCM_Data P1
#define Busy 0x80 //用于检测LCM状态字中的Busy标识
#i nclude <at89x51.h>
void WriteDataLCM(unsigned char WDLCM);
void WriteCommandLCM(unsigned char WCLCM,BuysC);
unsigned char ReadDataLCM(void);
unsigned char ReadStatusLCM(void);
void LCMInit(void);
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);
void Delay5Ms(void);
void Delay400Ms(void);
unsigned char code uctech[] = {"uctech"};
unsigned char code net[] = {"uctech.icpcn.com"};
void main(void)
{
Delay400Ms(); //启动等待,等LCM讲入工作状态
LCMInit(); //LCM初始化
Delay5Ms(); //延时片刻(可不要)
DisplayListChar(0, 5, uctech);
DisplayListChar(0, 0, net);
ReadDataLCM();//测试用句无意义
while(1);
}
//写数据
void WriteDataLCM(unsigned char WDLCM)
{
ReadStatusLCM(); //检测忙
LCM_Data = WDLCM;
LCM_RS = 1;
LCM_RW = 0;
LCM_E = 0; //若晶振速度太高可以在这后加小的延时
LCM_E = 0; //延时
LCM_E = 1;
}
//写指令
void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC为0时忽略忙检测
{
if (BuysC) ReadStatusLCM(); //根据需要检测忙
LCM_Data = WCLCM;
LCM_RS = 0;
LCM_RW = 0;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
}
//读数据
unsigned char ReadDataLCM(void)
{
LCM_RS = 1;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
return(LCM_Data);
}
//读状态
unsigned char ReadStatusLCM(void)
{
LCM_Data = 0xFF;
LCM_RS = 0;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
while (LCM_Data & Busy); //检测忙信号
return(LCM_Data);
}
void LCMInit(void) //LCM初始化
{
LCM_Data = 0;
WriteCommandLCM(0x38,0); //三次显示模式设置,不检测忙信号
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,1); //显示模式设置,开始要求每次检测忙信号
WriteCommandLCM(0x08,1); //关闭显示
WriteCommandLCM(0x01,1); //显示清屏
WriteCommandLCM(0x06,1); // 显示光标移动设置
WriteCommandLCM(0x0C,1); // 显示开及光标设置
}
//按指定位置显示一个字符
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
{
Y &= 0x1;
X &= 0xF; //限制X不能大于15,Y不能大于1
if (Y) X |= 0x40; //当要显示第二行时地址码+0x40;
X |= 0x80; // 算出指令码
WriteCommandLCM(X, 0); //这里不检测忙信号,发送地址码
WriteDataLCM(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) //若到达字串尾则退出
{
if (X <= 0xF) //X坐标应小于0xF
{
DisplayOneChar(X, Y, DData[ListLength]); //显示单个字符
ListLength++;
X++;
}
}
}
//5ms延时
void Delay5Ms(void)
{
unsigned int TempCyc = 5552;
while(TempCyc--);
}
//400ms延时
void Delay400Ms(void)
{
unsigned char TempCycA = 5;
unsigned int TempCycB;
while(TempCycA--)
{
TempCycB=7269;
while(TempCycB--);
};

❼ 我新买了一个stc的单片机,是用USB转串口的。安装完驱动程序后,每次只能下载一次,下载第二次是就不行了

你是用USB转串口线吧,如果那样的话,是线的兼容性不好,换一根USB转串口下载线试试吧!

❽ 求STC12C5A单片机控制两相步进电机驱动器c程序参考

这种程序和你的驱动器有很大关系

❾ STC系列单片机驱动OV7670方法

可以驱动单片机,但是速度会很慢,用高速一点的晶振每秒钟最多也只能取到4帧这样子,建议用stm32会快一点

❿ stc12c5204ad单片机对sht30的驱动程序

说法都对。如果每次亮不超过5个,符合要求。
可以用74HC595串行锁存一下,两片可以带16个。用3个IO口
或用74HC573并行锁存,也是两片带16个,要用8+2个口

阅读全文

与stc单片机驱动程序相关的资料

热点内容
无线已加密不可上网是怎么了 浏览:464
什么app可以免费做手机 浏览:371
异性下载什么app 浏览:678
51单片机程序单步视频 浏览:239
家庭宽带如何连接服务器 浏览:117
汽车高压泵解压 浏览:770
上门正骨用什么app 浏览:758
安卓为什么免费使用 浏览:397
加密货币都有哪些平台 浏览:625
python和matlab难度 浏览:388
python爬虫很难学么 浏览:572
小米解压积木可以组成什么呢 浏览:816
为什么滴滴出行app还能用 浏览:564
怎么升级手机android 浏览:923
php权威编程pdf 浏览:995
扣扣加密技巧 浏览:721
苹果如何创建服务器错误 浏览:497
软考初级程序员大题分值 浏览:475
js压缩视频文件 浏览:580
linux如何通过命令创建文件 浏览:991