include<reg52.h> #Define uint unsigned int #Define uchar unsigned char uint temp,aa,wang,qian,bai,shi,ge; sbit dula=P2^6; sbit wela=P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void display( uint wang,uint qian,uint bai,uint shi,uint ge); void delay(uint z); void init(); void main() { init();//初始化子程序 while(1) { if(aa==20) { aa=0; temp++; if(temp==99999) { temp=0; } wang=temp/10000; qian=(temp-wang*10000)/1000; bai=(temp-wang*10000-qian*1000)/100; shi=(temp-wang*10000-qian*1000-bai*100)/10; ge=temp%10; } display(wang,qian, bai,shi,ge); } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void display(uint wang,uint qian,uint bai,uint shi,uint ge) { dula=1; P0=table[wang]; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(1); dula=1; P0=table[qian]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(1); dula=1; P0=table[bai]; dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delay(1); dula=1; P0=table[shi]; dula=0; P0=0xff; wela=1; P0=0xf7; wela=0; delay(1); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0xef; wela=0; delay(1); } void init() { wela=0; dula=0; temp=0; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; } include<reg52.h> #Define uint unsigned int #Define uchar unsigned char uint temp,aa,wang,qian,bai,shi,ge; sbit dula=P2^6; sbit wela=P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void display( uint wang,uint qian,uint bai,uint shi,uint ge); void delay(uint z); void init(); void main() { init();//初始化子程序 while(1) { if(aa==20) { aa=0; temp++; if(temp==99999) { temp=0; } wang=temp/10000; qian=(temp-wang*10000)/1000; bai=(temp-wang*10000-qian*1000)/100; shi=(temp-wang*10000-qian*1000-bai*100)/10; ge=temp%10; } display(wang,qian, bai,shi,ge); } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void display(uint wang,uint qian,uint bai,uint shi,uint ge) { dula=1; P0=table[wang]; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(1); dula=1; P0=table[qian]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(1); dula=1; P0=table[bai]; dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delay(1); dula=1; P0=table[shi]; dula=0; P0=0xff; wela=1; P0=0xf7; wela=0; delay(1); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0xef; wela=0; delay(1); } void init() { wela=0; dula=0; temp=0; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; } include<reg52.h> #Define uint unsigned int #Define uchar unsigned char uint temp,aa,wang,qian,bai,shi,ge; sbit dula=P2^6; sbit wela=P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void display( uint wang,uint qian,uint bai,uint shi,uint ge); void delay(uint z); void init(); void main() { init();//初始化子程序 while(1) { if(aa==20) { aa=0; temp++; if(temp==99999) { temp=0; } wang=temp/10000; qian=(temp-wang*10000)/1000; bai=(temp-wang*10000-qian*1000)/100; shi=(temp-wang*10000-qian*1000-bai*100)/10; ge=temp%10; } display(wang,qian, bai,shi,ge); } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void display(uint wang,uint qian,uint bai,uint shi,uint ge) { dula=1; P0=table[wang]; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(1); dula=1; P0=table[qian]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(1); dula=1; P0=table[bai]; dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delay(1); dula=1; P0=table[shi]; dula=0; P0=0xff; wela=1; P0=0xf7; wela=0; delay(1); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0xef; wela=0; delay(1); } void init() { wela=0; dula=0; temp=0; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; }
標簽: 矩陣式鍵盤
上傳時間: 2021-12-18
上傳用戶:2590813506
通過hal庫讀寫stm32g0內部flash,一次寫入數量默認最大2K,更大可以修改#Define STM_SECTOR_SIZE2048。代碼包含讀寫函數。
上傳時間: 2022-02-08
上傳用戶:默默
ABB機器人編程手冊.pdfAliasIO is used to Define a signal of any type with an alias name or to use signals in builtin task modules. Signals with alias names can be used for preDefined generic programs, without any modification of the program before running in different robot installations. The instruction AliasIO must be run before any use of the actual signal. See Basic examples on page 21 for loaded modules, and More examples on page 22 for installed modules.
上傳時間: 2022-03-28
上傳用戶:kingwide
宏晶 STC15F2K60S2開發板配套軟件源碼 基礎例程30例/**********************基于STC15F2K60S2系列單片機C語言編程實現使用如下頭文件,不用另外再包含"REG51.H"#include <STC15F2K60S2.h>***********************/#include "STC15F2K60S2.H"//#include "REG51.H" //sfr P4 = 0xC0;#Define uint unsigned int #Define uchar unsigned char /**********************引腳別名定義***********************/sbit SEL=P4^3; // LED和數碼管選擇引腳 高:LED有效 低:數碼管有效 // SEL連接的單片機引腳必須為帶有上拉電阻的引腳 或將其直接連接VCC#Define data P2 // 數據輸入定義 /**********************函數名稱:Delay_1ms功能描述:延時入口參數:unsigned int t 表示要延時t個1ms 出口參數:無備注:通過參數t,控制延時的時間長短***********************/void Delay_1ms(uint t){ uchar j; for(;t>0;t--) for(j=110;j>0;j--) ;}/**********************函數名稱:Led_test功能描述:對8個二極管進行測試,依次輪流點亮8個二極管入口參數:無出口參數:無備注: ***********************/void Led_test(){ uchar G_value=0x01; // 給變量賦初值 SEL=1; //高電平LED有效 while(1) { data=G_value; Delay_1ms(10000); G_value=G_value<<1; if(G_value==0x00) { data=G_value; Delay_1ms(10000); G_value=0x01; } }}/***********************主函數************************/void main(){ ///////////////////////////////////////////////// //注意: STC15W4K32S4系列的芯片,上電后所有與PWM相關的IO口均為 // 高阻態,需將這些口設置為準雙向口或強推挽模式方可正常使用 //相關IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2 // P2.3/P2.7/P3.7/P4.2/P4.4/P4.5 ///////////////////////////////////////////////// P4M1=0x00; P4M0=0x00; P2M0=0xff; P2M1=0x00; //將P2設為推挽 Led_test(); }
標簽: STC15F2K60S2
上傳時間: 2022-05-03
上傳用戶:
If register should be written or read.This value is passed to the calback functions which support either reading or writing register values. Writing means that the application registers should be updated and reading means that the modbus protocol stack needs to know the current register values.See also: eMBRegHoldingCB(), eMBRegCoilsCB(), eMBRegDiscreteCB() and eMBReglnputCB().Enumeration values: MB_REG_READ Read register values and pass to protocol stack.MB_REG_WRITE Update register values.Note: Note all ports implement this function.A port which wants to get an callback must Define the macro MB_PORT_HAS_CLOSE to 1.Returns: If the resources where released it return eMBErrorCode:: MB_ENOERR. If the protocol stack is not in the disabled state it returns eMBErrorCode:: MB_EILLSTATE.Examples: LINUX/demo.c, MCF5235TCP/demo.c, STR71XTCP/demo.c, WIN32/demo. cpp, and WIN32TCP/demo. cpp.his function disables processing of Modbus frames.Returns: If the protocol stack has been disabled
標簽: FreeModbus
上傳時間: 2022-05-31
上傳用戶:
#Define PI (3.14159265)// 度數表示的角速度*1000#Define MDPS (70)// 弧度表示的角速度#Define RADPS ((float)MDPS*PI/180000)// 每個查詢周期改變的角度#Define RADPT (RADPS/(-100))// 平衡的角度范圍;+-60度(由于角度計算采用一階展開,實際值約為46度)#Define ANGLE_RANGE_MAX (60*PI/180)#Define ANGLE_RANGE_MIN (-60*PI/180)// 全局變量pid_s sPID; // PID控制參數結構體float radian_filted=0; // 濾波后的弧度accelerometer_s acc; // 加速度結構體,包含3維變量gyroscope_s gyr; // 角速度結構體,包含3維變量int speed=0, distance=0; // 小車移動的速度,距離int tick_flag = 0; // 定時中斷標志int pwm_speed = 0; // 電機pwm控制的偏置值,兩個電機的大小、正負相同,使小車以一定的速度前進int pwm_turn = 0; // 電機pwm控制的差異值,兩個電機的大小相同,正負相反,使小車左、右轉向float angle_balance = 0; // 小車的平衡角度。由于小車重心的偏移,小車的平衡角度不一定是radian_filted為零的時候
上傳時間: 2022-06-01
上傳用戶:
Lwip協議棧的實現目的,無非是要上層用來實現app的socket編程。好,我們就從socket開始。為了兼容性,lwip的socket應該也是提供標準的socket接口函數,恩,沒錯,在src\inc lude\lwip\socket.h文件中可以看到下面的宏定義:#if LWIP COMPAT SOCKETS#Define accept(a,b,c)Iwip accept(a,b,c)#Define bind(a,b,c)Iwip bind(a,b,c)#Define shutdown(a,b)Iwip shutdown(a,b)#Define closesocket(s)Iwip close(s)好,這個結構先不管它,接著看下get socket函數的實現【也是在src\api\socket.c文件中】,在這里我們看到這樣一條語句sock =&sockets[s];很明顯,返回值也是這個sock它是根據傳進來的序列號在sockets數組中找到對應的元素并返回該元素的地址。好了,那么這個sockets數組是在哪里被賦值了這些元素的呢?進行到這里似乎應該從標準的socket編程的開始,也就是socket函數講起,那我們就順便看一下。它對應的實際實現是下面這個函數Int Iwip socket(int domain,int type,int protocol)【src\api\socket.c】這個函數根據不同的協議類型,也就是函數中的type參數,創建了一個netconn結構體的指針,接著就是用這個指針作為參數調用了alloc socket函數,下面具體看下這個函數的實現
上傳時間: 2022-06-19
上傳用戶:aben
#include "W5500.h"/***************----- 網絡參數變量定義-----***************/unsigned char Gateway_IP[4];// 網關IP 地址unsigned char Sub_Mask[4]; // 子網掩碼unsigned char Phy_Addr[6]; // 物理地址(MAC)unsigned char IP_Addr[4]; // 本機IP 地址unsigned char S0_Port[2]; // 端口0 的端口號(5000)unsigned char S0_DIP[4]; // 端口0 目的IP 地址unsigned char S0_DPort[2]; // 端口0 目的端口號(6000)unsigned char UDP_DIPR[4]; //UDP( 廣播)模式,目的主機IP 地址unsigned char UDP_DPORT[2]; //UDP( 廣播)模式,目的主機端口號/***************----- 端口的運行模式-----***************/unsigned char S0_Mode =3; // 端口0 的運行模式,0:TCP 服務器模式,1:TCP 客戶端模式,2:UDP(廣播)模式#Define TCP_SERVER 0x00 / /TCP服務器模式#Define TCP_CLIENT 0x01 / /TCP客戶端模式#Define UDP_MODE 0x02 / /UDP(廣播)模式
上傳時間: 2022-06-23
上傳用戶:
仿真的過程編譯Compile VCS對源文件進行編譯,生成中間文件和可執行文件仿真Simulate運行可執行文件,對設計進行仿真調試通過觀察波形、設置斷點、追蹤信號、查看schematic等來發現錯誤,并進行糾正覆蓋率測試通過在編譯時,加入覆蓋率測試的選項、仿真后,生成包含覆蓋率信息的中間文件來顯示測試平臺的正確性和完備性。一個常見的編譯命令如下:vcs f-y+libext+-V\-P-Mupdate-o-I +V2k-R-RI-s\-debug_all+vcsd +Define++timopt+<>-line\+incdir+++memopt[+2]-sverilog-mhdl +ad\-full64-comp64+nospecify +notimingcheck-ntb +race\-ova_file +vpdfile++vpdfilesize+\+vpdupdate +cli++vcs+initmem+011lxlz\+vcs+initreg+0|1lx|z +Vc-cm lineltgllcondlfsmlpathlbranch-cm_dir\-vlib-file是Verilog文件,包含了引用的module的定義,可以是絕對路徑,也可以是相對路勁。-y1ibdir是參考庫的目錄,vcs從該目錄下尋找包含引用的module的Verilog文件,這些文件的文件名必須和引用的module的名一樣+libextt++..vcs在參考庫目錄下尋找以.v和.vhd為擴展名的文件。多個擴展名之間用“+”連接。
標簽: vcs
上傳時間: 2022-07-01
上傳用戶:
1、下載FATFS R0.13a的源碼2、將下載到的源碼全部替代工程里面舊版FATFS, 四個源代碼文件,其中 diskio.c 不要加入工程,因為其核心函數被加入了 usbh_msc_fatfs.c3、根據實際使用情況修改ffconf.h 里面的宏開關選項,與舊版不同的部分列出如下:#Define FF_CODE_PAGE 936 // 簡體中文#Define FF_USE_LFN 3 // 允許長文件名,工作緩沖放在 HEAP,因此我在工程選項中把HEAP size 設為了0x1000#Define FF_FS_EXFAT 1 // 允許支持 exFAT 文件系統#Define FF_LFN_UNICODE 1 // 長文件名支持 Unicode in UTF-16 (TCHAR = WCHAR)4、基本上到此可以編譯了,編譯過程中會出現各種錯誤,主要新版沒有完全向下兼容的原因引起,根據不同情況針對性解決后,編譯OK 比如, f_mount 調用,等等 if ( f_mount( &fatfs, "", 0 ) != FR_OK ) { 。。。} // Fatfs0.09升級到0.13后,形參變化了
標簽: stm32f429i fatfs
上傳時間: 2022-07-03
上傳用戶: