|
此點陣屏與控制卡的電路原理圖與詳細制作資料詳見:
http://www.zg4o1577.cn/bbs/dpj-107584-1.html
上位機字幕軟件采用VB.NET編寫,所以用此軟件需先安裝dotnet2.0平臺 需要自己去下載
針對16*64點陣,上位機取模大小為16*16的漢字,STC12C5A32S2 內(nèi)部有32K EEP 可存儲1000個漢字,把你需要的字輸入文本框點生成字幕后
點發(fā)送數(shù)據(jù),此時要保證串口與控制卡連接正常。下載完成字幕后 點下設(shè)置發(fā)送 方可顯示,顯示過程中可通過設(shè)置改變移動速度和顯示顏色。
0.png (18.12 KB, 下載次數(shù): 66)
下載附件
2018-2-20 17:17 上傳
附帶2個下位機源碼:高級--加放大16分頻與64分頻16X64雙色點陣頻譜程序與
串口改字16X64點陣單片機源程序如下:
- /****************************************
- 下位機程序:Fucp
- 上位機軟件:Zhanggr
- 主控芯片;STC12C5A32S2 晶振:18.432M
- 通信波特率:9600
- 使用點陣屏 :16*64雙色
- 串口除了下載程序外,也是配置字幕數(shù)據(jù)的接口,
- 用USB轉(zhuǎn)串口方便小巧
- 下面見視頻效果:
- 程序?qū)崿F(xiàn)功能:
- 通過上位機字幕軟件生成的字幕數(shù)據(jù)下載到單片機內(nèi)部的EEPROM
- 此款單片機內(nèi)部有32K的EEPROM 所以可以存儲1000 個16*16漢字
- 字幕軟件配置16*16字體
- 其中字體可設(shè)置顯示顏色 紅 綠 黃 三種
- 可設(shè)置移動速度
- 移動方式目前只有一種左移 往后繼續(xù)加
- 其他功能待開發(fā)
- 上位機使用見說明
- 祝大家學(xué)習(xí)進步!
- *****************************************/
- #include "NEW_8051.H"
- #include "main.h"
- #define light 3 //定義亮度
- uchar code hanzi[]; //漢字字模
- uchar code hanzi1[]; //漢字字模
- // uchar code sw[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};/*16行段碼*/
- //如果用自己的單片機實驗板連接A B C D 一一對應(yīng),則用這個掃描數(shù)據(jù)
- //uchar code sw[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,};/*16行段碼*///138驅(qū)動數(shù)據(jù)
- //下面的A B C D行掃描數(shù)據(jù)是反向的 配套我們的控制卡用
- uchar code sw[16]={0X00,0X08,0x04,0x0C,0X02,0X0A,0X06,0X0E,0X01,0X09,0X05,0X0D,0X03,0X0B,0X07,0X0F};/*16行段碼*///138驅(qū)動數(shù)據(jù)
-
- #define DataOut P0
- sbit STR=P1^7; //鎖存
- sbit SCK=P1^6; //時鐘
- sbit SERr= P0^4; //紅色數(shù)據(jù)
- sbit SERg= P0^5; //綠色數(shù)據(jù)
- uchar Move,Speed,line; //時間變量
- uint zimuo; //字模計數(shù)器
- uchar BUFF[20]; //緩存
- uchar ucTimeOut;
- uchar i;
- uint uiBaseAddress=0;
- uint uiFontNumber=0;
- //void DelayMs(void); // 延時
- void in_data(); // 調(diào)整移動數(shù)據(jù)
- void rxd_data(); // 串口發(fā)送移動數(shù)據(jù)
- /******************************************************/
- uchar ucSetSpeed=0;
- uchar ucSpeed=3;
- uchar ucSetPlateNum=0;
- uchar ucPlateNum=0;
- uchar ucSetShowMode=0;
- uchar ucShowMode=0;
- uchar ucSetFontSize=0;
- uchar ucFontSize=0;
- uchar BuffCount=0;
- uchar ucSetFontColor=0;
- uchar ucFontColor=0;
- uchar DelayMs=0;
- uchar l=0;
- bit bDelayMsOver=0;
- uchar ucEEPArray=0;
- uchar ucUdateTime=0;
- /*************************/
- void DelayMss(void)
- {
- uchar TempCyc;
- for(TempCyc=150;TempCyc>1;TempCyc--)
- {;}
- }
- /**************************延時***********************/
- void InitTimer0(void)
- {
- TMOD|= 0x01;
- TH0 = 0x0C4;
- TL0 = 0x00;
- EA = 1;
- ET0 = 1;
- TR0 = 1;
- }
- /***********************************/
- void Send_data(unsigned char d) /*從串口發(fā)送數(shù)據(jù)*/
- {
- ES=0;
- SBUF=d;
- while(TI==0); //等待發(fā)送完畢
- TI=0;
- ES=1;
- }
- /*****************************************/
- void Timer0Interrupt(void) interrupt 1
- {
- TH0 = 0x0C4;
- TL0 = 0x00;
- if( ucTimeOut )
- {
- ucTimeOut--;
- if( !ucTimeOut )
- {
- //bEanle=0;
- LED4=1;
- }
-
- }
- if(ucUdateTime)
- {
- ucUdateTime--;
- if(!ucUdateTime)
- {
-
- //uiBaseAddress=0;
- //bEanle=0;
-
- }
- }
-
- /**************************************/
-
- }
- /****************************************/
- void LED_Display(void)
- {
- ucSetPlateNum=byte_read(0x0003);//讀取EEPROM里設(shè)置的點陣屏塊數(shù)量(16*64一塊)
- switch ( ucSetPlateNum )
- {
- case 0X01:
- ucPlateNum=8; //1塊
- break;
- case 0X02:
- ucPlateNum=16; //2塊
- break;
- case 0X03:
- ucPlateNum=24;//3塊
- break;
- case 0X04:
- ucPlateNum=32;//4塊
- break;
- case 0X05:
- ucPlateNum=40; //5塊
- break;
- default:
- ucPlateNum=8; //1塊
- break;
- }
- /***********************************/
- ucSetShowMode=byte_read(0x0004); //顯示方式
- switch ( ucSetShowMode )
- {
- case 0X01:
- ucShowMode=1; //左移
- break;
- case 0X02:
- ucShowMode=2;
- break;
- case 0X03:
- ucShowMode=3;
- break;
- case 0X04:
- ucShowMode=4;
- break;
- case 0X05:
- ucShowMode=5;
- break;
- default:
- ucShowMode=2;
- break;
- }
- /***********************************/
-
- ucSetSpeed=byte_read(0x0000); //移動速度
- switch ( ucSetSpeed )
- {
- case 0X01:
- ucSpeed=2;
- break;
- case 0X02:
- ucSpeed=4;
- break;
- case 0X03:
- ucSpeed=6;
- break;
- case 0X04:
- ucSpeed=8;
- break;
- case 0X05:
- ucSpeed=10;
- break;
- default:
- ucSpeed=5;
- break;
- }
- /********************************************/
- ucSetFontSize=byte_read(0x0001); //字體大小
- switch ( ucSetFontSize )
- {
- case 0X01:
- ucFontSize=16;
- break;
- default:
- ucFontSize=16;
- break;
- }
- /**************************************************/
- ucSetFontColor=byte_read(0x0002); //字體顏色
- switch ( ucSetFontColor )
- {
- case 0X01:
- ucFontColor=1; //紅
- break;
- case 0X02:
- ucFontColor=2; //綠
- break;
- case 0X03:
- ucFontColor=3; //黃
- break;
- default:
- ucFontColor=1;
- break;
- }
- uiFontNumber=(byte_read(0x0100)<<8)+byte_read(0x0101);
- }
- /*主函數(shù)*/
- void main()
- {
- InitTimer0();
- uart_init();
- Move=0;
- zimuo=0;
- LED_Display();
- //uart_rBIT=1;
- /*******************************************/
-
- while(1)
- {
- while(zimuo<uiFontNumber+64)
- {
- if(ucShowMode==0x01)
- {
- while(Move<ucFontSize) //數(shù)據(jù)移位。
- {
- for(Speed=0;Speed<ucSpeed;Speed++) //移動速度
- {
- for(line=0;line<16;line++)
- {
- in_data(); //調(diào)整移動數(shù)據(jù)
- rxd_data();
- DataOut=sw[line];
- STR=1;//鎖存
- STR=0;
- STR=1;
- DelayMss(); //延時,等待一段時間,讓這列顯示的內(nèi)容在人眼內(nèi)產(chǎn)生“視覺暫留”現(xiàn)象。
- }
- }
-
- /****************************************************/
- l++;
- if(l==16)l=0;
- Move++; //移動一步
- }
- Move=0;
- zimuo=zimuo+32;
-
- }
- /**********************************************************/
- else if(ucShowMode==0x02)
- {
- }
-
- }
- zimuo=0;
- }
- }
- /**********************************************************/
- void in_data(void) //調(diào)整數(shù)據(jù)
- {
- char s;
- if(ucShowMode==0x01)//左移
- {
- if( ucFontSize==16 )//如果字體是16*16
- {
- for(s=8;s>=0;s--) //i為向后先擇字節(jié)計數(shù)器,zimuoo為向后先字計數(shù)器
- {
- BUFF[2*s+1]=byte_read(0x200+zimuo+1+32*s+2*line); //把第一個字模的第一個字節(jié)放入BUFF0中,第二個字模和第一個字節(jié)放入BUFF2中
- BUFF[2*s]=byte_read(0x200+zimuo+32*s+2*line); //把第一個字模的第二個字節(jié)放入BUFF1中,第二個字模的第二個字節(jié)放入BUFF3中
- }
- }
-
- }
- }
- /***********************發(fā)送移動的數(shù)據(jù)****************************/
- void rxd_data(void) //串行發(fā)送數(shù)據(jù)
- {
- uchar s;
- uchar inc,tempyid,temp,k;
- if(Move<8)
- {
- inc=0;
- }
- else
- {
- inc=1;
- }
- for(s=0+inc;s<8+inc;s++) //發(fā)送ucSePlateNum字節(jié)數(shù)據(jù)
- {
- if(l<8)
- tempyid=l;
- else
- tempyid=l-8;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
更新日志:
2012-6-29 10:13:00__Start
2012-6-29 10:13:37__參數(shù)設(shè)置失敗,速度3,16*16,紅色,屏數(shù)2,左移
2012-6-29 10:13:44__字模數(shù)據(jù)發(fā)送失敗---讀串口超時
2012-6-29 10:13:55__字模數(shù)據(jù)發(fā)送失敗---讀串口超時
2012-6-29 10:15:38__參數(shù)設(shè)置失敗,速度3,16*16,紅色,屏數(shù)2,左移
2012-6-29 10:15:44__字模數(shù)據(jù)發(fā)送成功---( 《登高》風(fēng)急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢
,潦倒新停濁酒懷。)
2012-6-29 10:15:46__參數(shù)設(shè)置成功,速度3,16*16,紅色,屏數(shù)2,左移
2012-6-29 10:38:22__字模數(shù)據(jù)發(fā)送失敗---讀串口超時
2012-6-29 10:38:32__字模數(shù)據(jù)發(fā)送失敗---讀串口超時
2012-6-29 10:38:37__參數(shù)設(shè)置成功,速度2,32*32,紅色,屏數(shù)2,左移
2012-6-29 10:38:51__字模數(shù)據(jù)發(fā)送成功---( 《登高》風(fēng)急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢
,潦倒新停濁酒懷。)
2012-6-29 10:54:14__參數(shù)設(shè)置成功,速度2,32*32,紅色,屏數(shù)2,左移
2012-6-29 10:58:25__參數(shù)設(shè)置成功,速度2,32*32,紅色,屏數(shù)2,左移
2012-6-29 10:58:31__字模數(shù)據(jù)發(fā)送成功---( 《登高》風(fēng)急天高猿嘯哀,渚清沙白鳥飛回。)
2012-6-29 10:59:22__參數(shù)設(shè)置失敗,速度2,16*16,紅色,屏數(shù)2,左移
2012-6-29 10:59:27__參數(shù)設(shè)置失敗,速度2,16*16,紅色,屏數(shù)2,左移
2012-6-29 10:59:41__參數(shù)設(shè)置失敗,速度2,16*16,紅色,屏數(shù)2,左移
2012-6-29 10:59:49__參數(shù)設(shè)置失敗,速度2,16*16,紅色,屏數(shù)2,左移
2012-6-29 10:59:52__參數(shù)設(shè)置成功,速度2,16*16,紅色,屏數(shù)2,左移
2012-6-29 11:00:01__字模數(shù)據(jù)發(fā)送成功---( 《登高》風(fēng)急天高猿嘯哀,渚清沙白鳥飛回。)
2012-6-29 11:00:31__參數(shù)設(shè)置失敗,速度2,32*32,紅色,屏數(shù)2,左移
2012-6-29 11:00:36__參數(shù)設(shè)置成功,速度2,32*32,紅色,屏數(shù)2,左移
2012-6-29 11:01:12__字模數(shù)據(jù)發(fā)送成功---( 《登高》風(fēng)急天高猿嘯哀,渚清沙白鳥飛回。)
2012-6-29 11:01:18__參數(shù)設(shè)置失敗,速度2,32*32,綠色,屏數(shù)2,左移
2012-6-29 11:01:22__參數(shù)設(shè)置成功,速度2,32*32,綠色,屏數(shù)2,左移
2012-6-29 11:01:32__參數(shù)設(shè)置成功,速度2,32*32,黃色,屏數(shù)2,左移
2012-6-29 11:01:44__參數(shù)設(shè)置失敗,速度1,32*32,綠色,屏數(shù)2,左移
2012-6-29 11:01:55__參數(shù)設(shè)置成功,速度1,32*32,綠色,屏數(shù)2,左移
2012-6-29 11:02:34__字模數(shù)據(jù)發(fā)送成功---( 《登高》風(fēng)急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢
,潦倒新停濁酒懷。)
2012-6-29 11:02:51__參數(shù)設(shè)置成功,速度1,32*32,紅色,屏數(shù)2,左移
2012-6-29 11:04:55__Close
2012-7-26 01:42:44__Start
2012-7-26 01:44:03__字模數(shù)據(jù)發(fā)送成功---( 歡迎光臨DIY視界 祝大家制作成功! 《登高》風(fēng)急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。)
2012-7-26 01:44:14__參數(shù)設(shè)置失敗,速度3,16*16,紅色,屏數(shù)1,左移
2012-7-26 01:44:19__參數(shù)設(shè)置失敗,速度3,16*16,紅色,屏數(shù)1,左移
2012-7-26 01:44:24__參數(shù)設(shè)置失敗,速度3,16*16,紅色,屏數(shù)1,左移
2012-7-26 01:44:35__參數(shù)設(shè)置失敗,速度3,16*16,紅色,屏數(shù)1,左移
2012-7-26 01:44:47__參數(shù)設(shè)置失敗,速度3,16*16,紅色,屏數(shù)1,左移
2012-7-26 01:44:53__Close
2012-7-26 01:49:09__Start
2012-7-26 01:50:24__字模數(shù)據(jù)發(fā)送成功---( 歡迎光臨DIY視界,祝大家制作成功 《登高》風(fēng)急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢,潦倒新停濁酒懷。)
2012-7-26 01:50:26__參數(shù)設(shè)置成功,速度3,16*16,紅色,屏數(shù)1,左移
2012-7-26 01:52:01__參數(shù)設(shè)置失敗,速度2,16*16,紅色,屏數(shù)1,左移
2012-7-26 01:52:09__參數(shù)設(shè)置失敗,速度2,16*16,紅色,屏數(shù)1,左移
2012-7-26 01:52:57__參數(shù)設(shè)置成功,速度2,16*16,紅色,屏數(shù)1,左移
2012-7-26 01:53:40__字模數(shù)據(jù)發(fā)送成功---( 歡迎光臨DIY視界,祝大家制作成功! 《登高》風(fēng)急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢,潦倒新停濁酒懷。)
2012-7-26 01:54:03__字模數(shù)據(jù)發(fā)送成功---( 歡迎光臨DIY視界,祝大家制作成功! 《登高》風(fēng)急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢,潦倒新停濁酒懷。)
2012-7-26 01:55:56__字模數(shù)據(jù)發(fā)送成功---( 歡迎光臨DIY視界,祝大家制作成功! 《登高》風(fēng)急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢,潦倒新停濁酒懷。)
2012-7-26 01:56:41__字模數(shù)據(jù)發(fā)送成功---( 歡迎光臨DIY視界,祝大家制作成功! 《登高》風(fēng)急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢,潦倒新停濁酒懷。)
2012-7-26 01:57:18__參數(shù)設(shè)置成功,速度2,16*16,綠色,屏數(shù)1,左移
2012-7-26 01:57:54__參數(shù)設(shè)置成功,速度2,16*16,黃色,屏數(shù)1,左移
2012-7-26 01:58:23__參數(shù)設(shè)置成功,速度1,16*16,黃色,屏數(shù)1,左移
2012-7-26 01:59:19__參數(shù)設(shè)置成功,速度1,16*16,綠色,屏數(shù)1,左移
2012-7-26 01:59:58__參數(shù)設(shè)置成功,速度1,16*16,紅色,屏數(shù)1,左移
2012-7-26 02:00:07__Close

0.png (9.97 KB, 下載次數(shù): 67)
下載附件
2018-2-20 17:20 上傳
全部資料51hei下載地址:
http://www.zg4o1577.cn/bbs/dpj-107584-1.html
|
|