久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
16X64點陣屏上位機軟件與下位機單片機程序(串口改字與頻譜)
[打印本頁]
作者:
阿飛132
時間:
2018-2-20 17:23
標題:
16X64點陣屏上位機軟件與下位機單片機程序(串口改字與頻譜)
此點陣屏與控制卡的電路原理圖與詳細制作資料詳見:
http://www.zg4o1577.cn/bbs/dpj-107584-1.html
上位機字幕軟件采用VB.NET編寫,所以用此軟件需先安裝dotnet2.0平臺 需要自己去下載
針對16*64點陣,上位機取模大小為16*16的漢字,STC12C5A32S2 內部有32K EEP 可存儲1000個漢字,把你需要的字輸入文本框點生成字幕后
點發送數據,此時要保證串口與控制卡連接正常。下載完成字幕后 點下設置發送 方可顯示,顯示過程中可通過設置改變移動速度和顯示顏色。
0.png
(18.12 KB, 下載次數: 66)
下載附件
2018-2-20 17:17 上傳
附帶2個下位機源碼:高級--加放大16分頻與64分頻16X64雙色點陣頻譜程序與
串口改字16X64點陣單片機源程序如下:
/****************************************
下位機程序:Fucp
上位機軟件:Zhanggr
主控芯片;STC12C5A32S2 晶振:18.432M
通信波特率:9600
使用點陣屏 :16*64雙色
串口除了下載程序外,也是配置字幕數據的接口,
用USB轉串口方便小巧
下面見視頻效果:
程序實現功能:
通過上位機字幕軟件生成的字幕數據下載到單片機內部的EEPROM
此款單片機內部有32K的EEPROM 所以可以存儲1000 個16*16漢字
字幕軟件配置16*16字體
其中字體可設置顯示顏色 紅 綠 黃 三種
可設置移動速度
移動方式目前只有一種左移 往后繼續加
其他功能待開發
上位機使用見說明
祝大家學習進步!
*****************************************/
#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 一一對應,則用這個掃描數據
//uchar code sw[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,};/*16行段碼*///138驅動數據
//下面的A B C D行掃描數據是反向的 配套我們的控制卡用
uchar code sw[16]={0X00,0X08,0x04,0x0C,0X02,0X0A,0X06,0X0E,0X01,0X09,0X05,0X0D,0X03,0X0B,0X07,0X0F};/*16行段碼*///138驅動數據
#define DataOut P0
sbit STR=P1^7; //鎖存
sbit SCK=P1^6; //時鐘
sbit SERr= P0^4; //紅色數據
sbit SERg= P0^5; //綠色數據
uchar Move,Speed,line; //時間變量
uint zimuo; //字模計數器
uchar BUFF[20]; //緩存
uchar ucTimeOut;
uchar i;
uint uiBaseAddress=0;
uint uiFontNumber=0;
//void DelayMs(void); // 延時
void in_data(); // 調整移動數據
void rxd_data(); // 串口發送移動數據
/******************************************************/
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) /*從串口發送數據*/
{
ES=0;
SBUF=d;
while(TI==0); //等待發送完畢
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里設置的點陣屏塊數量(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);
}
/*主函數*/
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) //數據移位。
{
for(Speed=0;Speed<ucSpeed;Speed++) //移動速度
{
for(line=0;line<16;line++)
{
in_data(); //調整移動數據
rxd_data();
DataOut=sw[line];
STR=1;//鎖存
STR=0;
STR=1;
DelayMss(); //延時,等待一段時間,讓這列顯示的內容在人眼內產生“視覺暫留”現象。
}
}
/****************************************************/
l++;
if(l==16)l=0;
Move++; //移動一步
}
Move=0;
zimuo=zimuo+32;
}
/**********************************************************/
else if(ucShowMode==0x02)
{
}
}
zimuo=0;
}
}
/**********************************************************/
void in_data(void) //調整數據
{
char s;
if(ucShowMode==0x01)//左移
{
if( ucFontSize==16 )//如果字體是16*16
{
for(s=8;s>=0;s--) //i為向后先擇字節計數器,zimuoo為向后先字計數器
{
BUFF[2*s+1]=byte_read(0x200+zimuo+1+32*s+2*line); //把第一個字模的第一個字節放入BUFF0中,第二個字模和第一個字節放入BUFF2中
BUFF[2*s]=byte_read(0x200+zimuo+32*s+2*line); //把第一個字模的第二個字節放入BUFF1中,第二個字模的第二個字節放入BUFF3中
}
}
}
}
/***********************發送移動的數據****************************/
void rxd_data(void) //串行發送數據
{
uchar s;
uchar inc,tempyid,temp,k;
if(Move<8)
{
inc=0;
}
else
{
inc=1;
}
for(s=0+inc;s<8+inc;s++) //發送ucSePlateNum字節數據
{
if(l<8)
tempyid=l;
else
tempyid=l-8;
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
更新日志:
2012-6-29 10:13:00__Start
2012-6-29 10:13:37__參數設置失敗,速度3,16*16,紅色,屏數2,左移
2012-6-29 10:13:44__字模數據發送失敗---讀串口超時
2012-6-29 10:13:55__字模數據發送失敗---讀串口超時
2012-6-29 10:15:38__參數設置失敗,速度3,16*16,紅色,屏數2,左移
2012-6-29 10:15:44__字模數據發送成功---( 《登高》風急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢
,潦倒新停濁酒懷。)
2012-6-29 10:15:46__參數設置成功,速度3,16*16,紅色,屏數2,左移
2012-6-29 10:38:22__字模數據發送失敗---讀串口超時
2012-6-29 10:38:32__字模數據發送失敗---讀串口超時
2012-6-29 10:38:37__參數設置成功,速度2,32*32,紅色,屏數2,左移
2012-6-29 10:38:51__字模數據發送成功---( 《登高》風急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢
,潦倒新停濁酒懷。)
2012-6-29 10:54:14__參數設置成功,速度2,32*32,紅色,屏數2,左移
2012-6-29 10:58:25__參數設置成功,速度2,32*32,紅色,屏數2,左移
2012-6-29 10:58:31__字模數據發送成功---( 《登高》風急天高猿嘯哀,渚清沙白鳥飛回。)
2012-6-29 10:59:22__參數設置失敗,速度2,16*16,紅色,屏數2,左移
2012-6-29 10:59:27__參數設置失敗,速度2,16*16,紅色,屏數2,左移
2012-6-29 10:59:41__參數設置失敗,速度2,16*16,紅色,屏數2,左移
2012-6-29 10:59:49__參數設置失敗,速度2,16*16,紅色,屏數2,左移
2012-6-29 10:59:52__參數設置成功,速度2,16*16,紅色,屏數2,左移
2012-6-29 11:00:01__字模數據發送成功---( 《登高》風急天高猿嘯哀,渚清沙白鳥飛回。)
2012-6-29 11:00:31__參數設置失敗,速度2,32*32,紅色,屏數2,左移
2012-6-29 11:00:36__參數設置成功,速度2,32*32,紅色,屏數2,左移
2012-6-29 11:01:12__字模數據發送成功---( 《登高》風急天高猿嘯哀,渚清沙白鳥飛回。)
2012-6-29 11:01:18__參數設置失敗,速度2,32*32,綠色,屏數2,左移
2012-6-29 11:01:22__參數設置成功,速度2,32*32,綠色,屏數2,左移
2012-6-29 11:01:32__參數設置成功,速度2,32*32,黃色,屏數2,左移
2012-6-29 11:01:44__參數設置失敗,速度1,32*32,綠色,屏數2,左移
2012-6-29 11:01:55__參數設置成功,速度1,32*32,綠色,屏數2,左移
2012-6-29 11:02:34__字模數據發送成功---( 《登高》風急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢
,潦倒新停濁酒懷。)
2012-6-29 11:02:51__參數設置成功,速度1,32*32,紅色,屏數2,左移
2012-6-29 11:04:55__Close
2012-7-26 01:42:44__Start
2012-7-26 01:44:03__字模數據發送成功---( 歡迎光臨DIY視界 祝大家制作成功! 《登高》風急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。)
2012-7-26 01:44:14__參數設置失敗,速度3,16*16,紅色,屏數1,左移
2012-7-26 01:44:19__參數設置失敗,速度3,16*16,紅色,屏數1,左移
2012-7-26 01:44:24__參數設置失敗,速度3,16*16,紅色,屏數1,左移
2012-7-26 01:44:35__參數設置失敗,速度3,16*16,紅色,屏數1,左移
2012-7-26 01:44:47__參數設置失敗,速度3,16*16,紅色,屏數1,左移
2012-7-26 01:44:53__Close
2012-7-26 01:49:09__Start
2012-7-26 01:50:24__字模數據發送成功---( 歡迎光臨DIY視界,祝大家制作成功 《登高》風急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢,潦倒新停濁酒懷。)
2012-7-26 01:50:26__參數設置成功,速度3,16*16,紅色,屏數1,左移
2012-7-26 01:52:01__參數設置失敗,速度2,16*16,紅色,屏數1,左移
2012-7-26 01:52:09__參數設置失敗,速度2,16*16,紅色,屏數1,左移
2012-7-26 01:52:57__參數設置成功,速度2,16*16,紅色,屏數1,左移
2012-7-26 01:53:40__字模數據發送成功---( 歡迎光臨DIY視界,祝大家制作成功! 《登高》風急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢,潦倒新停濁酒懷。)
2012-7-26 01:54:03__字模數據發送成功---( 歡迎光臨DIY視界,祝大家制作成功! 《登高》風急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢,潦倒新停濁酒懷。)
2012-7-26 01:55:56__字模數據發送成功---( 歡迎光臨DIY視界,祝大家制作成功! 《登高》風急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢,潦倒新停濁酒懷。)
2012-7-26 01:56:41__字模數據發送成功---( 歡迎光臨DIY視界,祝大家制作成功! 《登高》風急天高猿嘯哀,渚清沙白鳥飛回。無邊落木蕭蕭下,不盡長江滾滾來。萬里悲秋常作客,百年多病獨登臺。艱難苦恨繁霜鬢,潦倒新停濁酒懷。)
2012-7-26 01:57:18__參數設置成功,速度2,16*16,綠色,屏數1,左移
2012-7-26 01:57:54__參數設置成功,速度2,16*16,黃色,屏數1,左移
2012-7-26 01:58:23__參數設置成功,速度1,16*16,黃色,屏數1,左移
2012-7-26 01:59:19__參數設置成功,速度1,16*16,綠色,屏數1,左移
2012-7-26 01:59:58__參數設置成功,速度1,16*16,紅色,屏數1,左移
2012-7-26 02:00:07__Close
0.png
(9.97 KB, 下載次數: 67)
下載附件
2018-2-20 17:20 上傳
全部資料51hei下載地址:
http://www.zg4o1577.cn/bbs/dpj-107584-1.html
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
操操操日日日
|
国产精品久久久久久久久久
|
欧美精品成人影院
|
韩日视频在线观看
|
色欧美综合
|
男女羞羞的网站
|
亚洲国产视频一区二区
|
草久久久
|
国产精品日女人
|
国产精品99
|
婷婷久久五月
|
avmans最新导航地址
|
精品国产乱码久久久久久牛牛
|
国产精品久久久久久久久久久久久
|
日韩成人影院
|
天堂中文在线播放
|
麻豆久久精品
|
国产精品一区二区三区四区
|
国产亚洲一区二区在线观看
|
亚洲精选久久
|
成人精品鲁一区一区二区
|
99re在线视频
|
免费在线视频一区二区
|
国产精品1区
|
视频1区
|
成人免费观看男女羞羞视频
|
亚洲日本中文
|
亚洲精品一
|
亚洲综合二区
|
欧美日韩综合视频
|
在线播放精品视频
|
精品久久中文字幕
|
97久久超碰
|
国产成人精品高清久久
|
中文在线a在线
|
一区二区在线观看免费视频
|
欧美日韩在线免费观看
|
麻豆久久
|
久久久久久久久久久久久九
|
99视频在线播放
|
亚洲三区在线观看
|