日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]整了一天程序,寫了個上位機程序和單片機程序??偨Y下。。。上位機部分:相關參考資料:http://wenku.baidu.com/view/5ea8670403d8ce2f00662322.html1.先添加各控件,添加后的對話框如下圖:2.再添加對應的成員變量。

整了一天程序,寫了個上位機程序和單片機程序??偨Y下。。。

上位機部分:

相關參考資料:http://wenku.baidu.com/view/5ea8670403d8ce2f00662322.html

1.先添加各控件,添加后的對話框如下圖:

2.再添加對應的成員變量。

3.最后添加函數(shù)(事件處理函數(shù))。

3.1初始化,設置串口各參數(shù)。

BOOLCLedControlDlg::OnInitDialog(){CDialog::OnInitDialog();// 設置此對話框的圖標。當應用程序主窗口不是對話框時,框架將自動// 執(zhí)行此操作SetIcon(m_hIcon, TRUE); // 設置大圖標SetIcon(m_hIcon, FALSE); // 設置小圖標// TODO: 在此添加額外的初始化代碼m_ctrlComm.put__CommPort(5); //選擇com3m_ctrlComm.put_InputMode(1); //以二進制方式輸入m_ctrlComm.put_InBufferSize(1024);m_ctrlComm.put_OutBufferSize(512);//設置串口,波特率115200,無校驗位,數(shù)據(jù)位8,停止位1m_ctrlComm.put_Settings(_T("115200,n,8,1"));//參數(shù)1表示當接受緩沖區(qū)有多于等于1個字符//引發(fā)OnCommm_ctrlComm.put_RThreshold(1);if(!m_ctrlComm.get_PortOpen()){m_ctrlComm.put_PortOpen(TRUE);//打開串口}m_ctrlComm.put_InputLen(0); //設置當前緩沖區(qū)為0m_ctrlComm.get_Input(); //先預讀緩沖區(qū)returnTRUE; // 除非將焦點設置到控件,否則返回 TRUE}

3.2處理串口發(fā)來的數(shù)據(jù)。

voidCLedControlDlg::OnComm(){// TODO: 在此處添加消息處理程序代碼VARIANT variant_inp;COleSafeArray safearray_inp;LONGlen,k;BYTErxdata[2048]; //設置BYTE數(shù)組 An 8-bit integerthat is not signed.CString strtemp;if(m_ctrlComm.get_CommEvent()==2) //事件值為2表示接收緩沖區(qū)內(nèi)有字符{ ////////以下你可以根據(jù)自己的通信協(xié)議加入處理代碼variant_inp=m_ctrlComm.get_Input(); //讀緩沖區(qū)safearray_inp=variant_inp; //VARIANT型變量轉換為ColeSafeArray型變量len=safearray_inp.GetOneDimSize(); //得到有效數(shù)據(jù)長度for(k=0;k 3.3串口發(fā)送數(shù)據(jù)出去。

voidCLedControlDlg::OnButtonManualsend(){// TODO: 在此添加控件通知處理程序代碼UpdateData(true);m_ctrlComm.put_Output(COleVariant(m_strEditTXData));UpdateData(false);}

單片機部分:

#include #include #include #include //標準函數(shù)#include //I/O口函數(shù)#define _Nop() _nop_()#define uchar unsigned char#define uint unsigned int#define LEDCTL0Low P4&=~0x01;#define LEDCTL0High P4|=0x01;#define LEDCTL1Low P4&=~0x02;#define LEDCTL1High P4|=0x02;#define LEDCTL2Low P4&=~0x04;#define LEDCTL2High P4|=0x04;#define LEDCTL3Low P4&=~0x08;#define LEDCTL3High P4|=0x08;//--------------------------------------------------------------------// 全局常量//--------------------------------------------------------------------#define SYSCLK 22118400 // SYSCLK frequency in Hz#define BAUDRATE 115200 // Baud rate of UART in bps#define MAX_LEN 50 //receive buf MAX lengthuchar readCounts;uchar trdata[MAX_LEN] = {'0', '0', '0', '0'}; //四個LED數(shù)碼管初始顯示都為0uchar sendlen;uchar message[]="Receive Buf is full";bit readFlag;bit frameFlag;chardata SFRPAGE_SAVE;uchar code LEDSEG1[]= {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xc6,0X89};//0~9,C,H,正uchar code LEDSEG2[]= {0xC0,0xCF,0xA4,0x86,0x8B,0x92,0x90,0xC7,0x80,0x82,0xF0,0X89};//0~9,C,H,倒//--------------------------------------------------------------------//函數(shù)聲明//--------------------------------------------------------------------voidSYSCLK_Init (void);voidPORT_Init(void);voidUART0_Init(void) ;voidSend_Char(uchar ch) ;voidsend_string_com(unsigned char*str,unsigned intstrlen);voiddisplay(unsigned char*str);voidDelay(uint tt);//--------------------------------------------------------------------// 主函數(shù)//--------------------------------------------------------------------voidmain (void){WDTCN = 0xde;WDTCN = 0xad; //關閉WDTSYSCLK_Init ();PORT_Init();UART0_Init();EA=1;ES0=1;SFRPAGE = LEGACY_PAGE;while(1){if(frameFlag){frameFlag=0;send_string_com(trdata,sendlen);}display(trdata);}}//-----------------------------------------------------------------------------// 系統(tǒng)時鐘配置//-----------------------------------------------------------------------------voidSYSCLK_Init (void){inti = 0;//char SFRPAGE_SAVE = SFRPAGE; // Save Current SFR pageSFRPAGE = CONFIG_PAGE; // set SFR pageOSCXCN = 0x67; // start external oscillator with// 22.1184MHz crystalfor(i=0; i < 3000; i++) ; // XTLVLD blanking interval (>1ms)while(!(OSCXCN & 0x80)) ; // Wait for crystal osc. to settleCLKSEL = 0x01; //SYSCLK derived from the External Oscillator circuitOSCICN &= ~0x80; //Internal Oscillator Disabled}//-----------------------------------------------------------------------------// I/O配置//-----------------------------------------------------------------------------voidPORT_Init(){ SFRPAGE = CONFIG_PAGE; // set SFR page before writing

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

中國 上海,2025年8月28日——全球領先的智能傳感和發(fā)射器解決方案供應商艾邁斯歐司朗(SIX:AMS)今日宣布,其全新UV-C LED在輻射滅菌領域取得重大技術突破,并獲得評估認可。

關鍵字: LED 發(fā)射器 光電半導體

在LED照明技術向高能效、低電磁干擾(EMI)方向演進的過程中,電流模式控制與動態(tài)負載調(diào)整算法的協(xié)同優(yōu)化成為突破技術瓶頸的核心路徑。本文將從控制架構創(chuàng)新、動態(tài)負載補償機制及EMI抑制策略三個維度,揭示新一代LED驅動器的...

關鍵字: LED 動態(tài)負載調(diào)整算法 EMI

在全球倡導節(jié)能減排的大背景下,家電產(chǎn)品的能耗問題日益受到關注。電視機作為家庭中使用頻率較高的電器之一,其能耗的降低對于節(jié)約能源和減少碳排放具有重要意義。LED 驅動技術作為影響電視機能耗的關鍵因素,正不斷發(fā)展和創(chuàng)新,為實...

關鍵字: 驅動技術 能耗 LED

LED是一種能發(fā)光的半導體電子元件,這種電子元件早期只能發(fā)出低光度的紅光,隨著技術的不斷進步,現(xiàn)在已發(fā)展到能發(fā)出可見光、紅外線及紫外線的程度,光度也有了很大的提高。

關鍵字: LED

PCB設計在EMI抑制中起著關鍵作用。合理的布局布線能夠有效減少信號的電磁輻射和相互干擾。首先,應將功率電路和控制電路進行物理隔離,避免功率電路中的大電流、高電壓信號對控制電路造成干擾。功率器件和電感等高頻器件應盡量靠近...

關鍵字: LED 開關電源

為確保太陽能路燈的穩(wěn)定工作,建議使用硅酮密封將太陽能路燈組件的接線固定在支架上。在連接路燈部件的線路時,必須遵循正確的順序,以防止正負連接顛倒導致的短路問題。此外,太陽能路燈燈桿底部的接線應采用適當?shù)拿芊庋b置或硅膠進行密...

關鍵字: LED 路燈

在我們家,WTW已經(jīng)運行了14年了。它是一種非連接(不在線)的通風機,從房子外面吸收新鮮空氣,經(jīng)過過濾后空運到房子里。新鮮的環(huán)境空氣是用從房子里大多數(shù)房間取出的空氣預熱的。再加熱的能量是通過熱交換器從流出的“臟”空氣中獲...

關鍵字: Zigbee LED 傳感器

中國 上海,2025年8月12日——全球領先的智能傳感和發(fā)射器解決方案供應商艾邁斯歐司朗(SIX:AMS)今日宣布,使用新一代OSTAR? Projection Power LED為緊湊型投影系統(tǒng)乃至未來的抬頭顯示器(H...

關鍵字: 顯示器 LED 座艙

Aug. 6, 2025 ---- 根據(jù)TrendForce集邦咨詢最新調(diào)查,因國際形勢變化以及中國相關政策的推動,2025年上半年全球電視品牌出貨量達9,250萬臺,年增2%。由于品牌普遍提前出貨,下半年旺季可能面臨壓...

關鍵字: LED OLED 電視

艾邁斯歐司朗新一代中功率LED為原始設備制造商(OEM)提供面向未來的超高效、長壽命及節(jié)能的解決方案——成為燈槽、線條燈與筒燈等商業(yè)照明裝置的最優(yōu)選擇。除本次新品外,艾邁斯歐司朗還推出另一系列新款LED,實現(xiàn)超高光效,完...

關鍵字: LED 發(fā)射器 嵌入式
關閉