久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5996|回復: 4
打印 上一主題 下一主題
收起左側

C#上位機串口控制單片機12864顯示漢字與波形

[復制鏈接]
跳轉到指定樓層
樓主
實現的效果





上面是用Proteus仿真的,,對了如果自己想用proteus仿真需要安裝下面這個軟件
再看一下實物顯示效果

先做上位機部分...........

為了程序一啟動就把電腦上能用的串口號顯示在下拉框中

還有就是串口呢可能會隨時改變,所以在用戶點擊下拉框的時候重新更新一下下拉框中的內容

虛擬串口軟件下載:http://www.zg4o1577.cn/bbs/dpj-89983-1.html


現在在波特率框中添加常用的波特率
現在的效果
然后放一個按鈕用來打開和關閉串口
現在就做打開和關閉串口部分,,,

對了按鈕點擊了打開串口,讓它顯示"關閉串口"
就用回調來顯示
現在按鈕事件就這樣了
現在在多優化一下,我們在打開了串口的時候,我接著用去選擇別的串口了,那么為了不去重復重新打開的按鈕動作,我們就多加一點程序,,,,這個一會再說吧!現在看不出效果現在寫接收程序部分
放一個textbox

接收的文本框設置只讀
接收的數據肯定會很多,,所以讓他有上下的滾動條
然后界面又加了幾個按鈕和選擇
現在接收數據

為了接收到一條完整的數據之后再去做處理,我就用個定時器用于檢測接收是否空閑了一段時間,只要出現空閑說明接收到了一條完整的數據
設置的是10ms檢測一次
看程序里面怎么做,,,其實和我的單片機檢測空閑是一樣的道理
定義一個鏈表用于存儲數據,還有兩個計數變量
我電腦上安裝了虛擬串口軟件,方便調試
還有就是
當我們選擇這個的時候希望接收框里面的內容也跟著改變
就像是這樣


選擇上
然后再取消選擇
這樣感覺更好一些
寫上以下代碼
加一個功能,,,我已經電機打開一個串口了,然后呢想換一個
然而如果和第一次選擇的一樣就不切換了

這段代碼放在了定時器2里面,,,我這樣做的,只要拖動滑塊后500Ms沒在改變滑塊的值,那么就把當前滑塊的值發給單片機,讓單片機顯示出來
我沒有做成一直發給單片機的,,因為12864本身刷新整個界面就慢,,一直發也沒什么用.............
其余的親們看源碼吧!

現在做做下位機--單片機程序
由于單片機程序太多了,所以就事先做好了底層的了,,,就先看一看
直接貼上來把
單片機源程序如下:
  1. #define _MAIN_C_
  2. #include "include.h"
  3. #include "main.h"

  4. void main()
  5. {
  6.         unsigned int CRC=0;
  7.         InitTimer0();//初始化定時器
  8.         InitUART(9600);//初始化串口
  9.         Init12864();//初始化12864
  10.         ClearGDRAM();//清除界面
  11.         CRAM_OFF();//關閉顯示
  12.         DisplayImage(Image);//顯示圖片
  13.         CRAM_ON();//打開顯示        
  14.         DelayS(1);
  15.         ClearGDRAM();//清除界面
  16.         
  17.         Init12864();//初始化12864
  18.         
  19.         for(CRC = 17;CRC<127;CRC+=23)
  20.         {
  21.                 DrawCircle(32,CRC, 16);
  22.   }
  23.         while(1)
  24.         {
  25.                 if(UsartFlage == 1)
  26.                 {
  27.                         UsartFlage = 0;
  28.                         
  29.                         if(crc16_flage(UsartReceive,UsartReadCntCopy-2))
  30.                         {
  31.                                 ClearGDRAM();//清除界面
  32.               Init12864();//初始化12864
  33.                                 switch(UsartReceive[0])
  34.                                 {
  35.           case 1 : Chinese(1,1,(UsartReadCntCopy-3)/2,&UsartReceive[1]); break;//顯示漢字
  36.                                         case 2 : fsin(UsartReceive[1],UsartReceive[2]); break;//顯示正弦波
  37.                                         case 3 : RecWave(UsartReceive[1],UsartReceive[2]); break;//顯示鋸齒波
  38.                                         case 4 : TriWave(UsartReceive[1],UsartReceive[2]); break;//顯示三角波
  39. ……………………

  40. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
算了剩下的不貼了,反正后面有源碼.......
說幾個地方吧
程序風格呢,還是自己習慣的風格.....
串口接收和上位機一樣的道理
在定時器里面做的判斷是否接收到一個完整的數據

串口的配置呢加入了115200的,因為印象深刻......
這個控制顯示正弦波的函數 h呢很容易看出來是控制這個波形的高度,,,,,那個3.14和f共同決定了周期(其實就是點數),,f越大這個函數的圖像越拉伸,,,,,
這個三角波函數是當初自己造的......其實就是畫線.....
上面的 f 很容易看出來就是控制拐點的,,每隔 f 個點拐一下,
x1 和 x2是記錄當前的 i  的值,關于那個 j 是由于 i 是從 0 開始的 如果不限制一下,那么第一根先就會是這樣
最后看一下主函數
主函數呢,沒什么說的....源碼地址


關于為什么要有實物了,,因為確實有人用到實物,,,,能滿足的就一定要滿足,而且好多元器件放著就浪費了.....
記得當初一個朋友學8266,竟然用了1個多月才能正常通信,,,那時候其實就想著應該做一個實物供朋友使用,這樣的話就不能耽擱這么長時間了...
想想這都過去5個多月了,,我還沒有去做8266的實驗板......哎,,,,,,,感覺太懶了


所有資料51hei提供下載:
上位機控制12864顯示.rar (3.31 MB, 下載次數: 113)



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:82765 發表于 2017-8-12 12:41 | 只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

板凳
ID:169645 發表于 2018-1-13 12:24 | 只看該作者
正在學習串口編程,謝謝樓主的分享!
回復

使用道具 舉報

地板
ID:275712 發表于 2018-1-13 23:32 | 只看該作者
STC芯片怎么下載程序
回復

使用道具 舉報

5#
ID:275712 發表于 2018-1-13 23:33 | 只看該作者
STC怎么燒寫程序?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩视频一区二区三区 | 午夜激情在线视频 | 免费成人高清在线视频 | 亚洲第一成人av | 亚洲成人免费av | 一区二区在线 | 麻豆av在线 | 一区二区三区在线免费观看 | 人人艹人人爽 | 国产一区二区精 | 日本欧美国产在线 | 超碰日本| 国产精品免费一区二区三区四区 | 亚洲一区二区网站 | 九七午夜剧场福利写真 | 欧美不卡在线 | 中文在线а√在线8 | 亚洲二区在线 | 欧美自拍另类 | 久久伦理中文字幕 | av一级久久| 人人九九精 | 欧美精品网 | 国产精品视频在线观看 | 91精品国产高清久久久久久久久 | 久久久久久av | 亚洲一区二区三区在线播放 | 亚洲精品一区中文字幕 | 九九看片 | 中文字幕在线观看一区二区 | 性色的免费视频 | 国产高清免费视频 | 国产91丝袜在线熟 | 久久不卡 | aaaaaa大片免费看最大的 | av中文在线 | 国产色婷婷精品综合在线播放 | 亚洲69p| 天天干天天爽 | 久久91精品久久久久久9鸭 | 日本一卡精品视频免费 |