单片机开发的正确姿势

发布时间:2023-03-24  

最近在做单片机万年历的时候,由于需要用到LCD-TFT液晶屏的驱动,就上网查资料,资料虽然查到了不少,但是很多都是关于在STM32上面使用的程序,由于对于频率的要求,估计大部分人都是使用32位单片机来驱动,还有就是很多资料和我使用的屏不是同一种型号,找了很久,就是没有找到一个能完美匹配我现状的资料。很是苦恼。不是屏型号不对头,就是单片机不对,还有就是同一种屏使用两种不同的设计,我的屏可能比较老的那种,我就是在一个箱子里面找到的,上电能亮 ,说明屏没有问题,剩下就是驱动的问题了。但是现在市面上都是这个屏的升级版,都是普遍采用SPI方式进行主从通信,也就需要4个IO口,但是我手里的这个屏呢。一共20个IO口,并行驱动,这就让我犯了难。不知道该怎么下手了。其实说白了还是对单片机没有理解透彻。不能举一反三。

在与TFT屏进行数据通信的时候,不同的单片机对驱动(ST7753B)写数据时,一次传输的数据是不同的。比如51系列的8位单片机,写入的时候一次只能写入8位位二进制数。所以一般并行通信都是8位的。后来我查找资料找到了一个基于8位单片的驱动,但是他是串行通信,刚开始我还有点犹豫,不行啊,这个和我的情况还是不一样啊。后来实在没有办法了,想着能不能试一下把这个串行改为并行通信呢?不就是讲多次单位发送写成并行发送吗?抱着试试看的态度,我写了自己的驱动。。。。。。。。。。恩恩。。。没想到,最后竟然成功了。


多写写底层的驱动还是有好处的,能加深对单片机的认识。


原代码是这样的:


void  write_command(uchar c)

{

cs=0; //片选有效

rs=0; //选择命令寄存器

bitdata=c;//送数据

sda=bit7;scl=0;scl=1;

sda=bit6;scl=0;scl=1;

sda=bit5;scl=0;scl=1;

sda=bit4;scl=0;scl=1;

sda=bit3;scl=0;scl=1;

sda=bit2;scl=0;scl=1;

sda=bit1;scl=0;scl=1;

sda=bit0;scl=0;scl=1;

cs=1;//片选无效  

改过之后:




//************写命令********

void write_cmd(uchar cmd){    //8位二进制数

    CS = 0;    //片选,低电平有效

    RS = 0;

    DATA = cmd;

    RW = 0;      

    RW = 1;

    CS = 1;        //取消片选

}



其他都是不变的,就是数据传输方式不同而已。


其实大部分情况都是这样,我们很难找到和我们情况一模一样的,但是能找到类似的,我们可以在此基础上进行改进,知道适合自己的情况,而这要求自己对单片机有很深入的理解。加油吧,经验是一点点积累的。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    荐: 梳理单片机学习方法、产品开发流程 。 如下图是封装好的外设驱动,有必......
    的效果。 简单的掌握单片机开发的整个流程。 在这之前不需要做任何事情,例如学习C语言灯,0基础也没有问题。 大家只需要按照视频一模一样的模仿即可。 第三步:学习单片机C语言。 C语言是单片机开发......
    -2W工资吧,不过这个还不是最关键的,最关键的是研发周期决定你是否能占领市场的先机,是否能先跑马圈地。 作为一个从事了单片机开发10几年老工程师,我觉得STM32早期的固件库已经吊打同行了。 现在......
    头,精力旺盛没地方使,一块51开发板配一个视频教程,除了吃饭上厕所,寸步不离房间。 入门的时候,我和很多新手一样,不懂电路,不懂编程,不懂单片机,对单片机开发......
    STM32根据数据手册完成LED驱动开发;从今天开始,我们就要了解一下BSP(board support package板级支持包)工程管理了。为什么呢?因为STM32的开发不同于51单片机开发......
    单片机自学需要买开发板嘛?初学者如何使用单片机开发板?;从事单片机开发的那些老工程师,或者是刚入门的单片机软件工程师,可以说99%的人都曾经买过开发板,或者一直借助开发板来从事单片机开发工作。 也许......
    己比较熟悉的专业转向一个新的陌生的专业,总是有一些挑战的。 任何学习都是要先下定决心,持之以恒才行。 确定自己想学单片机的伙伴们,大家不要太过心急,心急往往会走弯路,会浪费更多的时间和金钱。 首先要对单片机开发......
    51单片机开发板的主要功能 51单片机开发板能做什么;51单片机开发板是一种基于8051系列单片机芯片的开发板,具有丰富的功能和广泛的应用。下面将详细介绍51单片机开发......
    如何快速的入门单片机?单片机自学教程有哪些?;如何快速的入门单片机开发?百度一大堆广告,然后就是乱七八糟的文章,看的眼花缭乱。 排在最前面的是培训机构,后面就是一大堆文章。 有建议自学的,有建......
    也是一样的,要么选择单片机开发、要么选择ARM+Linux、要么选择FPGA。。。 如果想全部都吃,你可以去试试。 我从事了单片机开发10年,做过几十款产品,也自己写过程序架构。 但是,现在......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>