⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dso.txt

📁 STM32手持式示波器源代码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
                  |L6.492|
0001ec  4348312041432000        DCB      "CH1 AC ",0
                  |L6.500|
0001f4  25642e30305600        DCB      "%d.00V",0
0001fb  00                DCB      0
                  |L6.508|
0001fc  25646d5600        DCB      "%dmV",0
000201  00                DCB      0
000202  00                DCB      0
000203  00                DCB      0
                  |L6.516|
000204  4348322044432000        DCB      "CH2 DC ",0
                  |L6.524|
00020c  4348322041432000        DCB      "CH2 AC ",0
                  |L6.532|
000214  54696d6520253364757300        DCB      "Time %3dus",0
00021f  00                DCB      0
                  |L6.544|
                          DCD      0x000f4240
                  |L6.548|
000224  54696d65202533646d7300        DCB      "Time %3dms",0
00022f  00                DCB      0
                  |L6.560|
000230  54696d6520253364732000        DCB      "Time %3ds ",0
00023b  00                DCB      0
                  |L6.572|
00023c  b5f7bddacebbd6c300        DCB      181,247,189,218,206,187,214,195,0
000245  00                DCB      0
000246  00                DCB      0
000247  00                DCB      0
                  |L6.584|
000248  b5f7bddab7f9b6c800        DCB      181,247,189,218,183,249,182,200,0
000251  00                DCB      0
000252  00                DCB      0
000253  00                DCB      0
                  |L6.596|
000254  b2c9d1f9c6b5c2ca3a253764487a00        DCB      178,201,209,249,198,181,194,202,":%7dHz",0
000263  00                DCB      0

                          AREA ||i.DispDSO||, CODE, READONLY, ALIGN=1

                  DispDSO PROC
;;;812    */
;;;813    static void DispDSO(void)
000000  b510              PUSH     {r4,lr}
;;;814    {
;;;815    	DispButton();
000002  f7fffffe          BL       DispButton
;;;816    
;;;817    	DispFrame();	/* 绘制刻度框 */
000006  f7fffffe          BL       DispFrame
;;;818    	DispChInfo();	/* 显示通道信息(幅度,时间档位) */
00000a  f7fffffe          BL       DispChInfo
;;;819    
;;;820    	DispCh1Wave();	/* 显示波形1 */	
00000e  f7fffffe          BL       DispCh1Wave
;;;821    	DispCh2Wave();	/* 显示波形2 */	
000012  f7fffffe          BL       DispCh2Wave
;;;822    }
000016  bd10              POP      {r4,pc}
;;;823    
                          ENDP


                          AREA ||i.DispFrame||, CODE, READONLY, ALIGN=1

                  DispFrame PROC
