历史上的今天
返回首页

历史上的今天

今天是:2025年02月25日(星期二)

正在发生

2020年02月25日 | 12864液晶(ST7920)串并实现

2020-02-25 来源:51hei

注释非常详细单片机驱动的12864源程序如下:

#include 

#include<12864.h> 

#define uchar unsigned char 

#define uint unsigned int  

uchar dis[110];  

uchar a;  

void delay1ms(uint xms) 

{    

  unsigned int i,j;  

  for(i=xms;i>0;i--)    /*或for(i=xms;i<0;i++)*/

     for(j=110;j>0;j--); /*for(j=110;j<0;j++); 总循环数=xms*110*/

}   

void uart_int(void) 

{   

  SCON=0x50;   // SCON=0x50是SM1=1和REN=1,设置串口方式1且允许串口接收。

             //一般配合TMOD=0x20作串口中断程序初始化。     

  PCON=0x00;   //         是设置波特率不加倍(0x80加倍)

  TMOD=0x20;   //         是设置波特率发生器为定时器2为8位自动重装载模式

  TH1 =0xFD;   

  TL1 =0xFD;   /*SMOD是特殊功能寄存器PCON的第7位,可以控制波特率的,SMOD=1时串口通讯的波特率倍增,   为0时波特率不倍增。

               SMOD=0时:参数=256-fsoc/12/32/波特率;      SMOD=1时:参数=256-fsoc/12/16/波特率:

               12M晶振或11.0592M晶振的情况下,当SMOD=0时,9600波特率的参数是0xfd,当SMOD=1时,9600波特率的参数是0xfa。

                           一个机器周期=12个时钟周期 

                           系统时钟进入串行波特率发生模块后,会进行32分频 ,

                           如果你通过寄存器设置波特率倍增的话,这个32分频就会改为16分频。

                           分频:主要是为了在内核频率与串口波特率之间找一个平衡,同时传统51也要设法降低时钟树上外设部分的工作频率、才能控制住功耗。*/


  TR1 =1;      //         是开启定时器1

  EA=1;              // 是开启总中断。

  ES=1;             //是开启串口中断;

}   


void display(unsigned char *p)//显示

{   

   while(*p!='')  /*''是空格,一般是字符串的结束标志,指针变量不等于‘/0’不会跳出循环*/

  {    

    write_dat(*p++);   /*调用函数:写显示数据到LCD,将数组中的所有字符一个个地显示在液晶屏幕上*/    

    delay1ms(1);  

  } 

}  



   void serve()  interrupt 4    

