Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
2,21 MB
Nội dung
TRƯỜNG CAO ĐẲNG FPT FPOLYTECHNIC BỘ MÔN: ĐIỆN – CƠ KHÍ ĐỒ ÁN TỐT NGHIỆP CHUN NGÀNH: TỰ ĐỘNG HĨA Đề tài: ‘Xây dựng thực hành vi điều khiển điều khiển đèn LED’ GVHD: ThS Nguyễn Thị Thắm SVTH: Phạm Đức Mạnh Nguyễn Minh Hiếu Nguyễn Ngọc Tuấn Nguyễn Hữu Thắng Lớp: CĐ TĐH K12 HÀ NỘI – 2020 BỘ LAO ĐỘNG-THƯƠNG BINH & XÃ HỘI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG CAO ĐẲNG FPT POLYTECHNIC Độc lập - Tự - Hạnh phúc NHẬN XÉT, CHO ĐIỂM ĐATN CỦA CÁN BỘ HƯỚNG DẪN Giáo viên hướng dẫn: Nguyễn Thị Thắm Khoa: Điện- Cơ khí Học hàm : Họ tên sinh viên: Phạm Đức Mạnh Học vị: Thạc sỹ Lớp: CĐ TĐH K12 Nguyễn Minh Hiếu Nguyễn Ngọc Tuấn Nguyên Hữu Thắng Tên đề tài: “Xây dựng thực hành vi điều khiển điều khiển đèn led” NỘI DUNG NHẬN XÉT Cán hướng dẫn cho điểm: Ngày tháng năm 202 Giáo viên hướng dẫn (Ký ghi rõ họ tên) ThS.Nguyễn Thị Thắm MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ VI XỬ LÝ – VI ĐIỀU KHIỂN 1.1 Giới thiệu chung Vi xử lý – Vi điều khiển 1.1.1 Một số khái niệm 1.1.2 Lịch sử phát triển Vi xử lý – Vi điều khiển 1.1.3 Ứng dụng Vi xử lý – vi điều khiển 1.2 Cấu trúc chung hệ vi xử lý – vi điều khiển 1.2.1 Khối xử lý trung tâm (CPU) 10 1.2.2 Bộ nhớ 10 1.2.3 Cổng vào/ra song song 14 1.2.4 Cổng vào/ra nối tiếp 14 1.2.5 Bộ đếm/Bộ định thời 15 1.2.6 Hệ thống bus 16 1.3 Định dạng liệu biểu diễn thông tin hệ vi xử lý – vi điều khiển 17 1.3.1 Các hệ đếm 17 1.3.2 Mã ký tự - Alphanumeric CODE (ASCII, EBCDIC) 20 1.3.3 Các phép toán số học hệ đếm nhị phân 21 CHƯƠNG II: TÍNH TỐN LỰA CHỌN THIẾT BỊ TRÊN BẢNG THỰC HÀNH 22 2.1.1 Mơ hình 22 2.1.2 Các phần tử 23 2.2 Tính tốn lựa chọn phần tử 30 2.2.1 ARDUNO NANO 30 2.2.2 Led 32 2.2.3 LED ma trận 33 2.2.4 LED đơn 34 CHƯƠNG 3: SƠ ĐỒ MẠCH ĐIỆN VÀ NGUYÊN LÝ HOẠT ĐỘNG 35 3.1 Sơ đồ nguyên lý 35 3.2 Nguyên lý hoạt động Error! Bookmark not defined 3.3 Điều khiển LED 38 CHƯƠNG 4: KẾT LUẬN 56 Lời nói đầu Sau học, nghiên cứu tìm hiểu vi điều khiển phần lý thuyết Chúng ta bắt đầu tiến hành thực thí nghiệm vi điều khiển nhằm mục đích giúp hiểu cách tường tận mà ta học phần lý thuyết cách thức vận dụng vào thực tế Trong thực tế, ứng dụng vi điều khiển đa dạng phong phú Từ ứng dụng đơn giản có vài thiết bị ngoại vi hệ thống vi điều khiển Cho nên mơ hình modul thí nghiệm vi điều khiển thiết kế với tương đối đầy đủ yêu cầu phần cứng có nhiều chương trình điều khiển mẫu tập thực hành từ đơn giản đến phức tạp giúp cho sinh viên thực hành, thí nghiệm tự nghiên cứu, tự học môn học Mô hình thí nghiệm vi điều khiển hỗ trợ cho việc thí nghiệm: thiết bị ngoại vi như: LED đơn, LED ma trận, LED đoạn, LCD, Ma trận Ngày hôm chúng em mang tới hội đồng đè tài Xây dựng thực hành vi điều khiển đèn LED Nhóm chúng em xin cảm ơn Ths.Nguyễn Thị Thắm hướng dẫn chúng em hoàn thành đè tài này! ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: TỔNG QUAN VỀ VI XỬ LÝ – VI ĐIỀU KHIỂN 1.1 Giới thiệu chung Vi xử lý – Vi điều khiển 1.1.1 Một số khái niệm Khái niệm “vi xử lý” (microprocessor) “vi điều khiển” (microcontroller) Về hai khái niệm không khác nhiều, “vi xử lý” thuật ngữ chung dùng để đề cập đến kỹ thuật ứng dụng công nghệ vi điện tử, cơng nghệ tích hợp khả xử lý theo chương trình vào lĩnh vực khác Vào giai đoạn đầu q trình phát triển cơng nghệ vi xử lý, chip (hay vi xử lý) chế tạo tích hợp phần cứng thiết yếu CPU mạch giao tiếp CPU phần cứng khác Trong giai đoạn này, phần cứng (kể nhớ) thường không tích hợp chip mà phải ghép nối thêm bên Các phần cứng gọi ngoại vi (Peripherals) Về sau, nhờ phát triển vượt bậc cơng nghệ tích hợp, ngoại vi tích hợp vào bên IC người ta gọi vi xử lý tích hợp thêm ngoại vi “vi điều khiển” Vi xử lý có khối chức cần thiết để lấy liệu, xử lý liệu xuất liệu ngồi sau xử lý Và chức Vi xử lý xử lý liệu, chẳng hạn cộng, trừ, nhân, chia, so sánh.v.v Vi xử lý khơng có khả giao tiếp trực tiếp với thiết bị ngoại vi, có khả nhận xử lý liệu Để vi xử lý hoạt động cần có chương trình kèm theo, chương trình điều khiển mạch logic từ vi xử lý xử lý liệu cần thiết theo yêu cầu Chương trình tập hợp lệnh để xử lý liệu thực lệnh lưu trữ nhớ, công việc thực hành lệnh bao gồm: nhận lệnh từ nhớ, giải mã lệnh thực lệnh sau giải mã Để thực công việc với thiết bị cuối cùng, chẳng hạn điều khiển động cơ, hiển thị kí tự ĐỒ ÁN TỐT NGHIỆP hình địi hỏi phải kết hợp vi xử lý với mạch điện giao tiếp với bên gọi thiết bị I/O (nhập/xuất) hay gọi thiết bị ngoại vi Bản thân vi xử lý đứng khơng có nhiều hiệu sử dụng, phần vi điều khiển, hiệu ứng dụng Vi xử lý lớn Vi xử lý kết hợp với thiết bị khác sử hệ thống lớn, phức tạp đòi hỏi phải xử lý lượng lớn phép tính phức tạp, có tốc độ nhanh Chẳng hạn hệ thống sản xuất tự động công nghiệp, tổng đài điện thoại, robot có khả hoạt động phức tạp v.v Bộ Vi xử lý có khả vượt bậc so với hệ thống khác khả tính tốn, xử lý, thay đổi chương trình linh hoạt theo mục đích người dùng, đặc biệt hiệu toán hệ thống lớn Tuy nhiên ứng dụng nhỏ, tầm tính tốn khơng địi hỏi khả tính tốn lớn việc ứng dụng vi xử lý cần cân nhắc Bởi hệ thống dù lớn hay nhỏ, dùng vi xử lý địi hỏi khối mạch điện giao tiếp phức tạp Các khối bao gồm nhớ để chứa liệu chương trình thực hiện, mạch điện giao tiếp ngoại vi để xuất nhập điều khiển trở lại, khối liên kết với vi xử lý thực cơng việc Để kết nối khối địi hỏi người thiết kế phải hiểu biết tinh tường thành phần vi xử lý, nhớ, thiết bị ngoại vi Hệ thống tạo phức tạp, chiếm nhiều không gian, mạch in phức tạp vấn đề trình độ người thiết kế Kết giá thành sản phẩm cuối cao, không phù hợp để áp dụng cho hệ thống nhỏ Vì số nhược điểm nên nhà chế tạo tích hợp nhớ số mạch giao tiếp ngoại vi với vi xử lý vào IC gọi Microcontroller-Vi điều khiển, vi điều khiển có khả tương tự khả vi xử lý, cấu trúc phần cứng đơn giản nhiều Vi điều khiển đời mang lại tiện lợi người dùng, họ không cần nắm vững khối lượng kiến thức lớn làm việc với ĐỒ ÁN TỐT NGHIỆP vi xử lý, việc thiết kế mạch điện trở nên đơn giản nhiều có khả giao tiếp trực tiếp với thiết bị bên Vi điều khiển xây dựng với phần cứng đơn giản hơn, thay vào ưu điểm khả xử lý bị giới hạn (tốc độ xử lý chậm khả tính tốn hơn, dung lượng chương trình bị giới hạn) Vì vậy, vi điều khiển có giá thành rẻ nhiều so với vi xử lý, việc sử dụng đơn giản, nên ứng dụng vào nhiều, khơng địi hỏi tính toán phức tạp Vi điều khiển ứng dụng dây chuyền tự động loại nhỏ, robot có chức đơn giản, máy giặt, ôtô v.v Năm 1976 Intel giới thiệu vi điều khiển (microcontroller) 8748, chip tương tự vi xử lý chip họ MCS-48 Độ phức tạp, kích thước khả Vi điều khiển tăng thêm bậc quan trọng vào năm 1980 intel tung chip 8051, Vi điều khiển họ MCS-51 chuẩn công nghệ cho nhiều họ Vi điều khiển sản xuất sau Sau nhiều họ Vi điều khiển nhiều nhà chế tạo khác đưa thị trường với tính cải tiến ngày mạnh Trong tài liệu này, ranh giới hai khái niệm “vi xử lý” “vi điều khiển” thực không cần phải phân biệt rõ ràng Ta dùng thuật ngữ “vi xử lý” đề cập đến khái niệm kỹ thuật vi xử lý nói chung dùng thuật ngữ “vi điều khiển” sâu nghiên cứu họ chip cụ thể ĐỒ ÁN TỐT NGHIỆP 1.1.2 Lịch sử phát triển Vi xử lý – Vi điều khiển Hình 1.1 Lịch sử phát triển Vi xử lý – Vi điều khiển - Thế hệ (1971 - 1973): vi xử lý bit, đại diện 4004, 4040, 8080 (Intel) hay IPM-16 (National Semiconductor) + Độ dài word thường bit (có thể lớn hơn) + Tốc độ 10 - 60 μs / lệnh với tần số xung nhịp 0.1 - 0.8 MHz + Tập lệnh đơn giản phải cần nhiều vi mạch phụ trợ - Thế hệ (1974 - 1977): vi xử lý bit, đại diện 8080, 8085 (Intel) hay Z80 + Tập lệnh phong phú + Địa đến 64 KB Một số vi xử lý phân biệt 256 địa cho thiết bị ngoại vi + Sử dụng công nghệ NMOS hay CMOS + Tốc độ - μs / lệnh với tần số xung nhịp - MHz - Thế hệ (1978 - 1982): vi xử lý 16 bit, đại diện 68000/68010 (Motorola) hay ĐỒ ÁN TỐT NGHIỆP 8086/ 80286/ 80386 (Intel) + Tập lệnh đa dạng với lệnh nhân, chia xử lý chuỗi + Địa nhớ từ - 16 MB phân biệt tới 64KB địa cho ngoại vi + Sử dụng công nghệ HMOS + Tốc độ 0.1 - μs / lệnh với tần số xung nhịp - 10 MHz - Thế hệ 4: vi xử lý 32 bit 68020/68030/68040/68060 (Motorola) hay 80386/80486 (Intel) vi xử lý 32 bit Pentium (Intel) + Bus địa 32 bit, phân biệt GB nhớ + Có thể dùng thêm đồng xử lý (coprocessor) + Có khả làm việc với nhớ ảo + Có chế pipeline, nhớ cache + Sử dụng công nghệ HCMOS - Thế hệ 5: vi xử lý 64 1.1.3 Ứng dụng Vi xử lý – vi điều khiển Vi xử lý, chip loại máy tính ngày Ở đây, ta nói đên ứng dụng vi điều khiển Vi điều khiển dùng thiết kế loại hệ thống nhúng Hệ thống nhúng có hầu hết thiết bị tự động, thông minh ngày Chúng ta dùng vi điều khiển để thiết kế điều khiển cho sản phẩm như: Trong sản phẩm dân dụng: - Nhà thông minh: - Cửa tự động - Khóa số - Tự động điều tiết ánh sáng thông minh (bật/tắt đèn theo thời gian, theo ĐỒ ÁN TỐT NGHIỆP - Lập trình hiển thị LED Bài toán: Đếm lùi từ số 1235, giá trị hiển thị LED Kết nối: Bài sử dụng khối “Hiển thị LED thanh” Theo sơ đồ chân RA0RA3 điều khiển Anot chung LED, lại chân RC điều khiển LED Gạt SD4 lên vị trí ON để kích hoạt khối hiển thị LED Hình 2: Khối hiển thị LED Chương trình: chương trình lưu vào file: main.c main.h “Main.h” #include #device ADC=16 #FUSES NOWDT //No Watch Dog Timer #FUSES NOBROWNOUT //No brownout reset #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #use delay(crystal=4000000) 43 ĐỒ ÁN TỐT NGHIỆP //khai bao cac chan quet cot #define COL_1 PIN_A0 #define COL_2 PIN_A1 #define COL_3 PIN_A2 #define COL_4 PIN_A3 “Main.c” #include void _QuetCot(char TenCot); void _QuetLed(char Data[]); void _HienThi(char Data[], int16 Time); void _TachSo(int16 Dem, char Data[]) { Data[3] = Dem%10; Dem = Dem/10; Data[2] = Dem%10; Dem = Dem/10; Data[1] = Dem%10; Dem = Dem/10; Data[0] = Dem%10; Dem = Dem/10; } 44 ĐỒ ÁN TỐT NGHIỆP void main() { //khai bao bien cuc bo o day char Data[] = {1,2,3,4}; int16 Dem=1235; while(TRUE) { //TODO: User Code for(Dem=1235;Dem>0;Dem ) { _TachSo(Dem,Data); _HienThi(Data,20); } } } void _QuetCot(char TenCot) { switch(TenCot) { case 0: { output_bit(COL_1,1); output_bit(COL_2,1); output_bit(COL_3,1); output_bit(COL_4,1); 45 ĐỒ ÁN TỐT NGHIỆP break; } case 1: { output_bit(COL_1,0); output_bit(COL_2,1); output_bit(COL_3,1); output_bit(COL_4,1); break; } case 2: { output_bit(COL_1,1); output_bit(COL_2,0); output_bit(COL_3,1); output_bit(COL_4,1); break; } case 3: { output_bit(COL_1,1); output_bit(COL_2,1); output_bit(COL_3,0); output_bit(COL_4,1); break; } case 4: 46 ĐỒ ÁN TỐT NGHIỆP { output_bit(COL_1,1); output_bit(COL_2,1); output_bit(COL_3,1); output_bit(COL_4,0); break; } } } void _QuetLed(char Data[]) { char MaLed[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x83,0xF8,0x80,0x90}; int8 i; for(i=0;i1) { Time = Time - 1; delay_ms(10); _QuetLed(Data); } } 48 ĐỒ ÁN TỐT NGHIỆP -Lập trình hiển thị LED ma trận Bài tốn: Lập trình cho chạy dịng chữ từ phải qua trái LED ma trận 8x8 Điều kiện: Bài sử dụng khối LED ma trận sơ đồ Hình 3.3: Khối hiển thị LED ma trận Chương trình: “Main.h” #include #device ADC=16 #FUSES NOWDT //No Watch Dog Timer #FUSES NOBROWNOUT //No brownout reset #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #use delay(crystal=4000000) “Main.c” #include 49 ĐỒ ÁN TỐT NGHIỆP #include #define SCK PIN_A2 #define DATA PIN_A0 #define STR PIN_A1 unsigned int8 cot[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; const unsigned int8 hang[]={ // 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //SPACE -32 0x00,0x00,0x00,0xF9,0x00,0x00,0x00,0x00, //! 33 0x00,0x00,0xE0,0x00,0xE0,0x00,0x00,0x00, //" 34 0x00,0x24,0xFF,0x24,0x24,0xFF,0x24,0x00, //# 35 0x00,0x32,0x4A,0xFF,0x4A,0x44,0x00,0x00, //$ 36 0x01,0xC2,0xC4,0x08,0x10,0x23,0x43,0x80, //% 37 0x00,0x66,0x99,0x89,0x95,0x62,0x05,0x00, //& 38 0x00,0x00,0x88,0x90,0xE0,0x00,0x00,0x00, //' 39 0x00,0x3C,0x42,0x81,0x00,0x00,0x00,0x00, //( 40 0x00,0x00,0x00,0x00,0x81,0x42,0x3C,0x00, //) 41 0x00,0x24,0x18,0x7E,0x18,0x24,0x00,0x00, //* 42 0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00, //+ 43 0x00,0x00,0x00,0x05,0x06,0x00,0x00,0x00, //, 44 0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x00, //- 45 0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00, // 46 0x00,0x02,0x04,0x08,0x10,0x20,0x40,0x00, /// 47 0x00,0x7E,0x85,0x89,0x91,0xA1,0x7E,0x00, //0 48 0x00,0x00,0x21,0x41,0xFF,0x01,0x01,0x00, //1 49 0x00,0x41,0x83,0x85,0x89,0x71,0x00,0x00, //2 50 50 ĐỒ ÁN TỐT NGHIỆP 0x00,0x42,0x89,0x89,0x89,0x76,0x00,0x00, //3 51 0x00,0x18,0x28,0x48,0x88,0x3F,0x08,0x00, //4 52 0x00,0xF9,0x89,0x89,0x89,0x89,0x86,0x00, //5 53 0x00,0x7E,0x89,0x89,0x89,0x89,0x06,0x00, //6 54 0x00,0x80,0x83,0x84,0x88,0x90,0xE0,0x00, //7 55 0x00,0x7E,0x91,0x91,0x91,0x91,0x7E,0x00, //8 56 0x00,0x72,0x91,0x91,0x91,0x91,0x7E,0x00, //9 57 0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00, //: 58 0x00,0x00,0x00,0x65,0x66,0x00,0x00,0x00, //; 59 0x00,0x18,0x24,0x42,0x81,0x00,0x00,0x00, //< 60 0x00,0x24,0x24,0x24,0x24,0x24,0x24,0x00, //= 61 0x00,0x00,0x00,0x81,0x42,0x24,0x18,0x00, //> 62 0x00,0x40,0x80,0x85,0x88,0x70,0x00,0x00, //? 63 0x20,0x5C,0xA2,0xA2,0x9C,0x42,0x3C,0x00, //@ 64 0x00,0x1F,0x30,0x50,0x50,0x30,0x1F,0x00, //A 65 0x00,0x7F,0x49,0x49,0x49,0x36,0x00,0x00, //B 66 0x00,0x3E,0x41,0x41,0x41,0x22,0x00,0x00, //C 67 0x00,0x7F,0x41,0x41,0x41,0x3E,0x00,0x00, //D 68 0x00,0x7F,0x49,0x49,0x49,0x49,0x00,0x00, //E 69 0x00,0x7F,0x48,0x48,0x48,0x48,0x00,0x00, //F 70 0x00,0x3E,0x41,0x49,0x49,0x2E,0x00,0x00, //G 71 0x00,0x7F,0x08,0x08,0x08,0x7F,0x00,0x00, //H 72 0x00,0x41,0x41,0x7F,0x41,0x41,0x00,0x00, //I 73 0x00,0x41,0x41,0x7E,0x40,0x40,0x00,0x00, //J 74 0x00,0x7F,0x08,0x1C,0x22,0x41,0x00,0x00, //K 75 0x00,0x7F,0x01,0x01,0x01,0x01,0x00,0x00, //L 76 0x00,0x7F,0x20,0x10,0x10,0x20,0x7F,0x00, //M 77 51 ĐỒ ÁN TỐT NGHIỆP 0x00,0x7F,0x20,0x10,0x08,0x04,0x7F,0x00, //N 78 0x00,0x3E,0x61,0x51,0x49,0x45,0x3E,0x00, //O 79 0x00,0x7F,0x48,0x48,0x48,0x48,0x30,0x00, //P 80 0x00,0x3E,0x41,0x41,0x41,0x45,0x3E,0x01, //Q 81 0x00,0x7F,0x48,0x48,0x4C,0x3A,0x01,0x00, //R 82 0x00,0x3A,0x49,0x49,0x49,0x49,0x26,0x00, //S 83 0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x00, //T 84 0x00,0x7E,0x01,0x01,0x01,0x01,0x7E,0x00, //U 85 0x00,0x7C,0x02,0x01,0x01,0x02,0x7C,0x00, //V 86 0x00,0x7F,0x02,0x04,0x04,0x02,0x7F,0x00, //W 87 0x00,0x63,0x14,0x08,0x14,0x63,0x00,0x00, //X 88 0x00,0x60,0x10,0x0F,0x10,0x60,0x00,0x00, //Y 89 0x00,0x43,0x45,0x49,0x51,0x61,0x41,0x00, //Z 90 0x00,0x00,0xFF,0x81,0x81,0x00,0x00,0x00, //[ 91 0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01, //\ 92 0x00,0x00,0x00,0x81,0x81,0xFF,0x00,0x00, //] 93 0x00,0x20,0x40,0x80,0x40,0x20,0x00,0x00, //^ 94 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x00, //_ 95 0x00,0x00,0x80,0x40,0x20,0x00,0x00,0x00, //` 96 0x00,0x0E,0x91,0x91,0x91,0x91,0x7F,0x00, //a 97 0x00,0xFF,0x09,0x11,0x11,0x11,0x0E,0x00, //b 98 0x00,0x3E,0x41,0x41,0x41,0x41,0x02,0x00, //c 99 0x00,0x0E,0x11,0x11,0x11,0x09,0xFF,0x00, //d 100 0x00,0x3E,0x49,0x49,0x49,0x49,0x30,0x00, //e 101 0x00,0x10,0x7F,0x90,0x80,0x40,0x00,0x00, //f 102 0x00,0x70,0x89,0x89,0x89,0x89,0xFE,0x00, //g 103 0x00,0xFF,0x08,0x10,0x10,0x10,0x0F,0x00, //h 104 52 ĐỒ ÁN TỐT NGHIỆP 0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x00, //i 105 0x00,0x00,0x21,0x21,0xBE,0x00,0x00,0x00, //j 106 0x00,0xFF,0x08,0x14,0x22,0x41,0x00,0x00, //k 107 0x00,0x00,0x81,0xFF,0x01,0x00,0x00,0x00, //l 108 0x3F,0x40,0x40,0x30,0x40,0x40,0x3F,0x00, //m 109 0x00,0x7F,0x20,0x40,0x40,0x40,0x3F,0x00, //n 110 0x00,0x3E,0x41,0x41,0x41,0x41,0x3E,0x00, //o 111 0x00,0x00,0x7F,0x48,0x48,0x48,0x30,0x00, //p 112 0x00,0x30,0x48,0x48,0x48,0x28,0x7F,0x00, //q 113 0x00,0x7F,0x20,0x40,0x40,0x40,0x20,0x00, //r 114 0x00,0x31,0x49,0x49,0x49,0x46,0x00,0x00, //s 115 0x00,0x40,0x40,0xFE,0x41,0x41,0x02,0x00, //t 116 0x00,0x7E,0x01,0x01,0x01,0x02,0x7F,0x00, //u 117 0x00,0x7C,0x02,0x01,0x02,0x7C,0x00,0x00, //v 118 0x00,0x7E,0x01,0x02,0x01,0x7E,0x00,0x00, //w 119 0x00,0x42,0x24,0x18,0x18,0x24,0x42,0x00, //x 120 0x00,0x00,0x60,0x12,0x12,0x12,0x7C,0x00, //y 121 0x00,0x42,0x46,0x4A,0x52,0x62,0x42,0x00, //z 122 0x00,0x08,0x36,0x41,0x00,0x00,0x00,0x00, //{ 123 0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00, //| 124 0x00,0x00,0x00,0x00,0x82,0x6C,0x10,0x00, //} 125 }; void nap_data(unsigned int8 x) { unsigned char i, temp; for(i=0;i