;;;455    */
;;;456    static void DispFrame(void)
000000  b570              PUSH     {r4-r6,lr}
;;;457    {
;;;458    	uint16_t x, y;
;;;459    
;;;460    	LCD_SetTextColor(White);  /* 选择白色 */
000002  f64f70ff          MOV      r0,#0xffff
000006  f7fffffe          BL       LCD_SetTextColor
;;;461    
;;;462    	/* 绘制一个实线矩形框 x, y, h, w */
;;;463    	LCD_DrawRect(9, 19, 202, 302);
00000a  f44f7397          MOV      r3,#0x12e
00000e  22ca              MOVS     r2,#0xca
000010  2113              MOVS     r1,#0x13
000012  2009              MOVS     r0,#9
000014  f7fffffe          BL       LCD_DrawRect
;;;464    
;;;465    	/* 绘制垂直刻度点 */
;;;466    	for (x = 0; x < 13; x++)
000018  2400              MOVS     r4,#0
00001a  e015              B        |L8.72|
                  |L8.28|
;;;467    	{
;;;468    		for (y = 0; y < 41; y++)
00001c  2500              MOVS     r5,#0
00001e  e00f              B        |L8.64|
                  |L8.32|
;;;469    		{
;;;470    			LCD_PutPixel(10 + (x * 25), 20 + (y * 5), White);
000020  eb050285          ADD      r2,r5,r5,LSL #2
000024  3214              ADDS     r2,r2,#0x14
000026  b291              UXTH     r1,r2
000028  eb0402c4          ADD      r2,r4,r4,LSL #3
00002c  eb021204          ADD      r2,r2,r4,LSL #4
000030  320a              ADDS     r2,r2,#0xa
000032  b290              UXTH     r0,r2
000034  f64f72ff          MOV      r2,#0xffff
000038  f7fffffe          BL       LCD_PutPixel
00003c  1c68              ADDS     r0,r5,#1              ;468
00003e  b285              UXTH     r5,r0                 ;468
                  |L8.64|
000040  2d29              CMP      r5,#0x29              ;468
000042  dbed              BLT      |L8.32|
000044  1c60              ADDS     r0,r4,#1              ;466
000046  b284              UXTH     r4,r0                 ;466
                  |L8.72|
000048  2c0d              CMP      r4,#0xd               ;466
00004a  dbe7              BLT      |L8.28|
;;;471    		}
;;;472    	}
;;;473    
;;;474    	/* 绘制水平刻度点 */
;;;475    	for (y = 0; y < 9; y++)
00004c  2500              MOVS     r5,#0
00004e  e015              B        |L8.124|
                  |L8.80|
;;;476    	{
;;;477    		for (x = 0; x < 61; x++)
000050  2400              MOVS     r4,#0
000052  e00f              B        |L8.116|
                  |L8.84|
;;;478    		{
;;;479    			LCD_PutPixel(10 + (x * 5), 20 + (y * 25), White);
000054  eb0502c5          ADD      r2,r5,r5,LSL #3
000058  eb021205          ADD      r2,r2,r5,LSL #4
00005c  3214              ADDS     r2,r2,#0x14
00005e  b291              UXTH     r1,r2
000060  eb040284          ADD      r2,r4,r4,LSL #2
000064  320a              ADDS     r2,r2,#0xa
000066  b290              UXTH     r0,r2
000068  f64f72ff          MOV      r2,#0xffff
00006c  f7fffffe          BL       LCD_PutPixel
000070  1c60              ADDS     r0,r4,#1              ;477
000072  b284              UXTH     r4,r0                 ;477
                  |L8.116|
000074  2c3d              CMP      r4,#0x3d              ;477
000076  dbed              BLT      |L8.84|
000078  1c68              ADDS     r0,r5,#1              ;475
00007a  b285              UXTH     r5,r0                 ;475
                  |L8.124|
00007c  2d09              CMP      r5,#9                 ;475
00007e  dbe7              BLT      |L8.80|
;;;480    		}
;;;481    	}
;;;482    
;;;483    	/* 绘制垂直中心刻度点 */
;;;484    	for (y = 0; y < 41; y++)
000080  2500              MOVS     r5,#0
000082  e013              B        |L8.172|
                  |L8.132|
;;;485    	{	 
;;;486    		LCD_PutPixel(9 + (6 * 25), 20 + (y * 5), White);
000084  eb050085          ADD      r0,r5,r5,LSL #2
000088  3014              ADDS     r0,r0,#0x14
00008a  b281              UXTH     r1,r0
00008c  f64f72ff          MOV      r2,#0xffff
000090  209f              MOVS     r0,#0x9f
000092  f7fffffe          BL       LCD_PutPixel
;;;487    		LCD_PutPixel(11 + (6 * 25), 20 + (y * 5), White);
000096  eb050085          ADD      r0,r5,r5,LSL #2
00009a  3014              ADDS     r0,r0,#0x14
00009c  b281              UXTH     r1,r0
00009e  f64f72ff          MOV      r2,#0xffff
0000a2  20a1              MOVS     r0,#0xa1
0000a4  f7fffffe          BL       LCD_PutPixel
0000a8  1c68              ADDS     r0,r5,#1              ;484
0000aa  b285              UXTH     r5,r0                 ;484
                  |L8.172|
0000ac  2d29              CMP      r5,#0x29              ;484
0000ae  dbe9              BLT      |L8.132|
;;;488    	}
;;;489    
;;;490    	/* 绘制水平中心刻度点 */
;;;491    	for (x = 0; x < 61; x++)
0000b0  2400              MOVS     r4,#0
0000b2  e013              B        |L8.220|
                  |L8.180|
;;;492    	{	 
;;;493    		LCD_PutPixel(10 + (x * 5), 19 + (4 * 25), White);
0000b4  eb040184          ADD      r1,r4,r4,LSL #2
0000b8  310a              ADDS     r1,r1,#0xa
0000ba  b288              UXTH     r0,r1
0000bc  f64f72ff          MOV      r2,#0xffff
0000c0  2177              MOVS     r1,#0x77
0000c2  f7fffffe          BL       LCD_PutPixel
;;;494    		LCD_PutPixel(10 + (x * 5), 21 + (4 * 25), White);
0000c6  eb040184          ADD      r1,r4,r4,LSL #2
0000ca  310a              ADDS     r1,r1,#0xa
0000cc  b288              UXTH     r0,r1
0000ce  f64f72ff          MOV      r2,#0xffff
0000d2  2179              MOVS     r1,#0x79
0000d4  f7fffffe          BL       LCD_PutPixel
0000d8  1c60              ADDS     r0,r4,#1              ;491
0000da  b284              UXTH     r4,r0                 ;491
                  |L8.220|
0000dc  2c3d              CMP      r4,#0x3d              ;491
0000de  dbe9              BLT      |L8.180|
;;;495    	}
;;;496    }
0000e0  bd70              POP      {r4-r6,pc}
;;;497    
                          ENDP


                          AREA ||i.DispHelp1||, CODE, READONLY, ALIGN=2

                  DispHelp1 PROC