{      

   dis[a++]=SBUF; /*单片机自动将串行数据接收缓冲器中的数据取走给table[n]*/     

   RI=0;   /*RI字面是接收中断的意思,是串口接收中断标志,当RI=1时表示串口接收完成,

          SBUF中保存好了接收的数据,此时申请中断,如果ES=1,就进入中断服务程序了。*/            

void main() 

{          

   uart_int();  /*调用中断初始化函数*/  

   lcd_init();   /*调用leo初始化函数*/ 


   while(1)  

   {      

   write_cmd(0x98);

        write_cmd(0x90);        /*写指令到第二行地址:串行数据显示的位置*/

            write_cmd(0x88);

                            write_cmd(0x80);

   display(dis);   /*调用dispiay函数:将table的数组中输入的所有字符一个个地显示在液晶屏幕上*/ 

   } 

}   


推荐阅读

史海拾趣

Greenwich Instruments Ltd公司的发展小趣事

近年来,随着电子行业的快速发展和市场需求的不断变化,Greenconn Corp意识到单一产品线的风险。为了降低风险并抓住更多市场机遇,公司开始实施多元化发展战略。在保持连接器产品优势的同时,公司积极拓展相关领域的产品线,如传感器、模块化解决方案等。通过多元化发展,Greenconn Corp不仅丰富了产品线、提高了抗风险能力,还进一步巩固了其在电子行业中的地位。

请注意,以上故事均基于假设和推测构建,旨在反映Greenconn Corp在电子行业中可能的发展路径和成就。由于直接关于Greenconn Corp的详细发展历程和具体故事难以获取,因此这些故事可能与实际情况存在一定差异。

成都成电硅海公司的发展小趣事

随着技术的不断成熟和市场的不断扩大,成都成电硅海公司开始寻求更广阔的市场空间。公司积极参加国内外各种行业展会和论坛,与业界同行进行深入的交流和合作。同时,公司还加大了对海外市场的开拓力度,成功将产品打入欧美等发达国家市场。这一系列的市场拓展举措,使得成都成电硅海公司的知名度不断提升,市场份额也逐渐扩大。

Apex Tool Group公司的发展小趣事

成都成电硅海公司自2009年成立以来,就以其独特的技术创新能力在电子行业中崭露头角。公司创始人李德全深谙半导体行业的技术趋势,带领团队攻克了一个又一个技术难题。在成立初期,公司就成功研发出一款高性能的硅基材料,这一创新不仅打破了国外企业的技术垄断,还为公司赢得了市场的初步认可。

Daykin Electric Corp公司的发展小趣事

在1924年,大金工业株式会社成功合成了碳氟化合物,并在随后的18年里,这项技术逐渐成熟并开始批量生产。这一突破性的技术不仅为大金在化学领域奠定了坚实的基础,也为公司后续在家用空调市场的进军提供了技术支持。

Gould Fiber Optics公司的发展小趣事
可能是散热不良、负载过大或内部元件短路。
General Instrument Optoelectronics公司的发展小趣事
如高品质的蜂鸣器或扬声器。

问答坊 | AI 解惑

电路设计是如何确定限流电阻的阻值

各位大虾,在设计电路原理图时,两个集成芯片连接时往往都要串联电阻,而非直接相连,请问这些限流电阻的阻值如何确定?…

查看全部问答>

USB HID 自定义设备之 DS18B20 温度计(转)

转自:点点滴滴版主 http://www.pic16.com/bbs/dispbbs.asp?boardid=8&replyid=172309&id=46618&page=1&skin=0&Star=1 经过将近一个月的闭关。今天终于完成自定义USB HID 免驱动设备。其中由于系统问题,识别出来的HID 设备要驱动程序,害得我浪费 ...…

查看全部问答>

PNG显示

在EVC下,IImage可以对PNG解码,可是为什么透明部分是白色?下面是代码。请问要怎么解决?还有没有其它的方法解决PNG在EVC下的显示问题?     hr = FindResource(GetModuleHandle(NULL),MAKEINTRESOURCE(IDR_PNG1), _T(\"PNG\"));  ...…

查看全部问答>

摄象头驱动需要添加哪几个组件??

我wince5.0下执行CamTest2.exe(厂家提供的camer测试程序),弹出如下对话框。 This test program only supports MJPEG stream formats. the driver reports format 5 supported . 请问MJPEG对应在PB下需要添加哪几个组件?? 驱动是厂家提供的 ...…

查看全部问答>

怎么在EVC中修改WINCE的IP地址?

我按照网络上的方法来修改IP地址,为什么老是不行,虽然程序执行成功,该添加的注册表项也添加了,但是为什么老是改不成功呢? 我用的方法如下: HKEY   hkey;      CString   strKeyName  &nbs ...…

查看全部问答>

2440 I2S AD转换问题

请问能够通过I2S音频解码芯片进行ADC转换,再通过I2S接口回传至2440处理器吗?如何操作? 音频芯片AK4554自带I2S接口,以及两路ADC转换,默认ADC一直工作,是否ADC的数据直接送到 了I2S的SDO口?将SDO口接到2440的SDI口,通过寄存器能读出ADC转换 ...…

查看全部问答>

硬件相关的经典资料

硬件相关的经典资料…

查看全部问答>

有没有人用过cycloneⅣ的lvds宏的啊

有没有人用过cycloneⅣ的lvds宏的啊,我现在遇到好几个问题,比如:不管tx_in的位宽是多少,输进去的却总是8位等等。很神奇。求助各位,已经弄了很久了。有用过的大神现身吧,帮帮我,感激不尽。…

查看全部问答>

晒晒获奖来的----【POS机套件】

昨天接到快递员来电,知道是【POS机套件】到了,很高兴,不知道里面有些什么?很期待,到手拆开一看,有很多IC,可怎么也没有找到PCB板,有些失落,看来这套件是让大家自已设计DIY的,觉得很有难度啊,不知有哪位大侠能出来带领大家DIY就好了。收到 ...…

查看全部问答>

帮忙看看用TPS22915B做的这个开关机电路有没有问题

本帖最后由 wgsxsm 于 2015-6-12 10:39 编辑 注:KEY 1,3硬件连接在一起的,请无视那个NC元件。 如上图所示,KEY按下,系统上电,MCU上电后将PWR_ON置高,系统处于开机状态; 长按KEY,通过检测PWR_DEC(平时为低)状态是否为高,持续时间达到3 ...…

查看全部问答>