CMOS芯片特徵:
①包含一個實時鐘和一個有128個存儲單元的RAM存儲器
②128個字節的RAM中,內部實時鐘佔用0~0dh單元來保存時間信息,其餘大部份單元用於保存系統配置信息,供系統啟動時BIOS程序讀取。
③該芯片內部有兩個端口,端口地址為70h和71h。CPU通過這兩個端口來讀寫CMOS RAM。
在CMOS RAM中,存放著當前的時間:年、月、日、時、分、秒。這6個信息的長度都為1個字節,存放單元為:
秒:0 分:2 時:4 日:7 月:8 年:9
這些數據以BCD碼的方式存放。(高4位的BCD碼表示十位,低4位的BCD碼表示個位。)
BCD码值+30h = 十进制数对应的ASCII码
C语言实现(Win-TC编译通过):
#include
void main(){
while(!kbhit()){//按任意键退出循环
int
i,m;
printf("date:");
for
(i = 9;i >= 7;i--){
//输出日期
outportb(0x70,i);//向port地址70h输出value
m
= inportb(0x71);//返回从指定的I/O端口71h读入一个字节(8位数)
printf("%2x
",m);
}
printf("\n");
printf("t