;;;338    
;;;339    static void DispHelp1(void)
000000  b570              PUSH     {r4-r6,lr}
;;;340    {
;;;341    	uint16_t y;
;;;342    	uint16_t LineCap;
;;;343    
;;;344    	LCD_Clear(Blue);  			/* 清屏,背景蓝色 */
000002  201f              MOVS     r0,#0x1f
000004  f7fffffe          BL       LCD_Clear
;;;345    	LCD_SetBackColor(Blue);		/* 设置文字背景颜色 */
000008  201f              MOVS     r0,#0x1f
00000a  f7fffffe          BL       LCD_SetBackColor
;;;346    
;;;347    	LCD_SetTextColor(White);	/* 设置文字颜色 */
00000e  f64f70ff          MOV      r0,#0xffff
000012  f7fffffe          BL       LCD_SetTextColor
;;;348    	y = 0;
000016  2400              MOVS     r4,#0
;;;349    	LineCap = 18; /* 行间距 */
000018  2512              MOVS     r5,#0x12
;;;350    	LCD_DisplayString(20, y, "安富莱STM32F103ZE-EK开发板  www.armfly.com");
00001a  a224              ADR      r2,|L9.172|
00001c  4621              MOV      r1,r4
00001e  2014              MOVS     r0,#0x14
000020  f7fffffe          BL       LCD_DisplayString
;;;351    	y += LineCap;
000024  442c              ADD      r4,r4,r5
;;;352    	LCD_SetTextColor(Yellow);
000026  f64f70e0          MOV      r0,#0xffe0
00002a  f7fffffe          BL       LCD_SetTextColor
;;;353    	LCD_DisplayString(30, y, "QQ:1295744630     Email:armfly@qq.com");
00002e  a22a              ADR      r2,|L9.216|
000030  4621              MOV      r1,r4
000032  201e              MOVS     r0,#0x1e
000034  f7fffffe          BL       LCD_DisplayString
;;;354    	y += LineCap;
000038  442c              ADD      r4,r4,r5
;;;355    
;;;356    	y += LineCap;
00003a  442c              ADD      r4,r4,r5
;;;357    
;;;358    	LCD_DisplayString(30, y, "操作提示:");
00003c  a230              ADR      r2,|L9.256|
00003e  4621              MOV      r1,r4
000040  201e              MOVS     r0,#0x1e
000042  f7fffffe          BL       LCD_DisplayString
;;;359    	y += LineCap;
000046  442c              ADD      r4,r4,r5
;;;360    	LCD_DisplayString(50, y, "TAMPER键 = 切换通道焦点。CH1或CH2");
000048  a230              ADR      r2,|L9.268|
00004a  4621              MOV      r1,r4
00004c  2032              MOVS     r0,#0x32
00004e  f7fffffe          BL       LCD_DisplayString
;;;361    	y += LineCap;
000052  442c              ADD      r4,r4,r5
;;;362    	LCD_DisplayString(50, y, "WAKEUP键 = 显示帮助或退出帮助");
000054  a236              ADR      r2,|L9.304|
000056  4621              MOV      r1,r4
000058  2032              MOVS     r0,#0x32
00005a  f7fffffe          BL       LCD_DisplayString
;;;363    	y += LineCap;
00005e  442c              ADD      r4,r4,r5
;;;364    	LCD_DisplayString(50, y, "USER  键 = 暂停或实时运行");
000060  a23b              ADR      r2,|L9.336|
000062  4621              MOV      r1,r4
000064  2032              MOVS     r0,#0x32
000066  f7fffffe          BL       LCD_DisplayString
;;;365    	y += LineCap;
00006a  442c              ADD      r4,r4,r5
;;;366    	LCD_DisplayString(50, y, "摇杆上键 = 放大波形垂直幅度或向上移动");
00006c  a23f              ADR      r2,|L9.364|
00006e  4621              MOV      r1,r4
000070  2032              MOVS     r0,#0x32
000072  f7fffffe          BL       LCD_DisplayString
;;;367    	y += LineCap;
000076  442c              ADD      r4,r4,r5
;;;368    	LCD_DisplayString(50, y, "摇杆下键 = 缩小波形垂直幅度或向下移动");
000078  a246              ADR      r2,|L9.404|
00007a  4621              MOV      r1,r4
00007c  2032              MOVS     r0,#0x32
00007e  f7fffffe          BL       LCD_DisplayString
;;;369    	y += LineCap;
000082  442c              ADD      r4,r4,r5
;;;370    	LCD_DisplayString(50, y, "摇杆左键 = 水平展宽波形");
000084  a24d              ADR      r2,|L9.444|
000086  4621              MOV      r1,r4
000088  2032              MOVS     r0,#0x32
00008a  f7fffffe          BL       LCD_DisplayString
;;;371    	y += LineCap;
00008e  442c              ADD      r4,r4,r5
;;;372    	LCD_DisplayString(50, y, "摇杆右键 = 水平缩小波形");
000090  a250              ADR      r2,|L9.468|
000092  4621              MOV      r1,r4
000094  2032              MOVS     r0,#0x32
000096  f7fffffe          BL       LCD_DisplayString
;;;373    	y += LineCap;
00009a  442c              ADD      r4,r4,r5
;;;374    	LCD_DisplayString(50, y, "摇杆OK键 = 切换摇杆调节模式。幅度或位置");
00009c  a253              ADR      r2,|L9.492|
00009e  4621              MOV      r1,r4
0000a0  2032              MOVS     r0,#0x32
0000a2  f7fffffe          BL       LCD_DisplayString
;;;375    	y += LineCap;
0000a6  1960              ADDS     r0,r4,r5
0000a8  b284              UXTH     r4,r0
;;;376    }
0000aa  bd70              POP      {r4-r6,pc}
;;;377    
                          ENDP

                  |L9.172|
0000ac  b0b2b8bbc0b353544d3332463130335a452d454bbfaab7a2        DCB      176,178,184,187,192,179,"STM32F103ZE-EK",191,170,183,162
0000c4  b0e520207777772e61726d666c792e636f6d00        DCB      176,229,"  www.armfly.com",0
0000d7  00                DCB      0
                  |L9.216|

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -