發表文章

目前顯示的是有「8051」標籤的文章

C8051F340 UART0/1 用法!

UART 的 RX 如果不用 interrupt 收資料,等於沒用。 要如何使用呢??有兩種方法。 1)Flag volatile bit TI0_proxy = 1; void UART0_ISR( void ) interrupt 4 { if ( TI0 == 1 ) { // set the proxy when TI0 is set TI0 = 0; TI0_proxy = 1; } if ( RI0 == 1 ) { RI0 = 0; ... } } unsigned char putchar( unsigned char ch ) { while ( TI0_proxy == 0 ); TI0_proxy = 0; return (SBUF0 = ch); } 真是簡單的方法!當然效能差。重點是簡單。 2)Ring Buffer 效能好。 相對麻煩。不過也沒那麼複雜。 Sample code 比較多。上網參考囉。 http://www.cygnal.org/ubb/Forum5/HTML/000497.html http://www.8052.com/codelib

ASCII 字元表

圖片
附錄四 ASCII 字元表 ASCII 碼大致可以分作 三部分 組成。 第一部分 由 00H 到 1FH 共 32 個,一般用來通訊或作為控制之用,有些字元可顯示於螢幕,有些則無法顯示在螢幕上,但能看到其效果(例如換行字元、歸位字元)。如下表: 第二部分 是由 20H 到 7FH 共 96 個,這 95 個字元是用來表示阿拉伯數字、英文字母大小寫和底線、括號等符號,都可以顯示在螢幕上。如下表: ASCII 碼 字元 ASCII 碼 字元 ASCII 碼 字元 ASCII 碼 字元 十進位 十六進位 十進位 十六進位 十進位 十六進位 十進位 十六進位 032 20 056 38 8 080 50 P 104 68 h 033 21 ! 057 39 9 081 51 Q 105 69 i 034 22 " 058 3A : 082 52 R 106 6A j 035 23 # 059 3B ; 083 53 S 107 6B k 036 24 $ 060 3C 084 54 T 108 6C l 037 25 % 061 3D = 085 55 U 109 6D m 038 26 & 062 3E > 086 56 V 110 6E n 039 27 ' 063 3F ? 087 57 W 111 6F o 040 28 ( 064 40 @ 088 58 X 112 70 p 041 29 ) 065 41 A 089 59 Y 113 71 q 042 2A * 066 42 B 090 5A Z 114 72 r 043 2B + 067 43 C 091 5B [ 115 73 s 044 2C , 068 44 D 092 5C \ 116 74 t 045 2D - 069 45 E 093 5D ] 117 75 u 046 2E . 070 46 F 094 5E ^ 118 76 v 047 2F / 071 47 G 095 5F _ 119 77 w 048 30 0 072 48 H 096 60 ` 120 78 x 049 31 1 073 49 I 097 61 a 121 79 y ...