- Tuần trước chúng ta đã hệ thống lại các kiến thức về những phần mình đã học: TIMER, INTERRUPT, ADC, UART và phần mới là giao tiếp LCD.
- Trong thời gian tuần này các bạn cố gắng hoàn thành bài tập sau để mình nắm rõ được khả năng của các bạn và ra đề cuối khóa cho xứng tầm :
- Yêu cầu: Thiết kế đồng hồ điện tử với module DS1307 và module LCD 1202.
- Chú ý: Về module DS1307 có 2 hướng cho các bạn
+ Tự vẽ mạch như schematic ở bài tập trước và tiến hành ủi và làm (rẻ tiền nhưng tốn thời gian).
+ Mua module có sẵn của thiên minh các bạn truy cập vào http://tme.vn/Product.aspx?id=1392#page=pro_info để biết thêm chi tiết (đắt tiền nhưng chắc chắn và nhanh)
- Về LCD 1202 CLB chỉ còn 6 cái và bán hết trong buổi học trước nên bạn nào chưa có thì có phương án giải quyết sau: Sử dụng LCD 16x2 có tại hshop và thiên minh http://tme.vn/Product.aspx?id=2007#page=pro_info . Code giao tiếp mình đính kèm ở cuối bài này
Chân cẳng như sau:
- Hiển thị đủ: Giờ:Phút:Giây Thứ, Ngày/Tháng/Năm
Code mẫu đọc i2c:
- Chức năng mở rộng: Chỉnh thời gian bằng nút nhấn hoặc mở rộng hơn chỉnh bằng Terminal .
- Cuối cùng chúc các bạn thành công CN tuần này chúng ta sẽ học bài VS C# đề nghị các bạn chuẩn bị trước bộ phần mềm Visual Studio 2012 Express hoặc mới hơn.
- Trong thời gian tuần này các bạn cố gắng hoàn thành bài tập sau để mình nắm rõ được khả năng của các bạn và ra đề cuối khóa cho xứng tầm :
- Yêu cầu: Thiết kế đồng hồ điện tử với module DS1307 và module LCD 1202.
- Chú ý: Về module DS1307 có 2 hướng cho các bạn
+ Tự vẽ mạch như schematic ở bài tập trước và tiến hành ủi và làm (rẻ tiền nhưng tốn thời gian).
+ Mua module có sẵn của thiên minh các bạn truy cập vào http://tme.vn/Product.aspx?id=1392#page=pro_info để biết thêm chi tiết (đắt tiền nhưng chắc chắn và nhanh)
- Về LCD 1202 CLB chỉ còn 6 cái và bán hết trong buổi học trước nên bạn nào chưa có thì có phương án giải quyết sau: Sử dụng LCD 16x2 có tại hshop và thiên minh http://tme.vn/Product.aspx?id=2007#page=pro_info . Code giao tiếp mình đính kèm ở cuối bài này
Chân cẳng như sau:
Code:
// Your YM1602C 16x2 must be supplied with a voltage between 4.5V-5.5V
// However, signal pins can understand 3.3V logic level from MSP430 as '1'
// Check your hardware connecting and map it to these definitions below
// Map: LCD PIN <-> Output_Port _ out/dir -> Output_Pin
#define LCD_RS P2_out -> _bit.b0
#define LCD_RS_DIR P2_dir -> _bit.b0
#define LCD_EN P2_out -> _bit.b1
#define LCD_EN_DIR P2_dir -> _bit.b1
// This driver just help you to "write" LCD, not to read LCD "status".
// So that, you must pull your pin LCD_RW to GND (0V).
#define LCD_DATA_4 P2_out -> _bit.b2
#define LCD_DATA_4_DIR P2_dir -> _bit.b2
#define LCD_DATA_5 P2_out -> _bit.b3
#define LCD_DATA_5_DIR P2_dir -> _bit.b3
#define LCD_DATA_6 P2_out -> _bit.b4
#define LCD_DATA_6_DIR P2_dir -> _bit.b4
#define LCD_DATA_7 P2_out -> _bit.b5
#define LCD_DATA_7_DIR P2_dir -> _bit.b5
#define LCD_DATA_7 P2_out -> _bit.b5
#define LCD_DATA_7_DIR P2_dir -> _bit.b5
// If you don't control back light, don't care 2 lines below:
#define LCD_BL P2_out -> _bit.b6
#define LCD_BL_DIR P2_dir -> _bit.b6
Code mẫu đọc i2c:
Code:
#include "I2C.h"
#include "Basic_config.h"
#include <msp430.h>
int sec, min, hour, day , date , month, year;
char dayc,Sun,Mon,Tues,Wed,Thurs,Fri,Sat;
unsigned char datawr[]={0x00,0x20,0x10,0x01,0x15,0x07,0x13};
// khai báo data write
unsigned char datarev[8];
//khai báo data read
void main()
{
Config_stop_WDT(); // stop WDT, see description in Basic_config.c
Config_Clocks();
// Nếu sử dụng LCD 16x2 thì có thêm 2 dòng này
P2SEL &= ~BIT6 + ~BIT7; // 2.6,2.7 are GPIO
P2SEL2 &= ~BIT6 + ~BIT7;
i2c_init(0x68);
i2c_write(0x00,7, datawr); //write multi – byte
while(1)
{
i2c_read(0x00,7,datarev);
sec =((datarev[0]&0xf0)>>4)*10 + (datarev[0]&0x0f);
min =((datarev[1]&0xf0)>>4)*10 + (datarev[1]&0x0f);
hour =((datarev[2]&0xf0)>>4)*10 + (datarev[2]&0x0f);
day =((datarev[3]&0xf0)>>4)*10 + (datarev[3]&0x0f);
date =((datarev[4]&0xf0)>>4)*10 + (datarev[4]&0x0f);
month=((datarev[5]&0xf0)>>4)*10 + (datarev[5]&0x0f);
year =((datarev[6]&0xf0)>>4)*10 + (datarev[6]&0x0f);
}
}
- Cuối cùng chúc các bạn thành công CN tuần này chúng ta sẽ học bài VS C# đề nghị các bạn chuẩn bị trước bộ phần mềm Visual Studio 2012 Express hoặc mới hơn.